| 
					
				 | 
			
			
				@@ -521,23 +521,21 @@ Optionally supply a value for PARAMS which will be merged with 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 the header arguments specified at the front of the source code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 block." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (interactive) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  (let* ((info (or info (org-babel-get-src-block-info))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 (params (if params 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		     (org-babel-process-params 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		      (org-babel-merge-params (nth 2 info) params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		   (nth 2 info))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 (cache-p (and (not arg) (cdr (assoc :cache params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		       (string= "yes" (cdr (assoc :cache params))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 (new-hash (when cache-p (org-babel-sha1-hash info))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 (old-hash (when cache-p (org-babel-current-result-hash))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 (cache-current-p (and (not arg) new-hash (equal new-hash old-hash)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (when (or cache-current-p 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	      (org-babel-confirm-evaluate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	       (let ((i info)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 (setf (nth 2 i) (org-babel-merge-params (nth 2 info) params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 i))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (let ((info (or info (org-babel-get-src-block-info)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (when (org-babel-confirm-evaluate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   (let ((i info)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     (setf (nth 2 i) (org-babel-merge-params (nth 2 info) params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     i)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (let* ((lang (nth 0 info)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     (params (if params 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 (org-babel-process-params 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			  (org-babel-merge-params (nth 2 info) params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		       (nth 2 info))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     (cache? (and (not arg) (cdr (assoc :cache params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			  (string= "yes" (cdr (assoc :cache params))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     (result-params (cdr (assoc :result-params params))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     (new-hash (when cache? (org-babel-sha1-hash info))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     (old-hash (when cache? (org-babel-current-result-hash))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     (body (setf (nth 1 info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			 (if (org-babel-noweb-p params :eval) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			     (org-babel-expand-noweb-references info) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -564,7 +562,7 @@ block." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			  (funcall lang-check (symbol-name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					       (cdr (assoc lang org-src-lang-modes)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			  (error "No org-babel-execute function for %s!" lang)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	      (if cache-current-p 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (if (and (not arg) new-hash (equal new-hash old-hash)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  (save-excursion ;; return cached result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    (goto-char (org-babel-where-is-src-block-result nil info)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    (end-of-line 1) (forward-char 1) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -578,26 +576,27 @@ block." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    (progn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		      (funcall cmd body params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		      (message "result silenced")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  (setq result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			((lambda (result) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			   (if (and (eq (cdr (assoc :result-type params)) 'value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				    (or (member "vector" result-params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					(member "table" result-params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				    (not (listp result))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			       (list (list result)) result)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 (funcall cmd body params))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  ;; if non-empty result and :file then write to :file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  (when (cdr (assoc :file params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    (when result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		      (with-temp-file (cdr (assoc :file params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			(insert 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 (org-babel-format-result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			  result (cdr (assoc :sep (nth 2 info))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    (setq result (cdr (assoc :file params)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  (org-babel-insert-result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		   result result-params info new-hash indent lang) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  (run-hooks 'org-babel-after-execute-hook) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  result))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		(setq result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      ((lambda (result) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 (if (and (eq (cdr (assoc :result-type params)) 'value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				  (or (member "vector" result-params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				      (member "table" result-params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				  (not (listp result))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     (list (list result)) result)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		       (funcall cmd body params))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		;; if non-empty result and :file then write to :file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		(when (cdr (assoc :file params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		  (when result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		    (with-temp-file (cdr (assoc :file params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      (insert 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		       (org-babel-format-result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			result (cdr (assoc :sep (nth 2 info))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		  (setq result (cdr (assoc :file params)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		(org-babel-insert-result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		 result result-params info new-hash indent lang) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		(run-hooks 'org-babel-after-execute-hook) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  (setq call-process-region 'org-babel-call-process-region-original)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-babel-expand-body:generic (body params &optional var-lines) 
			 |