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
pgpDsBAaMwFXS.pgp
Description: PGP signature

