]> git.eshelyaron.com Git - emacs.git/commitdiff
Another fix for non-ASCII 'overlay-arrow-string'
authorEli Zaretskii <eliz@gnu.org>
Fri, 22 Apr 2022 06:05:57 +0000 (09:05 +0300)
committerEli Zaretskii <eliz@gnu.org>
Fri, 22 Apr 2022 06:05:57 +0000 (09:05 +0300)
* src/xdisp.c (get_overlay_arrow_glyph_row): Fix yet another place
that assumed each character is a single byte.

src/xdisp.c

index 42c3e81e5c3a8014b5903dbf407d5613dce26f5a..6963935666b2b2c5ac0c7f16fa08cd1d27d53f50 100644 (file)
@@ -774,7 +774,7 @@ static bool message_buf_print;
 static bool message_cleared_p;
 
 /* A scratch glyph row with contents used for generating truncation
-   glyphs.  Also used in direct_output_for_insert.  */
+   glyphs and overlay-arrow glyphs.  */
 
 #define MAX_SCRATCH_GLYPHS 100
 static struct glyph_row scratch_glyph_row;
@@ -21653,7 +21653,7 @@ get_overlay_arrow_glyph_row (struct window *w, Lisp_Object overlay_arrow_string)
   struct buffer *buffer = XBUFFER (w->contents);
   struct buffer *old = current_buffer;
   const unsigned char *arrow_string = SDATA (overlay_arrow_string);
-  ptrdiff_t arrow_len = SCHARS (overlay_arrow_string), char_num = 0;
+  ptrdiff_t arrow_len = SBYTES (overlay_arrow_string), char_num = 0;
   const unsigned char *arrow_end = arrow_string + arrow_len;
   const unsigned char *p;
   struct it it;