emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] compilation issues of new export framework


From: Achim Gratz
Subject: Re: [O] compilation issues of new export framework
Date: Sun, 10 Feb 2013 11:44:20 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.93 (gnu/linux)

Nicolas Goaziou writes:
> Yes, I noticed this one too, but I don't know yet from where it could
> come from.

It comes from the two autoloads, or probably only the second one as the
first is later declare-function'ed anyway.  If you declare these, then
the defsubst get sometimes compiled as function calls and sometimes as
inlined functions (the normal mode of compilation inlines them).

--8<---------------cut here---------------start------------->8---
diff --git a/lisp/org.el b/lisp/org.el
index 2bfca4e..c679c5d 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -137,9 +137,6 @@ (defvar org-heading-regexp "^\\(\\*+\\)\\(?: 
+\\(.*?\\)\\)?[ \t]*$"
 (declare-function org-table-maybe-eval-formula "org-table" ())
 (declare-function org-table-maybe-recalculate-line "org-table" ())
 
-(autoload 'org-element-at-point "org-element")
-(autoload 'org-element-type "org-element")
-
 (declare-function org-element--parse-objects "org-element"
                  (beg end acc restriction))
 (declare-function org-element-at-point "org-element" (&optional keep-trail))
@@ -152,6 +149,7 @@ (defvar org-heading-regexp "^\\(\\*+\\)\\(?: 
+\\(.*?\\)\\)?[ \t]*$"
 (declare-function org-element-nested-p "org-element" (elem-a elem-b))
 (declare-function org-element-parse-buffer "org-element"
                  (&optional granularity visible-only))
+(declare-function org-element-type "org-element" (element))
 (declare-function org-element-property "org-element" (property element))
 (declare-function org-element-put-property "org-element"
                  (element property value))
--8<---------------cut here---------------end--------------->8---

If instead you really want them always replaced with the definition of
the defsubst (on the assumption that this is indeed faster than a
function call or permits better optimization by the bytecompiler), then
these would need to be moved to org.el and their declarations removed.
Alternatively the defsubsts could go into a separate file that is then
required from both org.el and org-element.el None of these options solve
the larger problem of the circular dependencies.


PS:
If compiled single, four Babel tests fail; three of them with an
"(invalid-function org-export-with-buffer-copy)".  The function it
complains about is actually a macro in ox.el that is used in
org-export-as before its definition.  Not cool, it must be moved before
org-export-as.  The tests then pass with a single-compiled version of
org.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

SD adaptation for Waldorf rackAttack V1.04R1:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada




reply via email to

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