emacs-devel
[Top][All Lists]
Advanced

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

Re: Splitting and moving generic.el.


From: Lute Kamstra
Subject: Re: Splitting and moving generic.el.
Date: Wed, 20 Apr 2005 14:09:54 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

Jason Rumney <address@hidden> writes:

> Lute Kamstra wrote:
>
>>Doing (require 'generic-x) shouldn't load generic unless generic-x is
>>loaded from source.  Any idea why your lisp/generic-x.el isn't
>>compiled?
>
> generic-x.el is in the DONTCOMPILE list in the lisp makefile.

DONTCOMPILE was bogus.  Everything in it was compiled just the same.
Just setting no-byte-compile prohibits compilation.  Anyway, I removed
DONTCOMPILE from the makefiles one week ago.  I guess that generic-x
didn't get compiled on your system because compilation failed due to
the old lisp/generic.elc.  If a lisp file fails to compile on
GNU/Linux, bootstrap terminates with an error.  Does that work
differently on Windows or did you use "make -k bootstrap"?

>>The error suggests that an old version of generic is used (from before
>>define-generic-mode became a macro, one month ago).  Do you have
>>lisp/emacs-lisp/generic.el, revision 1.1?  Is your
>>lisp/emacs-lisp/generic.elc up to date?  Is an old lisp/generic.el{,c}
>>shadowing lisp/emacs-lisp/generic.el{,c}?
>
> There was an old generic.elc that didn't get cleaned out by the
> bootstrap. This is probably the biggest problem caused by moving files
> around, CVS might delete the old .el file, but the .elc gets left
> behind.

On GNU/Linux, all *.elc files are deleted during bootstrap.

,----[ lisp/Makefile.in ]
| bootstrap-clean:
|       cd $(lisp); rm -f *.elc */*.elc
`----

On Windows this seems to be the objective as well:

,----[ lisp/makefile.w32-in ]
| bootstrap-clean: bootstrap-clean-$(SHELLTYPE) loaddefs.el
| 
| bootstrap-clean-CMD:
| #     if exist $(EMACS) $(MAKE) $(MFLAGS) autoloads
|       if not exist $(lisp)\loaddefs.el cp $(lisp)/ldefs-boot.el 
$(lisp)/loaddefs.el
|       -for %%f in (. $(WINS)) do for %%g in (%%f\*.elc) do @$(DEL) %%g
| 
| bootstrap-clean-SH:
| #     if test -f $(EMACS); then $(MAKE) $(MFLAGS) autoloads; fi
| #     -rm -f $(lisp)/*.elc $(lisp)/*/*.elc
|       if ! test -r $(lisp)/loaddefs.el; then \
|         cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el; \
|       fi
|       -for dir in . $(WINS); do rm -f $$dir/*.elc; done
`----

Doesn't it work for you?

Lute.




reply via email to

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