I wrote about scripts for finding miscompiled macros. Almost all of
them turned out to be bugs in the build process, or missing requires, or
somebody thinking that (require 'foo) inside a function makes foo load
at compile time. I will send a patch as soon as I get a chance to try
building my patched tree to see if I fixed everything, or if possibly
some of the macros expand to expressions containing other macros that
won't expand properly.....
A few of these turned out to be interesting in their own right.
I wrote:
x-color-defined-p: def in perl-modes/cperl-mode.el, bad use in
src/zenirc-color.el
This one is inside a test for Emacs version, and is in the branch taken
when FSF Emacs is in use, so it is an expected failure, I guess.
combine-after-change-calls: def in prog-modes/diff-mode.el, bad use
in mmm-mode/mmm-cmds.el
Apparently, we don't have combine-after-change-calls. The def in
prog-modes/diff-mode.el is a compatability hack. Given that this
function is also used elsewhere, I suggest that we move the definition
for combine-after-change-calls from prog-modes/diff-mode.el to somewhere
in fsf-compat. However, I don't see a file in fsf-compat where it
really fits. Recommendations?
bbdb: def in lisp/bbdb-mhe.el, bad use in ess/lisp/mouseme.el
This turned out to be a bug in my script, whcih didn't recognize / as a
valid symbol in a function name, combined with a missing require in
mouseme.el. It did not really point to an error.
quail-define-rules: def in leim/quail.el, bad use in
quail/cyril-jis.el
I don't know how to fix this one. The bad use is one directory level
below the definition, and the definition has an autoload cookie.
Obviously, the autoload is not autoloading at compile time. Somebody
else will have to figure out how to fix it.
--
Jerry James
http://www.ittc.ku.edu/~james/