emacs-devel
[Top][All Lists]
Advanced

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

Re: Problem with building Emacs diagnosed. Help please!


From: Glenn Morris
Subject: Re: Problem with building Emacs diagnosed. Help please!
Date: Sun, 03 Aug 2008 14:59:05 -0400
User-agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/)

Alan Mackenzie wrote:

> As I've said once or twice recently, whilst 'make bootstrap'ping, I've
> been getting the error message

Has anyone else seen this? Do you see it in a fresh checkout?
It works for me, and I don't see that there is anything wrong here.
Sorry you're having problems.

>     Loading loaddefs.el (source)...
>     Symbol's function definition is void: eshell-defgroup

eshell-defgroup does not appear in my loaddefs.el.

>     make[1]: *** [emacs] Error 255
>     make[1]: Leaving directory `/home/acm/emacs/emacs/src'
>     make: *** [src] Error 2
>
> .  I've diagnosed now what is going on.  The pertinent lines of
> loaddefs.el look like this:
>
> ########################################################################
> ;;;### (autoloads nil "em-alias" "eshell/em-alias.el" (18494 62417))
> ;;; Generated autoloads from eshell/em-alias.el
>
> (eshell-defgroup eshell-alias nil "Command aliases allow for easy definition 
> of alternate commands." :tag "Command aliases" :gr\oup 'eshell-module)   ;  
> <======================================================================
>
> ;;;***
>
> <plus several more of the like>

I'll assume you meant esh-groups.el here, not loaddefs.el.

> (defalias 'eshell-defgroup 'defgroup)     ; 
> <========================================================================
> ########################################################################
>
> , i.e. the problem is that `eshell-defgroup' is defined after it is used.

eshell-defgroup is not autoloaded. It is defined in eshell.el, which
all the files that use it require. The above line you quote should not
be in any generated file, not is it for me. I think your build is
messed up.

> is random (for some value of "random").  So having elisp files set up so
> that they depend on the processing order is a Bad Thing.

They are not so set up.

> Greg, when you changed the eshell source to use `eshell-defgroup' instead
> of just plain old `defgroup' (to which it is aliased anyway) on 21st May
> 2008, was there some overwhelmingly important reason? 

I can't speak for Greg, but I made the change for a reason, yes. To
replace homegrown eshell code with the normal autoload mechanism.
Autoload treats defgroup specially, eshell needs the whole definition
in esh-groups, hence the alias subterfuge. I believe it works fine.

> It looks like you intend (or intended?) to add some extra
> functionality to `eshell-defgroup' at some stage.

No, it works as is.

> However, given that we've passed the deadline for new features, I would
> like to revert that change for Emacs 23, removing `eshell-defgroup' so as
> to firm up the build process.

I think your build tree is messed up somehow.

> Perhaps I should also amend the Elisp manual to warn against dependencies
> between Elisp files in the autoload bits.

I think you have misdiagnosed the problem. Any problem that might
exist must be due to the build not starting from a clean state for
some reason.

Sorry, I'm on vacation and it's hard for me to investigate.




reply via email to

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