aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert <[email protected]>2011-08-18 22:47:45 -0700
committerPaul Eggert <[email protected]>2011-08-18 22:47:45 -0700
commit2124ec92ffa31ba0a2e7b177f8de2dd6e27ded6d (patch)
treee2c443d7d30c4140227af868ae49af446056e8ba /src
parent76667214e7bdc7f6196de2bb6d7e14ef879a2694 (diff)
parent5226c7c0169c61977d8914a5feb385bde36077ee (diff)
Merge from trunk.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/bidi.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 275856c44e..36bf95e9aa 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,4 +1,4 @@
-2011-08-18 Paul Eggert <[email protected]>
+2011-08-19 Paul Eggert <[email protected]>
Integer and memory overflow issues (Bug#9196).
@@ -423,6 +423,10 @@
2011-08-18 Eli Zaretskii <[email protected]>
+ * bidi.c (bidi_get_type): If bidi_type_table reports zero as the
+ character bidirectional type, use STRONG_L instead. Fixes crashes
+ in a buffer produced by `describe-categories'.
+
* dispextern.h (struct bidi_it): Move disp_pos and disp_prop_p
members before the level stack, so they would be saved and
restored when copying iterator state. Fixes incorrect reordering
diff --git a/src/bidi.c b/src/bidi.c
index 729cf7d579..d8742540fc 100644
--- a/src/bidi.c
+++ b/src/bidi.c
@@ -108,6 +108,8 @@ bidi_get_type (int ch, bidi_dir_t override)
abort ();
default_type = (bidi_type_t) XINT (CHAR_TABLE_REF (bidi_type_table, ch));
+ if (default_type == 0)
+ default_type = STRONG_L;
if (override == NEUTRAL_DIR)
return default_type;