Mercurial > emacs
comparison src/lread.c @ 68301:581e383fb47c
(Fload): Don't leak the file descriptor returned by openp if we are going
to signal an error.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Fri, 20 Jan 2006 19:53:36 +0000 |
parents | 28939487a2d5 |
children | 70566c3d72b1 9b150bc96d33 5b7d410e31f9 |
comparison
equal
deleted
inserted
replaced
68300:f283791acd64 | 68301:581e383fb47c |
---|---|
799 Lisp_Object tem; | 799 Lisp_Object tem; |
800 for (tem = Vloads_in_progress; CONSP (tem); tem = XCDR (tem)) | 800 for (tem = Vloads_in_progress; CONSP (tem); tem = XCDR (tem)) |
801 if (!NILP (Fequal (found, XCAR (tem)))) | 801 if (!NILP (Fequal (found, XCAR (tem)))) |
802 count++; | 802 count++; |
803 if (count > 3) | 803 if (count > 3) |
804 Fsignal (Qerror, Fcons (build_string ("Recursive load"), | 804 { |
805 Fcons (found, Vloads_in_progress))); | 805 if (fd >= 0) |
806 emacs_close (fd); | |
807 Fsignal (Qerror, Fcons (build_string ("Recursive load"), | |
808 Fcons (found, Vloads_in_progress))); | |
809 } | |
806 record_unwind_protect (record_load_unwind, Vloads_in_progress); | 810 record_unwind_protect (record_load_unwind, Vloads_in_progress); |
807 Vloads_in_progress = Fcons (found, Vloads_in_progress); | 811 Vloads_in_progress = Fcons (found, Vloads_in_progress); |
808 } | 812 } |
809 | 813 |
810 if (!bcmp (SDATA (found) + SBYTES (found) - 4, | 814 if (!bcmp (SDATA (found) + SBYTES (found) - 4, |