org-babel: make :file header arg imply :results file

This commit is contained in:
Dan Davison 2009-09-26 22:19:22 -04:00 committed by Eric Schulte
parent 7c32bc5672
commit 10ea3ad10b
1 changed files with 11 additions and 6 deletions

View File

@ -655,7 +655,11 @@ non-nil."
elements of PLISTS override the values of previous element. This
takes into account some special considerations for certain
parameters when merging lists."
(let (params results exports tangle vars var ref)
(let ((results-exclusive-groups
'(("file" "vector" "scalar" "raw" "org" "html" "latex")
("replace" "silent")
("output" "value")))
params results exports tangle vars var ref)
(flet ((e-merge (exclusive-groups &rest result-params)
;; maintain exclusivity of mutually exclusive parameters
(let (output)
@ -682,11 +686,12 @@ parameters when merging lists."
ref (match-string 2 (cdr pair))
vars (cons (cons var ref) (assq-delete-all var vars)))))
(:results
(setq results (e-merge
'(("file" "vector" "scalar" "raw" "org" "html" "latex")
("replace" "silent")
("output" "value"))
results (split-string (cdr pair)))))
(setq results
(e-merge results-exclusive-groups results (split-string (cdr pair)))))
(:file
(when (cdr pair)
(setq results (e-merge results-exclusive-groups results '("file")))
(setq params (cons pair (assq-delete-all (car pair) params)))))
(:exports
(setq exports (e-merge '(("code" "results" "both" "none"))
exports (split-string (cdr pair)))))