]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fset_buffer_multibyte): Correctly recover a narrowed
authorKenichi Handa <handa@m17n.org>
Sun, 1 Jun 2003 23:28:42 +0000 (23:28 +0000)
committerKenichi Handa <handa@m17n.org>
Sun, 1 Jun 2003 23:28:42 +0000 (23:28 +0000)
region when a buffer is changed to unibyte.

src/ChangeLog
src/buffer.c

index bed19f47d4a00f2410d6920385e9872bdc493e5a..ca5d1f6b82f2a22b5daf0733632ab7bf6c62e23b 100644 (file)
@@ -5,6 +5,9 @@
 
 2003-05-31  Kenichi Handa  <handa@m17n.org>
 
+       * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
+       region when a buffer is changed to unibyte.
+
        * charset.h (VALID_LEADING_CODE_P): New macro.
        (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
 
index 09542fc43a66ccdef727231c9e62f939763db037..c4c85cf8623a11f9ec71942e28815f511d30f638 100644 (file)
@@ -2049,7 +2049,7 @@ but the contents viewed as characters do change.  */)
   Lisp_Object tail, markers;
   struct buffer *other;
   int undo_enabled_p = !EQ (current_buffer->undo_list, Qt);
-  int begv = BEGV, zv = ZV;
+  int begv, zv;
   int narrowed = (BEG != begv || Z != zv);
   int modified_p = !NILP (Fbuffer_modified_p (Qnil));
 
@@ -2068,6 +2068,11 @@ but the contents viewed as characters do change.  */)
   /* If the cached position is for this buffer, clear it out.  */
   clear_charpos_cache (current_buffer);
 
+  if (NILP (flag))
+    begv = BEGV_BYTE, zv = ZV_BYTE;
+  else
+    begv = BEGV, zv = ZV;
+
   if (narrowed)
     Fwiden ();