From 6c1bd3f369c39aac648b085c5e9e4e9b42c65c62 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 7 Jan 2012 13:57:48 +0200 Subject: [PATCH] Fix bug #6540 with a crash while inserting non-ASCII text under cache-long-line-scans. src/search.c (scan_buffer): Pass character positions to know_region_cache, not byte positions. (Bug#6540) --- src/ChangeLog | 5 +++++ src/search.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 3e0eed38cfb..f7acc826a49 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2012-01-07 Eli Zaretskii + + * search.c (scan_buffer): Pass character positions to + know_region_cache, not byte positions. (Bug#6540) + 2012-01-07 LynX <_LynX@bk.ru> (tiny change) * w32.c (sys_rename): Report EXDEV when rename of a directory diff --git a/src/search.c b/src/search.c index bb68c89f243..67323b3c6e7 100644 --- a/src/search.c +++ b/src/search.c @@ -725,8 +725,8 @@ scan_buffer (register int target, EMACS_INT start, EMACS_INT end, the region from start to cursor is free of them. */ if (target == '\n' && newline_cache) know_region_cache (current_buffer, newline_cache, - start_byte + scan_start - base, - start_byte + cursor - base); + BYTE_TO_CHAR (start_byte + scan_start - base), + BYTE_TO_CHAR (start_byte + cursor - base)); /* Did we find the target character? */ if (cursor < ceiling_addr) @@ -791,8 +791,8 @@ scan_buffer (register int target, EMACS_INT start, EMACS_INT end, the region from after the cursor to start is free of them. */ if (target == '\n' && newline_cache) know_region_cache (current_buffer, newline_cache, - start_byte + cursor - base, - start_byte + scan_start - base); + BYTE_TO_CHAR (start_byte + cursor - base), + BYTE_TO_CHAR (start_byte + scan_start - base)); /* Did we find the target character? */ if (cursor >= ceiling_addr) -- 2.39.2