summaryrefslogtreecommitdiff
path: root/src/disptab.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/disptab.h')
-rw-r--r--src/disptab.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/disptab.h b/src/disptab.h
index 1fb6307a73a..4deee27539c 100644
--- a/src/disptab.h
+++ b/src/disptab.h
@@ -35,8 +35,14 @@ Boston, MA 02111-1307, USA. */
extern Lisp_Object disp_char_vector P_ ((struct Lisp_Char_Table *, int));
-#define DISP_CHAR_VECTOR(dp, c) \
- (SINGLE_BYTE_CHAR_P(c) ? (dp)->contents[c] : disp_char_vector ((dp), (c)))
+#define DISP_CHAR_VECTOR(dp, c) \
+ (ASCII_CHAR_P(c) \
+ ? (NILP ((dp)->ascii) \
+ ? (dp)->defalt \
+ : (SUB_CHAR_TABLE_P ((dp)->ascii) \
+ ? XSUB_CHAR_TABLE ((dp)->ascii)->contents[c] \
+ : (dp)->ascii)) \
+ : disp_char_vector ((dp), (c)))
/* Defined in window.c. */
extern struct Lisp_Char_Table *window_display_table P_ ((struct window *));