| 
					
				 | 
			
			
				@@ -712,7 +712,7 @@ a list with the following pattern: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;;;###autoload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-babel-execute-src-block (&optional arg info params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  "Execute the current source code block. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Execute the current source code block and return the result. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Insert the results of execution into the buffer.  Source code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 execution and the collection and formatting of results can be 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 controlled through a variety of header arguments. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -776,51 +776,50 @@ block." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		     (capitalize lang) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		     (let ((name (nth 4 info))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		       (if name (format " (%s)" name) ""))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    (if (member "none" result-params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		(progn (funcall cmd body params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		       (message "result silenced")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	      (setq result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    (let ((r (funcall cmd body params))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		      (if (and (eq (cdr (assq :result-type params)) 'value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			       (or (member "vector" result-params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				   (member "table" result-params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			       (not (listp r))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			  (list (list r)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			r))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	      (let ((file (and (member "file" result-params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			       (cdr (assq :file params))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		;; If non-empty result and :file then write to :file. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		(when file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  ;; If `:results' are special types like `link' or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  ;; `graphics', don't write result to `:file'.  Only 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  ;; insert a link to `:file'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  (when (and result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			     (not (or (member "link" result-params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				      (member "graphics" result-params)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    (with-temp-file file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		      (insert (org-babel-format-result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			       result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			       (cdr (assq :sep params))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    ;; Set file permissions if header argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    ;; `:file-mode' is provided. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    (when (assq :file-mode params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		      (set-file-modes file (cdr (assq :file-mode params))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  (setq result file)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		;; Possibly perform post process provided its 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		;; appropriate.  Dynamically bind "*this*" to the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		;; actual results of the block. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		(let ((post (cdr (assq :post params)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  (when post 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    (let ((*this* (if (not file) result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				    (org-babel-result-to-file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				     file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				     (org-babel--file-desc params result) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                     'attachment)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		      (setq result (org-babel-ref-resolve post)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		      (when file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			(setq result-params (remove "file" result-params)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		(org-babel-insert-result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 result result-params info new-hash lang))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    (setq result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		  (let ((r (funcall cmd body params))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		    (if (and (eq (cdr (assq :result-type params)) 'value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     (or (member "vector" result-params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				 (member "table" result-params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     (not (listp r))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			(list (list r)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      r))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    (let ((file (and (member "file" result-params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     (cdr (assq :file params))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      ;; If non-empty result and :file then write to :file. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (when file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		;; If `:results' are special types like `link' or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		;; `graphics', don't write result to `:file'.  Only 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		;; insert a link to `:file'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		(when (and result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			   (not (or (member "link" result-params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				  (member "graphics" result-params)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		  (with-temp-file file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		    (insert (org-babel-format-result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     (cdr (assq :sep params))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		  ;; Set file permissions if header argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		  ;; `:file-mode' is provided. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		  (when (assq :file-mode params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		    (set-file-modes file (cdr (assq :file-mode params))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		(setq result file)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      ;; Possibly perform post process provided its 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      ;; appropriate.  Dynamically bind "*this*" to the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      ;; actual results of the block. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (let ((post (cdr (assq :post params)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		(when post 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		  (let ((*this* (if (not file) result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				  (org-babel-result-to-file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				   file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				   (org-babel--file-desc params result) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                   'attachment)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		    (setq result (org-babel-ref-resolve post)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		    (when file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      (setq result-params (remove "file" result-params)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (if (member "none" result-params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		  (message "result silenced") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	        (org-babel-insert-result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	         result result-params info new-hash lang))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    (run-hooks 'org-babel-after-execute-hook) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    result))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3229,20 +3228,19 @@ Emacs shutdown.")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (declare (indent 1) (debug t)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (org-with-gensyms (params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     `(let ((,params ,result-params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       (unless (member "none" ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 (if (or (member "scalar" ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 (member "verbatim" ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 (member "html" ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 (member "code" ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 (member "pp" ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 (member "file" ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 (and (or (member "output" ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			  (member "raw"    ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			  (member "org"    ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			  (member "drawer" ,params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		      (not (member "table" ,params)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	     ,scalar-form 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   ,@table-forms))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (if (or (member "scalar" ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	       (member "verbatim" ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	       (member "html" ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	       (member "code" ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	       (member "pp" ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	       (member "file" ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	       (and (or (member "output" ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			(member "raw"    ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			(member "org"    ,params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			(member "drawer" ,params)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		    (not (member "table" ,params)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   ,scalar-form 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 ,@table-forms)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-babel-temp-file (prefix &optional suffix) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Create a temporary file in the `org-babel-temporary-directory'. 
			 |