| 
					
				 | 
			
			
				@@ -382,6 +382,10 @@ code blocks by language." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           (unless (and language (not (string= language src-lang))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    (let* ((info (org-babel-get-src-block-info)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		   (params (nth 2 info)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   (extra (nth 3 info)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   (cref-fmt (or (and (string-match "-l \"\\(.+\\)\"" extra) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				      (match-string 1 extra)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				 org-coderef-label-format)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		   (link ((lambda (link) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			    (and (string-match org-bracket-link-regexp link) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				 (match-string 1 link))) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -399,6 +403,11 @@ code blocks by language." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    ((lambda (body) ;; run the tangle-body-hook 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		       (with-temp-buffer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			 (insert body) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 (when (string-match "-r" extra) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			   (goto-char (point-min)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			   (while (re-search-forward 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				   (replace-regexp-in-string "%s" ".+" cref-fmt) nil t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     (replace-match ""))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			 (run-hooks 'org-babel-tangle-body-hook) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			 (buffer-string))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		     ((lambda (body) ;; expand the body in language specific manner 
			 |