GNU bug report logs - #13605
24.3.50; Eager macro-expansion failure: (void-variable ruby-syntax-methods-before-regexp) when ruby-mode is not compiled

Previous Next

Package: emacs;

Reported by: Dmitry Gutov <dgutov <at> yandex.ru>

Date: Fri, 1 Feb 2013 21:37:02 UTC

Severity: normal

Found in version 24.3.50

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 13605 <at> debbugs.gnu.org
Subject: bug#13605: 24.3.50; Eager macro-expansion failure: (void-variable ruby-syntax-methods-before-regexp) when ruby-mode is not compiled
Date: Sat, 02 Feb 2013 14:07:46 +0400
On 02.02.2013 3:30, Stefan Monnier wrote:
>> The constant in question is defined in an `eval-and-compile' block, I
>> can't see what else could the interpreter need. Help?
>
> Eager macro expansion works at the granularity of top-level expressions,
> so the whole (if (eval-when-compile (fboundp #'syntax-propertize-rules)) ...)
> block is macro-expanded before it gets run.
>
> The patch below should work around the problem (probably best option
> for emacs-24).

The patch works fine, thank you, but looks like it's not for emacs-24 
anyway.

> Maybe the better way to fix it (for trunk) is to change eval-and-compile
> (and probably eval-when-compile) so that it evaluates its argument during
> macro-expansion.

Sounds good.
Do I install the patch (after fixing indentation), or wait for the 
better fix?




This bug report was last modified 12 years and 108 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.