summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2021-04-10 12:08:33 +0200
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2021-04-10 12:08:33 +0200
commit85a25e316927c08f01c7406e210905485ec857d0 (patch)
treebb6f44f8233cf7116768480dbae258229d2337a5
parent80bce047ff486e60a2888a02c0615cb08a46ab4a (diff)
parent19947a6e412ba7b14d1d826d0503011622a8b9ad (diff)
downloadorg-mode-85a25e316927c08f01c7406e210905485ec857d0.tar.gz
Merge branch 'maint'
-rw-r--r--lisp/ox.el10
-rw-r--r--testing/lisp/test-ox.el7
2 files changed, 12 insertions, 5 deletions
diff --git a/lisp/ox.el b/lisp/ox.el
index ff1f2ea..ffe280d 100644
--- a/lisp/ox.el
+++ b/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)
diff --git a/testing/lisp/test-ox.el b/testing/lisp/test-ox.el
index 0620086..34b2d20 100644
--- a/testing/lisp/test-ox.el
+++ b/testing/lisp/test-ox.el
@@ -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."