From: Kenichi Handa Date: Sun, 1 Jun 2003 23:28:42 +0000 (+0000) Subject: (Fset_buffer_multibyte): Correctly recover a narrowed X-Git-Tag: ttn-vms-21-2-B4~9805 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=458c8af4c61718ecfe10ad476e7399473361268c;p=emacs.git (Fset_buffer_multibyte): Correctly recover a narrowed region when a buffer is changed to unibyte. --- diff --git a/src/ChangeLog b/src/ChangeLog index bed19f47d4a..ca5d1f6b82f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -5,6 +5,9 @@ 2003-05-31 Kenichi Handa + * 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. diff --git a/src/buffer.c b/src/buffer.c index 09542fc43a6..c4c85cf8623 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -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 ();