emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Incorrect indentation after :name


From: Richard M. Stallman
Subject: Re: Incorrect indentation after :name
Date: Thu, 07 Jul 2005 01:36:57 -0400

    The code works by checking the position of &body inside the macro
    argument list, and setting the lisp-indent-function property of the
    macro name to that number.

It is clever, and adapting it to macros that are not loaded
would not be easy.

Meanwhile, the (declare (indent ...)) construct has the same problem.
It is part of the macro definition, so it won't be available unless
the macro is loaded.  For macros that aren't standardly loaded,
explicitly putting on a lisp-indent-function property was better
in that it could be available when the macro isn't.

However, we could make autoload.el, when a defmacro is autoloaded,
generate a form that puts the appropriate property onto the macro
name.  That could go in loaddefs.  It could look for a `declare' form,
and if there is none, it could then try your approach of looking for
&body.

We could also put code like this into the standard definition
of defmacro, in eval.c, for use on non-autoloaded macros.

(You made the change in the cl version of defmacro.  That version that
is not normally used.)

Want to do this?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]