diff src/menubar-msw.c @ 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 fffe735e63ee
children b531bf8658e9
line wrap: on
line diff
--- 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