GNU bug report logs - #947
Recursive load of ido after unload-feature and reload

Previous Next

Package: emacs;

Reported by: "Juanma Barranquero" <lekktu <at> gmail.com>

Date: Tue, 9 Sep 2008 14:35:04 UTC

Severity: minor

Found in versions 22.3, 23.0.60

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


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

From: "Juanma Barranquero" <lekktu <at> gmail.com>
To: "Emacs Bug Tracker" <submit <at> debbugs.gnu.org>
Subject: Recursive load of ido after unload-feature and reload
Date: Tue, 9 Sep 2008 16:29:40 +0200
Package: emacs
Severity: minor

emacs -Q -D
M-x ido-mode <RET>
M-x unload-feature <RET> ido <RET>
M-x ido-mode <RET>

Recursive load: "c:/emacs/trunk/lisp/ido.elc",
"c:/emacs/trunk/lisp/ido.elc", "c:/emacs/trunk/lisp/ido.elc",
"c:/emacs/trunk/lisp/ido.elc", "c:/emacs/trunk/lisp/ido.elc"

The problem is that after unloading ido, the variable ido-mode is
void, and calling ido-mode without an argument runs this code:

  (setq ido-mode
	(cond
	 ((null arg) (if ido-mode nil 'both))
         ; ...

and setting the variable ido-mode runs this code:

  :set #'(lambda (symbol value)
	   (ido-mode value))

so there's really a recursion.

I can think of several crude workarounds, but they aren't pretty and
I'm not sure they will play fair with customize.




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

Previous Next


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