(Finsert_file_contents): Adjust offsets when replacing
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 14 Feb 2008 19:41:43 +0000 (19:41 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 14 Feb 2008 19:41:43 +0000 (19:41 +0000)
within a narrowed buffer.

src/ChangeLog
src/fileio.c

index 2cf4120..38d891b 100644 (file)
@@ -1,3 +1,8 @@
+2008-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * fileio.c (Finsert_file_contents): Adjust offsets when replacing
+       within a narrowed buffer.
+
 2008-02-14  Kenichi Handa  <handa@ni.aist.go.jp>
 
        * coding.c (decode_coding_object, encode_coding_object):
index 9095cc4..269dd33 100644 (file)
@@ -4338,10 +4338,12 @@ variable `last-coding-system-used' to the coding system actually used.  */)
       SET_PT_BOTH (temp, same_at_start);
       same_at_start_charpos
        = buf_bytepos_to_charpos (XBUFFER (conversion_buffer),
-                                 same_at_start);
+                                 same_at_start - BEGV_BYTE
+                                 + BUF_BEG_BYTE (XBUFFER (conversion_buffer)));
       inserted_chars
        = (buf_bytepos_to_charpos (XBUFFER (conversion_buffer),
-                                  same_at_start + inserted)
+                                  same_at_start + inserted - BEGV_BYTE
+                                 + BUF_BEG_BYTE (XBUFFER (conversion_buffer)))
           - same_at_start_charpos);
       /* This binding is to avoid ask-user-about-supersession-threat
         being called in insert_from_buffer (via in