aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog9
-rw-r--r--src/xdisp.c4
2 files changed, 11 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 0c4bf7ea82..3dd4ce2b7c 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,14 @@
2000-03-27 Gerd Moellmann <[email protected]>
+ * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
+ to DEC_TEXT_POS and INC_TEXT_POS.
+
+ * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
+ with parameter MULTIBYTE_P.
+
+ * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
+ MULTIBYTE_P.
+
* editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
buffers because it looks for multibyte character sequences which
don't exist in unibyte text.
diff --git a/src/xdisp.c b/src/xdisp.c
index 12c9505143..16ab84c9cb 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -1969,7 +1969,7 @@ face_before_or_after_it_pos (it, before_p)
pos = it->current.pos;
if (before_p)
- DEC_TEXT_POS (pos);
+ DEC_TEXT_POS (pos, it->multibyte_p);
else
{
if (it->what == IT_COMPOSITION)
@@ -1977,7 +1977,7 @@ face_before_or_after_it_pos (it, before_p)
composition. */
pos.charpos += it->cmp_len, pos.bytepos += it->len;
else
- INC_TEXT_POS (pos);
+ INC_TEXT_POS (pos, it->multibyte_p);
}
/* Determine face for CHARSET_ASCII, or unibyte. */
face_id = face_at_buffer_position (it->w,