Subject: bug#10946: closed (Re: bug#10946: 24.0.94; eval-after-load incompatible change)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 16 Mar 2012 02:00:02 +0000

Your bug report

#10946: 24.0.94; eval-after-load incompatible change

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
10946: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10946
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#10946: 24.0.94; eval-after-load incompatible change
From: Glenn Morris <[email-masked]>
To: [email-masked]
Date: Thu, 15 Mar 2012 21:29:06 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 24.0.95

>> Isn't it possible to get the old behaviour back by changing the thing
>> that gets added to after-load-alist from:
>
>> (when load-file-name
>>    ...stuff...)
>
>> to
>
>> (if load-file-name
>>    ...stuff...
>>    ;; Not being provided from a file, run form right now.
>>    (form))

Implemented.

Subject: 24.0.94; eval-after-load incompatible change
From: Leo <[email-masked]>
To: [email-masked]
Date: Mon, 05 Mar 2012 18:57:23 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

I recently upgraded to emacs 24 and I noticed some after-load forms not
running any more.

In emacs 23, when provide is invoked, it checks after-load-alist and
runs the matching form.

In emacs 24, the after-load form is guarded by load-file-name and thus
`provide' alone cannot trigger eval'ing after-load form.

One of my after-load forms is related to some code defined via pymacs,
which has no load-file-name. This incompatible change breaks all such
forms related to pymacs.

I don't know how best to fix this.

Leo