correctly handling exclusive :exports params
This commit is contained in:
parent
44ff72261c
commit
fcfe110fef
|
@ -476,8 +476,9 @@ 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 vars var ref)
|
||||
(let (params results exports vars var ref)
|
||||
(flet ((e-merge (exclusive-groups &rest result-params)
|
||||
;; maintain exclusivity of mutually exclusive parameters
|
||||
(let (output)
|
||||
(mapc (lambda (new-params)
|
||||
(mapc (lambda (new-param)
|
||||
|
@ -502,18 +503,21 @@ parameters when merging lists."
|
|||
ref (match-string 2 (cdr pair))
|
||||
vars (cons (cons var ref) (assq-delete-all var vars)))))
|
||||
(:results
|
||||
;; maintain list of unique :results specifications
|
||||
(setq results (e-merge '(("file" "vector" "scalar")
|
||||
("replace" "silent"))
|
||||
results (split-string (cdr pair)))))
|
||||
(t
|
||||
;; replace: this covers e.g. :session
|
||||
(setq params (cons pair (assq-delete-all (car pair) params))))))
|
||||
(:exports
|
||||
(setq exports (e-merge '(("code" "results" "both"))
|
||||
exports (split-string (cdr pair)))))
|
||||
(t ;; replace: this covers e.g. :session
|
||||
(setq params (cons pair (assq-delete-all (car pair) params))))))
|
||||
plist))
|
||||
plists))
|
||||
(setq vars (mapcar (lambda (pair) (format "%s=%s" (car pair) (cdr pair))) vars))
|
||||
(while vars (setq params (cons (cons :var (pop vars)) params)))
|
||||
(cons (cons :results (mapconcat 'identity results " ")) params)))
|
||||
(cons (cons :exports (mapconcat 'identity exports " "))
|
||||
(cons (cons :results (mapconcat 'identity results " "))
|
||||
params))))
|
||||
|
||||
(defun org-babel-clean-text-properties (text)
|
||||
"Strip all properties from text return."
|
||||
|
|
|
@ -204,7 +204,7 @@ would then be [[#sandbox][the sandbox]].
|
|||
#+end_src
|
||||
|
||||
|
||||
* Tasks [30/50]
|
||||
* Tasks [31/51]
|
||||
** PROPOSED optional timestamp for output
|
||||
Add option to place an (inactive) timestamp at the #+resname, to
|
||||
record when that output was generated.
|
||||
|
@ -888,6 +888,15 @@ $0
|
|||
[[file:snippets/org-mode/sb][sb -- snippet]]
|
||||
|
||||
waiting for guidance from those more familiar with yasnippets
|
||||
** DONE exclusive =exports= params
|
||||
|
||||
#+srcname: implement-export-exclusivity
|
||||
#+begin_src ruby
|
||||
:this_is_a_test
|
||||
#+end_src
|
||||
|
||||
#+resname:
|
||||
: :this_is_a_test
|
||||
** DONE LoB: allow output in buffer
|
||||
** DONE allow default header arguments by language
|
||||
org-babel-default-header-args:lang-name
|
||||
|
|
Loading…
Reference in New Issue