nominally working

This commit is contained in:
Eric Schulte 2010-10-15 12:10:56 -06:00 committed by Dan Davison
parent 9c0aae1814
commit 529e7c98fd
1 changed files with 14 additions and 17 deletions

View File

@ -170,8 +170,7 @@ Returns a list
(org-babel-merge-params
(mapcar (lambda (ref) (cons :var ref))
(org-babel-ref-split-args (match-string 4)))
(nth 2 info)))))
(append info (list name indent)))
(nth 2 info))))))
;; inline source block
(when (save-excursion (re-search-backward "[ \f\t\n\r\v]" nil t)
(looking-at org-babel-inline-src-block-regexp))
@ -180,10 +179,10 @@ Returns a list
(when (and info (not light))
(setf (nth 2 info)
(let ((params (nth 2 info)))
(append (mapcar (lambda (el) (org-babel-ref-parse (cdr el)))
(append (mapcar (lambda (el) (cons :var (org-babel-ref-parse (cdr el))))
(org-babel-get-header params :var))
(org-babel-get-header params :var 'other)))))
info))
(append info (list name indent))))
(defun org-babel-confirm-evaluate (info)
"Confirm evaluation of the code block INFO.
@ -892,7 +891,7 @@ may be specified at the top of the current buffer."
Return a list (session vars result-params result-type colnames rownames)."
(let* ((session (cdr (assoc :session params)))
(vars-and-names (org-babel-disassemble-tables
(org-babel-get-header params :var)
(mapcar #'cdr (org-babel-get-header params :var))
(cdr (assoc :hlines params))
(cdr (assoc :colnames params))
(cdr (assoc :rownames params))))
@ -1508,7 +1507,7 @@ parameters when merging lists."
("output" "value")))
(exports-exclusive-groups
'(("code" "results" "both" "none")))
params results exports tangle noweb cache vars var ref shebang comments)
params results exports tangle noweb cache vars shebang comments)
(flet ((e-merge (exclusive-groups &rest result-params)
;; maintain exclusivity of mutually exclusive parameters
(let (output)
@ -1532,15 +1531,14 @@ parameters when merging lists."
(mapc (lambda (pair)
(case (car pair)
(:var
;; we want only one specification per variable
(when (string-match
(concat "^\\([^= \f\t\n\r\v]+\\)[ \t]*="
"[ \t]*\\([^\f\n\r\v]+\\)$") (cdr pair))
;; TODO: When is this not true?
(setq var (intern (match-string 1 (cdr pair)))
ref (match-string 2 (cdr pair))
vars (cons (cons var ref)
(assq-delete-all var vars)))))
(let ((name (if (listp (cdr pair))
(cadr pair)
(string-match
".+=[ \t]*\\([^\f\n\r\v]+\\)$"
(cdr pair))
(intern (match-string 1)))))
(unless (member name (mapcar #'car vars))
(setq vars (cons (cons name (cdr pair)) vars)))))
(:results
(setq results
(e-merge results-exclusive-groups
@ -1583,8 +1581,7 @@ parameters when merging lists."
(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)))
(while vars (setq params (cons (cons :var (cdr (pop vars))) params)))
(cons (cons :comments (mapconcat 'identity comments " "))
(cons (cons :shebang (mapconcat 'identity shebang " "))
(cons (cons :cache (mapconcat 'identity cache " "))