[This was cc'd to Barry Warsaw <bug-cc-mode(a)gnu.org>. Barry is no
longer CC Mode maintainer and doesn't receive the mail to
bug-cc-mode(a)gnu.org. That address is still the correct one for issues
like this one, anyway.]
Andreas Jaeger <aj(a)suse.de> wrote:
>>>>> Adrian Aichner writes:
APA> I get this backtrace when I try to
APA> C-M-h runs the command c-mark-function
APA> inside a c function.
/.../
This is with CC-Mode 5.27.
Andreas
APA> Signaling: (invalid-function (macro . #<compiled-function (&optional arg)
"...(38)" [arg 1 goto-char or scan-sexps (point) 0 (point-max) (point-min) if
> (0) ((point-max) (point-min))] 7>))
I can't duplicate this with a CC Mode I've compiled from the source
package with XEmacs 21.
I think this is due to incorrect compilation in the XEmacs package - a
macro wasn't defined during compilation, so the compiler put in a
function call to it. Then during execution the macro can't be
evaluated in place of the function call.
So my suggestion is that the XEmacs package maintainer redo the
compilation and makes sure that no old CC Mode installation affects
the compilation (specifically, that the right cc-defs.el file is
loaded during compilation; it contains (almost) all macros that CC
Mode uses internally). The compilation instructions in the README file
_should_ ensure that the compilation is performed correctly even if
there are other versions of CC Mode in the load path.
Btw, CC Mode supports a new language Pike for some time now (since
5.23), but as of yet the XEmacs distribution doesn't contain the file
extension bindings for Pike files in the standard auto-mode-alist
(although I've requested it to be added). I'd be grateful if someone
with the necessary access could add the binding
("\\.\\(u?lpc\\|pike\\|pmod\\)\\'" . pike-mode)
to the standard auto-mode-alist. (It'd be neat if standard settings to
variables like that one could be decentralised somehow. Modifying it
at package load time, like some other packages do, introduces problems
that you probably already are aware of.)
Thanks.