diff options
Diffstat (limited to 'src/disptab.h')
-rw-r--r-- | src/disptab.h | 10 |
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 *)); |