emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] [export] org-export-with-* bugs


From: Aaron Ecay
Subject: [O] [export] org-export-with-* bugs
Date: Sun, 15 Dec 2013 22:37:35 -0500
User-agent: Notmuch/0.16+154~g96c0ce2 (http://notmuchmail.org) Emacs/24.3.50.1 (x86_64-unknown-linux-gnu)

Hello,

1) In exporting the following org buffer to latex, I get the following
stack trace (at end of email because of length):

=====
#+options: |:nil

| foo | bar |
=====

2) When exporting the following buffer to latex:

=====
#+options: ^:nil

foo_{*bar*}
=====

I get (ignoring document preamble):

=====
foo\_\{$\backslash$textbf\{bar\}\}
=====

Note the escaping of the backslash and inner pair of braces.  I would
have expected:

=====
foo\_\{\textbf{bar}\}
=====

At least (2) is due to the fact that, in the "Uninterpreted
element/object" branch of ‘org-export-data’, the contents of the
uninterpreted e/o are escaped once by the org-export-data call in the
mapconcat, then again at the top-level org-export-data call.

I suspect that (1) may be due to the ‘org-export-expand’ call in that
branch setting the contents of the table to the string result of the
mapconcat, where properly the contents should be a tree of table-row and
table-cell elements.

I tried to fix (2) with the following algorithm:

1. pick a placeholder string (I just used the md5 hash of a gibberish
   string)
2. (org-export-data (org-export-expand data placeholder))
3. (replace-regexp-in-string placeholder [result of mapconcat from
   original code] [result of step 2] 'fixed-case 'literal)

The placeholder followed by replacement is designed to ensure that the
escaping is applied only once.  But this still seemed somewhat fragile,
and then I hit (1) and gave up, at least for the night.  I suspect that
there are likely to be similar issues with all the with-* variants
listed in ‘org-export--interpret-p’; these are just the two I happened
to test.

Thanks,
Aaron

PS this is with latest git master, commit d55f0632

