From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric S Fraga Subject: [bug] cannot export with babel function calls Date: Wed, 9 Oct 2013 14:48:27 +0100 Message-ID: <87a9iih7x0.fsf@ucl.ac.uk> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50786) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VTu89-0002xB-IF for emacs-orgmode@gnu.org; Wed, 09 Oct 2013 09:48:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VTu82-0007WE-LG for emacs-orgmode@gnu.org; Wed, 09 Oct 2013 09:48:49 -0400 Received: from mail14-db8on0066.outbound.messaging.microsoft.com ([157.55.206.66]:33490 helo=DB8EHSNDR004.bigfish.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VTu82-0007Vo-4R for emacs-orgmode@gnu.org; Wed, 09 Oct 2013 09:48:42 -0400 Received: from mail69-db8 (localhost [127.0.0.1]) by mail69-db8-R.bigfish.com (Postfix) with ESMTP id B66E9C2007C for ; Wed, 9 Oct 2013 13:48:39 +0000 (UTC) Received: from DB8EHSMHS022.bigfish.com (unknown [10.174.8.243]) by mail69-db8.bigfish.com (Postfix) with ESMTP id CF5EEDC0041 for ; Wed, 9 Oct 2013 13:48:37 +0000 (UTC) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org --=-=-= Content-Type: text/plain Hello, a few weeks ago, I noted a problem that arose with the more recent versions of emacs (I track emacs-snapshot for ubuntu): http://article.gmane.org/gmane.emacs.orgmode/76519/ The problem does not arise with the emacs 24 version distributed with ubuntu 13.04. I had hoped that this problem would disappear but I have upgraded emacs-snapshot two or three times since and the problem continues. To summarise, exporting an org file fails if there are any babel calls (i.e. #+call: or inline call_). The error is "Marker points into wrong buffer". I have verified this with =emacs -Q=. I'm attaching a test file along with the resulting backtrace from =org-export-dispatch=, choosing export to LaTeX. Yes, I can go back to an older version of emacs but that avoids getting the problem fixed. I have not filed an emacs bug report as I have only run into this problem with org. I was hoping that somebody here could have a look. I am happy to help in any way I can. Too many (most!) of my org files make use of babel now... Thanks, eric -- : Eric S Fraga (0xFFFCF67D), Emacs 24.3.50.1, Org release_8.2.1-84-g2829fd --=-=-= Content-Type: text/x-org Content-Disposition: attachment; filename="examplebug.org" #+TITLE: examplebug.org #+AUTHOR: Eric S Fraga * babel test #+name: test #+begin_src emacs-lisp :var x=5 (list x) #+end_src #+call: test('(a b c)) I should be able to put the output inline using call_test('(e f g)). --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename="backtrace.txt" Content-Transfer-Encoding: quoted-printable Debugger entered--Lisp error: (error "Marker points into wrong buffer" #>) goto-char(#>) (progn (goto-char org-babel-current-src-block-location)) (if org-babel-current-src-block-location (progn (goto-char org-babel-curr= ent-src-block-location))) (save-excursion (if org-babel-current-src-block-location (progn (goto-cha= r org-babel-current-src-block-location))) (org-babel-read ref)) (let ((out (save-excursion (if org-babel-current-src-block-location (prog= n (goto-char org-babel-current-src-block-location))) (org-babel-read ref)))= ) (if (equal out ref) (if (string-match "^\".*\"$" ref) (read ref) (org-bab= el-ref-resolve ref)) out)) (cons (intern var) (let ((out (save-excursion (if org-babel-current-src-b= lock-location (progn (goto-char org-babel-current-src-block-location))) (or= g-babel-read ref)))) (if (equal out ref) (if (string-match "^\".*\"$" ref) = (read ref) (org-babel-ref-resolve ref)) out))) (let ((var (match-string 1 assignment)) (ref (match-string 2 assignment))= ) (cons (intern var) (let ((out (save-excursion (if org-babel-current-src-b= lock-location (progn ...)) (org-babel-read ref)))) (if (equal out ref) (if = (string-match "^\".*\"$" ref) (read ref) (org-babel-ref-resolve ref)) out))= )) (progn (let ((var (match-string 1 assignment)) (ref (match-string 2 assig= nment))) (cons (intern var) (let ((out (save-excursion (if org-babel-curren= t-src-block-location ...) (org-babel-read ref)))) (if (equal out ref) (if (= string-match "^\".*\"$" ref) (read ref) (org-babel-ref-resolve ref)) out)))= )) (if (string-match org-babel-ref-split-regexp assignment) (progn (let ((va= r (match-string 1 assignment)) (ref (match-string 2 assignment))) (cons (in= tern var) (let ((out (save-excursion ... ...))) (if (equal out ref) (if (st= ring-match "^\".*\"$" ref) (read ref) (org-babel-ref-resolve ref)) out)))))) org-babel-ref-parse("results=3Dtest('(a b c) )") (if (consp (cdr el)) (cdr el) (org-babel-ref-parse (cdr el))) (lambda (el) (if (consp (cdr el)) (cdr el) (org-babel-ref-parse (cdr el))= ))((:var . "results=3Dtest('(a b c) )")) mapcar((lambda (el) (if (consp (cdr el)) (cdr el) (org-babel-ref-parse (c= dr el)))) ((:var . "results=3Dtest('(a b c) )"))) (let* ((processed-vars (mapcar (function (lambda (el) (if (consp ...) (cd= r el) (org-babel-ref-parse ...)))) (org-babel-get-header params :var))) (va= rs-and-names (if (and (assoc :colname-names params) (assoc :rowname-names p= arams)) (list processed-vars) (org-babel-disassemble-tables processed-vars = (cdr (assoc :hlines params)) (cdr (assoc :colnames params)) (cdr (assoc :ro= wnames params))))) (raw-result (or (cdr (assoc :results params)) "")) (resu= lt-params (append (split-string (if (stringp raw-result) raw-result (eval r= aw-result))) (cdr (assoc :result-params params))))) (append (mapcar (functi= on (lambda (var) (cons :var var))) (car vars-and-names)) (list (cons :colna= me-names (or (cdr (assoc :colname-names params)) (cadr vars-and-names))) (c= ons :rowname-names (or (cdr (assoc :rowname-names params)) (car (cdr (cdr v= ars-and-names))))) (cons :result-params result-params) (cons :result-type (= cond ((member "output" result-params) (quote output)) ((member "value" resu= lt-params) (quote value)) (t (quote value))))) (org-babel-get-header params= :var (quote other)))) org-babel-process-params(((:comments . "") (:shebang . "") (:cache . "no"= ) (:padline . "") (:noweb . "no") (:tangle . "no") (:exports . "results") (= :results . "replace") (:var . "results=3Dtest('(a b c) )") (:session . "non= e") (:hlines . "no"))) (setq results (org-babel-process-params (org-babel-merge-params (nth 2 in= fo) (list (cons (quote :results) (if silent "silent" "replace")))))) (save-restriction (if heading (progn (condition-case nil (let ((org-link-= search-inhibit-query t)) (org-link-search heading)) (error (if heading (pro= gn (goto-char ...) (re-search-forward ... nil t))))))) (setq results (org-b= abel-process-params (org-babel-merge-params (nth 2 info) (list (cons (quote= :results) (if silent "silent" "replace"))))))) (progn (set-buffer original-buffer) (save-restriction (if heading (progn = (condition-case nil (let ((org-link-search-inhibit-query t)) (org-link-sear= ch heading)) (error (if heading (progn ... ...)))))) (setq results (org-bab= el-process-params (org-babel-merge-params (nth 2 info) (list (cons (quote := results) (if silent "silent" "replace"))))))) (set-buffer export-buffer) re= sults) (if original-buffer (progn (set-buffer original-buffer) (save-restriction= (if heading (progn (condition-case nil (let (...) (org-link-search heading= )) (error (if heading ...))))) (setq results (org-babel-process-params (org= -babel-merge-params (nth 2 info) (list (cons ... ...)))))) (set-buffer expo= rt-buffer) results)) (let* ((lang-headers (intern (concat "org-babel-default-header-args:" lan= g))) (heading (nth 4 (condition-case nil (progn (org-heading-components)) (= error nil)))) (export-buffer (current-buffer)) (original-buffer (org-babel-= exp-get-export-buffer)) results) (if original-buffer (progn (set-buffer ori= ginal-buffer) (save-restriction (if heading (progn (condition-case nil (let= ... ...) (error ...)))) (setq results (org-babel-process-params (org-babel= -merge-params (nth 2 info) (list ...))))) (set-buffer export-buffer) result= s))) (setcar c (let* ((lang-headers (intern (concat "org-babel-default-header-= args:" lang))) (heading (nth 4 (condition-case nil (progn (org-heading-comp= onents)) (error nil)))) (export-buffer (current-buffer)) (original-buffer (= org-babel-exp-get-export-buffer)) results) (if original-buffer (progn (set-= buffer original-buffer) (save-restriction (if heading (progn (condition-cas= e nil ... ...))) (setq results (org-babel-process-params (org-babel-merge-p= arams ... ...)))) (set-buffer export-buffer) results)))) (let* ((c (nthcdr 2 info))) (setcar c (let* ((lang-headers (intern (conca= t "org-babel-default-header-args:" lang))) (heading (nth 4 (condition-case = nil (progn ...) (error nil)))) (export-buffer (current-buffer)) (original-b= uffer (org-babel-exp-get-export-buffer)) results) (if original-buffer (prog= n (set-buffer original-buffer) (save-restriction (if heading (progn ...)) (= setq results (org-babel-process-params ...))) (set-buffer export-buffer) re= sults))))) (prog1 nil (let* ((c (nthcdr 1 info))) (setcar c body)) (let* ((c (nthcdr= 2 info))) (setcar c (let* ((lang-headers (intern (concat "org-babel-defaul= t-header-args:" lang))) (heading (nth 4 (condition-case nil ... ...))) (exp= ort-buffer (current-buffer)) (original-buffer (org-babel-exp-get-export-buf= fer)) results) (if original-buffer (progn (set-buffer original-buffer) (sav= e-restriction (if heading ...) (setq results ...)) (set-buffer export-buffe= r) results))))) (cond ((equal type (quote block)) (org-babel-execute-src-bl= ock nil info)) ((equal type (quote inline)) (re-search-backward "[ \f \n=0D= =0B]" nil t) (re-search-forward org-babel-inline-src-block-regexp nil t) (r= e-search-backward "src_" nil t) (org-babel-execute-src-block nil info)) ((e= qual type (quote lob)) (save-excursion (re-search-backward org-babel-lob-on= e-liner-regexp nil t) (let (org-confirm-babel-evaluate) (org-babel-execute-= src-block nil info)))))) (progn (org-babel-eval-wipe-error-buffer) (prog1 nil (let* ((c (nthcdr 1 = info))) (setcar c body)) (let* ((c (nthcdr 2 info))) (setcar c (let* ((lang= -headers (intern ...)) (heading (nth 4 ...)) (export-buffer (current-buffer= )) (original-buffer (org-babel-exp-get-export-buffer)) results) (if origina= l-buffer (progn (set-buffer original-buffer) (save-restriction ... ...) (se= t-buffer export-buffer) results))))) (cond ((equal type (quote block)) (org= -babel-execute-src-block nil info)) ((equal type (quote inline)) (re-search= -backward "[ \f \n=0D=0B]" nil t) (re-search-forward org-babel-inline-src-b= lock-regexp nil t) (re-search-backward "src_" nil t) (org-babel-execute-src= -block nil info)) ((equal type (quote lob)) (save-excursion (re-search-back= ward org-babel-lob-one-liner-regexp nil t) (let (org-confirm-babel-evaluate= ) (org-babel-execute-src-block nil info))))))) (if (fboundp (intern (concat "org-babel-execute:" lang))) (progn (org-bab= el-eval-wipe-error-buffer) (prog1 nil (let* ((c (nthcdr 1 info))) (setcar c= body)) (let* ((c (nthcdr 2 info))) (setcar c (let* ((lang-headers ...) (he= ading ...) (export-buffer ...) (original-buffer ...) results) (if original-= buffer (progn ... ... ... results))))) (cond ((equal type (quote block)) (o= rg-babel-execute-src-block nil info)) ((equal type (quote inline)) (re-sear= ch-backward "[ \f \n=0D=0B]" nil t) (re-search-forward org-babel-inline-src= -block-regexp nil t) (re-search-backward "src_" nil t) (org-babel-execute-s= rc-block nil info)) ((equal type (quote lob)) (save-excursion (re-search-ba= ckward org-babel-lob-one-liner-regexp nil t) (let (org-confirm-babel-evalua= te) (org-babel-execute-src-block nil info)))))))) (let ((lang (nth 0 info)) (body (if (org-babel-noweb-p (nth 2 info) :eval= ) (org-babel-expand-noweb-references info (org-babel-exp-get-export-buffer)= ) (nth 1 info))) (info (copy-sequence info)) (org-babel-current-src-block-l= ocation (point-marker))) (if (fboundp (intern (concat "org-babel-execute:" = lang))) (progn (org-babel-eval-wipe-error-buffer) (prog1 nil (let* ((c (nth= cdr 1 info))) (setcar c body)) (let* ((c (nthcdr 2 info))) (setcar c (let* = (... ... ... ... results) (if original-buffer ...)))) (cond ((equal type (q= uote block)) (org-babel-execute-src-block nil info)) ((equal type (quote in= line)) (re-search-backward "[ \f \n=0D=0B]" nil t) (re-search-forward org-b= abel-inline-src-block-regexp nil t) (re-search-backward "src_" nil t) (org-= babel-execute-src-block nil info)) ((equal type (quote lob)) (save-excursio= n (re-search-backward org-babel-lob-one-liner-regexp nil t) (let ... ...)))= ))))) (progn (let ((lang (nth 0 info)) (body (if (org-babel-noweb-p (nth 2 info= ) :eval) (org-babel-expand-noweb-references info (org-babel-exp-get-export-= buffer)) (nth 1 info))) (info (copy-sequence info)) (org-babel-current-src-= block-location (point-marker))) (if (fboundp (intern (concat "org-babel-exe= cute:" lang))) (progn (org-babel-eval-wipe-error-buffer) (prog1 nil (let* (= (c ...)) (setcar c body)) (let* ((c ...)) (setcar c (let* ... ...))) (cond = ((equal type ...) (org-babel-execute-src-block nil info)) ((equal type ...)= (re-search-backward "[ \f \n=0D=0B]" nil t) (re-search-forward org-babel-i= nline-src-block-regexp nil t) (re-search-backward "src_" nil t) (org-babel-= execute-src-block nil info)) ((equal type ...) (save-excursion ... ...)))))= ))) (if (and (or (eq org-export-babel-evaluate t) (and (eq type (quote inline= )) (eq org-export-babel-evaluate (quote inline-only)))) (not (and hash (equ= al hash (org-babel-current-result-hash))))) (progn (let ((lang (nth 0 info)= ) (body (if (org-babel-noweb-p (nth 2 info) :eval) (org-babel-expand-noweb-= references info (org-babel-exp-get-export-buffer)) (nth 1 info))) (info (co= py-sequence info)) (org-babel-current-src-block-location (point-marker))) (= if (fboundp (intern (concat "org-babel-execute:" lang))) (progn (org-babel-= eval-wipe-error-buffer) (prog1 nil (let* (...) (setcar c body)) (let* (...)= (setcar c ...)) (cond (... ...) (... ... ... ... ...) (... ...)))))))) org-babel-exp-results(("emacs-lisp" "results" ((:comments . "") (:shebang= . "") (:cache . "no") (:padline . "") (:noweb . "no") (:tangle . "no") (:e= xports . "results") (:results . "replace") (:var . "results=3Dtest('(a b c)= )") (:hlines . "no") (:session . "none")) "" nil 0) lob nil nil) (cond ((memql --cl-var-- (quote (quote none))) (funcall silently) (funcal= l clean) "") ((memql --cl-var-- (quote (quote code))) (funcall silently) (f= uncall clean) (org-babel-exp-code info)) ((memql --cl-var-- (quote (quote r= esults))) (org-babel-exp-results info type nil hash) "") ((memql --cl-var--= (quote (quote both))) (org-babel-exp-results info type nil hash) (org-babe= l-exp-code info))) (let ((--cl-var-- (intern (or (cdr (assoc :exports (nth 2 info))) "code")= ))) (cond ((memql --cl-var-- (quote (quote none))) (funcall silently) (func= all clean) "") ((memql --cl-var-- (quote (quote code))) (funcall silently) = (funcall clean) (org-babel-exp-code info)) ((memql --cl-var-- (quote (quote= results))) (org-babel-exp-results info type nil hash) "") ((memql --cl-var= -- (quote (quote both))) (org-babel-exp-results info type nil hash) (org-ba= bel-exp-code info)))) (let ((silently (function (lambda nil (let ((session ...)) (if (not ...) = (progn ...)))))) (clean (function (lambda nil (if (eq type (quote inline)) = nil (org-babel-remove-result info)))))) (let ((--cl-var-- (intern (or (cdr = (assoc :exports ...)) "code")))) (cond ((memql --cl-var-- (quote (quote non= e))) (funcall silently) (funcall clean) "") ((memql --cl-var-- (quote (quot= e code))) (funcall silently) (funcall clean) (org-babel-exp-code info)) ((m= emql --cl-var-- (quote (quote results))) (org-babel-exp-results info type n= il hash) "") ((memql --cl-var-- (quote (quote both))) (org-babel-exp-result= s info type nil hash) (org-babel-exp-code info))))) org-babel-exp-do-export(("emacs-lisp" "results" ((:comments . "") (:sheba= ng . "") (:cache . "no") (:padline . "") (:noweb . "no") (:tangle . "no") (= :exports . "results") (:results . "replace") (:var . "results=3Dtest('(a b = c) )") (:hlines . "no") (:session . "none")) "" nil 0) lob) (let* ((lob-info (org-babel-lob-get-info)) (results (org-babel-exp-do-exp= ort (list "emacs-lisp" "results" (apply (function org-babel-merge-params) o= rg-babel-default-header-args org-babel-default-lob-header-args (append (org= -babel-params-from-properties) (list ...))) "" (nth 3 lob-info) (nth 2 lob-= info)) (quote lob))) (rep (org-fill-template org-babel-exp-call-line-templa= te (list (cons "line" (nth 0 lob-info)))))) (if (equal rep "") (delete-regi= on beg-el (progn (goto-char end-el) (if (not (eq type (quote babel-call))) = (progn (skip-chars-forward " ") (point)) (skip-chars-forward " =0D \n") (l= ine-beginning-position)))) (goto-char beg-el) (delete-region beg-el (progn = (goto-char end-el) (skip-chars-backward " =0D \n") (point))) (insert rep))) (cond ((eql type (quote inline-src-block)) (let* ((info (org-babel-parse-= inline-src-block-match)) (params (nth 2 info))) (let* ((c (nthcdr 1 info)))= (setcar c (if (and (cdr ...) (string=3D "yes" ...)) (org-babel-expand-nowe= b-references info (org-babel-exp-get-export-buffer)) (nth 1 info)))) (goto-= char beg-el) (let ((replacement (org-babel-exp-do-export info (quote inline= )))) (if (equal replacement "") (delete-region beg-el (progn (goto-char end= -el) (skip-chars-forward " ") (point))) (delete-region beg-el (progn (goto= -char end-el) (skip-chars-backward " ") (point))) (insert replacement)))))= ((memql type (quote (babel-call inline-babel-call))) (let* ((lob-info (org= -babel-lob-get-info)) (results (org-babel-exp-do-export (list "emacs-lisp" = "results" (apply ... org-babel-default-header-args org-babel-default-lob-he= ader-args ...) "" (nth 3 lob-info) (nth 2 lob-info)) (quote lob))) (rep (or= g-fill-template org-babel-exp-call-line-template (list (cons "line" ...))))= ) (if (equal rep "") (delete-region beg-el (progn (goto-char end-el) (if (n= ot ...) (progn ... ...) (skip-chars-forward " =0D \n") (line-beginning-posi= tion)))) (goto-char beg-el) (delete-region beg-el (progn (goto-char end-el)= (skip-chars-backward " =0D \n") (point))) (insert rep))))) (let ((beg-el (org-element-property :begin element)) (end-el (org-element= -property :end element))) (cond ((eql type (quote inline-src-block)) (let* = ((info (org-babel-parse-inline-src-block-match)) (params (nth 2 info))) (le= t* ((c (nthcdr 1 info))) (setcar c (if (and ... ...) (org-babel-expand-nowe= b-references info ...) (nth 1 info)))) (goto-char beg-el) (let ((replacemen= t (org-babel-exp-do-export info ...))) (if (equal replacement "") (delete-r= egion beg-el (progn ... ... ...)) (delete-region beg-el (progn ... ... ...)= ) (insert replacement))))) ((memql type (quote (babel-call inline-babel-cal= l))) (let* ((lob-info (org-babel-lob-get-info)) (results (org-babel-exp-do-= export (list "emacs-lisp" "results" ... "" ... ...) (quote lob))) (rep (org= -fill-template org-babel-exp-call-line-template (list ...)))) (if (equal re= p "") (delete-region beg-el (progn (goto-char end-el) (if ... ... ... ...))= ) (goto-char beg-el) (delete-region beg-el (progn (goto-char end-el) (skip-= chars-backward " =0D \n") (point))) (insert rep)))))) (progn (let ((beg-el (org-element-property :begin element)) (end-el (org-= element-property :end element))) (cond ((eql type (quote inline-src-block))= (let* ((info (org-babel-parse-inline-src-block-match)) (params (nth 2 info= ))) (let* ((c ...)) (setcar c (if ... ... ...))) (goto-char beg-el) (let ((= replacement ...)) (if (equal replacement "") (delete-region beg-el ...) (de= lete-region beg-el ...) (insert replacement))))) ((memql type (quote (babel= -call inline-babel-call))) (let* ((lob-info (org-babel-lob-get-info)) (resu= lts (org-babel-exp-do-export ... ...)) (rep (org-fill-template org-babel-ex= p-call-line-template ...))) (if (equal rep "") (delete-region beg-el (progn= ... ...)) (goto-char beg-el) (delete-region beg-el (progn ... ... ...)) (i= nsert rep))))))) (if (memq type (quote (babel-call inline-babel-call inline-src-block))) (= progn (let ((beg-el (org-element-property :begin element)) (end-el (org-ele= ment-property :end element))) (cond ((eql type (quote inline-src-block)) (l= et* ((info ...) (params ...)) (let* (...) (setcar c ...)) (goto-char beg-el= ) (let (...) (if ... ... ... ...)))) ((memql type (quote (babel-call inline= -babel-call))) (let* ((lob-info ...) (results ...) (rep ...)) (if (equal re= p "") (delete-region beg-el ...) (goto-char beg-el) (delete-region beg-el .= ..) (insert rep)))))))) (let* ((element (save-excursion (backward-char) (let ((save-match-data-in= ternal (match-data))) (unwind-protect (progn (org-element-context)) (set-ma= tch-data save-match-data-internal (quote evaporate)))))) (type (org-element= -type element))) (if (memq type (quote (babel-call inline-babel-call inline= -src-block))) (progn (let ((beg-el (org-element-property :begin element)) (= end-el (org-element-property :end element))) (cond ((eql type (quote inline= -src-block)) (let* (... ...) (let* ... ...) (goto-char beg-el) (let ... ...= ))) ((memql type (quote ...)) (let* (... ... ...) (if ... ... ... ... ...))= )))))) (save-excursion (let* ((element (save-excursion (backward-char) (let ((sa= ve-match-data-internal ...)) (unwind-protect (progn ...) (set-match-data sa= ve-match-data-internal ...))))) (type (org-element-type element))) (if (mem= q type (quote (babel-call inline-babel-call inline-src-block))) (progn (let= ((beg-el (org-element-property :begin element)) (end-el (org-element-prope= rty :end element))) (cond ((eql type ...) (let* ... ... ... ...)) ((memql t= ype ...) (let* ... ...)))))))) (while (re-search-forward rx end t) (save-excursion (let* ((element (save= -excursion (backward-char) (let (...) (unwind-protect ... ...)))) (type (or= g-element-type element))) (if (memq type (quote (babel-call inline-babel-ca= ll inline-src-block))) (progn (let ((beg-el ...) (end-el ...)) (cond (... .= ..) (... ...)))))))) (let ((rx (concat "\\(?:" org-babel-inline-src-block-regexp "\\|" org-bab= el-lob-one-liner-regexp "\\)"))) (while (re-search-forward rx end t) (save-= excursion (let* ((element (save-excursion (backward-char) (let ... ...))) (= type (org-element-type element))) (if (memq type (quote (babel-call inline-= babel-call inline-src-block))) (progn (let (... ...) (cond ... ...)))))))) (save-excursion (goto-char start) (if (markerp end) nil (let ((m (make-ma= rker))) (set-marker m end (current-buffer)) (setq end m))) (let ((rx (conca= t "\\(?:" org-babel-inline-src-block-regexp "\\|" org-babel-lob-one-liner-r= egexp "\\)"))) (while (re-search-forward rx end t) (save-excursion (let* ((= element (save-excursion ... ...)) (type (org-element-type element))) (if (m= emq type (quote ...)) (progn (let ... ...)))))))) org-babel-exp-non-block-elements(115 219) (let ((case-fold-search t) (pos (point-min))) (goto-char pos) (while (re-= search-forward "^[ ]*#\\+BEGIN_SRC" nil t) (let ((element (let ((save-matc= h-data-internal ...)) (unwind-protect (progn ...) (set-match-data save-matc= h-data-internal ...))))) (if (eq (org-element-type element) (quote src-bloc= k)) (progn (let* ((match-start ...) (begin ...) (block-end ...) (ind ...) (= headers ...)) (org-babel-exp-non-block-elements pos begin) (let (...) (cond= ... ... ...)) (setq pos (line-beginning-position)) (set-marker match-start= nil) (set-marker begin nil) (set-marker block-end nil)))))) (org-babel-exp= -non-block-elements pos (point-max))) (progn (let ((case-fold-search t) (pos (point-min))) (goto-char pos) (whi= le (re-search-forward "^[ ]*#\\+BEGIN_SRC" nil t) (let ((element (let (...= ) (unwind-protect ... ...)))) (if (eq (org-element-type element) (quote src= -block)) (progn (let* (... ... ... ... ...) (org-babel-exp-non-block-elemen= ts pos begin) (let ... ...) (setq pos ...) (set-marker match-start nil) (se= t-marker begin nil) (set-marker block-end nil)))))) (org-babel-exp-non-bloc= k-elements pos (point-max)))) (unwind-protect (progn (let ((case-fold-search t) (pos (point-min))) (got= o-char pos) (while (re-search-forward "^[ ]*#\\+BEGIN_SRC" nil t) (let ((e= lement (let ... ...))) (if (eq (org-element-type element) (quote src-block)= ) (progn (let* ... ... ... ... ... ... ...))))) (org-babel-exp-non-block-el= ements pos (point-max)))) (set-window-configuration wconfig)) (let ((wconfig (current-window-configuration))) (unwind-protect (progn (l= et ((case-fold-search t) (pos (point-min))) (goto-char pos) (while (re-sear= ch-forward "^[ ]*#\\+BEGIN_SRC" nil t) (let ((element ...)) (if (eq ... ..= .) (progn ...)))) (org-babel-exp-non-block-elements pos (point-max)))) (set= -window-configuration wconfig))) org-babel-exp-process-buffer() (let ((org-current-export-file reference)) (org-babel-exp-process-buffer)) (unwind-protect (let ((org-current-export-file reference)) (org-babel-exp= -process-buffer)) (kill-buffer reference)) (let ((reference (org-export-copy-buffer))) (unwind-protect (let ((org-cu= rrent-export-file reference)) (org-babel-exp-process-buffer)) (kill-buffer = reference))) org-export-execute-babel-code() (progn (run-hook-with-args (quote org-export-before-processing-hook) (pro= gn (or (and (vectorp backend) (>=3D (length backend) 8) (memq (aref backend= 0) cl-struct-org-export-backend-tags)) (error "%s accessing a non-%s" (quo= te 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-h= ook-with-args (quote org-export-before-parsing-hook) (progn (or (and (vecto= rp backend) (>=3D (length backend) 8) (memq (aref backend 0) cl-struct-org-= export-backend-tags)) (error "%s accessing a non-%s" (quote org-export-back= end-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-e= lement-interpret-data (plist-get info :date))) (cons "email" (or (plist-get= info :email) "")) (cons "title" (org-element-interpret-data (plist-get inf= o :title))))) (let ((backend-name (progn (or (and (vectorp backend) (>=3D .= .. 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)))) (progn (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)) (se= tq info (org-combine-plists info (org-export-collect-tree-properties tree i= nfo))) (let* ((body (org-element-normalize-string (or (org-export-data tree= info) ""))) (inner-template (cdr (assq (quote inner-template) (plist-get i= nfo :translate-alist)))) (full-body (if (not (functionp inner-template)) bo= dy (funcall inner-template body info))) (template (cdr (assq (quote templat= e) (plist-get info :translate-alist))))) (org-no-properties (org-export-fil= ter-apply-functions (plist-get info :filter-final-output) (if (or (not (fun= ctionp template)) body-only) full-body (funcall template full-body info)) i= nfo)))) (save-current-buffer (set-buffer --buf-copy) (goto-char (point-min)) (pro= gn (run-hook-with-args (quote org-export-before-processing-hook) (progn (or= (and (vectorp backend) (>=3D (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-updat= e-radio-target-regexp) (goto-char (point-min)) (save-excursion (run-hook-wi= th-args (quote org-export-before-parsing-hook) (progn (or (and (vectorp bac= kend) (>=3D ... 8) (memq ... cl-struct-org-export-backend-tags)) (error "%s= accessing a non-%s" (quote org-export-backend-name) (quote org-export-back= end))) (aref backend 1)))) (setq info (org-export-install-filters (org-comb= ine-plists info (org-export-get-environment backend subtreep ext-plist)))) = (org-macro-replace-all (list (cons "author" (org-element-interpret-data (pl= ist-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-nam= e (progn (or (and ... ... ...) (error "%s accessing a non-%s" ... ...)) (ar= ef backend 1)))) (progn (let ((--dolist-tail-- (plist-get info :filter-opti= ons)) filter) (while --dolist-tail-- (setq filter (car --dolist-tail--)) (l= et (...) (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-c= ombine-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 in= ner-template body info))) (template (cdr (assq (quote template) (plist-get = info :translate-alist))))) (org-no-properties (org-export-filter-apply-func= tions (plist-get info :filter-final-output) (if (or (not ...) body-only) fu= ll-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) (>=3D ... 8) (memq ... cl-struct-or= g-export-backend-tags)) (error "%s accessing a non-%s" (quote org-export-ba= ckend-name) (quote org-export-backend))) (aref backend 1))) (org-export-exp= and-include-keyword) (org-macro-initialize-templates) (org-macro-replace-al= l org-macro-templates) (org-export-execute-babel-code) (org-update-radio-ta= rget-regexp) (goto-char (point-min)) (save-excursion (run-hook-with-args (q= uote 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 backen= d subtreep ext-plist)))) (org-macro-replace-all (list (cons "author" (org-e= lement-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 :titl= e))))) (let ((backend-name (progn (or ... ...) (aref backend 1)))) (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-buf= fer nil visible-only) info)) (setq info (org-combine-plists info (org-expor= t-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 i= nfo :filter-final-output) (if (or ... body-only) full-body (funcall templat= e full-body info)) info))))) (and (buffer-live-p --buf-copy) (progn (save-c= urrent-buffer (set-buffer --buf-copy) (restore-buffer-modified-p nil)) (kil= l-buffer --buf-copy)))) (let ((--buf-copy (org-export-copy-buffer))) (unwind-protect (save-curren= t-buffer (set-buffer --buf-copy) (goto-char (point-min)) (progn (run-hook-w= ith-args (quote org-export-before-processing-hook) (progn (or (and ... ... = ...) (error "%s accessing a non-%s" ... ...)) (aref backend 1))) (org-expor= t-expand-include-keyword) (org-macro-initialize-templates) (org-macro-repla= ce-all org-macro-templates) (org-export-execute-babel-code) (org-update-rad= io-target-regexp) (goto-char (point-min)) (save-excursion (run-hook-with-ar= gs (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-a= ll (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 ... ...))) (prog= n (let (... filter) (while --dolist-tail-- ... ... ...)))) (setq tree (org-= export-filter-apply-functions (plist-get info :filter-parse-tree) (org-elem= ent-parse-buffer nil visible-only) info)) (setq info (org-combine-plists in= fo (org-export-collect-tree-properties tree info))) (let* ((body (org-eleme= nt-normalize-string ...)) (inner-template (cdr ...)) (full-body (if ... bod= y ...)) (template (cdr ...))) (org-no-properties (org-export-filter-apply-f= unctions (plist-get info :filter-final-output) (if ... full-body ...) info)= )))) (and (buffer-live-p --buf-copy) (progn (save-current-buffer (set-buffe= r --buf-copy) (restore-buffer-modified-p nil)) (kill-buffer --buf-copy))))) (let* ((org-export-current-backend (progn (or (and (vectorp backend) (>= =3D (length backend) 8) (memq (aref backend 0) cl-struct-org-export-backend= -tags)) (error "%s accessing a non-%s" (quote org-export-backend-name) (quo= te 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 (r= un-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 ...)) (progn (let ... ...))= ) (setq tree (org-export-filter-apply-functions (plist-get info :filter-par= se-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-p= roperties (org-export-filter-apply-functions ... ... info))))) (and (buffer= -live-p --buf-copy) (progn (save-current-buffer (set-buffer --buf-copy) (re= store-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 (poi= nt-min)) (forward-line) (narrow-to-region (point) (point-max)))) (let* ((or= g-export-current-backend (progn (or (and (vectorp backend) (>=3D ... 8) (me= mq ... 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 --bu= f-copy) (goto-char (point-min)) (progn (run-hook-with-args (quote org-expor= t-before-processing-hook) (progn ... ...)) (org-export-expand-include-keywo= rd) (org-macro-initialize-templates) (org-macro-replace-all org-macro-templ= ates) (org-export-execute-babel-code) (org-update-radio-target-regexp) (got= o-char (point-min)) (save-excursion (run-hook-with-args ... ...)) (setq inf= o (org-export-install-filters ...)) (org-macro-replace-all (list ... ... ..= . ...)) (let (...) (progn ...)) (setq tree (org-export-filter-apply-functio= ns ... ... 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-ma= x)))) (let* ((org-export-current-backend (progn (or (and ... ... ...) (erro= r "%s accessing a non-%s" ... ...)) (aref backend 1))) (info (org-combine-p= lists (list :export-options (delq nil ...)) (org-export--get-buffer-attribu= tes))) 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-exp= ort-execute-babel-code) (org-update-radio-target-regexp) (goto-char ...) (s= ave-excursion ...) (setq info ...) (org-macro-replace-all ...) (let ... ...= ) (setq tree ...) (setq info ...) (let* ... ...))) (and (buffer-live-p --bu= f-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) (le= t ((coding-system-for-write encoding)) (write-file file))) (and (buffer-nam= e 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 proc= ess") (current-message)) (unwind-protect (progn (if with-temp-message (prog= n (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) n= il --process) (let (...) (set-process-sentinel --process ...))))) (and with= -temp-message (if current-message (message "%s" current-message) (message n= il))))) (let ((output (org-export-as backend subtreep visible-only body-onl= y ext-plist))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-c= urrent-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert outpu= t) (let (...) (write-file file))) (and (buffer-name temp-buffer) (kill-buff= er 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-proce= ss) (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 proce= ss") (current-message)) (unwind-protect (progn (if with-temp-message (progn= (setq current-message ...) (message "%s" with-temp-message))) (let ((--cop= y-fun ...) (--temp-file ...) (--coding buffer-file-coding-system)) (let (..= . ...) (unwind-protect ... ...)) (let* (... ... ...) (org-export-add-to-sta= ck ... nil --process) (let ... ...)))) (and with-temp-message (if current-m= essage (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 t= emp-buffer) (unwind-protect (progn (insert output) (let ... ...)) (and (buf= fer-name temp-buffer) (kill-buffer temp-buffer))))) (if (and (org-export--c= opy-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 as= ync (let ((with-temp-message "Initializing asynchronous export process") (c= urrent-message)) (unwind-protect (progn (if with-temp-message (progn ... ..= .)) (let (... ... ...) (let ... ...) (let* ... ... ...))) (and with-temp-me= ssage (if current-message (message "%s" current-message) (message nil))))) = (let ((output (org-export-as backend subtreep visible-only body-only ext-pl= ist))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-b= uffer (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 po= st-process file)) file))))) org-export-to-file(latex "./examplebug.tex" nil nil nil nil nil) (let ((outfile (org-export-output-file-name ".tex" subtreep))) (org-expor= t-to-file (quote latex) outfile async subtreep visible-only body-only ext-p= list)) 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-d= ispatch-last-position) (move-marker org-export-dispatch-last-position nil))= )) (funcall action (and (memq (quote async) optns) t) (and (memq (quote sub= tree) 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 (q= uote publish-current-file)) (org-publish-current-file (memq (quote force) o= ptns) (memq (quote async) optns))) ((eql action (quote publish-current-proj= ect)) (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 n= il t) org-publish-project-alist) (memq (quote force) optns) (memq (quote as= ync) optns))) ((eql action (quote publish-all)) (org-publish-all (memq (quo= te force) optns) (memq (quote async) optns))) (t (save-excursion (if arg (p= rogn (if (eq (marker-buffer org-export-dispatch-last-position) (org-base-bu= ffer ...)) (goto-char org-export-dispatch-last-position) (move-marker org-e= xport-dispatch-last-position nil)))) (funcall action (and (memq (quote asyn= c) 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)) (op= tns (cdr input))) (if (memq (quote subtree) optns) nil (move-marker org-exp= ort-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-cur= rent-file (memq (quote force) optns) (memq (quote async) optns))) ((eql act= ion (quote publish-current-project)) (org-publish-current-project (memq (qu= ote 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 (quot= e force) optns) (memq (quote async) optns))) ((eql action (quote publish-al= l)) (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 su= btree) optns) t) (and (memq (quote visible) optns) t) (and (memq (quote bod= y) optns) t)))))) org-export-dispatch(nil) call-interactively(org-export-dispatch record nil) command-execute(org-export-dispatch record) execute-extended-command(nil "org-export-dispatch") call-interactively(execute-extended-command nil nil) command-execute(execute-extended-command) --=-=-=--