From e719f5aea7acd2ffeb79c359c7be3b2f2ba8e553 Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Wed, 28 Mar 2001 14:32:24 +0000 Subject: [PATCH] (reseat_to_string): If STRING is multibyte, set the iterator's multibyte_p flag. --- src/ChangeLog | 3 +++ src/xdisp.c | 11 ++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 47f6bdfa98d..83a0653a3c1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,8 @@ 2001-03-28 Gerd Moellmann + * xdisp.c (reseat_to_string): If STRING is multibyte, set + the iterator's multibyte_p flag. + * xfaces.c (realize_basic_faces): Decrement menu_face_change_count instead of setting it to zero; it's incremented for each frame where the menu face is changed. diff --git a/src/xdisp.c b/src/xdisp.c index 669b0d77ebf..c31062232f1 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -3983,8 +3983,11 @@ reseat_to_string (it, s, string, charpos, precision, field_width, multibyte) it->current.dpvec_index = -1; xassert (charpos >= 0); - /* Use the setting of MULTIBYTE if specified. */ - if (multibyte >= 0) + /* If STRING is specified, use its multibyteness, otherwise use the + setting of MULTIBYTE, if specified. */ + if (STRINGP (string)) + it->multibyte_p = STRING_MULTIBYTE (string); + else if (multibyte >= 0) it->multibyte_p = multibyte > 0; if (s == NULL) @@ -13943,9 +13946,7 @@ display_string (string, lisp_string, face_string, face_string_pos, struct glyph_row *row = it->glyph_row; /* Initialize the iterator IT for iteration over STRING beginning - with index START. We assume that IT may be modified here (which - means that display_line has to do something when displaying a - mini-buffer prompt, which it does). */ + with index START. */ reseat_to_string (it, string, lisp_string, start, precision, field_width, multibyte); -- 2.39.2