# HG changeset patch # User Richard M. Stallman # Date 1193214276 0 # Node ID f19edd342e7be30758f5cb07dd039a5ffcf10cc4 # Parent 2f9a621d6bd950bacaeedd63ce11c14be7ff1f98 Comment change. diff -r 2f9a621d6bd9 -r f19edd342e7b src/eval.c --- a/src/eval.c Wed Oct 24 08:24:01 2007 +0000 +++ b/src/eval.c Wed Oct 24 08:24:36 2007 +0000 @@ -2162,7 +2162,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, noninteractive ? Qt : Qnil, Qnil, Qt);