Mercurial > hg > xemacs-beta
changeset 1279:cd0abfdb9e9d
[xemacs-hg @ 2003-02-09 09:33:42 by ben]
walk-windows, redisplay fixes
console-stream.c: Abort when any attempts to output a stream console are made.
Should be caught sooner.
event-msw.c: Don't redisplay() during sizing when the frame has not yet been
initialized completely.
event-stream.c, menubar-msw.c, menubar-x.c, menubar.c, menubar.h: Restore in_menu_callback. Bind it in menubar-{msw,x}.c when
calling filter functions and the like. Conditionalize on it, not
in_modal_loop, when issuing error in `next-event', otherwise we
bite the dust immediately -- event-msw.c purposely calls
Fnext_event() in a modal loop, and knows what it's doing.
redisplay-output.c: Formatting fixes.
redisplay.c, window.c, winslots.h: Delete lots of carcasses of attempts to add redisplay support for
font-lock -- `pre/post-redisplay-hook', unimplemented junk from
FSF (redisplay-end-trigger, `window-scroll-functions',
`window-size-change-functions'). If we want to port some
redisplay support from FSF, port the `fontified' property.
redisplay.c: Put in a check here (as well as redisplay_device()) for a stream
frame. We can get here directly through Lisp fun
`redisplay-frame'. Abort if frame not initialized.
redisplay.c: Check for stream frames/devices.
window.el: walk-windows was broken when a frame was given to WHICH-FRAMES.
it would loop forever. The FSF version fixes this but i didn't
sync to them because (a) it conses (bad for lazy-lock), (b) it
calls select-window.
author | ben |
---|---|
date | Sun, 09 Feb 2003 09:33:48 +0000 |
parents | 1706fd7322af |
children | 7b40ca6d2195 |
files | lisp/ChangeLog lisp/window.el src/ChangeLog src/console-stream.c src/event-msw.c src/event-stream.c src/menubar-msw.c src/menubar-x.c src/menubar.c src/menubar.h src/redisplay-output.c src/redisplay.c src/window.c src/winslots.h |
diffstat | 14 files changed, 184 insertions(+), 194 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Sun Feb 09 07:03:07 2003 +0000 +++ b/lisp/ChangeLog Sun Feb 09 09:33:48 2003 +0000 @@ -1,3 +1,22 @@ +2003-02-09 Ben Wing <ben@xemacs.org> + + * window.el (walk-windows): + walk-windows was broken when a frame was given to WHICH-FRAMES. + it would loop forever. The FSF version fixes this but i didn't + sync to them because (a) it conses (bad for lazy-lock), (b) it + calls select-window. + +2003-02-09 Ben Wing <ben@xemacs.org> + + * byte-optimize.el: + * byte-optimize.el (byte-compile-inline-expand): + * byte-optimize.el (byte-compile-unfold-lambda): + * byte-optimize.el (byte-optimize-form-code-walker): + * byte-optimize.el (byte-optimize-form): + * byte-optimize.el (byte-decompile-bytecode-1): + * byte-optimize.el (byte-optimize-lapcode): + Review carefully and sync up to 20.7 except for areas as noted. + 2003-02-07 Ben Wing <ben@xemacs.org> * hyper-apropos.el:
--- a/lisp/window.el Sun Feb 09 07:03:07 2003 +0000 +++ b/lisp/window.el Sun Feb 09 09:33:48 2003 +0000 @@ -96,19 +96,23 @@ If `window-system', search all devices on window-system consoles. Any other non-nil value means search all devices." ;; If we start from the minibuffer window, don't fail to come back to it. - (if (window-minibuffer-p (selected-window)) - (setq minibuf t)) - ;; Note that, like next-window & previous-window, this behaves a little - ;; strangely if the selected window is on an invisible frame: it hits - ;; some of the windows on that frame, and all windows on visible frames. - (let* ((walk-windows-start (selected-window)) - (walk-windows-current walk-windows-start)) - (while (progn - (setq walk-windows-current - (next-window walk-windows-current minibuf which-frames - which-devices)) - (funcall function walk-windows-current) - (not (eq walk-windows-current walk-windows-start)))))) + (let ((arg (cond + ((framep which-frames) which-frames) + ((devicep which-devices) which-devices) + (t nil)))) + (if (window-minibuffer-p (selected-window arg)) + (setq minibuf t)) + ;; Note that, like next-window & previous-window, this behaves a little + ;; strangely if the selected window is on an invisible frame: it hits + ;; some of the windows on that frame, and all windows on visible frames. + (let* ((walk-windows-start (selected-window arg)) + (walk-windows-current walk-windows-start)) + (while (progn + (setq walk-windows-current + (next-window walk-windows-current minibuf which-frames + which-devices)) + (funcall function walk-windows-current) + (not (eq walk-windows-current walk-windows-start))))))) ;; The old XEmacs definition of the above clause. It's more correct in ;; that it will never hit a window that's already been hit even if you ;; do something odd like `delete-other-windows', but has the problem
--- a/src/ChangeLog Sun Feb 09 07:03:07 2003 +0000 +++ b/src/ChangeLog Sun Feb 09 09:33:48 2003 +0000 @@ -1,3 +1,54 @@ +2003-02-09 Ben Wing <ben@xemacs.org> + + * console-stream.c: + * console-stream.c (stream_clear_region): + * console-stream.c (console_type_create_stream): + Abort when any attempts to output a stream console are made. + Should be caught sooner. + + * event-msw.c (mswindows_wnd_proc): + Don't redisplay() during sizing when the frame has not yet been + initialized completely. + + * event-stream.c (Fnext_event): + * menubar-msw.c (mswindows_handle_wm_initmenupopup): + * menubar-x.c (protected_menu_item_descriptor_to_widget_value): + * menubar.c: + * menubar.h: + Restore in_menu_callback. Bind it in menubar-{msw,x}.c when + calling filter functions and the like. Conditionalize on it, not + in_modal_loop, when issuing error in `next-event', otherwise we + bite the dust immediately -- event-msw.c purposely calls + Fnext_event() in a modal loop, and knows what it's doing. + + * redisplay-output.c (redisplay_unmap_subwindows_maybe): + * redisplay-output.c (redisplay_unmap_subwindows_except_us): + Formatting fixes. + + * redisplay.c: + * redisplay.c (redisplay_frame): + * redisplay.c (Fredisplay_echo_area): + * redisplay.c (redisplay_no_pre_idle_hook): + * redisplay.c (syms_of_redisplay): + * redisplay.c (vars_of_redisplay): + * window.c (Fwindow_pixel_edges): + * window.c (syms_of_window): + * winslots.h: + Delete lots of carcasses of attempts to add redisplay support for + font-lock -- `pre/post-redisplay-hook', unimplemented junk from + FSF (redisplay-end-trigger, `window-scroll-functions', + `window-size-change-functions'). If we want to port some + redisplay support from FSF, port the `fontified' property. + + * redisplay.c (redisplay_frame): + Put in a check here (as well as redisplay_device()) for a stream + frame. We can get here directly through Lisp fun + `redisplay-frame'. Abort if frame not initialized. + + * redisplay.c (Fredisplay_echo_area): + * redisplay.c (Fforce_cursor_redisplay): + Check for stream frames/devices. + 2003-02-09 Steve Youngs <youngs@xemacs.org> * s/darwin.h (DLSYM_NEEDS_UNDERSCORE): Define it.
--- a/src/console-stream.c Sun Feb 09 07:03:07 2003 +0000 +++ b/src/console-stream.c Sun Feb 09 09:33:48 2003 +0000 @@ -1,6 +1,6 @@ /* Stream device functions. Copyright (C) 1995 Free Software Foundation, Inc. - Copyright (C) 1996, 2001, 2002 Ben Wing. + Copyright (C) 1996, 2001, 2002, 2003 Ben Wing. This file is part of XEmacs. @@ -216,12 +216,44 @@ return 1; } +/* We used to try and check for redisplaying on stream devices (e.g. in + redisplay_device(), and beg out if so. However, we didn't always manage + completely. Now we do manage completely, and to verify this we abort if + we try to display a stream device. This might fix some crashes I've + been getting in pdump -- the only difference between crash and non-crash + is a few changes to the redisplay critical-section handling. */ + +static void +stream_window_output_begin (struct window *w) +{ + abort (); +} + +static void +stream_window_output_end (struct window *w) +{ + abort (); +} + +static void +stream_frame_output_begin (struct frame *f) +{ + abort (); +} + +static void +stream_frame_output_end (struct frame *f) +{ + abort (); +} + static void stream_output_display_block (struct window *w, struct display_line *dl, int block, int start, int end, int start_pixpos, int cursor_start, int cursor_width, int cursor_height) { + abort (); } static void @@ -230,6 +262,7 @@ int width, int height, Lisp_Object fcolor, Lisp_Object bcolor, Lisp_Object background_pixmap) { + abort (); } static int @@ -278,12 +311,16 @@ CONSOLE_HAS_METHOD (stream, init_frame_1); /* redisplay methods */ + CONSOLE_HAS_METHOD (stream, text_width); CONSOLE_HAS_METHOD (stream, left_margin_width); CONSOLE_HAS_METHOD (stream, right_margin_width); - CONSOLE_HAS_METHOD (stream, text_width); - CONSOLE_HAS_METHOD (stream, output_display_block); CONSOLE_HAS_METHOD (stream, divider_height); CONSOLE_HAS_METHOD (stream, eol_cursor_width); + CONSOLE_HAS_METHOD (stream, window_output_begin); + CONSOLE_HAS_METHOD (stream, window_output_end); + CONSOLE_HAS_METHOD (stream, frame_output_begin); + CONSOLE_HAS_METHOD (stream, frame_output_end); + CONSOLE_HAS_METHOD (stream, output_display_block); CONSOLE_HAS_METHOD (stream, clear_region); CONSOLE_HAS_METHOD (stream, flash); CONSOLE_HAS_METHOD (stream, ring_bell);
--- a/src/event-msw.c Sun Feb 09 07:03:07 2003 +0000 +++ b/src/event-msw.c Sun Feb 09 09:33:48 2003 +0000 @@ -3366,9 +3366,9 @@ } else { - GetClientRect(hwnd, &rect); - FRAME_PIXWIDTH(frame) = rect.right; - FRAME_PIXHEIGHT(frame) = rect.bottom; + GetClientRect (hwnd, &rect); + FRAME_PIXWIDTH (frame) = rect.right; + FRAME_PIXHEIGHT (frame) = rect.bottom; pixel_to_real_char_size (frame, rect.right, rect.bottom, &FRAME_MSWINDOWS_CHARWIDTH (frame), @@ -3406,7 +3406,8 @@ FRAME_VISIBLE_P (frame) = 1; } - if (!msframe->sizing || mswindows_dynamic_frame_resize) + if (frame->init_finished && + (!msframe->sizing || mswindows_dynamic_frame_resize)) redisplay (); } } @@ -3428,11 +3429,11 @@ efficiency, the code below has about one in 4 billion probability that the HDC is not recreated, provided that XEmacs is running sufficiently longer than 52 days. */ - if (DEVICE_MSWINDOWS_UPDATE_TICK(d) != message_tick) + if (DEVICE_MSWINDOWS_UPDATE_TICK (d) != message_tick) { - DEVICE_MSWINDOWS_UPDATE_TICK(d) = message_tick; - DeleteDC (DEVICE_MSWINDOWS_HCDC(d)); - DEVICE_MSWINDOWS_HCDC(d) = CreateCompatibleDC (NULL); + DEVICE_MSWINDOWS_UPDATE_TICK (d) = message_tick; + DeleteDC (DEVICE_MSWINDOWS_HCDC (d)); + DEVICE_MSWINDOWS_HCDC (d) = CreateCompatibleDC (NULL); } } break; @@ -3507,8 +3508,8 @@ case WM_HSCROLL: { /* Direction of scroll is determined by scrollbar instance. */ - int code = (int) LOWORD(wParam); - int pos = (short int) HIWORD(wParam); + int code = (int) LOWORD (wParam); + int pos = (short int) HIWORD (wParam); HWND hwndScrollBar = (HWND) lParam; struct gcpro gcpro1, gcpro2;
--- a/src/event-stream.c Sun Feb 09 07:03:07 2003 +0000 +++ b/src/event-stream.c Sun Feb 09 09:33:48 2003 +0000 @@ -2243,9 +2243,13 @@ for a timeout event, which will still get retrieved in such a case. However, the code to error in such a case has already been present for a long time without obvious problems so leaving it in isn't so - bad. --ben */ - if (in_modal_loop) - invalid_operation ("Attempt to call next-event inside modal loop", + bad. + + #### I used to conditionalize on in_modal_loop but that fails utterly + because event-msw.c specifically calls Fnext_event() inside of a modal + loop to clear the dispatch queue. --ben */ + if (in_menu_callback) + invalid_operation ("Attempt to call next-event inside menu callback", Qunbound); depth = begin_dont_check_for_quit ();
--- a/src/menubar-msw.c Sun Feb 09 07:03:07 2003 +0000 +++ b/src/menubar-msw.c Sun Feb 09 09:33:48 2003 +0000 @@ -738,6 +738,8 @@ mswindows_handle_wm_initmenupopup (HMENU hmenu, struct frame *frm) { struct handle_wm_initmenu z; + int depth = internal_bind_int (&in_menu_callback, 1); + Lisp_Object retval; z.menu = hmenu; z.frame = frm; @@ -748,9 +750,12 @@ #### This is bogus because by the very act of calling event_stream_protect_modal_loop(), we disable event retrieval! */ - return event_stream_protect_modal_loop ("Error during menu handling", - unsafe_handle_wm_initmenupopup, &z, - UNINHIBIT_QUIT); + retval = event_stream_protect_modal_loop ("Error during menu handling", + unsafe_handle_wm_initmenupopup, &z, + UNINHIBIT_QUIT); + unbind_to (depth); + + return retval; } Lisp_Object
--- a/src/menubar-x.c Sun Feb 09 07:03:07 2003 +0000 +++ b/src/menubar-x.c Sun Feb 09 09:33:48 2003 +0000 @@ -389,17 +389,21 @@ int filter_p) { struct menu_item_descriptor_to_widget_value midtwv; + int depth = internal_bind_int (&in_menu_callback, 1); + Lisp_Object retval; midtwv.desc = desc; midtwv.menu_type = menu_type; midtwv.deep_p = deep_p; midtwv.filter_p = filter_p; - if (UNBOUNDP - (event_stream_protect_modal_loop - ("Error during menu callback", - protected_menu_item_descriptor_to_widget_value_1, &midtwv, - UNINHIBIT_QUIT))) + retval = event_stream_protect_modal_loop + ("Error during menu callback", + protected_menu_item_descriptor_to_widget_value_1, &midtwv, + UNINHIBIT_QUIT); + unbind_to (depth); + + if (UNBOUNDP (retval)) return 0; return midtwv.wv;
--- a/src/menubar.c Sun Feb 09 07:03:07 2003 +0000 +++ b/src/menubar.c Sun Feb 09 09:33:48 2003 +0000 @@ -59,6 +59,7 @@ Lisp_Object Vblank_menubar; int popup_menu_titles; +int in_menu_callback; Lisp_Object Vmenubar_pointer_glyph;
--- a/src/menubar.h Sun Feb 09 07:03:07 2003 +0000 +++ b/src/menubar.h Sun Feb 09 09:33:48 2003 +0000 @@ -67,6 +67,7 @@ extern int popup_menu_up_p; extern int menubar_show_keybindings; extern int popup_menu_titles; +extern int in_menu_callback; #endif /* HAVE_MENUBARS */
--- a/src/redisplay-output.c Sun Feb 09 07:03:07 2003 +0000 +++ b/src/redisplay-output.c Sun Feb 09 09:33:48 2003 +0000 @@ -1278,7 +1278,9 @@ Potentially subwindows from the area in the box defined by the given parameters. ****************************************************************************/ -void redisplay_unmap_subwindows_maybe (struct frame* f, int x, int y, int width, int height) +void +redisplay_unmap_subwindows_maybe (struct frame *f, int x, int y, int width, + int height) { if (!NILP (XWEAK_LIST_LIST (FRAME_SUBWINDOW_CACHE (f)))) { @@ -1286,8 +1288,9 @@ } } -static void redisplay_unmap_subwindows_except_us (struct frame* f, int x, int y, int width, - int height, Lisp_Object subwindow) +static void +redisplay_unmap_subwindows_except_us (struct frame *f, int x, int y, int width, + int height, Lisp_Object subwindow) { if (!NILP (XWEAK_LIST_LIST (FRAME_SUBWINDOW_CACHE (f)))) {
--- a/src/redisplay.c Sun Feb 09 07:03:07 2003 +0000 +++ b/src/redisplay.c Sun Feb 09 09:33:48 2003 +0000 @@ -488,22 +488,8 @@ /* String to display for the arrow. */ Lisp_Object Voverlay_arrow_string; -Lisp_Object Vwindow_size_change_functions; -Lisp_Object Vwindow_scroll_functions; -Lisp_Object Qredisplay_end_trigger_functions, Vredisplay_end_trigger_functions; - Lisp_Object Qbuffer_list_changed_hook, Vbuffer_list_changed_hook; - -#define INHIBIT_REDISPLAY_HOOKS /* #### Until we've thought about - this more. */ -#ifndef INHIBIT_REDISPLAY_HOOKS -/* #### Chuck says: I think this needs more thought. - Think about this for 19.14. */ -Lisp_Object Vpre_redisplay_hook, Vpost_redisplay_hook; -Lisp_Object Qpre_redisplay_hook, Qpost_redisplay_hook; -#endif /* INHIBIT_REDISPLAY_HOOKS */ - static Fixnum last_display_warning_tick; static Fixnum display_warning_tick; Lisp_Object Qdisplay_warning_buffer; @@ -6591,47 +6577,8 @@ } } -static int -call_redisplay_end_triggers (struct window *w, void *closure) -{ - Charbpos lrpos = w->last_redisplay_pos; - w->last_redisplay_pos = 0; - if (!NILP (w->buffer) - && !NILP (w->redisplay_end_trigger) - && lrpos > 0) - { - Charbpos pos; - - if (MARKERP (w->redisplay_end_trigger) - && XMARKER (w->redisplay_end_trigger)->buffer != 0) - pos = marker_position (w->redisplay_end_trigger); - else if (INTP (w->redisplay_end_trigger)) - pos = XINT (w->redisplay_end_trigger); - else - { - w->redisplay_end_trigger = Qnil; - return 0; - } - - if (lrpos >= pos) - { - Lisp_Object window = wrap_window (w); - - va_run_hook_with_args_in_buffer_trapping_problems - ("Error in redisplay end trigger", - XBUFFER (w->buffer), - Qredisplay_end_trigger_functions, - 2, window, - w->redisplay_end_trigger, - INHIBIT_EXISTING_PERMANENT_DISPLAY_OBJECT_DELETION); - w->redisplay_end_trigger = Qnil; - } - } - - return 0; -} - -/* Ensure that all windows on the given frame are correctly displayed. */ +/* Ensure that all windows on the given frame are correctly displayed. + Return non-zero if pre-empted. */ int redisplay_frame (struct frame *f, int preemption_check) @@ -6639,6 +6586,11 @@ struct device *d = XDEVICE (f->device); int depth; + assert (f->init_finished); + + if (FRAME_STREAM_P (f)) /* nothing to do */ + return 0; + if (preemption_check && !DEVICE_IMPL_FLAG (d, XDEVIMPF_DONT_PREEMPT_REDISPLAY)) { @@ -6800,7 +6752,6 @@ /* Allow frame size changes to occur again. */ exit_redisplay_critical_section (depth); - map_windows (f, call_redisplay_end_triggers, 0); return 0; } @@ -7003,24 +6954,8 @@ INHIBIT_EXISTING_PERMANENT_DISPLAY_OBJECT_DELETION); last_display_warning_tick = display_warning_tick; } - /* The run_hook_trapping_problems functions are smart enough not - to do any evalling if the hook function is empty, so there - should not be any significant time loss. */ -#ifndef INHIBIT_REDISPLAY_HOOKS - run_hook_trapping_problems - ("Error in pre-redisplay-hook", - Qpre_redisplay_hook, - INHIBIT_EXISTING_PERMANENT_DISPLAY_OBJECT_DELETION); -#endif /* INHIBIT_REDISPLAY_HOOKS */ redisplay_without_hooks (); - -#ifndef INHIBIT_REDISPLAY_HOOKS - run_hook_trapping_problems - ("Error in post-redisplay-hook", - Qpost_redisplay_hook, - INHIBIT_EXISTING_PERMANENT_DISPLAY_OBJECT_DELETION); -#endif /* INHIBIT_REDISPLAY_HOOKS */ } Lisp_Object @@ -9187,6 +9122,9 @@ struct device *d = XDEVICE (XCAR (devcons)); Lisp_Object frmcons; + if (DEVICE_STREAM_P (d)) + continue; + DEVICE_FRAME_LOOP (frmcons, d) { struct frame *f = XFRAME (XCAR (frmcons)); @@ -9213,8 +9151,6 @@ redisplay_window (window, 0); exit_redisplay_critical_section (depth); MAYBE_DEVMETH (d, frame_output_end, (f)); - - call_redisplay_end_triggers (XWINDOW (window), 0); } } } @@ -9354,7 +9290,10 @@ */ (frame)) { - redisplay_redraw_cursor (decode_frame (frame), 1); + struct frame *f = decode_frame (frame); + + if (!FRAME_STREAM_P (f)) + redisplay_redraw_cursor (f, 1); return Qnil; } @@ -9699,13 +9638,8 @@ syms_of_redisplay (void) { DEFSYMBOL (Qcursor_in_echo_area); -#ifndef INHIBIT_REDISPLAY_HOOKS - DEFSYMBOL (Qpre_redisplay_hook); - DEFSYMBOL (Qpost_redisplay_hook); -#endif /* INHIBIT_REDISPLAY_HOOKS */ DEFSYMBOL (Qdisplay_warning_buffer); DEFSYMBOL (Qbar_cursor); - DEFSYMBOL (Qredisplay_end_trigger_functions); DEFSYMBOL (Qtop_bottom); DEFSYMBOL (Qbuffer_list_changed_hook); @@ -9856,18 +9790,6 @@ */ ); Vbar_cursor = Qnil; -#ifndef INHIBIT_REDISPLAY_HOOKS - xxDEFVAR_LISP ("pre-redisplay-hook", &Vpre_redisplay_hook /* -Function or functions to run before every redisplay. -*/ ); - Vpre_redisplay_hook = Qnil; - - xxDEFVAR_LISP ("post-redisplay-hook", &Vpost_redisplay_hook /* -Function or functions to run after every redisplay. -*/ ); - Vpost_redisplay_hook = Qnil; -#endif /* INHIBIT_REDISPLAY_HOOKS */ - DEFVAR_LISP ("buffer-list-changed-hook", &Vbuffer_list_changed_hook /* Function or functions to call when a frame's buffer list has changed. This is called during redisplay, before redisplaying each frame. @@ -9891,32 +9813,6 @@ This way, the warnings don't obliterate the splash screen. */ inhibit_warning_display = 1; - DEFVAR_LISP ("window-size-change-functions", - &Vwindow_size_change_functions /* -Not currently implemented. -Functions called before redisplay, if window sizes have changed. -The value should be a list of functions that take one argument. -Just before redisplay, for each frame, if any of its windows have changed -size since the last redisplay, or have been split or deleted, -all the functions in the list are called, with the frame as argument. -*/ ); - Vwindow_size_change_functions = Qnil; - - DEFVAR_LISP ("window-scroll-functions", &Vwindow_scroll_functions /* -Not currently implemented. -Functions to call before redisplaying a window with scrolling. -Each function is called with two arguments, the window -and its new display-start position. Note that the value of `window-end' -is not valid when these functions are called. -*/ ); - Vwindow_scroll_functions = Qnil; - - DEFVAR_LISP ("redisplay-end-trigger-functions", - &Vredisplay_end_trigger_functions /* -See `set-window-redisplay-end-trigger'. -*/ ); - Vredisplay_end_trigger_functions = Qnil; - DEFVAR_BOOL ("column-number-start-at-one", &column_number_start_at_one /* *Non-nil means column display number starts at 1. */ );
--- a/src/window.c Sun Feb 09 07:03:07 2003 +0000 +++ b/src/window.c Sun Feb 09 09:33:48 2003 +0000 @@ -1739,34 +1739,6 @@ return ncol; } -#if 0 /* bogus FSF crock */ - -DEFUN ("window-redisplay-end-trigger", - Fwindow_redisplay_end_trigger, 0, 1, 0, /* -Return WINDOW's redisplay end trigger value. -See `set-window-redisplay-end-trigger' for more information. -*/ - (window)) -{ - return decode_window (window)->redisplay_end_trigger; -} - -DEFUN ("set-window-redisplay-end-trigger", - Fset_window_redisplay_end_trigger, 2, 2, 0, /* -Set WINDOW's redisplay end trigger value to VALUE. -VALUE should be a buffer position (typically a marker) or nil. -If it is a buffer position, then if redisplay in WINDOW reaches a position -beyond VALUE, the functions in `redisplay-end-trigger-functions' are called -with two arguments: WINDOW, and the end trigger value. -Afterwards the end-trigger value is reset to nil. -*/ - (window, value)) -{ - return (decode_window (window)->redisplay_end_trigger = value); -} - -#endif /* 0 */ - DEFUN ("window-pixel-edges", Fwindow_pixel_edges, 0, 1, 0, /* Return a list of the pixel edge coordinates of WINDOW. The returned list is of the form (LEFT TOP RIGHT BOTTOM), @@ -5404,10 +5376,6 @@ DEFSUBR (Fset_window_hscroll); DEFSUBR (Fmodeline_hscroll); DEFSUBR (Fset_modeline_hscroll); -#if 0 /* bogus FSF crock */ - DEFSUBR (Fwindow_redisplay_end_trigger); - DEFSUBR (Fset_window_redisplay_end_trigger); -#endif DEFSUBR (Fwindow_pixel_edges); DEFSUBR (Fwindow_text_area_pixel_edges); DEFSUBR (Fwindow_point);
--- a/src/winslots.h Sun Feb 09 07:03:07 2003 +0000 +++ b/src/winslots.h Sun Feb 09 09:33:48 2003 +0000 @@ -164,10 +164,6 @@ WINDOW_SLOT (line_cache_last_updated) - /* If redisplay in this window goes beyond this buffer position, - must run the redisplay-end-trigger-functions. */ - WINDOW_SLOT (redisplay_end_trigger) - /*** Non-specifier vars of window and window config ***/ /* Non-nil means window is marked as dedicated. */