Mercurial > emacs
changeset 28733:3234d64a07bf
(end_of_file_error): New function.
(read1): Call it instead of signaling `end-of-file' directly.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Thu, 27 Apr 2000 10:48:11 +0000 |
parents | e5694cf2ac01 |
children | 24e50bfa830e |
files | src/lread.c |
diffstat | 1 files changed, 21 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lread.c Thu Apr 27 10:47:45 2000 +0000 +++ b/src/lread.c Thu Apr 27 10:48:11 2000 +0000 @@ -1111,6 +1111,22 @@ return Qnil; } +/* Signal an `end-of-file' error, if possible with file name + information. */ + +static void +end_of_file_error () +{ + Lisp_Object data; + + if (STRINGP (Vload_file_name)) + data = Fcons (Vload_file_name, Qnil); + else + data = Qnil; + + Fsignal (Qend_of_file, data); +} + /* UNIBYTE specifies how to set load_convert_to_unibyte for this invocation. READFUN, if non-nil, is used instead of `read'. */ @@ -1691,7 +1707,8 @@ retry: c = READCHAR; - if (c < 0) return Fsignal (Qend_of_file, Qnil); + if (c < 0) + end_of_file_error (); switch (c) { @@ -2009,7 +2026,8 @@ case '?': { c = READCHAR; - if (c < 0) return Fsignal (Qend_of_file, Qnil); + if (c < 0) + end_of_file_error (); if (c == '\\') c = read_escape (readcharfun, 0); @@ -2097,7 +2115,7 @@ } } if (c < 0) - return Fsignal (Qend_of_file, Qnil); + end_of_file_error (); /* If purifying, and string starts with \ newline, return zero instead. This is for doc strings