Mercurial > emacs
diff src/eval.c @ 85688:b210bba3f477
Merge from emacs--rel--22
Patches applied:
* emacs--rel--22 (patch 131-137)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 261-262)
- Update from CVS
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-908
author | Miles Bader <miles@gnu.org> |
---|---|
date | Sat, 27 Oct 2007 09:07:17 +0000 |
parents | a89507976418 f19edd342e7b |
children | 0ec5ce87b9e0 4bc33ffdda1a |
line wrap: on
line diff
--- a/src/eval.c Sat Oct 27 00:25:43 2007 +0000 +++ b/src/eval.c Sat Oct 27 09:07:17 2007 +0000 @@ -2194,7 +2194,14 @@ /* Preserve the match data. */ record_unwind_save_match_data (); - /* Value saved here is to be restored into Vautoload_queue. */ + /* If autoloading gets an error (which includes the error of failing + to define the function being called), we use Vautoload_queue + to undo function definitions and `provide' calls made by + the function. We do this in the specific case of autoloading + because autoloading is not an explicit request "load this file", + but rather a request to "call this function". + + The value saved here is to be restored into Vautoload_queue. */ record_unwind_protect (un_autoload, Vautoload_queue); Vautoload_queue = Qt; Fload (Fcar (Fcdr (fundef)), Qnil, Qt, Qnil, Qt);