diff options
author | Eli Zaretskii <eliz@gnu.org> | 2011-07-01 13:53:29 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2011-07-01 13:53:29 +0300 |
commit | f3014ef5b24ac42ec714b48148b7b604b47f7468 (patch) | |
tree | 98ca5852c241272f7e2d4b5d011e1d1785e650a3 /src/dispextern.h | |
parent | 7e2ad32c19096fb9a86fbb88f7e7b1ed90a332e9 (diff) | |
download | emacs-f3014ef5b24ac42ec714b48148b7b604b47f7468.tar.gz |
Support bidi reordering of unibyte strings. Fix crash displaying "All" in mode line of an empty buffer.
src/dispextern.h (struct bidi_string_data): New member `unibyte'.
src/xdisp.c (handle_single_display_spec, next_overlay_string)
(get_overlay_strings_1, reseat_1, reseat_to_string)
(push_display_prop): Set up the `unibyte' member of bidi_it.string
correctly. Don't assume unibyte strings are not bidi-reordered.
(compute_display_string_pos)
(compute_display_string_end): Fix handling the case of C string.
src/bidi.c (bidi_count_bytes, bidi_char_at_pos): Accept an
additional argument UNIBYTE, and support unibyte strings. All
callers changed.
(bidi_fetch_char): Support unibyte strings.
Diffstat (limited to 'src/dispextern.h')
-rw-r--r-- | src/dispextern.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/dispextern.h b/src/dispextern.h index 16fa3abdd19..9586edab63b 100644 --- a/src/dispextern.h +++ b/src/dispextern.h @@ -1821,6 +1821,7 @@ struct bidi_string_data { EMACS_INT bufpos; /* buffer position of lstring, or 0 if N/A */ unsigned from_disp_str : 1; /* 1 means the string comes from a display property */ + unsigned unibyte : 1; /* 1 means the string is unibyte */ }; /* Data type for reordering bidirectional text. */ |