The root of the problem is with the byte-compiler that comes with GNU emacs 19.22. It does not handle (autoload 'foo "foo" nil nil t), i.e., 5th argument equal to t rather than 'macro. Lucid emacs 19.9 does not have this problem, but then its byte-compiler is much newer version than the other one. I've submitted a bug report to FSF. I've gotten reply saying that this problem may have been solved already. So this should go away with the next version of GNU emacs 19. In the mean time, Kyle Jones has agreed to put in some hack in make-autoloads file to use 'macro rather than t when byte-compiling with GNU emacs 19. The hack is something like changing (setq macro t) to (setq macro (if (string-match "^18" emacs-version) t ''macro)) in make-autoloads. Hopefully, this will be the last mail on this topic :-) Richard Y. Kim [EMAIL PROTECTED]