summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2011-08-30 18:38:07 -0400
committerChong Yidong <cyd@stupidchicken.com>2011-08-30 18:38:07 -0400
commit6e20a0d47c053a9524edfc6af390bf1e562a5020 (patch)
tree60b1e621112ea0d6651ccb1469703c69d9b74808
parent1f403cb99165f3acc8b07639610f9340e8c2b97f (diff)
downloademacs-6e20a0d47c053a9524edfc6af390bf1e562a5020.tar.gz
Fix syntax scanning bug causing fontification crashes.
* src/syntax.c (find_defun_start): Update all cache variables if exiting early. Fixes: debbugs:9401
-rw-r--r--src/ChangeLog5
-rw-r--r--src/syntax.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 8c050b3a3ec..6c8f5a9305a 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2011-08-30 Chong Yidong <cyd@stupidchicken.com>
+
+ * syntax.c (find_defun_start): Update all cache variables if
+ exiting early (Bug#9401).
+
2011-08-19 Andreas Schwab <schwab@linux-m68k.org>
* keyboard.c: Include "process.h"
diff --git a/src/syntax.c b/src/syntax.c
index bfdf0e5ee6d..ba3810227eb 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -364,7 +364,12 @@ find_defun_start (pos, pos_byte)
if (!open_paren_in_column_0_is_defun_start)
{
+ find_start_value = BEGV;
find_start_value_byte = BEGV_BYTE;
+ find_start_buffer = current_buffer;
+ find_start_modiff = MODIFF;
+ find_start_begv = BEGV;
+ find_start_pos = pos;
return BEGV;
}