Merge branch 'maint'

This commit is contained in:
Nicolas Goaziou 2013-01-31 22:16:23 +01:00
commit 787a07421c
2 changed files with 17 additions and 3 deletions

View File

@ -3116,10 +3116,13 @@ Assume point is at the macro."
(end (point))
(args (let ((args (org-match-string-no-properties 3)) args2)
(when args
(setq args (org-split-string args ","))
;; Do not use `org-split-string' since empty
;; strings are meaningful here.
(setq args (split-string args ","))
(while args
(while (string-match "\\\\\\'" (car args))
;; Repair bad splits.
;; Repair bad splits, when comma is protected,
;; and thus not a real separator.
(setcar (cdr args) (concat (substring (car args) 0 -1)
"," (nth 1 args)))
(pop args))

View File

@ -1292,7 +1292,18 @@ e^{i\\pi}+1=0
;; With arguments.
(should
(org-test-with-temp-text "{{{macro(arg1,arg2)}}}"
(org-element-map (org-element-parse-buffer) 'macro 'identity))))
(org-element-map (org-element-parse-buffer) 'macro 'identity)))
;; Properly handle protected commas in arguments...
(should
(= 2
(length
(org-test-with-temp-text "{{{macro(arg1\\,arg1,arg2)}}}"
(org-element-property :args (org-element-context))))))
;; ... even when last argument ends with a protected comma.
(should
(equal '("C-,")
(org-test-with-temp-text "{{{macro(C-\\,)}}}"
(org-element-property :args (org-element-context))))))
;;;; Node Property