From 458c8af4c61718ecfe10ad476e7399473361268c Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Sun, 1 Jun 2003 23:28:42 +0000 Subject: [PATCH] (Fset_buffer_multibyte): Correctly recover a narrowed region when a buffer is changed to unibyte. --- src/ChangeLog | 3 +++ src/buffer.c | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) 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 (); -- 2.39.5