forked from mirrors/org-mode
org-export: Rename some internal functions
* contrib/lisp/org-export.el (org-export-get-environment, org-export-collect-tree-properties, org-export-data, org-export-expand-include-keyword): Use new names. (org-export--parse-option-keyword): Renamed from `org-export-parse-option-keyword'. (org-export--get-subtree-options): Renamed from `org-export-get-subtree-options'. (org-export--get-inbuffer-options): Renamed from `org-export-get-inbuffer-options'. (org-export--get-buffer-attributes): Renamed from `org-export-get-buffer-attributes'. (org-export--get-global-options): Renamed from `org-export-get-global-options'. (org-export--allow-BIND-local): Renamed from `org-export-allow-BIND-local'. (org-export--confirm-letbind): Renamed from `org-export-confirm-letbind'. (org-export--install-letbind-maybe): Renamed from `org-export-install-letbind-maybe'. (org-export--get-min-level): Renamed from `org-export-get-min-level'. (org-export--collect-headline-numbering): Renamed from `org-export-collect-headline-numbering'. (org-export--populate-ignore-list): Renamed from `org-export-populate-ignore-list'. (org-export--interpret-p): Renamed from `org-export--interpret-p'. (org-export--prepare-file-contents): Renamed from `org-export-prepare-file-contents'. * contrib/lisp/org-e-publish.el (org-e-publish-find-date): Use new names. * testing/lisp/test-org-export.el: Update tests.
This commit is contained in:
parent
e0f59dfb05
commit
dbea7e658f
|
@ -868,7 +868,7 @@ It returns time in `current-time' format."
|
|||
(date (plist-get
|
||||
(with-current-buffer file-buf
|
||||
(org-mode)
|
||||
(org-export-get-inbuffer-options))
|
||||
(org-export--get-inbuffer-options))
|
||||
:date)))
|
||||
(unless visiting (kill-buffer file-buf))
|
||||
(if date (org-time-string-to-time date)
|
||||
|
|
|
@ -181,7 +181,7 @@ Properties redefined there have precedence over these.")
|
|||
"List of in-buffer keywords that require special treatment.
|
||||
These keywords are not directly associated to a property. The
|
||||
way they are handled must be hard-coded into
|
||||
`org-export-get-inbuffer-options' function.")
|
||||
`org-export--get-inbuffer-options' function.")
|
||||
|
||||
(defconst org-export-filters-alist
|
||||
'((:filter-bold . org-export-filter-bold-functions)
|
||||
|
@ -1212,13 +1212,13 @@ structure of the values."
|
|||
;; the different sources.
|
||||
;;
|
||||
;; The internal functions doing the retrieval are:
|
||||
;; `org-export-get-global-options',
|
||||
;; `org-export-get-buffer-attributes',
|
||||
;; `org-export-parse-option-keyword',
|
||||
;; `org-export-get-subtree-options' and
|
||||
;; `org-export-get-inbuffer-options'
|
||||
;; `org-export--get-global-options',
|
||||
;; `org-export--get-buffer-attributes',
|
||||
;; `org-export--parse-option-keyword',
|
||||
;; `org-export--get-subtree-options' and
|
||||
;; `org-export--get-inbuffer-options'
|
||||
;;
|
||||
;; Also, `org-export-confirm-letbind' and `org-export-install-letbind'
|
||||
;; Also, `org-export--confirm-letbind' and `org-export--install-letbind'
|
||||
;; take care of the part relative to "#+BIND:" keywords.
|
||||
|
||||
(defun org-export-get-environment (&optional backend subtreep ext-plist)
|
||||
|
@ -1234,21 +1234,21 @@ Third optional argument EXT-PLIST is a property list with
|
|||
external parameters overriding Org default settings, but still
|
||||
inferior to file-local settings."
|
||||
;; First install #+BIND variables.
|
||||
(org-export-install-letbind-maybe)
|
||||
(org-export--install-letbind-maybe)
|
||||
;; Get and prioritize export options...
|
||||
(org-combine-plists
|
||||
;; ... from global variables...
|
||||
(org-export-get-global-options backend)
|
||||
(org-export--get-global-options backend)
|
||||
;; ... from buffer's attributes...
|
||||
(org-export-get-buffer-attributes)
|
||||
(org-export--get-buffer-attributes)
|
||||
;; ... from an external property list...
|
||||
ext-plist
|
||||
;; ... from in-buffer settings...
|
||||
(org-export-get-inbuffer-options
|
||||
(org-export--get-inbuffer-options
|
||||
backend
|
||||
(and buffer-file-name (org-remove-double-quotes buffer-file-name)))
|
||||
;; ... and from subtree, when appropriate.
|
||||
(and subtreep (org-export-get-subtree-options backend))
|
||||
(and subtreep (org-export--get-subtree-options backend))
|
||||
;; Eventually install back-end symbol and its translation table.
|
||||
`(:back-end
|
||||
,backend
|
||||
|
@ -1256,7 +1256,7 @@ inferior to file-local settings."
|
|||
,(let ((trans-alist (intern (format "org-%s-translate-alist" backend))))
|
||||
(when (boundp trans-alist) (symbol-value trans-alist))))))
|
||||
|
||||
(defun org-export-parse-option-keyword (options &optional backend)
|
||||
(defun org-export--parse-option-keyword (options &optional backend)
|
||||
"Parse an OPTIONS line and return values as a plist.
|
||||
Optional argument BACKEND is a symbol specifying which back-end
|
||||
specific items to read, if any."
|
||||
|
@ -1285,7 +1285,7 @@ specific items to read, if any."
|
|||
alist)
|
||||
plist))
|
||||
|
||||
(defun org-export-get-subtree-options (&optional backend)
|
||||
(defun org-export--get-subtree-options (&optional backend)
|
||||
"Get export options in subtree at point.
|
||||
Optional argument BACKEND is a symbol specifying back-end used
|
||||
for export. Return options as a plist."
|
||||
|
@ -1310,7 +1310,7 @@ for export. Return options as a plist."
|
|||
;; EXPORT_OPTIONS are parsed in a non-standard way.
|
||||
(when (setq prop (org-entry-get (point) "EXPORT_OPTIONS"))
|
||||
(setq plist
|
||||
(nconc plist (org-export-parse-option-keyword prop backend))))
|
||||
(nconc plist (org-export--parse-option-keyword prop backend))))
|
||||
;; Handle other keywords.
|
||||
(let ((seen '("TITLE")))
|
||||
(mapc
|
||||
|
@ -1340,7 +1340,7 @@ for export. Return options as a plist."
|
|||
;; Return value.
|
||||
plist)))
|
||||
|
||||
(defun org-export-get-inbuffer-options (&optional backend files)
|
||||
(defun org-export--get-inbuffer-options (&optional backend files)
|
||||
"Return current buffer export options, as a plist.
|
||||
|
||||
Optional argument BACKEND, when non-nil, is a symbol specifying
|
||||
|
@ -1372,10 +1372,10 @@ Assume buffer is in Org mode. Narrowing, if any, is ignored."
|
|||
(with-temp-buffer
|
||||
(insert (org-file-contents file 'noerror))
|
||||
(org-mode)
|
||||
(org-export-get-inbuffer-options
|
||||
(org-export--get-inbuffer-options
|
||||
backend (cons file files))))))
|
||||
((string= key "OPTIONS")
|
||||
(org-export-parse-option-keyword val backend))
|
||||
(org-export--parse-option-keyword val backend))
|
||||
((string= key "MACRO")
|
||||
(when (string-match
|
||||
"^\\([-a-zA-Z0-9_]+\\)\\(?:[ \t]+\\(.*?\\)[ \t]*$\\)?"
|
||||
|
@ -1468,7 +1468,7 @@ Assume buffer is in Org mode. Narrowing, if any, is ignored."
|
|||
;; 3. Return final value.
|
||||
plist)))
|
||||
|
||||
(defun org-export-get-buffer-attributes ()
|
||||
(defun org-export--get-buffer-attributes ()
|
||||
"Return properties related to buffer attributes, as a plist."
|
||||
(let ((visited-file (buffer-file-name (buffer-base-buffer))))
|
||||
(list
|
||||
|
@ -1527,7 +1527,7 @@ Assume buffer is in Org mode. Narrowing, if any, is ignored."
|
|||
:macro-time "(eval (format-time-string \"$1\"))"
|
||||
:macro-property "(eval (org-entry-get nil \"$1\" 'selective))")))
|
||||
|
||||
(defun org-export-get-global-options (&optional backend)
|
||||
(defun org-export--get-global-options (&optional backend)
|
||||
"Return global export options as a plist.
|
||||
|
||||
Optional argument BACKEND, if non-nil, is a symbol specifying
|
||||
|
@ -1559,19 +1559,20 @@ process."
|
|||
;; Return value.
|
||||
plist))
|
||||
|
||||
(defvar org-export-allow-BIND-local nil)
|
||||
(defun org-export-confirm-letbind ()
|
||||
(defvar org-export--allow-BIND-local nil)
|
||||
(defun org-export--confirm-letbind ()
|
||||
"Can we use #+BIND values during export?
|
||||
By default this will ask for confirmation by the user, to divert
|
||||
possible security risks."
|
||||
(cond
|
||||
((not org-export-allow-BIND) nil)
|
||||
((eq org-export-allow-BIND t) t)
|
||||
((local-variable-p 'org-export-allow-BIND-local) org-export-allow-BIND-local)
|
||||
(t (org-set-local 'org-export-allow-BIND-local
|
||||
((local-variable-p 'org-export--allow-BIND-local)
|
||||
org-export--allow-BIND-local)
|
||||
(t (org-set-local 'org-export--allow-BIND-local
|
||||
(yes-or-no-p "Allow BIND values in this buffer? ")))))
|
||||
|
||||
(defun org-export-install-letbind-maybe ()
|
||||
(defun org-export--install-letbind-maybe ()
|
||||
"Install the values from #+BIND lines as local variables.
|
||||
Variables must be installed before in-buffer options are
|
||||
retrieved."
|
||||
|
@ -1594,11 +1595,11 @@ retrieved."
|
|||
;;
|
||||
;; Dedicated functions focus on computing the value of specific tree
|
||||
;; properties during initialization. Thus,
|
||||
;; `org-export-populate-ignore-list' lists elements and objects that
|
||||
;; should be skipped during export, `org-export-get-min-level' gets
|
||||
;; `org-export--populate-ignore-list' lists elements and objects that
|
||||
;; should be skipped during export, `org-export--get-min-level' gets
|
||||
;; the minimal exportable level, used as a basis to compute relative
|
||||
;; level for headlines. Eventually
|
||||
;; `org-export-collect-headline-numbering' builds an alist between
|
||||
;; `org-export--collect-headline-numbering' builds an alist between
|
||||
;; headlines and their numbering.
|
||||
|
||||
(defun org-export-collect-tree-properties (data info)
|
||||
|
@ -1634,13 +1635,14 @@ Return updated plist."
|
|||
(setq info
|
||||
(plist-put info
|
||||
:ignore-list
|
||||
(append (org-export-populate-ignore-list data info)
|
||||
(append (org-export--populate-ignore-list data info)
|
||||
(plist-get info :ignore-list))))
|
||||
;; Compute `:headline-offset' in order to be able to use
|
||||
;; `org-export-get-relative-level'.
|
||||
(setq info
|
||||
(plist-put info
|
||||
:headline-offset (- 1 (org-export-get-min-level data info))))
|
||||
:headline-offset
|
||||
(- 1 (org-export--get-min-level data info))))
|
||||
;; Update footnotes definitions list with definitions in parse tree.
|
||||
;; This is required since buffer expansion might have modified
|
||||
;; boundaries of footnote definitions contained in the parse tree.
|
||||
|
@ -1664,10 +1666,10 @@ Return updated plist."
|
|||
(when (or (eq (org-element-type blob) 'target)
|
||||
(string= (org-element-property :key blob) "TARGET"))
|
||||
blob)) info)
|
||||
:headline-numbering ,(org-export-collect-headline-numbering data info))
|
||||
:headline-numbering ,(org-export--collect-headline-numbering data info))
|
||||
info))
|
||||
|
||||
(defun org-export-get-min-level (data options)
|
||||
(defun org-export--get-min-level (data options)
|
||||
"Return minimum exportable headline's level in DATA.
|
||||
DATA is parsed tree as returned by `org-element-parse-buffer'.
|
||||
OPTIONS is a plist holding export options."
|
||||
|
@ -1685,7 +1687,7 @@ OPTIONS is a plist holding export options."
|
|||
;; minimum level to 1 nonetheless.
|
||||
(if (= min-level 10000) 1 min-level))))
|
||||
|
||||
(defun org-export-collect-headline-numbering (data options)
|
||||
(defun org-export--collect-headline-numbering (data options)
|
||||
"Return numbering of all exportable headlines in a parse tree.
|
||||
|
||||
DATA is the parse tree. OPTIONS is the plist holding export
|
||||
|
@ -1709,7 +1711,7 @@ associated numbering \(in the shape of a list of numbers\)."
|
|||
when (> idx relative-level) do (aset numbering idx 0)))))
|
||||
options)))
|
||||
|
||||
(defun org-export-populate-ignore-list (data options)
|
||||
(defun org-export--populate-ignore-list (data options)
|
||||
"Return list of elements and objects to ignore during export.
|
||||
DATA is the parse tree to traverse. OPTIONS is the plist holding
|
||||
export options."
|
||||
|
@ -1846,7 +1848,7 @@ tag."
|
|||
;; Internally, three functions handle the filtering of objects and
|
||||
;; elements during the export. In particular,
|
||||
;; `org-export-ignore-element' marks an element or object so future
|
||||
;; parse tree traversals skip it, `org-export-interpret-p' tells which
|
||||
;; parse tree traversals skip it, `org-export--interpret-p' tells which
|
||||
;; elements or objects should be seen as real Org syntax and
|
||||
;; `org-export-expand' transforms the others back into their original
|
||||
;; shape
|
||||
|
@ -1884,7 +1886,7 @@ Return transcoded string."
|
|||
info))
|
||||
;; Uninterpreted element/object: change it back to Org
|
||||
;; syntax and export again resulting raw string.
|
||||
((not (org-export-interpret-p data info))
|
||||
((not (org-export--interpret-p data info))
|
||||
(org-export-data
|
||||
(org-export-expand
|
||||
data
|
||||
|
@ -1955,7 +1957,7 @@ Return transcoded string."
|
|||
;; Eventually return string.
|
||||
results)))))
|
||||
|
||||
(defun org-export-interpret-p (blob info)
|
||||
(defun org-export--interpret-p (blob info)
|
||||
"Non-nil if element or object BLOB should be interpreted as Org syntax.
|
||||
Check is done according to export options INFO, stored as
|
||||
a plist."
|
||||
|
@ -2458,7 +2460,7 @@ Return the updated communication channel."
|
|||
;;
|
||||
;; File inclusion is taken care of by
|
||||
;; `org-export-expand-include-keyword' and
|
||||
;; `org-export-prepare-file-contents'. Structure wise, including
|
||||
;; `org-export--prepare-file-contents'. Structure wise, including
|
||||
;; a whole Org file in a buffer often makes little sense. For
|
||||
;; example, if the file contains an headline and the include keyword
|
||||
;; was within an item, the item should contain the headline. That's
|
||||
|
@ -2737,7 +2739,7 @@ paths."
|
|||
;; Protect sensitive contents with commas.
|
||||
(replace-regexp-in-string
|
||||
"\\(^\\)\\([*]\\|[ \t]*#\\+\\)" ","
|
||||
(org-export-prepare-file-contents file lines)
|
||||
(org-export--prepare-file-contents file lines)
|
||||
nil nil 1)))
|
||||
(format "%s#+BEGIN_EXAMPLE\n%s%s#+END_EXAMPLE\n"
|
||||
ind-str contents ind-str))))
|
||||
|
@ -2749,8 +2751,8 @@ paths."
|
|||
(replace-regexp-in-string
|
||||
(if (string= env "org") "\\(^\\)\\(.\\)"
|
||||
"\\(^\\)\\([*]\\|[ \t]*#\\+\\)") ","
|
||||
(org-export-prepare-file-contents file lines)
|
||||
nil nil 1)))
|
||||
(org-export--prepare-file-contents file lines)
|
||||
nil nil 1)))
|
||||
(format "%s#+BEGIN_SRC %s\n%s%s#+END_SRC\n"
|
||||
ind-str env contents ind-str))))
|
||||
(t
|
||||
|
@ -2758,13 +2760,13 @@ paths."
|
|||
(with-temp-buffer
|
||||
(org-mode)
|
||||
(insert
|
||||
(org-export-prepare-file-contents file lines ind minlevel))
|
||||
(org-export--prepare-file-contents file lines ind minlevel))
|
||||
(org-export-expand-include-keyword
|
||||
(cons (list file lines) included)
|
||||
(file-name-directory file))
|
||||
(buffer-string))))))))))))
|
||||
|
||||
(defun org-export-prepare-file-contents (file &optional lines ind minlevel)
|
||||
(defun org-export--prepare-file-contents (file &optional lines ind minlevel)
|
||||
"Prepare the contents of FILE for inclusion and return them as a string.
|
||||
|
||||
When optional argument LINES is a string specifying a range of
|
||||
|
@ -2833,7 +2835,7 @@ file should have."
|
|||
;; sections.
|
||||
(org-map-entries
|
||||
(lambda () (if (< offset 0) (delete-char (abs offset))
|
||||
(insert (make-string offset ?*))))))))))
|
||||
(insert (make-string offset ?*))))))))))
|
||||
(buffer-string)))
|
||||
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@ already filled in `info'."
|
|||
"Test reading all standard #+OPTIONS: items."
|
||||
(should
|
||||
(equal
|
||||
(org-export-parse-option-keyword
|
||||
(org-export--parse-option-keyword
|
||||
"H:1 num:t \\n:t timestamp:t arch:t author:t creator:t d:t email:t
|
||||
*:t e:t ::t f:t pri:t -:t ^:t toc:t |:t tags:t tasks:t <:t todo:t")
|
||||
'(:headline-levels
|
||||
|
@ -76,7 +76,7 @@ already filled in `info'."
|
|||
;; Test some special values.
|
||||
(should
|
||||
(equal
|
||||
(org-export-parse-option-keyword
|
||||
(org-export--parse-option-keyword
|
||||
"arch:headline creator:comment d:(\"TEST\")
|
||||
^:{} toc:1 tags:not-in-toc tasks:todo num:2 <:active")
|
||||
'( :section-numbers
|
||||
|
@ -101,7 +101,7 @@ already filled in `info'."
|
|||
#+SELECT_TAGS: export
|
||||
#+TITLE: Some title
|
||||
#+TITLE: with spaces"
|
||||
(org-export-get-inbuffer-options))
|
||||
(org-export--get-inbuffer-options))
|
||||
'(:author
|
||||
("Me, Myself and I") :creator "Idem" :date ("Today")
|
||||
:description "Testing\nwith two lines" :email "some@email.org"
|
||||
|
@ -923,28 +923,28 @@ Another text. (ref:text)
|
|||
"Try defining various Org macro using in-buffer #+MACRO: keyword."
|
||||
;; Parsed macro.
|
||||
(should (equal (org-test-with-temp-text "#+MACRO: one 1"
|
||||
(org-export-get-inbuffer-options))
|
||||
(org-export--get-inbuffer-options))
|
||||
'(:macro-one ("1"))))
|
||||
;; Evaled macro.
|
||||
(should (equal (org-test-with-temp-text "#+MACRO: two (eval (+ 1 1))"
|
||||
(org-export-get-inbuffer-options))
|
||||
(org-export--get-inbuffer-options))
|
||||
'(:macro-two ("(eval (+ 1 1))"))))
|
||||
;; Incomplete macro.
|
||||
(should-not (org-test-with-temp-text "#+MACRO: three"
|
||||
(org-export-get-inbuffer-options)))
|
||||
(org-export--get-inbuffer-options)))
|
||||
;; Macro with newline character.
|
||||
(should (equal (org-test-with-temp-text "#+MACRO: four a\\nb"
|
||||
(org-export-get-inbuffer-options))
|
||||
(org-export--get-inbuffer-options))
|
||||
'(:macro-four ("a\nb"))))
|
||||
;; Macro with protected newline character.
|
||||
(should (equal (org-test-with-temp-text "#+MACRO: five a\\\\nb"
|
||||
(org-export-get-inbuffer-options))
|
||||
(org-export--get-inbuffer-options))
|
||||
'(:macro-five ("a\\nb"))))
|
||||
;; Recursive macro.
|
||||
(org-test-with-temp-text "#+MACRO: six 6\n#+MACRO: seven 1 + {{{six}}}"
|
||||
(should
|
||||
(equal
|
||||
(org-export-get-inbuffer-options)
|
||||
(org-export--get-inbuffer-options)
|
||||
'(:macro-six
|
||||
("6")
|
||||
:macro-seven
|
||||
|
|
Loading…
Reference in New Issue