view modules/ChangeLog @ 1268:fffe735e63ee

[xemacs-hg @ 2003-02-07 11:50:50 by ben] fixes for menu crashes + better preemption behavior This contains two related changes: (1) Fix problems with reentrant calling of lwlib and associated crashes when selecting menu items. (2) Improve redisplay handling of preemption. Turn on lazy lock and hold down page-down or page-up and you'll see what I mean. They are related because they both touch on the code that retrieves events and handles the internal queues. console-msw.h, event-msw.c, event-stream.c, events.h, menubar-msw.c, menubar-x.c, menubar.h: mswindows_protect_modal_loop() has been generalized to event_stream_protect_modal_loop(), and moved to event-stream.c. mswindows_in_modal_loop ->in_modal_loop likewise. Changes in event-msw.c and menubar-msw.c for the new names and calling format (use structures instead of static variables in menubar-msw.c). Delete former in_menu_callback and use in_modal_loop in its place. Remove emacs_mswindows_quit_check_disallowed_p(), superseded by in_modal_loop. Use event_stream_protect_modal_loop() in pre_activate_callback() so that we get no lwlib reentrancy. Rearrange some of the code in event-msw.c to be grouped better. Make mswindows_drain_windows_queue() respect in_modal_loop and do nothing if so. cmdloop.c, event-stream.c: Don't conditionalize on LWLIB_MENUBARS_LUCID when giving error when in_modal_loop, and give better error. event-Xt.c, event-gtk.c: If in_modal_loop, only retrieve process and timeout events. Don't retrieve any X events because processing them can lead to reentrancy in lwlib -> death. event-stream.c: Remove unused parameter to check_event_stream_ok() and change all callers. lisp.h, event-stream.c: Rearrange some functions for increased clarity -- in particular, group all the input-pending/QUIT-related stuff together, and put right next to next-event stuff, to which it's related. Add the concept of "HOW_MANY" -- when asking whether user input is pending, you can ask if at least HOW_MANY events are pending, not just if any are. Add parameter to detect_input_pending() for this. Change recursive_sit_for from a Lisp_Object (which could only be Qt or Qnil) to an int, like it should be. event-Xt.c, event-gtk.c, event-xlike-inc.c: New file. Abstract out similar code in event_{Xt/gtk}_pending_p() and write only once, using include-file tricks. Rewrite this function to implement HOW_MANY and only process events when not in_modal_loop. event-msw.c: Implement HOW_MANY and only process events when not in_modal_loop. event-tty.c: Implement HOW_MANY. redisplay.c: Add var `max-preempts' to control maximum number of preempts. (#### perhaps not useful) Rewrite preemption check so that, rather than preempting when any user events are available, only preempt when a certain number (currently 4) of them are backed up. This effectively allows redisplay to proceed to completion in the presence of a fast auto-repeat (usually the auto-repeating is generated dynamically as necessary), and you get much better display behavior with lazy-lock active. event-unixoid.c: Comment changes. event-stream.c: Rewrite discard-input much more simply and safely using the drain-queue functions. I think the old version might loop forever if called when in_modal_loop. SEMI-UNRELATED CHANGES: ----------------------- event-stream.c: Turn QUIT-checking back on when running the pre-idle hook so it can be quit out of. indent.c: Document exact functioning of `vertical-motion' better, and its differences from GNU Emacs.
author ben
date Fri, 07 Feb 2003 11:50:54 +0000
parents a0845169de0a
children d65d8a05e272
line wrap: on
line source

2003-01-30  Robert Pluim  <rpluim@bigfoot.com>

	* Makefile.common: FreeBSD make compatability fixes: expand
	SRC_SRCS immediately, use MODCC rather than CC to prevent
	overriding by top-level makefile.

2003-01-15  Jerry James  <james@eecs.ku.edu>

	* ldap/eldap.c: Apply Ben's postgresql change to LDAP also.

2002-12-16  Ben Wing  <ben@xemacs.org>

	* postgresql/postgresql.c:
	remove ifdef USE_KKCC.

