* lread.c (Fload): Stop checking Vloads_in_progress and signal
error as soon as a recursive load is detected.
This commit is contained in:
parent
96ad1a2f46
commit
8fc457448c
2 changed files with 11 additions and 8 deletions
|
@ -1,3 +1,8 @@
|
|||
2009-02-25 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* lread.c (Fload): Stop checking Vloads_in_progress as soon as
|
||||
a recursive load is detected.
|
||||
|
||||
2009-02-24 Adrian Robert <Adrian.B.Robert@gmail.com>
|
||||
|
||||
* nsterm.m (ns_ring_bell): Convert rect to window coordinates
|
||||
|
|
14
src/lread.c
14
src/lread.c
|
@ -1113,14 +1113,12 @@ Return t if the file exists and loads successfully. */)
|
|||
int count = 0;
|
||||
Lisp_Object tem;
|
||||
for (tem = Vloads_in_progress; CONSP (tem); tem = XCDR (tem))
|
||||
if (!NILP (Fequal (found, XCAR (tem))))
|
||||
count++;
|
||||
if (count > 3)
|
||||
{
|
||||
if (fd >= 0)
|
||||
emacs_close (fd);
|
||||
signal_error ("Recursive load", Fcons (found, Vloads_in_progress));
|
||||
}
|
||||
if (!NILP (Fequal (found, XCAR (tem))) && (++count > 3))
|
||||
{
|
||||
if (fd >= 0)
|
||||
emacs_close (fd);
|
||||
signal_error ("Recursive load", Fcons (found, Vloads_in_progress));
|
||||
}
|
||||
record_unwind_protect (record_load_unwind, Vloads_in_progress);
|
||||
Vloads_in_progress = Fcons (found, Vloads_in_progress);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue