unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* customize eshell-alias loading
@ 2004-03-28  0:44 Kevin Ryde
  2004-03-29  2:35 ` Richard Stallman
  0 siblings, 1 reply; 3+ messages in thread
From: Kevin Ryde @ 2004-03-28  0:44 UTC (permalink / raw)


An example of the customize autoloading problems I mentioned that I
thought I'd been hitting is em-alias.el.

For instance with the emacs cvs on a recent i386 debian, if you fire
up emacs -q -no-site-file in the usual way and then

	M-x customize-group eshell-alias

you get just

	Eshell Aliases File

but if instead you fire up and do

	M-x eshell
	M-x customize-group eshell-alias

you get more things to customize

	Eshell Aliases File
	Eshell Bad Command Tolerance
	Eshell Alias Load Hook

I'm guessing this is because em-alias.el (the :load for the
eshell-alias group) doesn't like to be loaded without the main eshell
loaded,

	(require 'em-alias)

gives

	Debugger entered--Lisp error: (void-variable eshell-directory-name)
	  (concat eshell-directory-name "alias")
	  eval((concat eshell-directory-name "alias"))
	  custom-initialize-reset(eshell-aliases-file (concat eshell-directory-name "al$
	  custom-declare-variable(eshell-aliases-file (concat eshell-directory-name "al$
	  require(em-alias)
	  eval((require (quote em-alias)))
	  eval-expression((require (quote em-alias)) nil)
	  call-interactively(eval-expression)

(I'm not trying to pick on eshell here, it was just one I'd struck.)

Should an M-x customize-group to a particular group work, without
going through its parents or whatever?  Perhaps the relevant variables
or groups need more in their autoload lists.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: customize eshell-alias loading
  2004-03-28  0:44 customize eshell-alias loading Kevin Ryde
@ 2004-03-29  2:35 ` Richard Stallman
  2004-04-05 22:33   ` Kevin Ryde
  0 siblings, 1 reply; 3+ messages in thread
From: Richard Stallman @ 2004-03-29  2:35 UTC (permalink / raw)
  Cc: emacs-devel

    Should an M-x customize-group to a particular group work, without
    going through its parents or whatever?  Perhaps the relevant variables
    or groups need more in their autoload lists.

Yes, that should work.  So this is a real bug.  One fix would be to
specify additional libraries to load for this particular custom group.
Another would be to make em-alias require the other files it needs in
order to load properly.

Would you like to fix these things?

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: customize eshell-alias loading
  2004-03-29  2:35 ` Richard Stallman
@ 2004-04-05 22:33   ` Kevin Ryde
  0 siblings, 0 replies; 3+ messages in thread
From: Kevin Ryde @ 2004-04-05 22:33 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 965 bytes --]

Richard Stallman <rms@gnu.org> writes:
>
> Another would be to make em-alias require the other files it needs in
> order to load properly.

I went through the cus-load lists with a bit of a script and came up
with the following.  reftex was another I'd noticed before, but it
seems to have got better on its own (or maybe I was on the 21.3 code).

        * eshell/em-alias.el, eshell/em-dirs.el, eshell/em-hist.el,
        eshell/em-unix.el: Add "(require 'eshell)", to get necessary features
        when M-x customize-group loads modules before the main eshell.el.

I guess this makes some circular require's, but with the provide's are
at the top of each file it seems to work.

The esh-groups.el scheme confused me a bit.  (esh-module.el greps the
em-*.el modules for defgroups and generates esh-groups.el, to make the
group definitions available before the modules are loaded.)  I
wondered if cus-load made that redundant.  It seems to be harmless at
least.


[-- Attachment #2: em-alias.el.require.diff --]
[-- Type: text/plain, Size: 717 bytes --]

*** em-alias.el.~1.10.~	Sun Mar 28 07:45:10 2004
--- em-alias.el	Tue Apr  6 08:20:10 2004
***************
*** 1,6 ****
  ;;; em-alias.el --- creation and management of command aliases
  
! ;; Copyright (C) 1999, 2000 Free Software Foundation
  
  ;; Author: John Wiegley <johnw@gnu.org>
  
--- 1,6 ----
  ;;; em-alias.el --- creation and management of command aliases
  
! ;; Copyright (C) 1999, 2000, 2004 Free Software Foundation
  
  ;; Author: John Wiegley <johnw@gnu.org>
  
***************
*** 24,29 ****
--- 24,30 ----
  (provide 'em-alias)
  
  (eval-when-compile (require 'esh-maint))
+ (require 'eshell)
  
  (defgroup eshell-alias nil
    "Command aliases allow for easy definition of alternate commands."

[-- Attachment #3: em-dirs.el.require.diff --]
[-- Type: text/plain, Size: 685 bytes --]

*** em-dirs.el.~1.13.~	Sat Sep  6 08:15:45 2003
--- em-dirs.el	Tue Apr  6 08:20:47 2004
***************
*** 1,6 ****
  ;;; em-dirs.el --- directory navigation commands
  
! ;; Copyright (C) 1999, 2000 Free Software Foundation
  
  ;; Author: John Wiegley <johnw@gnu.org>
  
--- 1,6 ----
  ;;; em-dirs.el --- directory navigation commands
  
! ;; Copyright (C) 1999, 2000, 2004 Free Software Foundation
  
  ;; Author: John Wiegley <johnw@gnu.org>
  
***************
*** 24,29 ****
--- 24,30 ----
  (provide 'em-dirs)
  
  (eval-when-compile (require 'esh-maint))
+ (require 'eshell)
  
  (defgroup eshell-dirs nil
    "Directory navigation involves changing directories, examining the

[-- Attachment #4: em-hist.el.require.diff --]
[-- Type: text/plain, Size: 307 bytes --]

*** em-hist.el.~1.14.~	Sun Feb 15 10:17:50 2004
--- em-hist.el	Wed Mar 31 15:29:53 2004
***************
*** 24,29 ****
--- 24,30 ----
  (provide 'em-hist)
  
  (eval-when-compile (require 'esh-maint))
+ (require 'eshell)
  
  (defgroup eshell-hist nil
    "This module provides command history management."

[-- Attachment #5: em-unix.el.require.diff --]
[-- Type: text/plain, Size: 675 bytes --]

*** em-unix.el.~1.21.~	Sat Sep  6 08:15:46 2003
--- em-unix.el	Tue Apr  6 08:21:33 2004
***************
*** 1,6 ****
  ;;; em-unix.el --- UNIX command aliases
  
! ;; Copyright (C) 1999, 2000, 2001 Free Software Foundation
  
  ;; Author: John Wiegley <johnw@gnu.org>
  
--- 1,6 ----
  ;;; em-unix.el --- UNIX command aliases
  
! ;; Copyright (C) 1999, 2000, 2001, 2004 Free Software Foundation
  
  ;; Author: John Wiegley <johnw@gnu.org>
  
***************
*** 24,29 ****
--- 24,30 ----
  (provide 'em-unix)
  
  (eval-when-compile (require 'esh-maint))
+ (require 'eshell)
  
  (defgroup eshell-unix nil
    "This module defines many of the more common UNIX utilities as

[-- Attachment #6: Type: text/plain, Size: 141 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-04-05 22:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-28  0:44 customize eshell-alias loading Kevin Ryde
2004-03-29  2:35 ` Richard Stallman
2004-04-05 22:33   ` Kevin Ryde

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).