Function: org-babel-process-params
org-babel-process-params is a byte-compiled function defined in
ob-core.el.gz.
Signature
(org-babel-process-params PARAMS)
Documentation
Expand variables in PARAMS and add summary parameters.
Source Code
;; Defined in /usr/src/emacs/lisp/org/ob-core.el.gz
(defun org-babel-process-params (params)
"Expand variables in PARAMS and add summary parameters."
(let* ((processed-vars (mapcar (lambda (el)
(if (consp el)
el
(org-babel-ref-parse el)))
(org-babel--get-vars params)))
(vars-and-names (if (and (assq :colname-names params)
(assq :rowname-names params))
(list processed-vars)
(org-babel-disassemble-tables
processed-vars
(cdr (assq :hlines params))
(cdr (assq :colnames params))
(cdr (assq :rownames params)))))
(raw-result (or (cdr (assq :results params)) ""))
(result-params (delete-dups
(append
(split-string (if (stringp raw-result)
raw-result
;; FIXME: Arbitrary code evaluation.
(eval raw-result t)))
(cdr (assq :result-params params))))))
(append
(mapcar (lambda (var) (cons :var var)) (car vars-and-names))
(list
(cons :colname-names (or (cdr (assq :colname-names params))
(cadr vars-and-names)))
(cons :rowname-names (or (cdr (assq :rowname-names params))
(caddr vars-and-names)))
(cons :result-params result-params)
(cons :result-type (cond ((member "output" result-params) 'output)
((member "value" result-params) 'value)
(t 'value))))
(cl-remove-if
(lambda (x) (memq (car x) '(:colname-names :rowname-names :result-params
:result-type :var)))
params))))