ox.el: Add :safe declarations to defcustoms

* lisp/ox.el: Add :safe declarations to defcustoms.
This commit is contained in:
Aaron Ecay 2015-11-06 17:49:57 +00:00
parent 51623c2ac8
commit 95e2777663
1 changed files with 84 additions and 36 deletions

View File

@ -346,21 +346,24 @@ e.g. \"arch:nil\"."
:type '(choice
(const :tag "Not at all" nil)
(const :tag "Headline only" headline)
(const :tag "Entirely" t)))
(const :tag "Entirely" t))
:safe (lambda (x) (memq x 't nil headline)))
(defcustom org-export-with-author t
"Non-nil means insert author name into the exported file.
This option can also be set with the OPTIONS keyword,
e.g. \"author:nil\"."
:group 'org-export-general
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-with-clocks nil
"Non-nil means export CLOCK keywords.
This option can also be set with the OPTIONS keyword,
e.g. \"c:t\"."
:group 'org-export-general
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-with-creator nil
"Non-nil means the postamble should contain a creator sentence.
@ -373,14 +376,16 @@ This option can also be set with the OPTIONS keyword, e.g.,
:group 'org-export-general
:version "25.1"
:package-version '(Org . "8.3")
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-with-date t
"Non-nil means insert date in the exported document.
This option can also be set with the OPTIONS keyword,
e.g. \"date:nil\"."
:group 'org-export-general
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-date-timestamp-format nil
"Time-stamp format string to use for DATE keyword.
@ -393,7 +398,8 @@ string."
:group 'org-export-general
:type '(choice
(string :tag "Time-stamp format string")
(const :tag "No format string" nil)))
(const :tag "No format string" nil))
:safe (lambda (x) (or (null x) (stringp x))))
(defcustom org-export-creator-string
(format "Emacs %s (Org mode %s)"
@ -402,7 +408,8 @@ string."
"Information about the creator of the document.
This option can also be set on with the CREATOR keyword."
:group 'org-export-general
:type '(string :tag "Creator string"))
:type '(string :tag "Creator string")
:safe #'stringp)
(defcustom org-export-with-drawers '(not "LOGBOOK")
"Non-nil means export contents of standard drawers.
@ -428,14 +435,20 @@ e.g. \"d:nil\"."
(const :format "" not)
(repeat :tag "Specify names of drawers to ignore during export"
:inline t
(string :tag "Drawer name")))))
(string :tag "Drawer name"))))
:safe (lambda (x) (or (booleanp x)
(and (listp x)
(or (cl-every #'stringp x)
(and (eq (nth 0 x) 'not)
(cl-every #'stringp (cdr x))))))))
(defcustom org-export-with-email nil
"Non-nil means insert author email into the exported file.
This option can also be set with the OPTIONS keyword,
e.g. \"email:t\"."
:group 'org-export-general
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-with-emphasize t
"Non-nil means interpret *word*, /word/, _word_ and +word+.
@ -447,7 +460,8 @@ respectively.
This option can also be set with the OPTIONS keyword,
e.g. \"*:nil\"."
:group 'org-export-general
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-exclude-tags '("noexport")
"Tags that exclude a tree from export.
@ -458,7 +472,8 @@ carry one of the `org-export-select-tags' will be removed.
This option can also be set with the EXCLUDE_TAGS keyword."
:group 'org-export-general
:type '(repeat (string :tag "Tag")))
:type '(repeat (string :tag "Tag"))
:safe (lambda (x) (and (listp x) (cl-every #'stringp x))))
(defcustom org-export-with-fixed-width t
"Non-nil means export lines starting with \":\".
@ -467,14 +482,16 @@ e.g. \"::nil\"."
:group 'org-export-general
:version "24.4"
:package-version '(Org . "8.0")
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-with-footnotes t
"Non-nil means Org footnotes should be exported.
This option can also be set with the OPTIONS keyword,
e.g. \"f:nil\"."
:group 'org-export-general
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-with-latex t
"Non-nil means process LaTeX environments and fragments.
@ -491,7 +508,8 @@ t Allow export of math snippets."
:type '(choice
(const :tag "Do not process math in any way" nil)
(const :tag "Interpret math snippets" t)
(const :tag "Leave math verbatim" verbatim)))
(const :tag "Leave math verbatim" verbatim))
:safe (lambda (x) (memq x '(t nil verbatim))))
(defcustom org-export-headline-levels 3
"The last level which is still exported as a headline.
@ -502,7 +520,8 @@ when exported, but back-end behavior may differ.
This option can also be set with the OPTIONS keyword,
e.g. \"H:2\"."
:group 'org-export-general
:type 'integer)
:type 'integer
:safe #'integerp)
(defcustom org-export-default-language "en"
"The default language for export and clocktable translations, as a string.
@ -511,14 +530,16 @@ This may have an association in
`org-export-smart-quotes-alist' and `org-export-dictionary'.
This option can also be set with the LANGUAGE keyword."
:group 'org-export-general
:type '(string :tag "Language"))
:type '(string :tag "Language")
:safe #'stringp)
(defcustom org-export-preserve-breaks nil
"Non-nil means preserve all line breaks when exporting.
This option can also be set with the OPTIONS keyword,
e.g. \"\\n:t\"."
:group 'org-export-general
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-with-entities t
"Non-nil means interpret entities when exporting.
@ -532,7 +553,8 @@ and the user option `org-entities-user'.
This option can also be set with the OPTIONS keyword,
e.g. \"e:nil\"."
:group 'org-export-general
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-with-inlinetasks t
"Non-nil means inlinetasks should be exported.
@ -541,7 +563,8 @@ e.g. \"inline:nil\"."
:group 'org-export-general
:version "24.4"
:package-version '(Org . "8.0")
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-with-planning nil
"Non-nil means include planning info in export.
@ -554,14 +577,16 @@ e.g. \"p:t\"."
:group 'org-export-general
:version "24.4"
:package-version '(Org . "8.0")
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-with-priority nil
"Non-nil means include priority cookies in export.
This option can also be set with the OPTIONS keyword,
e.g. \"pri:t\"."
:group 'org-export-general
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-with-properties nil
"Non-nil means export contents of properties drawers.
@ -578,7 +603,9 @@ e.g. \"prop:t\"."
(const :tag "All properties" t)
(const :tag "None" nil)
(repeat :tag "Selected properties"
(string :tag "Property name"))))
(string :tag "Property name")))
:safe (lambda (x) (or (booleanp x)
(and (listp x) (cl-every #'stringp x)))))
(defcustom org-export-with-section-numbers t
"Non-nil means add section numbers to headlines when exporting.
@ -589,7 +616,8 @@ headlines whose relative level is higher or equal to n.
This option can also be set with the OPTIONS keyword,
e.g. \"num:t\"."
:group 'org-export-general
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-select-tags '("export")
"Tags that select a tree for export.
@ -601,7 +629,8 @@ tagging it with one of the `org-export-exclude-tags'.
This option can also be set with the SELECT_TAGS keyword."
:group 'org-export-general
:type '(repeat (string :tag "Tag")))
:type '(repeat (string :tag "Tag"))
:safe (lambda (x) (and (listp x) (cl-every #'stringp x))))
(defcustom org-export-with-smart-quotes nil
"Non-nil means activate smart quotes during export.
@ -616,7 +645,8 @@ E.g., you can load Babel for french like this:
:group 'org-export-general
:version "24.4"
:package-version '(Org . "8.0")
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-with-special-strings t
"Non-nil means interpret \"\\-\", \"--\" and \"---\" for export.
@ -633,7 +663,8 @@ When this option is turned on, these strings will be exported as:
This option can also be set with the OPTIONS keyword,
e.g. \"-:nil\"."
:group 'org-export-general
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-with-statistics-cookies t
"Non-nil means include statistics cookies in export.
@ -642,7 +673,8 @@ e.g. \"stat:nil\""
:group 'org-export-general
:version "24.4"
:package-version '(Org . "8.0")
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-with-sub-superscripts t
"Non-nil means interpret \"_\" and \"^\" for export.
@ -679,7 +711,8 @@ frequently in plain text."
:type '(choice
(const :tag "Interpret them" t)
(const :tag "Curly brackets only" {})
(const :tag "Do not interpret them" nil)))
(const :tag "Do not interpret them" nil))
:safe (lambda (x) (memq x '(t nil {}))))
(defcustom org-export-with-toc t
"Non-nil means create a table of contents in exported files.
@ -697,7 +730,9 @@ e.g. \"toc:nil\" or \"toc:3\"."
:type '(choice
(const :tag "No Table of Contents" nil)
(const :tag "Full Table of Contents" t)
(integer :tag "TOC to level")))
(integer :tag "TOC to level"))
:safe (lambda (x) (or (booleanp x)
(integerp x))))
(defcustom org-export-with-tables t
"Non-nil means export tables.
@ -706,7 +741,8 @@ e.g. \"|:nil\"."
:group 'org-export-general
:version "24.4"
:package-version '(Org . "8.0")
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-with-tags t
"If nil, do not export tags, just remove them from headlines.
@ -721,7 +757,8 @@ e.g. \"tags:nil\"."
:type '(choice
(const :tag "Off" nil)
(const :tag "Not in TOC" not-in-toc)
(const :tag "On" t)))
(const :tag "On" t))
:safe (lambda (x) (memq x '(t nil not-in-toc))))
(defcustom org-export-with-tasks t
"Non-nil means include TODO items for export.
@ -742,7 +779,10 @@ e.g. \"tasks:nil\"."
(const :tag "Not-done tasks" todo)
(const :tag "Only done tasks" done)
(repeat :tag "Specific TODO keywords"
(string :tag "Keyword"))))
(string :tag "Keyword")))
:safe (lambda (x) (or (memq x '(nil t todo done))
(and (listp x)
(cl-every #'stringp x)))))
(defcustom org-export-with-title t
"Non-nil means print title into the exported file.
@ -751,14 +791,16 @@ e.g. \"title:nil\"."
:group 'org-export-general
:version "25.1"
:package-version '(Org . "8.3")
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-time-stamp-file t
"Non-nil means insert a time stamp into the exported file.
The time stamp shows when the file was created. This option can
also be set with the OPTIONS keyword, e.g. \"timestamp:nil\"."
:group 'org-export-general
:type 'boolean)
:type 'boolean
:safe #'booleanp)
(defcustom org-export-with-timestamps t
"Non nil means allow timestamps in export.
@ -780,7 +822,8 @@ This option can also be set with the OPTIONS keyword, e.g.
(const :tag "All timestamps" t)
(const :tag "Only active timestamps" active)
(const :tag "Only inactive timestamps" inactive)
(const :tag "No timestamp" nil)))
(const :tag "No timestamp" nil))
:safe (lambda (x) (memq x '(t nil active inactive))))
(defcustom org-export-with-todo-keywords t
"Non-nil means include TODO keywords in export.
@ -832,7 +875,12 @@ HTML code while every other back-end will ignore it."
:package-version '(Org . "8.0")
:type '(repeat
(cons (string :tag "Shortcut")
(string :tag "Back-end"))))
(string :tag "Back-end")))
:safe (lambda (x)
(and (listp x)
(cl-every #'consp x)
(cl-every #'stringp (mapcar #'car x))
(cl-every #'stringp (mapcar #'cdr x)))))
(defcustom org-export-coding-system nil
"Coding system for the exported file."