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