From: Andreas Schwab Date: Thu, 5 May 2011 16:56:39 +0000 (+0200) Subject: * src/lread.c (lisp_file_lexically_bound_p): Stop scanning at end X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~98 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=db7a0b4f1d883f537c669c09f651350b0ef0d3cf;p=emacs.git * src/lread.c (lisp_file_lexically_bound_p): Stop scanning at end marker. (Bug#8610) --- 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 + + * lread.c (lisp_file_lexically_bound_p): Stop scanning at end + marker. (Bug#8610) + 2011-05-05 Eli Zaretskii * 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';