comparison src/xdisp.c @ 21748:c423e8929f69

(Qinhibit_point_motion_hooks): New variable. (syms_of_xdisp): Init and staticpro it. (redisplay_window): Bind the symbol to t.
author Richard M. Stallman <rms@gnu.org>
date Fri, 24 Apr 1998 06:28:46 +0000
parents 7784f9b030a8
children 697991d2a2c4
comparison
equal deleted inserted replaced
21747:c11ef8945466 21748:c423e8929f69
62 extern Lisp_Object Voverriding_local_map_menu_flag; 62 extern Lisp_Object Voverriding_local_map_menu_flag;
63 63
64 Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map; 64 Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map;
65 Lisp_Object Qwindow_scroll_functions, Vwindow_scroll_functions; 65 Lisp_Object Qwindow_scroll_functions, Vwindow_scroll_functions;
66 Lisp_Object Qredisplay_end_trigger_functions; 66 Lisp_Object Qredisplay_end_trigger_functions;
67 Lisp_Object Qinhibit_point_motion_hooks;
67 68
68 /* Nonzero means print newline to stdout before next minibuffer message. */ 69 /* Nonzero means print newline to stdout before next minibuffer message. */
69 70
70 int noninteractive_need_newline; 71 int noninteractive_need_newline;
71 72
1743 int opoint_byte = PT_BYTE; 1744 int opoint_byte = PT_BYTE;
1744 int tem; 1745 int tem;
1745 int update_mode_line; 1746 int update_mode_line;
1746 struct Lisp_Char_Table *dp = window_display_table (w); 1747 struct Lisp_Char_Table *dp = window_display_table (w);
1747 int really_switched_buffer = 0; 1748 int really_switched_buffer = 0;
1749 int count = specpdl_ptr - specpdl;
1748 1750
1749 if (Z == Z_BYTE && lpoint != lpoint_byte) 1751 if (Z == Z_BYTE && lpoint != lpoint_byte)
1750 abort (); 1752 abort ();
1751 if (lpoint_byte < lpoint) 1753 if (lpoint_byte < lpoint)
1752 abort (); 1754 abort ();
1765 redisplay_windows (w->hchild, preserve_echo_area); 1767 redisplay_windows (w->hchild, preserve_echo_area);
1766 return; 1768 return;
1767 } 1769 }
1768 if (NILP (w->buffer)) 1770 if (NILP (w->buffer))
1769 abort (); 1771 abort ();
1770 1772
1773 specbind (Qinhibit_point_motion_hooks, Qt);
1774
1771 height = window_internal_height (w); 1775 height = window_internal_height (w);
1772 update_mode_line = (!NILP (w->update_mode_line) || update_mode_lines); 1776 update_mode_line = (!NILP (w->update_mode_line) || update_mode_lines);
1773 if (XBUFFER (w->buffer)->clip_changed) 1777 if (XBUFFER (w->buffer)->clip_changed)
1774 update_mode_line = 1; 1778 update_mode_line = 1;
1775 1779
2445 if (really_switched_buffer) 2449 if (really_switched_buffer)
2446 set_buffer_internal_1 (old); 2450 set_buffer_internal_1 (old);
2447 else 2451 else
2448 set_buffer_temp (old); 2452 set_buffer_temp (old);
2449 TEMP_SET_PT_BOTH (lpoint, lpoint_byte); 2453 TEMP_SET_PT_BOTH (lpoint, lpoint_byte);
2454
2455 unbind_to (count, Qnil);
2450 } 2456 }
2451 2457
2452 /* Do full redisplay on one window, starting at position `pos'. */ 2458 /* Do full redisplay on one window, starting at position `pos'. */
2453 2459
2454 static void 2460 static void
5360 Qwindow_scroll_functions = intern ("window-scroll-functions"); 5366 Qwindow_scroll_functions = intern ("window-scroll-functions");
5361 5367
5362 staticpro (&Qredisplay_end_trigger_functions); 5368 staticpro (&Qredisplay_end_trigger_functions);
5363 Qredisplay_end_trigger_functions = intern ("redisplay-end-trigger-functions"); 5369 Qredisplay_end_trigger_functions = intern ("redisplay-end-trigger-functions");
5364 5370
5371 staticpro (&Qinhibit_point_motion_hooks);
5372 Qinhibit_point_motion_hooks = intern ("inhibit-point-motion-hooks");
5373
5365 staticpro (&last_arrow_position); 5374 staticpro (&last_arrow_position);
5366 staticpro (&last_arrow_string); 5375 staticpro (&last_arrow_string);
5367 last_arrow_position = Qnil; 5376 last_arrow_position = Qnil;
5368 last_arrow_string = Qnil; 5377 last_arrow_string = Qnil;
5369 5378