From bafe0fb2959a4fd0ddcf930a8572262f954f8840 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 22 Jun 2012 15:07:07 +0200 Subject: [PATCH] org-export: Fix bug with default DATE value * contrib/lisp/org-export.el (org-export-get-global-options): Parse default value from parsed keywords, too. * testing/lisp/test-org-export.el: Change test accordingly. --- contrib/lisp/org-export.el | 21 +++++++++++++++++---- testing/lisp/test-org-export.el | 2 +- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/contrib/lisp/org-export.el b/contrib/lisp/org-export.el index 914b76548..7e82050c8 100644 --- a/contrib/lisp/org-export.el +++ b/contrib/lisp/org-export.el @@ -1332,12 +1332,25 @@ process." (and backend (let ((var (intern (format "org-%s-options-alist" backend)))) - (and (boundp var) (eval var)))))) + (and (boundp var) (symbol-value var)))))) ;; Output value. plist) - (mapc (lambda (cell) - (setq plist (plist-put plist (car cell) (eval (nth 3 cell))))) - all) + (mapc + (lambda (cell) + (setq plist + (plist-put + plist + (car cell) + ;; Eval default value provided. If keyword is a member + ;; of `org-element-parsed-keywords', parse it as + ;; a secondary string before storing it. + (let ((value (eval (nth 3 cell)))) + (if (not (stringp value)) value + (let ((keyword (nth 1 cell))) + (if (not (member keyword org-element-parsed-keywords)) value + (org-element-parse-secondary-string + value (org-element-restriction 'keyword))))))))) + all) ;; Return value. plist)) diff --git a/testing/lisp/test-org-export.el b/testing/lisp/test-org-export.el index 901eac548..e0bfa777a 100644 --- a/testing/lisp/test-org-export.el +++ b/testing/lisp/test-org-export.el @@ -107,7 +107,7 @@ already filled in `info'." #+TITLE: with spaces" (org-export-get-inbuffer-options)) '(:author - ("Me, Myself and I") :creator "Idem" :date "Today" + ("Me, Myself and I") :creator "Idem" :date ("Today") :description "Testing\nwith two lines" :email "some@email.org" :exclude-tags ("noexport" "invisible") :keywords "test" :language "en" :select-tags ("export") :title ("Some title with spaces")))))