summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2011-05-05 18:56:39 +0200
committerAndreas Schwab <schwab@linux-m68k.org>2011-05-05 18:56:39 +0200
commitdb7a0b4f1d883f537c669c09f651350b0ef0d3cf (patch)
tree5fa2b5499e73acb2d164eb60fed90bee0ab2bfff /src
parenta6bc05e123bc6ed83123874ce4401a54e74b8cc3 (diff)
* src/lread.c (lisp_file_lexically_bound_p): Stop scanning at end
marker. (Bug#8610)
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/lread.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index b6e30ab817c..ae1b9e773a2 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2011-05-05 Andreas Schwab <schwab@linux-m68k.org>
+
+ * lread.c (lisp_file_lexically_bound_p): Stop scanning at end
+ marker. (Bug#8610)
+
2011-05-05 Eli Zaretskii <eliz@gnu.org>
* w32heap.c (allocate_heap) [USE_LISP_UNION_TYPE || USE_LSB_TAG]:
diff --git a/src/lread.c b/src/lread.c
index 7ffc98b254f..2139d558851 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -830,7 +830,7 @@ lisp_file_lexically_bound_p (Lisp_Object readcharfun)
ch = READCHAR;
i = 0;
- while (ch != ':' && ch != '\n' && ch != EOF)
+ while (ch != ':' && ch != '\n' && ch != EOF && in_file_vars)
{
if (i < sizeof var - 1)
var[i++] = ch;
@@ -838,6 +838,10 @@ lisp_file_lexically_bound_p (Lisp_Object readcharfun)
ch = READCHAR;
}
+ /* Stop scanning if no colon was found before end marker. */
+ if (!in_file_vars)
+ break;
+
while (i > 0 && (var[i - 1] == ' ' || var[i - 1] == '\t'))
i--;
var[i] = '\0';