Hi,

> When having emacs-snapshot installed, the gforth package fails to
> configure, due to an elisp compilation error:

[..]
> | gforth.el:742:18:Error: Don't know how to compile nil

> The attached patch removes invocations of `byte-compile' from
> gforth.el, which rectifies this issue.  I'm not sure whether it might
> have any negative (perfomance, perhaps?) impact.  

Yes, the patch that you sent will certainly have a noticeable negative
impact on the performance of the syntax-highlighting code, which is why
I'd vote against it.  

Googeling for the error in question, it seems that newer Emacs versions
error on (byte-compile nil), while older versions silently accept it
[1].  For my theory why Emacs may encounters a nil here, see below.

> Also noteworthy in this context is the following German comment in
> gforth.el:

>    ; Byte-compile-Code rausschmeißen, Compilieren im Makefile über
> Emacs ; batch-Modus

> A rough translation would be "get rid of byte-compile code, compile
> via makefile using Emacs batch mode".  This seems to indicate that the
> original author(s) probably intended a change in the spirit of the
> attached patch.

I might be the author of that comment.  That would be more on the
long-time todo list, involving a few more changes, also to gforth's
Makefile, and also quite a bit more testing.

I just notice that Gforth's Debian maintainers already enabled byte-code
compilation of the complete gforth.el at install-time, for all installed
versions of Emacs.  This is different from installing the original
gforth from soure.  So maybe the (eval-when-compile ...)  statement
itself evaluates to nil and that is the problem?  Does wrapping
(eval-when-compile ..) into (or ...  1) change the outcome?

It looks like all the byte-compile statements should then really be
removed for *Debian's version* of gforth.el, but IMO we shouldn't apply
the patch upstream.  Our implementation of byte-compiling at load-time
has the benefit of working for all installed versions of Emacs and
XEmacs, even for Emacs versions installed /after/ gforth was installed.

cheers,

David

[1] https://lists.gnu.org/archive/html/bug-gnu-emacs/2012-07/msg00055.html
-- 
GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg
Fingerprint: B17A DC95 D293 657B 4205  D016 7DEF 5323 C174 7D40

Attachment: pgpDsBAaMwFXS.pgp
Description: PGP signature

Reply via email to