ox: Handle missing option value better
* lisp/ox.el (org-export--parse-option-keyword): Do not stop parsing
OPTIONS keyword when an option without a value is encountered.
* testing/lisp/test-ox.el (test-org-export/parse-option-keyword): Add
tset.
This is a followup to 7116914427
.
This commit is contained in:
parent
b523ad491d
commit
19947a6e41
10
lisp/ox.el
10
lisp/ox.el
|
@ -1386,11 +1386,13 @@ e.g., `org-export-create-backend'. It specifies which back-end
|
|||
specific items to read, if any."
|
||||
(let ((line
|
||||
(let ((s 0) alist)
|
||||
(while (string-match "\\(.+?\\):\\((.*?)\\|\\S-+\\)[ \t]*" options s)
|
||||
(while (string-match "\\(.+?\\):\\((.*?)\\|\\S-+\\)?[ \t]*" options s)
|
||||
(setq s (match-end 0))
|
||||
(push (cons (match-string 1 options)
|
||||
(read (match-string 2 options)))
|
||||
alist))
|
||||
(let ((value (match-string 2 options)))
|
||||
(when value
|
||||
(push (cons (match-string 1 options)
|
||||
(read value))
|
||||
alist))))
|
||||
alist))
|
||||
;; Priority is given to back-end specific options.
|
||||
(all (append (org-export-get-all-options backend)
|
||||
|
|
|
@ -163,7 +163,12 @@ num:2 <:active")))
|
|||
(org-export--parse-option-keyword
|
||||
"opt:t"
|
||||
(org-export-create-backend
|
||||
:options '((:opt1 nil "opt") (:opt2 nil "opt")))))))
|
||||
:options '((:opt1 nil "opt") (:opt2 nil "opt"))))))
|
||||
;; Ignore options with a missing value.
|
||||
(should
|
||||
(let ((options (org-export--parse-option-keyword "H: num:t")))
|
||||
(and (not (plist-get options :headline-levels))
|
||||
(plist-get options :section-numbers)))))
|
||||
|
||||
(ert-deftest test-org-export/get-inbuffer-options ()
|
||||
"Test reading all standard export keywords."
|
||||
|
|
Loading…
Reference in New Issue