Mercurial > emacs
comparison src/xdisp.c @ 13188:dc0909e788bd
(redisplay_window, redisplay_window, display_text_line):
Fix up calls to window_display_table. Access display tables as char-tables.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 11 Oct 1995 17:17:32 +0000 |
parents | ea64c261c72a |
children | 95fbb5bd0a5a |
comparison
equal
deleted
inserted
replaced
13187:1a4cee562d33 | 13188:dc0909e788bd |
---|---|
1366 register int hscroll = XINT (w->hscroll); | 1366 register int hscroll = XINT (w->hscroll); |
1367 struct position pos; | 1367 struct position pos; |
1368 int opoint = PT; | 1368 int opoint = PT; |
1369 int tem; | 1369 int tem; |
1370 int update_mode_line; | 1370 int update_mode_line; |
1371 struct Lisp_Vector *dp = window_display_table (w); | 1371 struct Lisp_Char_Table *dp = window_display_table (w); |
1372 | 1372 |
1373 if (FRAME_HEIGHT (f) == 0) abort (); /* Some bug zeros some core */ | 1373 if (FRAME_HEIGHT (f) == 0) abort (); /* Some bug zeros some core */ |
1374 | 1374 |
1375 /* If this is a combination window, do its children; that's all. */ | 1375 /* If this is a combination window, do its children; that's all. */ |
1376 | 1376 |
1473 may be a bit late to catch such changes, but the rest of | 1473 may be a bit late to catch such changes, but the rest of |
1474 redisplay goes (non-fatally) haywire when the display table is | 1474 redisplay goes (non-fatally) haywire when the display table is |
1475 changed, so why should we worry about doing any better? */ | 1475 changed, so why should we worry about doing any better? */ |
1476 if (current_buffer->width_run_cache) | 1476 if (current_buffer->width_run_cache) |
1477 { | 1477 { |
1478 struct Lisp_Vector *disptab = buffer_display_table (); | 1478 struct Lisp_Char_Table *disptab = buffer_display_table (); |
1479 | 1479 |
1480 if (! disptab_matches_widthtab (disptab, | 1480 if (! disptab_matches_widthtab (disptab, |
1481 XVECTOR (current_buffer->width_table))) | 1481 XVECTOR (current_buffer->width_table))) |
1482 { | 1482 { |
1483 invalidate_region_cache (current_buffer, | 1483 invalidate_region_cache (current_buffer, |
2469 | 2469 |
2470 int selective = (INTEGERP (current_buffer->selective_display) | 2470 int selective = (INTEGERP (current_buffer->selective_display) |
2471 ? XINT (current_buffer->selective_display) | 2471 ? XINT (current_buffer->selective_display) |
2472 : !NILP (current_buffer->selective_display) ? -1 : 0); | 2472 : !NILP (current_buffer->selective_display) ? -1 : 0); |
2473 register struct frame_glyphs *desired_glyphs = FRAME_DESIRED_GLYPHS (f); | 2473 register struct frame_glyphs *desired_glyphs = FRAME_DESIRED_GLYPHS (f); |
2474 register struct Lisp_Vector *dp = window_display_table (w); | 2474 register struct Lisp_Char_Table *dp = window_display_table (w); |
2475 | 2475 |
2476 Lisp_Object default_invis_vector[3]; | 2476 Lisp_Object default_invis_vector[3]; |
2477 /* Number of characters of ellipsis to display after an invisible line | 2477 /* Number of characters of ellipsis to display after an invisible line |
2478 if it calls for an ellipsis. | 2478 if it calls for an ellipsis. |
2479 Note that this value can be nonzero regardless of whether | 2479 Note that this value can be nonzero regardless of whether |
3977 GLYPH *p1start = desired_glyphs->glyphs[vpos] + hpos; | 3977 GLYPH *p1start = desired_glyphs->glyphs[vpos] + hpos; |
3978 int window_width = XFASTINT (w->width); | 3978 int window_width = XFASTINT (w->width); |
3979 | 3979 |
3980 /* Use the standard display table, not the window's display table. | 3980 /* Use the standard display table, not the window's display table. |
3981 We don't want the mode line in rot13. */ | 3981 We don't want the mode line in rot13. */ |
3982 register struct Lisp_Vector *dp = 0; | 3982 register struct Lisp_Char_Table *dp = 0; |
3983 int i; | 3983 int i; |
3984 | 3984 |
3985 if (VECTORP (Vstandard_display_table) | 3985 if (DISP_TABLE_P (Vstandard_display_table)) |
3986 && XVECTOR (Vstandard_display_table)->size == DISP_TABLE_SIZE) | 3986 dp = XCHAR_TABLE (Vstandard_display_table); |
3987 dp = XVECTOR (Vstandard_display_table); | |
3988 | 3987 |
3989 if (tab_width <= 0 || tab_width > 1000) tab_width = 8; | 3988 if (tab_width <= 0 || tab_width > 1000) tab_width = 8; |
3990 | 3989 |
3991 p1 = p1start; | 3990 p1 = p1start; |
3992 start = desired_glyphs->glyphs[vpos] + XFASTINT (w->left); | 3991 start = desired_glyphs->glyphs[vpos] + XFASTINT (w->left); |
4288 size since the last redisplay, or have been split or deleted,\n\ | 4287 size since the last redisplay, or have been split or deleted,\n\ |
4289 all the functions in the list are called, with the frame as argument."); | 4288 all the functions in the list are called, with the frame as argument."); |
4290 Vwindow_size_change_functions = Qnil; | 4289 Vwindow_size_change_functions = Qnil; |
4291 | 4290 |
4292 DEFVAR_LISP ("window-scroll-functions", &Vwindow_scroll_functions, | 4291 DEFVAR_LISP ("window-scroll-functions", &Vwindow_scroll_functions, |
4293 "Functions to call when a window is redisplayed with scrolling.\n\ | 4292 "List of Functions to call before redisplaying a window with scrolling.\n\ |
4294 Each function is called with two arguments, the window\n\ | 4293 Each function is called with two arguments, the window\n\ |
4295 and its new display-start position."); | 4294 and its new display-start position."); |
4296 Vwindow_scroll_functions = Qnil; | 4295 Vwindow_scroll_functions = Qnil; |
4297 } | 4296 } |
4298 | 4297 |