Backtrace:
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  string-match("^ *" nil)
  (if (string-match "^ *" (car lines)) (setq indent (make-string (- (match-end 
0) (match-beginning 0)) 32)))
  (let* ((beg (org-table-begin)) (end (org-table-end)) (linepos 
(org-current-line)) (colpos (org-table-current-column)) (winstart 
(window-start)) (winstartline (org-current-line (min winstart (1- 
(point-max))))) lines (new "") lengths l typenums ty fields maxfields i column 
(indent "") cnt frac rfmt hfmt (spaces (quote (1 . 1))) (sp1 (car spaces)) (sp2 
(cdr spaces)) (rfmt1 (concat (make-string sp2 32) "%%%s%ds" (make-string sp1 
32) "|")) (hfmt1 (concat (make-string sp2 45) "%s" (make-string sp1 45) "+")) 
emptystrings links dates emph raise narrow falign falign1 fmax f1 len c e 
space) (untabify beg end) (remove-text-properties beg end (quote (org-cwidth t 
org-dwidth t display t))) (goto-char beg) (setq links (re-search-forward 
org-bracket-link-regexp end t)) (goto-char beg) (setq emph (and 
org-hide-emphasis-markers (re-search-forward org-emph-re end t))) (goto-char 
beg) (setq raise (and org-use-sub-superscripts (re-search-forward 
org-match-substring-regexp end t))) (goto-char beg) (setq dates (and 
org-display-custom-times (re-search-forward org-ts-regexp-both end t))) (if 
links (progn (goto-char beg) (while (org-activate-bracket-links end)))) (if 
dates (progn (goto-char beg) (while (org-activate-dates end)))) (if emph (progn 
(goto-char beg) (while (org-do-emphasis-faces end)))) (if raise (progn 
(goto-char beg) (while (org-raise-scripts end)))) (goto-char beg) (setq narrow 
(and org-table-do-narrow org-format-transports-properties-p (re-search-forward 
"<[lrc]?[0-9]+>" end t))) (goto-char beg) (setq falign (re-search-forward 
"<[lrc][0-9]*>" end t)) (goto-char beg) (setq lines (org-split-string 
(buffer-substring beg end) "\n")) (if (string-match "^ *" (car lines)) (setq 
indent (make-string (- (match-end 0) (match-beginning 0)) 32))) (setq lines 
(mapcar (function (lambda (l) (if (string-match "^ *|-" l) nil (if 
(string-match "[   ]+$" l) (substring l 0 ...) l)))) lines)) (setq fields 
(mapcar (function (lambda (l) (org-split-string l " *| *"))) (delq nil 
(copy-sequence lines)))) (condition-case nil (setq maxfields (apply (quote max) 
(mapcar (quote length) fields))) (error (kill-region beg end) (org-table-create 
org-table-default-size) (user-error "Empty table - created default table"))) 
(setq emptystrings (make-list maxfields "")) (setq i -1) (while (< (setq i (1+ 
i)) maxfields) (setq column (mapcar (function (lambda (x) (or (nth i x) ""))) 
fields)) (setq fmax nil) (if (or narrow falign) (progn (setq c column fmax nil 
falign1 nil) (while c (setq e (car-safe (prog1 c ...))) (if (and (stringp e) 
(string-match "^<\\([lrc]\\)?\\([0-9]+\\)?>$" e)) (progn (if ... ...) (if ... 
...)))) (if fmax (progn (let* (... ...) (while ... ... ... ...) nil))))) (setq 
lengths (cons (apply (quote max) (or fmax 1) 1 (mapcar (quote org-string-width) 
column)) lengths)) (if falign1 (setq typenums (cons (equal (downcase falign1) 
"r") typenums)) (setq cnt 0 frac 0.0) (let* ((--cl-var-- column) (x nil)) 
(while (consp --cl-var--) (setq x (car --cl-var--)) (if (equal x "") nil (setq 
frac (/ ... ...))) (setq --cl-var-- (cdr --cl-var--))) nil) (setq typenums 
(cons (>= frac org-table-number-fraction) typenums)))) (setq lengths (nreverse 
lengths) typenums (nreverse typenums)) (setq org-table-last-alignment typenums 
org-table-last-column-widths lengths) (if (or links emph raise) (progn (let* 
((i 0) (--cl-var-- (1- maxfields))) (while (<= i --cl-var--) (setq len (nth i 
lengths)) (let* ((j 0) (--cl-var-- ...)) (while (<= j --cl-var--) (setq c ...) 
(if ... ...) (setq j ...)) nil) (setq i (+ i 1))) nil))) (setq rfmt (concat 
indent "|") hfmt (concat indent "|")) (while (setq l (car-safe (prog1 lengths 
(setq lengths (cdr lengths))))) (setq ty (if (car-safe (prog1 typenums (setq 
typenums (cdr typenums)))) "" "-")) (setq rfmt (concat rfmt (format rfmt1 ty 
l)) hfmt (concat hfmt (format hfmt1 (make-string l 45))))) (setq rfmt (concat 
rfmt "\n") hfmt (concat (substring hfmt 0 -1) "|\n")) (setq new (mapconcat 
(function (lambda (l) (if l (apply (quote format) rfmt (append ... 
emptystrings)) hfmt))) lines "")) (move-marker org-table-aligned-begin-marker 
(point)) (insert new) (delete-region (point) end) (move-marker end nil) 
(move-marker org-table-aligned-end-marker (point)) (if (and orgtbl-mode (not 
(derived-mode-p (quote org-mode)))) (progn (goto-char 
org-table-aligned-begin-marker) (while (org-hide-wide-columns 
org-table-aligned-end-marker)))) (org-goto-line winstartline) (setq winstart 
(point-at-bol)) (org-goto-line linepos) (if (eq (window-buffer 
(selected-window)) (current-buffer)) (progn (set-window-start (selected-window) 
winstart (quote noforce)))) (org-table-goto-column colpos) (and 
org-table-overlay-coordinates (org-table-overlay-coordinates)) (setq 
org-table-may-need-update nil))
  org-table-align()
  (progn (insert contents) (org-table-align) (buffer-string))
  (unwind-protect (progn (insert contents) (org-table-align) (buffer-string)) 
(and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
  (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert 
contents) (org-table-align) (buffer-string)) (and (buffer-name temp-buffer) 
(kill-buffer temp-buffer))))
  (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer 
(set-buffer temp-buffer) (unwind-protect (progn (insert contents) 
(org-table-align) (buffer-string)) (and (buffer-name temp-buffer) (kill-buffer 
temp-buffer)))))
  (concat (let ((temp-buffer (generate-new-buffer " *temp*"))) 
(save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert 
contents) (org-table-align) (buffer-string)) (and (buffer-name temp-buffer) 
(kill-buffer temp-buffer))))) (mapconcat (function (lambda (fm) (concat 
"#+TBLFM: " fm))) (reverse (org-element-property :tblfm table)) "\n"))
  (if (eq (org-element-property :type table) (quote table\.el)) 
(org-remove-indentation (org-element-property :value table)) (concat (let 
((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer 
(set-buffer temp-buffer) (unwind-protect (progn (insert contents) 
(org-table-align) (buffer-string)) (and (buffer-name temp-buffer) (kill-buffer 
temp-buffer))))) (mapconcat (function (lambda (fm) (concat "#+TBLFM: " fm))) 
(reverse (org-element-property :tblfm table)) "\n")))
  org-element-table-interpreter((table (:begin 19 :end 35 :type org :tblfm nil 
:contents-begin 19 :contents-end 35 :value nil :post-blank 0 :post-affiliated 
19 :parent (section (:begin 1 :end 35 :contents-begin 1 :contents-end 35 
:post-blank 0 :parent (org-data nil #2)) (keyword (:key "OPTIONS" :value 
"|:nil" :begin 1 :end 19 :post-blank 1 :post-affiliated 1 :parent #2)) #0)) 
(table-row (:type standard :begin 19 :end 35 :contents-begin 20 :contents-end 
34 :post-blank 0 :parent #0) (table-cell (:begin 20 :end 26 :contents-begin 21 
:contents-end 24 :post-blank 0 :parent #1) #("foo" 0 3 (:parent #2))) 
(table-cell (:begin 26 :end 34 :contents-begin 27 :contents-end 32 :post-blank 
0 :parent #1) (bold (:begin 27 :end 32 :contents-begin 28 :contents-end 31 
:post-blank 0 :parent #2) #("bar" 0 3 (:parent #3)))))) #("foo & 
\\textbf{bar}\\\\\n" 0 3 (:parent (table-cell (:begin 20 :end 26 
:contents-begin 21 :contents-end 24 :post-blank 0 :parent (table-row (:type 
standard :begin 19 :end 35 :contents-begin 20 :contents-end 34 :post-blank 0 
:parent (table (:begin 19 :end 35 :type org :tblfm nil :contents-begin 19 
:contents-end 35 :value nil :post-blank 0 :post-affiliated 19 :parent ...) #4)) 
#2 (table-cell (:begin 26 :end 34 :contents-begin 27 :contents-end 32 
:post-blank 0 :parent #4) (bold (:begin 27 :end 32 :contents-begin 28 
:contents-end 31 :post-blank 0 :parent #5) #("bar" 0 3 ...))))) #("foo" 0 3 
(:parent #2)))) 14 17 (:parent (bold (:begin 27 :end 32 :contents-begin 28 
:contents-end 31 :post-blank 0 :parent (table-cell (:begin 26 :end 34 
:contents-begin 27 :contents-end 32 :post-blank 0 :parent (table-row (:type 
standard :begin 19 :end 35 :contents-begin 20 :contents-end 34 :post-blank 0 
:parent ...) (table-cell ... #("foo" 0 3 ...)) #4)) #2)) #("bar" 0 3 (:parent 
#2))))))
  funcall(org-element-table-interpreter (table (:begin 19 :end 35 :type org 
:tblfm nil :contents-begin 19 :contents-end 35 :value nil :post-blank 0 
:post-affiliated 19 :parent (section (:begin 1 :end 35 :contents-begin 1 
:contents-end 35 :post-blank 0 :parent (org-data nil #2)) (keyword (:key 
"OPTIONS" :value "|:nil" :begin 1 :end 19 :post-blank 1 :post-affiliated 1 
:parent #2)) #0)) (table-row (:type standard :begin 19 :end 35 :contents-begin 
20 :contents-end 34 :post-blank 0 :parent #0) (table-cell (:begin 20 :end 26 
:contents-begin 21 :contents-end 24 :post-blank 0 :parent #1) #("foo" 0 3 
(:parent #2))) (table-cell (:begin 26 :end 34 :contents-begin 27 :contents-end 
32 :post-blank 0 :parent #1) (bold (:begin 27 :end 32 :contents-begin 28 
:contents-end 31 :post-blank 0 :parent #2) #("bar" 0 3 (:parent #3)))))) #("foo 
& \\textbf{bar}\\\\\n" 0 3 (:parent (table-cell (:begin 20 :end 26 
:contents-begin 21 :contents-end 24 :post-blank 0 :parent (table-row (:type 
standard :begin 19 :end 35 :contents-begin 20 :contents-end 34 :post-blank 0 
:parent (table (:begin 19 :end 35 :type org :tblfm nil :contents-begin 19 
:contents-end 35 :value nil :post-blank 0 :post-affiliated 19 :parent ...) #4)) 
#2 (table-cell (:begin 26 :end 34 :contents-begin 27 :contents-end 32 
:post-blank 0 :parent #4) (bold (:begin 27 :end 32 :contents-begin 28 
:contents-end 31 :post-blank 0 :parent #5) #("bar" 0 3 ...))))) #("foo" 0 3 
(:parent #2)))) 14 17 (:parent (bold (:begin 27 :end 32 :contents-begin 28 
:contents-end 31 :post-blank 0 :parent (table-cell (:begin 26 :end 34 
:contents-begin 27 :contents-end 32 :post-blank 0 :parent (table-row (:type 
standard :begin 19 :end 35 :contents-begin 20 :contents-end 34 :post-blank 0 
:parent ...) (table-cell ... #("foo" 0 3 ...)) #4)) #2)) #("bar" 0 3 (:parent 
#2))))))
  (concat (and with-affiliated (memq type org-element-all-elements) 
(org-element--interpret-affiliated-keywords blob)) (funcall (intern (format 
"org-element-%s-interpreter" type)) blob contents))
  (let ((type (org-element-type blob))) (concat (and with-affiliated (memq type 
org-element-all-elements) (org-element--interpret-affiliated-keywords blob)) 
(funcall (intern (format "org-element-%s-interpreter" type)) blob contents)))
  org-export-expand((table (:begin 19 :end 35 :type org :tblfm nil 
:contents-begin 19 :contents-end 35 :value nil :post-blank 0 :post-affiliated 
19 :parent (section (:begin 1 :end 35 :contents-begin 1 :contents-end 35 
:post-blank 0 :parent (org-data nil #2)) (keyword (:key "OPTIONS" :value 
"|:nil" :begin 1 :end 19 :post-blank 1 :post-affiliated 1 :parent #2)) #0)) 
(table-row (:type standard :begin 19 :end 35 :contents-begin 20 :contents-end 
34 :post-blank 0 :parent #0) (table-cell (:begin 20 :end 26 :contents-begin 21 
:contents-end 24 :post-blank 0 :parent #1) #("foo" 0 3 (:parent #2))) 
(table-cell (:begin 26 :end 34 :contents-begin 27 :contents-end 32 :post-blank 
0 :parent #1) (bold (:begin 27 :end 32 :contents-begin 28 :contents-end 31 
:post-blank 0 :parent #2) #("bar" 0 3 (:parent #3)))))) #("foo & 
\\textbf{bar}\\\\\n" 0 3 (:parent (table-cell (:begin 20 :end 26 
:contents-begin 21 :contents-end 24 :post-blank 0 :parent (table-row (:type 
standard :begin 19 :end 35 :contents-begin 20 :contents-end 34 :post-blank 0 
:parent (table (:begin 19 :end 35 :type org :tblfm nil :contents-begin 19 
:contents-end 35 :value nil :post-blank 0 :post-affiliated 19 :parent ...) #4)) 
#2 (table-cell (:begin 26 :end 34 :contents-begin 27 :contents-end 32 
:post-blank 0 :parent #4) (bold (:begin 27 :end 32 :contents-begin 28 
:contents-end 31 :post-blank 0 :parent #5) #("bar" 0 3 ...))))) #("foo" 0 3 
(:parent #2)))) 14 17 (:parent (bold (:begin 27 :end 32 :contents-begin 28 
:contents-end 31 :post-blank 0 :parent (table-cell (:begin 26 :end 34 
:contents-begin 27 :contents-end 32 :post-blank 0 :parent (table-row (:type 
standard :begin 19 :end 35 :contents-begin 20 :contents-end 34 :post-blank 0 
:parent ...) (table-cell ... #("foo" 0 3 ...)) #4)) #2)) #("bar" 0 3 (:parent 
#2))))))
  (org-export-data (org-export-expand data (mapconcat (function (lambda (blob) 
(org-export-data blob info))) (org-element-contents data) "")) info)
  (cond ((memq data (plist-get info :ignore-list)) nil) ((eq type (quote 
plain-text)) (org-export-filter-apply-functions (plist-get info 
:filter-plain-text) (let ((transcoder (org-export-transcoder data info))) (if 
transcoder (funcall transcoder data info) data)) info)) ((not 
(org-export--interpret-p data info)) (org-export-data (org-export-expand data 
(mapconcat (function (lambda (blob) (org-export-data blob info))) 
(org-element-contents data) "")) info)) ((not type) (mapconcat (function 
(lambda (obj) (org-export-data obj info))) data "")) ((or (not 
(org-element-contents data)) (and (eq type (quote headline)) (eq (plist-get 
info :with-archived-trees) (quote headline)) (org-element-property :archivedp 
data))) (let ((transcoder (org-export-transcoder data info))) (or (and 
(functionp transcoder) (funcall transcoder data nil info)) (and (eq type (quote 
export-snippet)) "")))) (t (let ((transcoder (org-export-transcoder data 
info))) (if transcoder (progn (let* ((greaterp ...) (objectp ...) (contents 
...)) (funcall transcoder data (if ... contents ...) info)))))))
  (let* ((type (org-element-type data)) (results (cond ((memq data (plist-get 
info :ignore-list)) nil) ((eq type (quote plain-text)) 
(org-export-filter-apply-functions (plist-get info :filter-plain-text) (let 
(...) (if transcoder ... data)) info)) ((not (org-export--interpret-p data 
info)) (org-export-data (org-export-expand data (mapconcat ... ... "")) info)) 
((not type) (mapconcat (function (lambda ... ...)) data "")) ((or (not 
(org-element-contents data)) (and (eq type ...) (eq ... ...) 
(org-element-property :archivedp data))) (let ((transcoder ...)) (or (and ... 
...) (and ... "")))) (t (let ((transcoder ...)) (if transcoder (progn 
...))))))) (puthash data (cond ((not results) nil) ((memq type (quote (org-data 
plain-text nil))) results) (t (let ((results (org-export-filter-apply-functions 
... ... info))) results))) (plist-get info :exported-data)))
  (if (not (eq memo (quote no-memo))) memo (let* ((type (org-element-type 
data)) (results (cond ((memq data (plist-get info :ignore-list)) nil) ((eq type 
(quote plain-text)) (org-export-filter-apply-functions (plist-get info 
:filter-plain-text) (let ... ...) info)) ((not (org-export--interpret-p data 
info)) (org-export-data (org-export-expand data ...) info)) ((not type) 
(mapconcat (function ...) data "")) ((or (not ...) (and ... ... ...)) (let 
(...) (or ... ...))) (t (let (...) (if transcoder ...)))))) (puthash data (cond 
((not results) nil) ((memq type (quote (org-data plain-text nil))) results) (t 
(let ((results ...)) results))) (plist-get info :exported-data))))
  (let ((memo (gethash data (plist-get info :exported-data) (quote no-memo)))) 
(if (not (eq memo (quote no-memo))) memo (let* ((type (org-element-type data)) 
(results (cond ((memq data ...) nil) ((eq type ...) 
(org-export-filter-apply-functions ... ... info)) ((not ...) (org-export-data 
... info)) ((not type) (mapconcat ... data "")) ((or ... ...) (let ... ...)) (t 
(let ... ...))))) (puthash data (cond ((not results) nil) ((memq type (quote 
...)) results) (t (let (...) results))) (plist-get info :exported-data)))))
  org-export-data((table (:begin 19 :end 35 :type org :tblfm nil 
:contents-begin 19 :contents-end 35 :value nil :post-blank 0 :post-affiliated 
19 :parent (section (:begin 1 :end 35 :contents-begin 1 :contents-end 35 
:post-blank 0 :parent (org-data nil #2)) (keyword (:key "OPTIONS" :value 
"|:nil" :begin 1 :end 19 :post-blank 1 :post-affiliated 1 :parent #2)) #0)) 
(table-row (:type standard :begin 19 :end 35 :contents-begin 20 :contents-end 
34 :post-blank 0 :parent #0) (table-cell (:begin 20 :end 26 :contents-begin 21 
:contents-end 24 :post-blank 0 :parent #1) #("foo" 0 3 (:parent #2))) 
(table-cell (:begin 26 :end 34 :contents-begin 27 :contents-end 32 :post-blank 
0 :parent #1) (bold (:begin 27 :end 32 :contents-begin 28 :contents-end 31 
:post-blank 0 :parent #2) #("bar" 0 3 (:parent #3)))))) (:export-options nil 
:input-buffer "test-subscript.org" :input-file 
"/home/aecay/org-test-files/test-subscript.org" :title "test-subscript" 
:latex-class "article" :latex-hyperref-p t :date ((latex-fragment (:value 
"\\today" :begin 1 :end 7 :post-blank 0 :parent #1))) :author nil :creator 
"Emacs 24.3.50.1 (Org mode 8.2.1)" :email "address@hidden" :exclude-tags 
("noexport") :headline-levels 3 :language "en" :preserve-breaks nil 
:section-numbers t :select-tags ("export") :time-stamp-file t 
:with-archived-trees headline :with-author t :with-clocks nil :with-creator 
comment :with-date t :with-drawers (not "LOGBOOK") :with-email nil 
:with-emphasize t ...))
  (lambda (element) (org-export-data element info))((table (:begin 19 :end 35 
:type org :tblfm nil :contents-begin 19 :contents-end 35 :value nil :post-blank 
0 :post-affiliated 19 :parent (section (:begin 1 :end 35 :contents-begin 1 
:contents-end 35 :post-blank 0 :parent (org-data nil #2)) (keyword (:key 
"OPTIONS" :value "|:nil" :begin 1 :end 19 :post-blank 1 :post-affiliated 1 
:parent #2)) #0)) (table-row (:type standard :begin 19 :end 35 :contents-begin 
20 :contents-end 34 :post-blank 0 :parent #0) (table-cell (:begin 20 :end 26 
:contents-begin 21 :contents-end 24 :post-blank 0 :parent #1) #("foo" 0 3 
(:parent #2))) (table-cell (:begin 26 :end 34 :contents-begin 27 :contents-end 
32 :post-blank 0 :parent #1) (bold (:begin 27 :end 32 :contents-begin 28 
:contents-end 31 :post-blank 0 :parent #2) #("bar" 0 3 (:parent #3)))))))
  mapconcat((lambda (element) (org-export-data element info)) ((keyword (:key 
"OPTIONS" :value "|:nil" :begin 1 :end 19 :post-blank 1 :post-affiliated 1 
:parent (section (:begin 1 :end 35 :contents-begin 1 :contents-end 35 
:post-blank 0 :parent (org-data nil #3)) #1 (table (:begin 19 :end 35 :type org 
:tblfm nil :contents-begin 19 :contents-end 35 :value nil :post-blank 0 
:post-affiliated 19 :parent #3) (table-row (:type standard :begin 19 :end 35 
:contents-begin 20 :contents-end 34 :post-blank 0 :parent #4) (table-cell 
(:begin 20 :end 26 :contents-begin 21 :contents-end 24 :post-blank 0 :parent 
#5) #("foo" 0 3 ...)) (table-cell (:begin 26 :end 34 :contents-begin 27 
:contents-end 32 :post-blank 0 :parent #5) (bold ... #("bar" 0 3 ...)))))))) 
(table (:begin 19 :end 35 :type org :tblfm nil :contents-begin 19 :contents-end 
35 :value nil :post-blank 0 :post-affiliated 19 :parent (section (:begin 1 :end 
35 :contents-begin 1 :contents-end 35 :post-blank 0 :parent (org-data nil #3)) 
(keyword (:key "OPTIONS" :value "|:nil" :begin 1 :end 19 :post-blank 1 
:post-affiliated 1 :parent #3)) #1)) (table-row (:type standard :begin 19 :end 
35 :contents-begin 20 :contents-end 34 :post-blank 0 :parent #1) (table-cell 
(:begin 20 :end 26 :contents-begin 21 :contents-end 24 :post-blank 0 :parent 
#2) #("foo" 0 3 (:parent #3))) (table-cell (:begin 26 :end 34 :contents-begin 
27 :contents-end 32 :post-blank 0 :parent #2) (bold (:begin 27 :end 32 
:contents-begin 28 :contents-end 31 :post-blank 0 :parent #3) #("bar" 0 3 
(:parent #4))))))) "")
  (let* ((greaterp (memq type org-element-greater-elements)) (objectp (and (not 
greaterp) (memq type org-element-recursive-objects))) (contents (mapconcat 
(function (lambda (element) (org-export-data element info))) 
(org-element-contents (if (or greaterp objectp) data 
(org-element-normalize-contents data (if ... ...)))) ""))) (funcall transcoder 
data (if (not greaterp) contents (org-element-normalize-string contents)) info))
  (progn (let* ((greaterp (memq type org-element-greater-elements)) (objectp 
(and (not greaterp) (memq type org-element-recursive-objects))) (contents 
(mapconcat (function (lambda (element) (org-export-data element info))) 
(org-element-contents (if (or greaterp objectp) data 
(org-element-normalize-contents data ...))) ""))) (funcall transcoder data (if 
(not greaterp) contents (org-element-normalize-string contents)) info)))
  (if transcoder (progn (let* ((greaterp (memq type 
org-element-greater-elements)) (objectp (and (not greaterp) (memq type 
org-element-recursive-objects))) (contents (mapconcat (function (lambda ... 
...)) (org-element-contents (if ... data ...)) ""))) (funcall transcoder data 
(if (not greaterp) contents (org-element-normalize-string contents)) info))))
  (let ((transcoder (org-export-transcoder data info))) (if transcoder (progn 
(let* ((greaterp (memq type org-element-greater-elements)) (objectp (and (not 
greaterp) (memq type org-element-recursive-objects))) (contents (mapconcat 
(function ...) (org-element-contents ...) ""))) (funcall transcoder data (if 
(not greaterp) contents (org-element-normalize-string contents)) info)))))
  (cond ((memq data (plist-get info :ignore-list)) nil) ((eq type (quote 
plain-text)) (org-export-filter-apply-functions (plist-get info 
:filter-plain-text) (let ((transcoder (org-export-transcoder data info))) (if 
transcoder (funcall transcoder data info) data)) info)) ((not 
(org-export--interpret-p data info)) (org-export-data (org-export-expand data 
(mapconcat (function (lambda (blob) (org-export-data blob info))) 
(org-element-contents data) "")) info)) ((not type) (mapconcat (function 
(lambda (obj) (org-export-data obj info))) data "")) ((or (not 
(org-element-contents data)) (and (eq type (quote headline)) (eq (plist-get 
info :with-archived-trees) (quote headline)) (org-element-property :archivedp 
data))) (let ((transcoder (org-export-transcoder data info))) (or (and 
(functionp transcoder) (funcall transcoder data nil info)) (and (eq type (quote 
export-snippet)) "")))) (t (let ((transcoder (org-export-transcoder data 
info))) (if transcoder (progn (let* ((greaterp ...) (objectp ...) (contents 
...)) (funcall transcoder data (if ... contents ...) info)))))))
  (let* ((type (org-element-type data)) (results (cond ((memq data (plist-get 
info :ignore-list)) nil) ((eq type (quote plain-text)) 
(org-export-filter-apply-functions (plist-get info :filter-plain-text) (let 
(...) (if transcoder ... data)) info)) ((not (org-export--interpret-p data 
info)) (org-export-data (org-export-expand data (mapconcat ... ... "")) info)) 
((not type) (mapconcat (function (lambda ... ...)) data "")) ((or (not 
(org-element-contents data)) (and (eq type ...) (eq ... ...) 
(org-element-property :archivedp data))) (let ((transcoder ...)) (or (and ... 
...) (and ... "")))) (t (let ((transcoder ...)) (if transcoder (progn 
...))))))) (puthash data (cond ((not results) nil) ((memq type (quote (org-data 
plain-text nil))) results) (t (let ((results (org-export-filter-apply-functions 
... ... info))) results))) (plist-get info :exported-data)))
  (if (not (eq memo (quote no-memo))) memo (let* ((type (org-element-type 
data)) (results (cond ((memq data (plist-get info :ignore-list)) nil) ((eq type 
(quote plain-text)) (org-export-filter-apply-functions (plist-get info 
:filter-plain-text) (let ... ...) info)) ((not (org-export--interpret-p data 
info)) (org-export-data (org-export-expand data ...) info)) ((not type) 
(mapconcat (function ...) data "")) ((or (not ...) (and ... ... ...)) (let 
(...) (or ... ...))) (t (let (...) (if transcoder ...)))))) (puthash data (cond 
((not results) nil) ((memq type (quote (org-data plain-text nil))) results) (t 
(let ((results ...)) results))) (plist-get info :exported-data))))
  (let ((memo (gethash data (plist-get info :exported-data) (quote no-memo)))) 
(if (not (eq memo (quote no-memo))) memo (let* ((type (org-element-type data)) 
(results (cond ((memq data ...) nil) ((eq type ...) 
(org-export-filter-apply-functions ... ... info)) ((not ...) (org-export-data 
... info)) ((not type) (mapconcat ... data "")) ((or ... ...) (let ... ...)) (t 
(let ... ...))))) (puthash data (cond ((not results) nil) ((memq type (quote 
...)) results) (t (let (...) results))) (plist-get info :exported-data)))))
  org-export-data((section (:begin 1 :end 35 :contents-begin 1 :contents-end 35 
:post-blank 0 :parent (org-data nil #0)) (keyword (:key "OPTIONS" :value 
"|:nil" :begin 1 :end 19 :post-blank 1 :post-affiliated 1 :parent #0)) (table 
(:begin 19 :end 35 :type org :tblfm nil :contents-begin 19 :contents-end 35 
:value nil :post-blank 0 :post-affiliated 19 :parent #0) (table-row (:type 
standard :begin 19 :end 35 :contents-begin 20 :contents-end 34 :post-blank 0 
:parent #1) (table-cell (:begin 20 :end 26 :contents-begin 21 :contents-end 24 
:post-blank 0 :parent #2) #("foo" 0 3 (:parent #3))) (table-cell (:begin 26 
:end 34 :contents-begin 27 :contents-end 32 :post-blank 0 :parent #2) (bold 
(:begin 27 :end 32 :contents-begin 28 :contents-end 31 :post-blank 0 :parent 
#3) #("bar" 0 3 (:parent #4))))))) (:export-options nil :input-buffer 
"test-subscript.org" :input-file 
"/home/aecay/org-test-files/test-subscript.org" :title "test-subscript" 
:latex-class "article" :latex-hyperref-p t :date ((latex-fragment (:value 
"\\today" :begin 1 :end 7 :post-blank 0 :parent #1))) :author nil :creator 
"Emacs 24.3.50.1 (Org mode 8.2.1)" :email "address@hidden" :exclude-tags 
("noexport") :headline-levels 3 :language "en" :preserve-breaks nil 
:section-numbers t :select-tags ("export") :time-stamp-file t 
:with-archived-trees headline :with-author t :with-clocks nil :with-creator 
comment :with-date t :with-drawers (not "LOGBOOK") :with-email nil 
:with-emphasize t ...))
  (lambda (element) (org-export-data element info))((section (:begin 1 :end 35 
:contents-begin 1 :contents-end 35 :post-blank 0 :parent (org-data nil #0)) 
(keyword (:key "OPTIONS" :value "|:nil" :begin 1 :end 19 :post-blank 1 
:post-affiliated 1 :parent #0)) (table (:begin 19 :end 35 :type org :tblfm nil 
:contents-begin 19 :contents-end 35 :value nil :post-blank 0 :post-affiliated 
19 :parent #0) (table-row (:type standard :begin 19 :end 35 :contents-begin 20 
:contents-end 34 :post-blank 0 :parent #1) (table-cell (:begin 20 :end 26 
:contents-begin 21 :contents-end 24 :post-blank 0 :parent #2) #("foo" 0 3 
(:parent #3))) (table-cell (:begin 26 :end 34 :contents-begin 27 :contents-end 
32 :post-blank 0 :parent #2) (bold (:begin 27 :end 32 :contents-begin 28 
:contents-end 31 :post-blank 0 :parent #3) #("bar" 0 3 (:parent #4))))))))
  mapconcat((lambda (element) (org-export-data element info)) ((section (:begin 
1 :end 35 :contents-begin 1 :contents-end 35 :post-blank 0 :parent (org-data 
nil #1)) (keyword (:key "OPTIONS" :value "|:nil" :begin 1 :end 19 :post-blank 1 
:post-affiliated 1 :parent #1)) (table (:begin 19 :end 35 :type org :tblfm nil 
:contents-begin 19 :contents-end 35 :value nil :post-blank 0 :post-affiliated 
19 :parent #1) (table-row (:type standard :begin 19 :end 35 :contents-begin 20 
:contents-end 34 :post-blank 0 :parent #2) (table-cell (:begin 20 :end 26 
:contents-begin 21 :contents-end 24 :post-blank 0 :parent #3) #("foo" 0 3 
(:parent #4))) (table-cell (:begin 26 :end 34 :contents-begin 27 :contents-end 
32 :post-blank 0 :parent #3) (bold (:begin 27 :end 32 :contents-begin 28 
:contents-end 31 :post-blank 0 :parent #4) #("bar" 0 3 (:parent #5)))))))) "")
  (let* ((greaterp (memq type org-element-greater-elements)) (objectp (and (not 
greaterp) (memq type org-element-recursive-objects))) (contents (mapconcat 
(function (lambda (element) (org-export-data element info))) 
(org-element-contents (if (or greaterp objectp) data 
(org-element-normalize-contents data (if ... ...)))) ""))) (funcall transcoder 
data (if (not greaterp) contents (org-element-normalize-string contents)) info))
  (progn (let* ((greaterp (memq type org-element-greater-elements)) (objectp 
(and (not greaterp) (memq type org-element-recursive-objects))) (contents 
(mapconcat (function (lambda (element) (org-export-data element info))) 
(org-element-contents (if (or greaterp objectp) data 
(org-element-normalize-contents data ...))) ""))) (funcall transcoder data (if 
(not greaterp) contents (org-element-normalize-string contents)) info)))
  (if transcoder (progn (let* ((greaterp (memq type 
org-element-greater-elements)) (objectp (and (not greaterp) (memq type 
org-element-recursive-objects))) (contents (mapconcat (function (lambda ... 
...)) (org-element-contents (if ... data ...)) ""))) (funcall transcoder data 
(if (not greaterp) contents (org-element-normalize-string contents)) info))))
  (let ((transcoder (org-export-transcoder data info))) (if transcoder (progn 
(let* ((greaterp (memq type org-element-greater-elements)) (objectp (and (not 
greaterp) (memq type org-element-recursive-objects))) (contents (mapconcat 
(function ...) (org-element-contents ...) ""))) (funcall transcoder data (if 
(not greaterp) contents (org-element-normalize-string contents)) info)))))
  (cond ((memq data (plist-get info :ignore-list)) nil) ((eq type (quote 
plain-text)) (org-export-filter-apply-functions (plist-get info 
:filter-plain-text) (let ((transcoder (org-export-transcoder data info))) (if 
transcoder (funcall transcoder data info) data)) info)) ((not 
(org-export--interpret-p data info)) (org-export-data (org-export-expand data 
(mapconcat (function (lambda (blob) (org-export-data blob info))) 
(org-element-contents data) "")) info)) ((not type) (mapconcat (function 
(lambda (obj) (org-export-data obj info))) data "")) ((or (not 
(org-element-contents data)) (and (eq type (quote headline)) (eq (plist-get 
info :with-archived-trees) (quote headline)) (org-element-property :archivedp 
data))) (let ((transcoder (org-export-transcoder data info))) (or (and 
(functionp transcoder) (funcall transcoder data nil info)) (and (eq type (quote 
export-snippet)) "")))) (t (let ((transcoder (org-export-transcoder data 
info))) (if transcoder (progn (let* ((greaterp ...) (objectp ...) (contents 
...)) (funcall transcoder data (if ... contents ...) info)))))))
  (let* ((type (org-element-type data)) (results (cond ((memq data (plist-get 
info :ignore-list)) nil) ((eq type (quote plain-text)) 
(org-export-filter-apply-functions (plist-get info :filter-plain-text) (let 
(...) (if transcoder ... data)) info)) ((not (org-export--interpret-p data 
info)) (org-export-data (org-export-expand data (mapconcat ... ... "")) info)) 
((not type) (mapconcat (function (lambda ... ...)) data "")) ((or (not 
(org-element-contents data)) (and (eq type ...) (eq ... ...) 
(org-element-property :archivedp data))) (let ((transcoder ...)) (or (and ... 
...) (and ... "")))) (t (let ((transcoder ...)) (if transcoder (progn 
...))))))) (puthash data (cond ((not results) nil) ((memq type (quote (org-data 
plain-text nil))) results) (t (let ((results (org-export-filter-apply-functions 
... ... info))) results))) (plist-get info :exported-data)))
  (if (not (eq memo (quote no-memo))) memo (let* ((type (org-element-type 
data)) (results (cond ((memq data (plist-get info :ignore-list)) nil) ((eq type 
(quote plain-text)) (org-export-filter-apply-functions (plist-get info 
:filter-plain-text) (let ... ...) info)) ((not (org-export--interpret-p data 
info)) (org-export-data (org-export-expand data ...) info)) ((not type) 
(mapconcat (function ...) data "")) ((or (not ...) (and ... ... ...)) (let 
(...) (or ... ...))) (t (let (...) (if transcoder ...)))))) (puthash data (cond 
((not results) nil) ((memq type (quote (org-data plain-text nil))) results) (t 
(let ((results ...)) results))) (plist-get info :exported-data))))
  (let ((memo (gethash data (plist-get info :exported-data) (quote no-memo)))) 
(if (not (eq memo (quote no-memo))) memo (let* ((type (org-element-type data)) 
(results (cond ((memq data ...) nil) ((eq type ...) 
(org-export-filter-apply-functions ... ... info)) ((not ...) (org-export-data 
... info)) ((not type) (mapconcat ... data "")) ((or ... ...) (let ... ...)) (t 
(let ... ...))))) (puthash data (cond ((not results) nil) ((memq type (quote 
...)) results) (t (let (...) results))) (plist-get info :exported-data)))))
  org-export-data((org-data nil (section (:begin 1 :end 35 :contents-begin 1 
:contents-end 35 :post-blank 0 :parent #0) (keyword (:key "OPTIONS" :value 
"|:nil" :begin 1 :end 19 :post-blank 1 :post-affiliated 1 :parent #1)) (table 
(:begin 19 :end 35 :type org :tblfm nil :contents-begin 19 :contents-end 35 
:value nil :post-blank 0 :post-affiliated 19 :parent #1) (table-row (:type 
standard :begin 19 :end 35 :contents-begin 20 :contents-end 34 :post-blank 0 
:parent #2) (table-cell (:begin 20 :end 26 :contents-begin 21 :contents-end 24 
:post-blank 0 :parent #3) #("foo" 0 3 (:parent #4))) (table-cell (:begin 26 
:end 34 :contents-begin 27 :contents-end 32 :post-blank 0 :parent #3) (bold 
(:begin 27 :end 32 :contents-begin 28 :contents-end 31 :post-blank 0 :parent 
#4) #("bar" 0 3 (:parent #5)))))))) (:export-options nil :input-buffer 
"test-subscript.org" :input-file 
"/home/aecay/org-test-files/test-subscript.org" :title "test-subscript" 
:latex-class "article" :latex-hyperref-p t :date ((latex-fragment (:value 
"\\today" :begin 1 :end 7 :post-blank 0 :parent #1))) :author nil :creator 
"Emacs 24.3.50.1 (Org mode 8.2.1)" :email "address@hidden" :exclude-tags 
("noexport") :headline-levels 3 :language "en" :preserve-breaks nil 
:section-numbers t :select-tags ("export") :time-stamp-file t 
:with-archived-trees headline :with-author t :with-clocks nil :with-creator 
comment :with-date t :with-drawers (not "LOGBOOK") :with-email nil 
:with-emphasize t ...))
  (or (org-export-data tree info) "")
  (org-element-normalize-string (or (org-export-data tree info) ""))
  (let* ((body (org-element-normalize-string (or (org-export-data tree info) 
""))) (inner-template (cdr (assq (quote inner-template) (plist-get info 
:translate-alist)))) (full-body (if (not (functionp inner-template)) body 
(funcall inner-template body info))) (template (cdr (assq (quote template) 
(plist-get info :translate-alist))))) (org-no-properties 
(org-export-filter-apply-functions (plist-get info :filter-final-output) (if 
(or (not (functionp template)) body-only) full-body (funcall template full-body 
info)) info)))
  (progn (run-hook-with-args (quote org-export-before-processing-hook) (progn 
(or (and (vectorp backend) (>= (length backend) 8) (memq (aref backend 0) 
cl-struct-org-export-backend-tags)) (error "%s accessing a non-%s" (quote 
org-export-backend-name) (quote org-export-backend))) (aref backend 1))) 
(org-export-expand-include-keyword) (org-macro-initialize-templates) 
(org-macro-replace-all org-macro-templates) (org-export-execute-babel-code) 
(org-update-radio-target-regexp) (goto-char (point-min)) (save-excursion 
(run-hook-with-args (quote org-export-before-parsing-hook) (progn (or (and 
(vectorp backend) (>= (length backend) 8) (memq (aref backend 0) 
cl-struct-org-export-backend-tags)) (error "%s accessing a non-%s" (quote 
org-export-backend-name) (quote org-export-backend))) (aref backend 1)))) (setq 
info (org-export-install-filters (org-combine-plists info 
(org-export-get-environment backend subtreep ext-plist)))) 
(org-macro-replace-all (list (cons "author" (org-element-interpret-data 
(plist-get info :author))) (cons "date" (org-element-interpret-data (plist-get 
info :date))) (cons "email" (or (plist-get info :email) "")) (cons "title" 
(org-element-interpret-data (plist-get info :title))))) (let ((backend-name 
(progn (or (and (vectorp backend) (>= ... 8) (memq ... 
cl-struct-org-export-backend-tags)) (error "%s accessing a non-%s" (quote 
org-export-backend-name) (quote org-export-backend))) (aref backend 1)))) (let 
((--dolist-tail-- (plist-get info :filter-options)) filter) (while 
--dolist-tail-- (setq filter (car --dolist-tail--)) (let ((result (funcall 
filter info backend-name))) (if result (progn (setq info result)))) (setq 
--dolist-tail-- (cdr --dolist-tail--))))) (setq tree 
(org-export-filter-apply-functions (plist-get info :filter-parse-tree) 
(org-element-parse-buffer nil visible-only) info)) (setq info 
(org-combine-plists info (org-export-collect-tree-properties tree info))) (let* 
((body (org-element-normalize-string (or (org-export-data tree info) ""))) 
(inner-template (cdr (assq (quote inner-template) (plist-get info 
:translate-alist)))) (full-body (if (not (functionp inner-template)) body 
(funcall inner-template body info))) (template (cdr (assq (quote template) 
(plist-get info :translate-alist))))) (org-no-properties 
(org-export-filter-apply-functions (plist-get info :filter-final-output) (if 
(or (not (functionp template)) body-only) full-body (funcall template full-body 
info)) info))))
  (save-current-buffer (set-buffer --buf-copy) (goto-char (point-min)) (progn 
(run-hook-with-args (quote org-export-before-processing-hook) (progn (or (and 
(vectorp backend) (>= (length backend) 8) (memq (aref backend 0) 
cl-struct-org-export-backend-tags)) (error "%s accessing a non-%s" (quote 
org-export-backend-name) (quote org-export-backend))) (aref backend 1))) 
(org-export-expand-include-keyword) (org-macro-initialize-templates) 
(org-macro-replace-all org-macro-templates) (org-export-execute-babel-code) 
(org-update-radio-target-regexp) (goto-char (point-min)) (save-excursion 
(run-hook-with-args (quote org-export-before-parsing-hook) (progn (or (and 
(vectorp backend) (>= ... 8) (memq ... cl-struct-org-export-backend-tags)) 
(error "%s accessing a non-%s" (quote org-export-backend-name) (quote 
org-export-backend))) (aref backend 1)))) (setq info 
(org-export-install-filters (org-combine-plists info 
(org-export-get-environment backend subtreep ext-plist)))) 
(org-macro-replace-all (list (cons "author" (org-element-interpret-data 
(plist-get info :author))) (cons "date" (org-element-interpret-data (plist-get 
info :date))) (cons "email" (or (plist-get info :email) "")) (cons "title" 
(org-element-interpret-data (plist-get info :title))))) (let ((backend-name 
(progn (or (and ... ... ...) (error "%s accessing a non-%s" ... ...)) (aref 
backend 1)))) (let ((--dolist-tail-- (plist-get info :filter-options)) filter) 
(while --dolist-tail-- (setq filter (car --dolist-tail--)) (let ((result ...)) 
(if result (progn ...))) (setq --dolist-tail-- (cdr --dolist-tail--))))) (setq 
tree (org-export-filter-apply-functions (plist-get info :filter-parse-tree) 
(org-element-parse-buffer nil visible-only) info)) (setq info 
(org-combine-plists info (org-export-collect-tree-properties tree info))) (let* 
((body (org-element-normalize-string (or (org-export-data tree info) ""))) 
(inner-template (cdr (assq (quote inner-template) (plist-get info 
:translate-alist)))) (full-body (if (not (functionp inner-template)) body 
(funcall inner-template body info))) (template (cdr (assq (quote template) 
(plist-get info :translate-alist))))) (org-no-properties 
(org-export-filter-apply-functions (plist-get info :filter-final-output) (if 
(or (not ...) body-only) full-body (funcall template full-body info)) info)))))
  (unwind-protect (save-current-buffer (set-buffer --buf-copy) (goto-char 
(point-min)) (progn (run-hook-with-args (quote 
org-export-before-processing-hook) (progn (or (and (vectorp backend) (>= ... 8) 
(memq ... cl-struct-org-export-backend-tags)) (error "%s accessing a non-%s" 
(quote org-export-backend-name) (quote org-export-backend))) (aref backend 1))) 
(org-export-expand-include-keyword) (org-macro-initialize-templates) 
(org-macro-replace-all org-macro-templates) (org-export-execute-babel-code) 
(org-update-radio-target-regexp) (goto-char (point-min)) (save-excursion 
(run-hook-with-args (quote org-export-before-parsing-hook) (progn (or (and ... 
... ...) (error "%s accessing a non-%s" ... ...)) (aref backend 1)))) (setq 
info (org-export-install-filters (org-combine-plists info 
(org-export-get-environment backend subtreep ext-plist)))) 
(org-macro-replace-all (list (cons "author" (org-element-interpret-data 
(plist-get info :author))) (cons "date" (org-element-interpret-data (plist-get 
info :date))) (cons "email" (or (plist-get info :email) "")) (cons "title" 
(org-element-interpret-data (plist-get info :title))))) (let ((backend-name 
(progn (or ... ...) (aref backend 1)))) (let ((--dolist-tail-- (plist-get info 
:filter-options)) filter) (while --dolist-tail-- (setq filter (car 
--dolist-tail--)) (let (...) (if result ...)) (setq --dolist-tail-- (cdr 
--dolist-tail--))))) (setq tree (org-export-filter-apply-functions (plist-get 
info :filter-parse-tree) (org-element-parse-buffer nil visible-only) info)) 
(setq info (org-combine-plists info (org-export-collect-tree-properties tree 
info))) (let* ((body (org-element-normalize-string (or ... ""))) 
(inner-template (cdr (assq ... ...))) (full-body (if (not ...) body (funcall 
inner-template body info))) (template (cdr (assq ... ...)))) (org-no-properties 
(org-export-filter-apply-functions (plist-get info :filter-final-output) (if 
(or ... body-only) full-body (funcall template full-body info)) info))))) (and 
(buffer-live-p --buf-copy) (progn (save-current-buffer (set-buffer --buf-copy) 
(restore-buffer-modified-p nil)) (kill-buffer --buf-copy))))
  (let ((--buf-copy (org-export-copy-buffer))) (unwind-protect 
(save-current-buffer (set-buffer --buf-copy) (goto-char (point-min)) (progn 
(run-hook-with-args (quote org-export-before-processing-hook) (progn (or (and 
... ... ...) (error "%s accessing a non-%s" ... ...)) (aref backend 1))) 
(org-export-expand-include-keyword) (org-macro-initialize-templates) 
(org-macro-replace-all org-macro-templates) (org-export-execute-babel-code) 
(org-update-radio-target-regexp) (goto-char (point-min)) (save-excursion 
(run-hook-with-args (quote org-export-before-parsing-hook) (progn (or ... ...) 
(aref backend 1)))) (setq info (org-export-install-filters (org-combine-plists 
info (org-export-get-environment backend subtreep ext-plist)))) 
(org-macro-replace-all (list (cons "author" (org-element-interpret-data ...)) 
(cons "date" (org-element-interpret-data ...)) (cons "email" (or ... "")) (cons 
"title" (org-element-interpret-data ...)))) (let ((backend-name (progn ... 
...))) (let ((--dolist-tail-- ...) filter) (while --dolist-tail-- (setq filter 
...) (let ... ...) (setq --dolist-tail-- ...)))) (setq tree 
(org-export-filter-apply-functions (plist-get info :filter-parse-tree) 
(org-element-parse-buffer nil visible-only) info)) (setq info 
(org-combine-plists info (org-export-collect-tree-properties tree info))) (let* 
((body (org-element-normalize-string ...)) (inner-template (cdr ...)) 
(full-body (if ... body ...)) (template (cdr ...))) (org-no-properties 
(org-export-filter-apply-functions (plist-get info :filter-final-output) (if 
... full-body ...) info))))) (and (buffer-live-p --buf-copy) (progn 
(save-current-buffer (set-buffer --buf-copy) (restore-buffer-modified-p nil)) 
(kill-buffer --buf-copy)))))
  (let* ((org-export-current-backend (progn (or (and (vectorp backend) (>= 
(length backend) 8) (memq (aref backend 0) cl-struct-org-export-backend-tags)) 
(error "%s accessing a non-%s" (quote org-export-backend-name) (quote 
org-export-backend))) (aref backend 1))) (info (org-combine-plists (list 
:export-options (delq nil (list (and subtreep ...) (and visible-only ...) (and 
body-only ...)))) (org-export--get-buffer-attributes))) tree) (let ((--buf-copy 
(org-export-copy-buffer))) (unwind-protect (save-current-buffer (set-buffer 
--buf-copy) (goto-char (point-min)) (progn (run-hook-with-args (quote 
org-export-before-processing-hook) (progn (or ... ...) (aref backend 1))) 
(org-export-expand-include-keyword) (org-macro-initialize-templates) 
(org-macro-replace-all org-macro-templates) (org-export-execute-babel-code) 
(org-update-radio-target-regexp) (goto-char (point-min)) (save-excursion 
(run-hook-with-args (quote org-export-before-parsing-hook) (progn ... ...))) 
(setq info (org-export-install-filters (org-combine-plists info ...))) 
(org-macro-replace-all (list (cons "author" ...) (cons "date" ...) (cons 
"email" ...) (cons "title" ...))) (let ((backend-name ...)) (let (... filter) 
(while --dolist-tail-- ... ... ...))) (setq tree 
(org-export-filter-apply-functions (plist-get info :filter-parse-tree) 
(org-element-parse-buffer nil visible-only) info)) (setq info 
(org-combine-plists info (org-export-collect-tree-properties tree info))) (let* 
((body ...) (inner-template ...) (full-body ...) (template ...)) 
(org-no-properties (org-export-filter-apply-functions ... ... info))))) (and 
(buffer-live-p --buf-copy) (progn (save-current-buffer (set-buffer --buf-copy) 
(restore-buffer-modified-p nil)) (kill-buffer --buf-copy))))))
  (save-restriction (cond ((org-region-active-p) (narrow-to-region 
(region-beginning) (region-end))) (subtreep (org-narrow-to-subtree) (goto-char 
(point-min)) (forward-line) (narrow-to-region (point) (point-max)))) (let* 
((org-export-current-backend (progn (or (and (vectorp backend) (>= ... 8) (memq 
... cl-struct-org-export-backend-tags)) (error "%s accessing a non-%s" (quote 
org-export-backend-name) (quote org-export-backend))) (aref backend 1))) (info 
(org-combine-plists (list :export-options (delq nil (list ... ... ...))) 
(org-export--get-buffer-attributes))) tree) (let ((--buf-copy 
(org-export-copy-buffer))) (unwind-protect (save-current-buffer (set-buffer 
--buf-copy) (goto-char (point-min)) (progn (run-hook-with-args (quote 
org-export-before-processing-hook) (progn ... ...)) 
(org-export-expand-include-keyword) (org-macro-initialize-templates) 
(org-macro-replace-all org-macro-templates) (org-export-execute-babel-code) 
(org-update-radio-target-regexp) (goto-char (point-min)) (save-excursion 
(run-hook-with-args ... ...)) (setq info (org-export-install-filters ...)) 
(org-macro-replace-all (list ... ... ... ...)) (let (...) (let ... ...)) (setq 
tree (org-export-filter-apply-functions ... ... info)) (setq info 
(org-combine-plists info ...)) (let* (... ... ... ...) (org-no-properties 
...)))) (and (buffer-live-p --buf-copy) (progn (save-current-buffer (set-buffer 
--buf-copy) (restore-buffer-modified-p nil)) (kill-buffer --buf-copy)))))))
  (save-excursion (save-restriction (cond ((org-region-active-p) 
(narrow-to-region (region-beginning) (region-end))) (subtreep 
(org-narrow-to-subtree) (goto-char (point-min)) (forward-line) 
(narrow-to-region (point) (point-max)))) (let* ((org-export-current-backend 
(progn (or (and ... ... ...) (error "%s accessing a non-%s" ... ...)) (aref 
backend 1))) (info (org-combine-plists (list :export-options (delq nil ...)) 
(org-export--get-buffer-attributes))) tree) (let ((--buf-copy 
(org-export-copy-buffer))) (unwind-protect (save-current-buffer (set-buffer 
--buf-copy) (goto-char (point-min)) (progn (run-hook-with-args ... ...) 
(org-export-expand-include-keyword) (org-macro-initialize-templates) 
(org-macro-replace-all org-macro-templates) (org-export-execute-babel-code) 
(org-update-radio-target-regexp) (goto-char ...) (save-excursion ...) (setq 
info ...) (org-macro-replace-all ...) (let ... ...) (setq tree ...) (setq info 
...) (let* ... ...))) (and (buffer-live-p --buf-copy) (progn 
(save-current-buffer ... ...) (kill-buffer --buf-copy))))))))
  org-export-as(latex nil nil nil nil)
  (let ((output (org-export-as backend subtreep visible-only body-only 
ext-plist))) (let ((temp-buffer (generate-new-buffer " *temp*"))) 
(save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert 
output) (let ((coding-system-for-write encoding)) (write-file file))) (and 
(buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if (and 
(org-export--copy-to-kill-ring-p) (org-string-nw-p output)) (progn 
(org-kill-new output))) (or (and (functionp post-process) (funcall post-process 
file)) file))
  (if async (let ((with-temp-message "Initializing asynchronous export 
process") (current-message)) (unwind-protect (progn (if with-temp-message 
(progn (setq current-message (current-message)) (message "%s" 
with-temp-message))) (let ((--copy-fun (org-export--generate-copy-script ...)) 
(--temp-file (make-temp-file "org-export-process")) (--coding 
buffer-file-coding-system)) (let ((temp-file --temp-file) (temp-buffer ...)) 
(unwind-protect (prog1 ... ...) (and ... ...))) (let* ((process-connection-type 
nil) (--proc-buffer ...) (--process ...)) (org-export-add-to-stack (get-buffer 
--proc-buffer) nil --process) (let (...) (set-process-sentinel --process 
...))))) (and with-temp-message (if current-message (message "%s" 
current-message) (message nil))))) (let ((output (org-export-as backend 
subtreep visible-only body-only ext-plist))) (let ((temp-buffer 
(generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) 
(unwind-protect (progn (insert output) (let (...) (write-file file))) (and 
(buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if (and 
(org-export--copy-to-kill-ring-p) (org-string-nw-p output)) (progn 
(org-kill-new output))) (or (and (functionp post-process) (funcall post-process 
file)) file)))
  (let ((encoding (or org-export-coding-system buffer-file-coding-system))) (if 
async (let ((with-temp-message "Initializing asynchronous export process") 
(current-message)) (unwind-protect (progn (if with-temp-message (progn (setq 
current-message ...) (message "%s" with-temp-message))) (let ((--copy-fun ...) 
(--temp-file ...) (--coding buffer-file-coding-system)) (let (... ...) 
(unwind-protect ... ...)) (let* (... ... ...) (org-export-add-to-stack ... nil 
--process) (let ... ...)))) (and with-temp-message (if current-message (message 
"%s" current-message) (message nil))))) (let ((output (org-export-as backend 
subtreep visible-only body-only ext-plist))) (let ((temp-buffer 
(generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) 
(unwind-protect (progn (insert output) (let ... ...)) (and (buffer-name 
temp-buffer) (kill-buffer temp-buffer))))) (if (and 
(org-export--copy-to-kill-ring-p) (org-string-nw-p output)) (progn 
(org-kill-new output))) (or (and (functionp post-process) (funcall post-process 
file)) file))))
  (if (not (file-writable-p file)) (error "Output file not writable") (let 
((encoding (or org-export-coding-system buffer-file-coding-system))) (if async 
(let ((with-temp-message "Initializing asynchronous export process") 
(current-message)) (unwind-protect (progn (if with-temp-message (progn ... 
...)) (let (... ... ...) (let ... ...) (let* ... ... ...))) (and 
with-temp-message (if current-message (message "%s" current-message) (message 
nil))))) (let ((output (org-export-as backend subtreep visible-only body-only 
ext-plist))) (let ((temp-buffer (generate-new-buffer " *temp*"))) 
(save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ...) 
(and ... ...)))) (if (and (org-export--copy-to-kill-ring-p) (org-string-nw-p 
output)) (progn (org-kill-new output))) (or (and (functionp post-process) 
(funcall post-process file)) file)))))
  org-export-to-file(latex "./test-subscript.tex" nil nil nil nil nil)
  (let ((outfile (org-export-output-file-name ".tex" subtreep))) 
(org-export-to-file (quote latex) outfile async subtreep visible-only body-only 
ext-plist))
  org-latex-export-to-latex(nil nil nil nil)
  funcall(org-latex-export-to-latex nil nil nil nil)
  (save-excursion (if arg (progn (if (eq (marker-buffer 
org-export-dispatch-last-position) (org-base-buffer (current-buffer))) 
(goto-char org-export-dispatch-last-position) (move-marker 
org-export-dispatch-last-position nil)))) (funcall action (and (memq (quote 
async) optns) t) (and (memq (quote subtree) optns) t) (and (memq (quote 
visible) optns) t) (and (memq (quote body) optns) t)))
  (cond ((eql action (quote template)) (org-export-insert-default-template nil 
optns)) ((eql action (quote stack)) (org-export-stack)) ((eql action (quote 
publish-current-file)) (org-publish-current-file (memq (quote force) optns) 
(memq (quote async) optns))) ((eql action (quote publish-current-project)) 
(org-publish-current-project (memq (quote force) optns) (memq (quote async) 
optns))) ((eql action (quote publish-choose-project)) (org-publish (assoc 
(org-icompleting-read "Publish project: " org-publish-project-alist nil t) 
org-publish-project-alist) (memq (quote force) optns) (memq (quote async) 
optns))) ((eql action (quote publish-all)) (org-publish-all (memq (quote force) 
optns) (memq (quote async) optns))) (t (save-excursion (if arg (progn (if (eq 
(marker-buffer org-export-dispatch-last-position) (org-base-buffer ...)) 
(goto-char org-export-dispatch-last-position) (move-marker 
org-export-dispatch-last-position nil)))) (funcall action (and (memq (quote 
async) optns) t) (and (memq (quote subtree) optns) t) (and (memq (quote 
visible) optns) t) (and (memq (quote body) optns) t)))))
  (let* ((input (cond ((equal arg (quote (16))) (quote (stack))) ((and arg 
org-export-dispatch-last-action)) (t (let ((wconfig ...)) (unwind-protect 
(progn ...) (set-window-configuration wconfig)))))) (action (car input)) (optns 
(cdr input))) (if (memq (quote subtree) optns) nil (move-marker 
org-export-dispatch-last-position nil)) (cond ((eql action (quote template)) 
(org-export-insert-default-template nil optns)) ((eql action (quote stack)) 
(org-export-stack)) ((eql action (quote publish-current-file)) 
(org-publish-current-file (memq (quote force) optns) (memq (quote async) 
optns))) ((eql action (quote publish-current-project)) 
(org-publish-current-project (memq (quote force) optns) (memq (quote async) 
optns))) ((eql action (quote publish-choose-project)) (org-publish (assoc 
(org-icompleting-read "Publish project: " org-publish-project-alist nil t) 
org-publish-project-alist) (memq (quote force) optns) (memq (quote async) 
optns))) ((eql action (quote publish-all)) (org-publish-all (memq (quote force) 
optns) (memq (quote async) optns))) (t (save-excursion (if arg (progn (if (eq 
... ...) (goto-char org-export-dispatch-last-position) (move-marker 
org-export-dispatch-last-position nil)))) (funcall action (and (memq (quote 
async) optns) t) (and (memq (quote subtree) optns) t) (and (memq (quote 
visible) optns) t) (and (memq (quote body) optns) t))))))
  org-export-dispatch(nil)
  call-interactively(org-export-dispatch nil nil)
  command-execute(org-export-dispatch)

-- 
Aaron Ecay



reply via email to

[Prev in Thread] Current Thread [Next in Thread]