diff options
author | Gerd Moellmann <[email protected]> | 2000-07-25 12:05:45 +0000 |
---|---|---|
committer | Gerd Moellmann <[email protected]> | 2000-07-25 12:05:45 +0000 |
commit | c756cdbeb3f4de6e9b51602e78e2dc9119733a18 (patch) | |
tree | 0bbcc9b5666cf5af8296caeba02ef394ab8aa152 /src | |
parent | 487522fe076f46fb9d8f3ba991371a368a841fa3 (diff) |
(window_display_table): Cleaned up.
Diffstat (limited to 'src')
-rw-r--r-- | src/window.c | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/src/window.c b/src/window.c index 541da41aec..b90d8b4080 100644 --- a/src/window.c +++ b/src/window.c @@ -895,20 +895,21 @@ struct Lisp_Char_Table * window_display_table (w) struct window *w; { - Lisp_Object tem; - tem = w->display_table; - if (DISP_TABLE_P (tem)) - return XCHAR_TABLE (tem); - if (NILP (w->buffer)) - return 0; + struct Lisp_Char_Table *dp = NULL; + + if (DISP_TABLE_P (w->display_table)) + dp = XCHAR_TABLE (w->display_table); + else if (BUFFERP (w->buffer)) + { + struct buffer *b = XBUFFER (w->buffer); + + if (DISP_TABLE_P (b->display_table)) + dp = XCHAR_TABLE (b->display_table); + else if (DISP_TABLE_P (Vstandard_display_table)) + dp = XCHAR_TABLE (Vstandard_display_table); + } - tem = XBUFFER (w->buffer)->display_table; - if (DISP_TABLE_P (tem)) - return XCHAR_TABLE (tem); - tem = Vstandard_display_table; - if (DISP_TABLE_P (tem)) - return XCHAR_TABLE (tem); - return 0; + return dp; } DEFUN ("set-window-display-table", Fset_window_display_table, Sset_window_display_table, 2, 2, 0, |