2003-01-04  Steve Youngs  <youngs@xemacs.org>

	* XEmacs 21.5.10 "burdock" is released.

2002-11-17  Ben Wing  <ben@xemacs.org>

	* postgresql/Makefile.in.in:
	* postgresql/Makefile.in.in (SRCS):
	* postgresql/Makefile.in.in (SRC_SRCS): Removed.
	* postgresql/Makefile.in.in (OBJS): Removed.
	* postgresql/Makefile.in.in (SHELL): Removed.
	* postgresql/Makefile.in.in (RM): Removed.
	* postgresql/Makefile.in.in (PROGNAME): Removed.
	* postgresql/Makefile.in.in (CFLAGS): Removed.
	* postgresql/Makefile.in.in (INSTALL): Removed.
	* postgresql/Makefile.in.in (version): Removed.
	* postgresql/Makefile.in.in (prefix): Removed.
	* postgresql/Makefile.in.in (exec_prefix): Removed.
	* postgresql/Makefile.in.in (libdir): Removed.
	* postgresql/Makefile.in.in (instvardir): Removed.
	* postgresql/Makefile.in.in (configuration): Removed.
	* postgresql/Makefile.in.in (moduledir): Removed.
	* postgresql/Makefile.in.in (with_modules): Removed.
	* postgresql/Makefile.in.in (srcdir): Removed.
	* postgresql/Makefile.in.in (VPATH): Removed.
	* postgresql/Makefile.in.in (CC): Removed.
	* postgresql/Makefile.in.in (MODARCHDIR): Removed.
	* postgresql/Makefile.in.in (MAKE_DOCFILE): Removed.
	* postgresql/Makefile.in.in (MODCFLAGS): Removed.
	* postgresql/Makefile.in.in (INSTALLPATH): Removed.
	* postgresql/Makefile.in.in (INSTALL_PROGRAM): Removed.
	* postgresql/Makefile.in.in (OBJECT_TO_BUILD): Removed.
	* postgresql/Makefile.in.in (.PHONY): Removed.
	* postgresql/Makefile.in.in (all): Removed.
	* postgresql/Makefile.in.in (.c.o): Removed.
	* postgresql/Makefile.in.in (clean): Removed.
	* postgresql/Makefile.in.in (distclean): Removed.
	* postgresql/Makefile.in.in (install): Removed.
	Move common stuff into modues/common/Makefile.common. (Also
	add extraclean target and a couple of other fixes in that file.)

	* postgresql/configure.ac:
	Extract out common configure stuff into
	modules/common/configure-{pre,post}.ac.

	* postgresql/postgresql.c (WARNING):
	Fix warning.

2002-11-17  Ben Wing  <ben@xemacs.org>

	* ldap/Makefile.in.in:
	* ldap/Makefile.in.in (SRCS):
	* ldap/Makefile.in.in (SRC_SRCS): Removed.
	* ldap/Makefile.in.in (OBJS): Removed.
	* ldap/Makefile.in.in (SHELL): Removed.
	* ldap/Makefile.in.in (RM): Removed.
	* ldap/Makefile.in.in (PROGNAME): Removed.
	* ldap/Makefile.in.in (CFLAGS): Removed.
	* ldap/Makefile.in.in (INSTALL): Removed.
	* ldap/Makefile.in.in (version): Removed.
	* ldap/Makefile.in.in (prefix): Removed.
	* ldap/Makefile.in.in (exec_prefix): Removed.
	* ldap/Makefile.in.in (libdir): Removed.
	* ldap/Makefile.in.in (instvardir): Removed.
	* ldap/Makefile.in.in (configuration): Removed.
	* ldap/Makefile.in.in (moduledir): Removed.
	* ldap/Makefile.in.in (with_modules): Removed.
	* ldap/Makefile.in.in (srcdir): Removed.
	* ldap/Makefile.in.in (VPATH): Removed.
	* ldap/Makefile.in.in (CC): Removed.
	* ldap/Makefile.in.in (MODARCHDIR): Removed.
	* ldap/Makefile.in.in (MAKE_DOCFILE): Removed.
	* ldap/Makefile.in.in (MODCFLAGS): Removed.
	* ldap/Makefile.in.in (INSTALLPATH): Removed.
	* ldap/Makefile.in.in (INSTALL_PROGRAM): Removed.
	* ldap/Makefile.in.in (OBJECT_TO_BUILD): Removed.
	* ldap/Makefile.in.in (.PHONY): Removed.
	* ldap/Makefile.in.in (all): Removed.
	* ldap/Makefile.in.in (.c.o): Removed.
	* ldap/Makefile.in.in (clean): Removed.
	* ldap/Makefile.in.in (distclean): Removed.
	* ldap/Makefile.in.in (install): Removed.
	Move common stuff into modues/common/Makefile.common. (Also
	add extraclean target and a couple of other fixes in that file.)

	* ldap/configure.ac:
	* ldap/configure.ac (have_ldap):
	Extract out common configure stuff into
	modules/common/configure-{pre,post}.ac.

