]> git.eshelyaron.com Git - emacs.git/commitdiff
(Finsert_file_contents): Do call signal_after_change
authorRichard M. Stallman <rms@gnu.org>
Fri, 11 Apr 1997 18:25:41 +0000 (18:25 +0000)
committerRichard M. Stallman <rms@gnu.org>
Fri, 11 Apr 1997 18:25:41 +0000 (18:25 +0000)
when REPLACE is handled by reading directly from the file.
Use insert_1 to insert replacement text, to avoid
query about whether to modify the buffer.

src/fileio.c

index 0e04ef4a3d9ed778d46db29d9d0969f150c772f3..3be84dcb52f781c3b4da63e62ba3eb045abf3bc6 100644 (file)
@@ -3468,7 +3468,8 @@ This does code conversion according to the value of\n\
       inserted -= (Z - same_at_end) + (same_at_start - BEG);
       move_gap (same_at_start);
       del_range_1 (same_at_start, same_at_end, 0);
-      insert (conversion_buffer + same_at_start - BEG, inserted);
+      SET_PT (same_at_start);
+      insert_1 (conversion_buffer + same_at_start - BEG, inserted, 0, 0);
 
       free (conversion_buffer);
       close (fd);
@@ -3687,7 +3688,11 @@ This does code conversion according to the value of\n\
       inserted = XFASTINT (insval);
     }
 
-  if (inserted > 0 && NILP (visit) && total > 0)
+  /* Call after-change hooks for the inserted text, aside from the case
+     of normal visiting (not with REPLACE), which is done in a new buffer
+     "before" the buffer is changed.  */
+  if (inserted > 0 && total > 0
+      && (NILP (visit) || !NILP (replace)))
     signal_after_change (PT, 0, inserted);
 
   if (inserted > 0)