(init_lread): Set Vloads_in_progress to nil.
authorGerd Moellmann <gerd@gnu.org>
Mon, 11 Sep 2000 13:01:38 +0000 (13:01 +0000)
committerGerd Moellmann <gerd@gnu.org>
Mon, 11 Sep 2000 13:01:38 +0000 (13:01 +0000)
(Fload): Show list of recursively loaded files, when signaling an
error.

src/ChangeLog
src/lread.c

index c7fc236..96eb512 100644 (file)
@@ -1,5 +1,9 @@
 2000-09-11  Gerd Moellmann  <gerd@gnu.org>
 
+       * lread.c (init_lread): Set Vloads_in_progress to nil.
+       (Fload): Show list of recursively loaded files, when signaling an
+       error.
+
        * lread.c (Vloads_in_progress): New variable.
        (record_load_unwind): New function.
        (Fload): Check for recursive loads.
index 0788eb8..3a0acdd 100644 (file)
@@ -711,7 +711,8 @@ Return t if file exists.")
   /* Check if we're loading this file again while another load
      of the same file is already in progress.  */
   if (!NILP (Fmember (found, Vloads_in_progress)))
-    error ("Recursive load of file `%s'", XSTRING (file)->data);
+    Fsignal (Qerror, Fcons (build_string ("Recursive load"),
+                           Fcons (found, Vloads_in_progress)));
   record_unwind_protect (record_load_unwind, Vloads_in_progress);
   Vloads_in_progress = Fcons (found, Vloads_in_progress);
 
@@ -3428,6 +3429,7 @@ init_lread ()
   load_descriptor_list = Qnil;
 
   Vstandard_input = Qt;
+  Vloads_in_progress = Qnil;
 }
 
 /* Print a warning, using format string FORMAT, that directory DIRNAME