GNU bug report logs - #1004
23.0.60; Error visiting C files

Previous Next

Packages: emacs, cc-mode;

Reported by: Eli Zaretskii <eliz <at> fencepost.gnu.org>

Date: Fri, 19 Sep 2008 17:05:06 UTC

Severity: normal

Merged with 913, 959

Done: martin rudalics <rudalics <at> gmx.at>

Bug is archived. No further changes may be made.

Full log


Message #60 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Alan Mackenzie <acm <at> colin2.muc.de>, 1004 <at> debbugs.gnu.org
Cc: bug-gnu-emacs <at> gnu.org
Subject: Re: bug#1004: 23.0.60; Error visiting C files
Date: Thu, 25 Sep 2008 18:23:36 +0300
> Date: 25 Sep 2008 15:08:25 +0200
> From: Alan Mackenzie <acm <at> colin2.muc.de>
> Date: Thu, 25 Sep 2008 13:08:24 +0000 (UTC)
> Cc: 
> 
> I just noticed this one in a Usenet spool.  I don't seem to be
> subscribed to bug-gnu-emacs (I thought I was) at the moment, and
> nothing got forwarded to me.

Well, how about subscribing?

> >> You need to bootstrap. See "bug" 913, 959.
> 
> > I don't want to bootstrap just because a few files need to be
> > recompiled.
> 
> Recompile in this order:
> (i) cc-defs.el (if necesaary); this file contains mostly macros.
> (ii) cc-langs.el (..); this contains "language variables", those whose
>   values differ between C, C++, ....., AWK.
> (iii) cc-engine.el and cc-mode.el (uses macros generated in (i) and
>   (ii)).
> 
> > I think we should fix the dependencies in lisp/Makefile.in to do that
> > automatically.
> 
> I tried to do this some while back, but got bogged down in the
> complixities of make.

I posted a patch (reproduced below), which I intend to install in a
day or two, when I have time.  If you have comments about that patch,
I'm all ears.


2008-09-20  Eli Zaretskii  <eliz <at> gnu.org>

	* Makefile.in ($(lisp)/progmodes/cc-mode.elc): Remove.
	($(lisp)/progmodes/cc-align.elc, $(lisp)/progmodes/cc-cmds.elc)
	($(lisp)/progmodes/cc-compat.elc, $(lisp)/progmodes/cc-defs.elc)
	($(lisp)/progmodes/cc-engine.elc)
	($(lisp)/progmodes/cc-fonts.elc, $(lisp)/progmodes/cc-langs.elc)
	($(lisp)/progmodes/cc-mode.elc, $(lisp)/progmodes/cc-styles.elc)
	($(lisp)/progmodes/cc-subword.elc)
	($(lisp)/progmodes/cc-vars.elc): New dependencies.


Index: lisp/Makefile.in
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/Makefile.in,v
retrieving revision 1.158
diff -u -r1.158 Makefile.in
--- lisp/Makefile.in	6 Sep 2008 18:22:45 -0000	1.158
+++ lisp/Makefile.in	20 Sep 2008 10:12:56 -0000
@@ -1362,15 +1362,6 @@
 recompile: doit $(LOADDEFS) $(lisp)/progmodes/cc-mode.elc
 	$(emacs) --eval "(batch-byte-recompile-directory 0)" $(lisp)
 
-# CC Mode uses a compile time macro system which causes a compile time
-# dependency in cc-mode.elc on the macros in cc-langs.el and the
-# version string in cc-defs.el.
-$(lisp)/progmodes/cc-mode.elc: \
-	$(lisp)/progmodes/cc-mode.el \
-	$(lisp)/progmodes/cc-langs.el \
-	$(lisp)/progmodes/cc-defs.el
-	$(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $<
-
 # Update MH-E internal autoloads. These are not to be confused with
 # the autoloads for the MH-E entry points, which are already in loaddefs.el.
 MH_E_DIR = $(lisp)/mh-e
@@ -1460,4 +1451,51 @@
 	$(emacs) -l $(lisp)/emacs-lisp/check-declare \
 	  --eval '(check-declare-directory "$(lisp)")'
 
+# Dependencies
+
+# CC Mode uses a compile time macro system which causes a compile time
+# dependency in cc-*.elc files on the macros in other cc-*.el and the
+# version string in cc-defs.el.
+$(lisp)/progmodes/cc-align.elc $(lisp)/progmodes/cc-awk.elc\
+ $(lisp)/progmodes/cc-cmds.elc $(lisp)/progmodes/cc-compat.elc\
+ $(lisp)/progmodes/cc-engine.elc $(lisp)/progmodes/cc-fonts.elc\
+ $(lisp)/progmodes/cc-langs.elc $(lisp)/progmodes/cc-menus.elc\
+ $(lisp)/progmodes/cc-mode.elc $(lisp)/progmodes/cc-styles.elc\
+ $(lisp)/progmodes/cc-subword.elc $(lisp)/progmodes/cc-vars.elc: \
+   $(lisp)/progmodes/cc-bytecomp.elc $(lisp)/progmodes/cc-defs.elc
+
+$(lisp)/progmodes/cc-align.elc: \
+   $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc
+
+$(lisp)/progmodes/cc-cmds.elc: \
+   $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc
+
+$(lisp)/progmodes/cc-compat.elc: \
+   $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-styles.elc \
+   $(lisp)/progmodes/cc-engine.elc
+
+$(lisp)/progmodes/cc-defs.elc: $(lisp)/progmodes/cc-bytecomp.elc \
+   $(lisp)/emacs-lisp/cl.elc $(lisp)/emacs-lisp/regexp-opt.elc
+
+$(lisp)/progmodes/cc-engine.elc: $(lisp)/progmodes/cc-langs.elc \
+   $(lisp)/progmodes/cc-vars.elc
+
+$(lisp)/progmodes/cc-fonts.elc: $(lisp)/progmodes/cc-langs.elc \
+   $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc \
+   $(lisp)/font-lock.elc
+
+$(lisp)/progmodes/cc-langs.elc: $(lisp)/progmodes/cc-vars.elc \
+   $(lisp)/emacs-lisp/cl.elc
+
+$(lisp)/progmodes/cc-mode.elc: $(lisp)/progmodes/cc-langs.elc \
+   $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc \
+   $(lisp)/progmodes/cc-styles.elc $(lisp)/progmodes/cc-cmds.elc \
+   $(lisp)/progmodes/cc-align.elc $(lisp)/progmodes/cc-menus.elc
+
+$(lisp)/progmodes/cc-styles.elc: $(lisp)/progmodes/cc-vars.elc \
+   $(lisp)/progmodes/cc-align.elc
+
+$(lisp)/progmodes/cc-subword.elc: $(lisp)/progmodes/cc-cmds.elc
+
+$(lisp)/progmodes/cc-vars.elc: $(lisp)/custom.elc $(lisp)/widget.elc
 # Makefile ends here.










This bug report was last modified 16 years and 294 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.