|
From: | Dmitry Gutov |
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 |
User-agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 |
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?
[Prev in Thread] | Current Thread | [Next in Thread] |