Achim Gratz writes:
> As long as I don't compile org-export.el, all tests are now passing.
> Thank you.
I've had a look at the byte-compiled code and traced at least one of
those errors to the following construct in org-export.el(org-export-as):
#BEGIN_SRC emacs_lisp
…
(save-excursion
(save-restriction
;; Narrow buffer to an appropriate region or subtree for
;; parsing. If parsing subtree, be sure to remove main headline
;; too.
(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))))
;; 1. Get export environment from original buffer. Store
;; original footnotes definitions in communication channel as
;; they might not be accessible anymore in a narrowed parse
;; tree. Also install user's and developer's filters.
(let ((info (org-export-install-filters
(org-export-get-environment backend subtreep ext-plist)))
;; 2. Get parse tree. Buffer isn't parsed directly.
;; Instead, a temporary copy is created, where include
;; keywords are expanded and code blocks are evaluated.
(tree (let ((buf (or (buffer-file-name (buffer-base-buffer))
(current-buffer))))
…
#END_SRC
This causes the (current-buffer) to expand literally into the byte-code
(look at the byte-code!) instead of being compiled as a function, which
obviously isn't going to work. This does not happen if I either remove
the cond form or if I wrap the BODY in save-restriction in progn, but I
haven't done any further investigation if the code still works with that
change and if maybe there are other places that are similarly struck.
Regards,
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+
Wavetables for the Waldorf Blofeld:
http://Synth.Stromeko.net/Downloads.html#BlofeldUserWavetables