all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* eval-after-load changes
@ 2006-05-25 10:46 Romain Francoise
  2006-05-26 16:20 ` Reiner Steib
  0 siblings, 1 reply; 3+ messages in thread
From: Romain Francoise @ 2006-05-25 10:46 UTC (permalink / raw)
  Cc: emacs-devel

There's a bug in the changes you installed yesterday: `eval-after-load'
forms get evaluated immediately if the last word of the name of the file
they're contained in matches the FILE arg of the e-a-l form.

To reproduce this bug, create a file named `this-is-not-ibuffer.el' that
contains the following:

(eval-after-load "ibuffer"
  '(progn
     (add-to-list 'ibuffer-maybe-show-predicates "\\.newsrc")))

Then start Emacs with emacs -q and try to load the file.  Emacs signals
the following error:

| progn: Symbol's value as variable is void: ibuffer-maybe-show-predicates

I.e. it tried to evaluate the eval-after-load form, even though ibuffer
isn't loaded.  This is because the new `do-after-load-evaluation'
function contains this code:

    (string-match (car a-l-element) abs-file)

which runs as:

    (string-match "\\<ibuffer\\(\\.elc\\|\\.el\\)?\\(\\.gz\\)?\\'"
                  "/tmp/this-is-not-ibuffer.el")

which returns 17, and not nil.  I think the regexp should begin with
\\`, not \\<, but since there's apparently special provisions to make it
use \\<, I'm not sure what a good fix could be.

(This bug makes my Emacs configuration completely broken.)

Thanks,

-- 
Romain Francoise <romain@orebokech.com> | The sea! the sea! the open
it's a miracle -- http://orebokech.com/ | sea! The blue, the fresh, the
                                        | ever free! --Bryan W. Procter

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

end of thread, other threads:[~2006-05-26 16:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-25 10:46 eval-after-load changes Romain Francoise
2006-05-26 16:20 ` Reiner Steib
2006-05-26 16:31   ` Romain Francoise

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.