Browse Source

org-babel: make [:file filename] imply [:exports results]

Unless :exports is already none or both. This allows users to export
file output simply by adding a [:file filename] header arg.
Dan Davison 16 years ago
parent
commit
6c0c2039dd
1 changed files with 5 additions and 1 deletions
  1. 5 1
      contrib/babel/lisp/org-babel.el

+ 5 - 1
contrib/babel/lisp/org-babel.el

@@ -674,6 +674,8 @@ parameters when merging lists."
 	 '(("file" "vector" "table" "scalar" "raw" "org" "html" "latex" "code" "pp")
 	 '(("file" "vector" "table" "scalar" "raw" "org" "html" "latex" "code" "pp")
 	   ("replace" "silent")
 	   ("replace" "silent")
 	   ("output" "value")))
 	   ("output" "value")))
+	(exports-exclusive-groups
+	 '(("code" "results" "both" "none")))
 	params results exports tangle vars var ref)
 	params results exports tangle vars var ref)
     (flet ((e-merge (exclusive-groups &rest result-params)
     (flet ((e-merge (exclusive-groups &rest result-params)
                     ;; maintain exclusivity of mutually exclusive parameters
                     ;; maintain exclusivity of mutually exclusive parameters
@@ -706,9 +708,11 @@ parameters when merging lists."
 			(:file
 			(:file
 			 (when (cdr pair)
 			 (when (cdr pair)
 			   (setq results (e-merge results-exclusive-groups results '("file")))
 			   (setq results (e-merge results-exclusive-groups results '("file")))
+			   (unless (or (member "both" exports) (member "none" exports))
+			     (setq exports (e-merge exports-exclusive-groups exports '("results"))))
 			   (setq params (cons pair (assq-delete-all (car pair) params)))))
 			   (setq params (cons pair (assq-delete-all (car pair) params)))))
                         (:exports
                         (:exports
-                         (setq exports (e-merge '(("code" "results" "both" "none"))
+                         (setq exports (e-merge exports-exclusive-groups
                                                 exports (split-string (cdr pair)))))
                                                 exports (split-string (cdr pair)))))
                         (:tangle
                         (:tangle
                          (setq tangle (e-merge '(("yes" "no"))
                          (setq tangle (e-merge '(("yes" "no"))