emacs-devel
[Top][All Lists]
Advanced

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

Re: narrow-to-defun and mark-defun now work properly for CC Mode.


From: Alan Mackenzie
Subject: Re: narrow-to-defun and mark-defun now work properly for CC Mode.
Date: 12 Apr 2007 20:45:47 +0200
Date: Thu, 12 Apr 2007 21:05:26 +0100
User-agent: Mutt/1.5.9i

Hi, Nick

On Thu, Apr 12, 2007 at 10:19:56AM +1200, Nick Roberts wrote:
>  > > Aha, that was the problem!  I expected `make recompile' to DTRT, but
>  > > this was a mistaken assumption for this case.
>  > 
>  > Maybe I should look at fixing the problem in ..../lisp/Makefile.  The
>  > dependencies between the CC Mode source files aren't accurately
>  > represented there - For example, that cc-engine.elc depends on
>  > cc-defs.el.  What do you think?

> Is it possible to move all/most macros into one file?

# grep -c '^[^;]*(defmacro' $CC_RELFILESEL | sort -t: -nk2

gives this as a result:

cc-align.el:0
cc-cmds.el:0
cc-compat.el:0
cc-menus.el:0
cc-styles.el:0
cc-subword.el:0
cc-awk.el:1
cc-vars.el:1
cc-mode.el:2
cc-langs.el:3
cc-fonts.el:4
cc-bytecomp.el:16
cc-engine.el:22
cc-defs.el:43

, so pretty much all the macros are in 2 files.  (cc-bytecomp.el
only contains compile-time macros which won't mess other things up
much).

On or two macros could be moved from cc-mode.el to cc-defs.el, but it
seems scarcely worth the bother.  I think all (or very nearly all) the
others are used locally in the files that define them and don't depend
much on other files, so it would degrade maintainability to move them.
cc-defs.el is the home of CC Mode's "general" macros.

I think the problem here was that I changed a macro in cc-defs.el and
added two new c-lang-setvar's into cc-langs.el.  These made
recompilation of cc-engine.el necessary.

> Nick

-- 
Alan.




reply via email to

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