2002-11-17  Ben Wing  <ben@xemacs.org>

	* common/Makefile.common:
	* common/Makefile.common (SHELL):
	Common stuff is here.

2002-09-20  Steve Youngs  <youngs@xemacs.org>

	* postgresql/Makefile.in.in (LDFLAGS): Add @ld_switch_all@ to pick
	up '--site-libraries'.

	* ldap/Makefile.in.in (LDFLAGS): Ditto.

2002-08-08  Jerry James  <james@xemacs.org>

	* auto-autoloads.el: New file containing module autoloads.
	* auto-autoloads.elc: Ditto.
	* README: Update to reflect the new architecture.
	* ldap/configure.ac: New file.
	* ldap/configure: Ditto.
	* ldap/eldap.h: Copy the version from src.
	* ldap/eldap.c: Ditto.  Add autoloads.
	* ldap/eldap.c (unload_eldap): New function to unstaticpro symbols
	defined in this file.
	* ldap/install-sh: New script for independent module building.
	* ldap/Makefile: Remove in favor of autoconf solution.
	* ldap/Makefile.in.in: New file containing the autoconf solution.
	* postgresql: New directory.
	* postgresql/.cvsignore: New file.
	* postgresql/configure.ac: Ditto.
	* postgresql/configure: Ditto.
	* postgresql/install-sh: New script for independent module
	building.
	* postgresql/Makefile.in.in: New file.
	* postgresql/postgresql.h: Copy the version from src.
	* postgresql/postgresql.c: Ditto.  Add autoloads.
	* sample/Makefile: Move to internal and external subdirectories.
	* sample/sample.c: Ditto.
	* sample/external: New directory containing sample external
	modules.
	* sample/external/.cvsignore: New file.
	* sample/external/configure.ac: Ditto.
	* sample/external/install-sh: Ditto.
	* sample/external/Makefile.in.in: New.
	* sample/external/sample.c: Move from next higher directory.
	* sample/internal: New directory containing sample internal
	modules.
	* sample/internal/.cvsignore: New file.
	* sample/internal/configure.ac: Ditto.
	* sample/internal/install-sh: Ditto.
	* sample/internal/Makefile.in.in: New.
	* sample/internal/sample.c: Move from next higher directory.

2002-08-30  Steve Youngs  <youngs@xemacs.org>

	* XEmacs 21.5.9 "brussels sprouts" is released.

2002-07-27  Steve Youngs  <youngs@xemacs.org>

	* XEmacs 21.5.8 "broccoli" is released.

2002-07-02  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.7 "broccoflower" is released.

2002-04-05  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.6 "bok choi" is released.

2002-03-12  Ben Wing  <ben@xemacs.org>

	* The Great Mule Merge: placeholder.

2002-03-05  Stephen J. Turnbull  <stephen@xemacs.org>

	* XEmacs 21.5.5 "beets" is released.

2002-02-14  Sean MacLennan  <seanm@seanm.ca>

	* base64/base64.c - update Bufpos => Charbpos