diff --git a/lisp/ob.el b/lisp/ob.el index 6be5b5ba7..1205ed009 100644 --- a/lisp/ob.el +++ b/lisp/ob.el @@ -1716,6 +1716,7 @@ parameters when merging lists." ("output" "value"))) (exports-exclusive-groups '(("code" "results" "both" "none"))) + (variable-index 0) params results exports tangle noweb cache vars shebang comments padline) (flet ((e-merge (exclusive-groups &rest result-params) ;; maintain exclusivity of mutually exclusive parameters @@ -1747,15 +1748,19 @@ parameters when merging lists." (and (string-match "^\\([^= \f\t\n\r\v]+\\)[ \t]*=" (cdr pair)) (intern (match-string 1 (cdr pair))))))) - (when name - (setq vars - (cons (cons name pair) - (if (member name (mapcar #'car vars)) - (delq nil - (mapcar - (lambda (p) (unless (equal (car p) name) p)) - vars)) - vars)))))) + (if name + (setq vars + (cons (cons name pair) + (if (member name (mapcar #'car vars)) + (delq nil + (mapcar + (lambda (p) (unless (equal (car p) name) p)) + vars)) + vars))) + ;; if no name is given, then assign to variables in order + (setf (cddr (nth variable-index vars)) + (concat (symbol-name (car (nth variable-index vars))) + "=" (cdr pair)))))) (:results (setq results (e-merge results-exclusive-groups results