emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r115050: Fix bug #15841 with cache-long-scans, linum


From: Eli Zaretskii
Subject: [Emacs-diffs] trunk r115050: Fix bug #15841 with cache-long-scans, linum-mode, and non-ASCII chars.
Date: Sat, 09 Nov 2013 11:13:53 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 115050
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/15841
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Sat 2013-11-09 13:12:33 +0200
message:
  Fix bug #15841 with cache-long-scans, linum-mode, and non-ASCII chars.
  
   src/fileio.c (Finsert_file_contents): Invalidate the newline cache
   for the entire range of inserted characters.
modified:
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/fileio.c                   fileio.c-20091113204419-o5vbwnq5f7feedwu-210
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2013-11-08 17:26:03 +0000
+++ b/src/ChangeLog     2013-11-09 11:12:33 +0000
@@ -1,3 +1,8 @@
+2013-11-09  Eli Zaretskii  <address@hidden>
+
+       * fileio.c (Finsert_file_contents): Invalidate the newline cache
+       for the entire range of inserted characters.  (Bug#15841)
+
 2013-11-08  Jan Djärv  <address@hidden>
 
        * xfaces.c (lface_fully_specified_p): Let distant-foreground be

=== modified file 'src/fileio.c'
--- a/src/fileio.c      2013-11-06 18:41:31 +0000
+++ b/src/fileio.c      2013-11-09 11:12:33 +0000
@@ -49,6 +49,7 @@
 #include "coding.h"
 #include "window.h"
 #include "blockinput.h"
+#include "region-cache.h"
 #include "frame.h"
 #include "dispextern.h"
 
@@ -4476,6 +4477,14 @@
       report_file_errno ("Opening input file", orig_filename, save_errno);
     }
 
+  /* We made a lot of deletions and insertions above, so invalidate
+     the newline cache for the entire region of the inserted
+     characters.  */
+  if (current_buffer->newline_cache)
+    invalidate_region_cache (current_buffer,
+                             current_buffer->newline_cache,
+                             PT - BEG, Z - PT - inserted);
+
   if (read_quit)
     Fsignal (Qquit, Qnil);
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]