(readevalloop): Abort if START non-nil for non-buffer input.
authorRichard M. Stallman <rms@gnu.org>
Fri, 12 May 2006 02:08:23 +0000 (02:08 +0000)
committerRichard M. Stallman <rms@gnu.org>
Fri, 12 May 2006 02:08:23 +0000 (02:08 +0000)
src/ChangeLog
src/lread.c

index 2b9587e..14a172d 100644 (file)
@@ -1,3 +1,7 @@
+2006-05-11  Richard Stallman  <rms@gnu.org>
+
+       * lread.c (readevalloop): Abort if START non-nil for non-buffer input.
+
 2006-05-11  Kim F. Storm  <storm@cua.dk>
 
        * xdisp.c (redisplay_tool_bar): Handle large tool-bar-border values.
index 892c102..e80b228 100644 (file)
@@ -1340,7 +1340,9 @@ end_of_file_error ()
 /* UNIBYTE specifies how to set load_convert_to_unibyte
    for this invocation.
    READFUN, if non-nil, is used instead of `read'.
-   START, END is region in current buffer (from eval-region).  */
+
+   START, END specify region to read in current buffer (from eval-region).
+   If the input is not from a buffer, they must be nil.  */
 
 static void
 readevalloop (readcharfun, stream, sourcename, evalfun,
@@ -1376,6 +1378,10 @@ readevalloop (readcharfun, stream, sourcename, evalfun,
   else if (MARKERP (readcharfun))
     b = XMARKER (readcharfun)->buffer;
 
+  /* We assume START is nil when input is not from a buffer.  */
+  if (! NILP (start) && !b)
+    abort ();
+
   specbind (Qstandard_input, readcharfun); /* GCPROs readcharfun.  */
   specbind (Qcurrent_load_list, Qnil);
   record_unwind_protect (readevalloop_1, load_convert_to_unibyte ? Qt : Qnil);