From 10ea3ad10bd6fb1d4ef0fc4a64ed51da43fd3ce9 Mon Sep 17 00:00:00 2001 From: Dan Davison Date: Sat, 26 Sep 2009 22:19:22 -0400 Subject: [PATCH] org-babel: make :file header arg imply :results file --- contrib/babel/lisp/org-babel.el | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/contrib/babel/lisp/org-babel.el b/contrib/babel/lisp/org-babel.el index 1ced9848..b2aed557 100644 --- a/contrib/babel/lisp/org-babel.el +++ b/contrib/babel/lisp/org-babel.el @@ -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))))) -- 2.11.4.GIT