summaryrefslogtreecommitdiff
path: root/src/dispextern.h
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2011-07-01 13:53:29 +0300
committerEli Zaretskii <eliz@gnu.org>2011-07-01 13:53:29 +0300
commitf3014ef5b24ac42ec714b48148b7b604b47f7468 (patch)
tree98ca5852c241272f7e2d4b5d011e1d1785e650a3 /src/dispextern.h
parent7e2ad32c19096fb9a86fbb88f7e7b1ed90a332e9 (diff)
downloademacs-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.h1
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. */