>>>> "Andy" == Andy Piper <andyp(a)bea.com>
writes:
Andy> At 09:59 PM 9/27/01 +0900, Stephen J. Turnbull wrote:
> 1. "gc in windows procedure" crashes.
Andy> If the ChangeLogs are to be believed then this won't have
Andy> gone away.
Don't believe everything you don't read. CVS diff on the sources is
your friend. (^^;;;
Sorry, it's not just the patches you have to disentangle when you're
working with Ben's contributions.... My bad.
src/ChangeLog addition:
2001-06-08 Ben Wing <ben(a)xemacs.org>
------ gc-in-window-procedure fixes ------
* alloc.c:
* alloc.c (struct post_gc_action):
* alloc.c (register_post_gc_action):
* alloc.c (run_post_gc_actions):
* alloc.c (garbage_collect_1):
Create "post-gc actions", to avoid those dreaded "GC during window
procedure" problems.
* event-msw.c:
Abort, clean and simple, when GC in window procedure. We want
to flush these puppies out.
* glyphs-msw.c:
* glyphs-msw.c (finalize_destroy_window):
* glyphs-msw.c (mswindows_finalize_image_instance):
Use a post-gc action when destroying subwindows.
* lisp.h:
Declare register_post_gc_action().
* scrollbar-msw.c:
* scrollbar-msw.c (unshow_that_mofo):
Use a post-gc action when unshowing scrollbar windows, if in gc.
* redisplay.c (mark_redisplay):
Add comment about the utter evilness of what's going down here.
------ cygwin setitimer fixes ------
* Makefile.in.in (sheap_objs):
* Makefile.in.in (profile_objs):
* Makefile.in.in (objs):
Compile profile.c only when HAVE_SETITIMER.
* nt.c (mswindows_sigset):
* nt.c (mswindows_sighold):
* nt.c (mswindows_sigrelse):
* nt.c (mswindows_sigpause):
* nt.c (mswindows_raise):
* nt.c (close_file_data):
Style fixes.
* nt.c:
Move setitimer() emulation to win32.c, because Cygwin needs it too.
* profile.c:
* profile.c (Fstart_profiling):
* profile.c (Fstop_profiling):
Make sure we don't compile if no setitimer(). Use qxe_setitimer()
instead of just plain setitimer().
* signal.c:
* signal.c (set_one_shot_timer):
* signal.c (alarm):
Define qxe_setitimer() as an encapsulation around setitimer() --
call setitimer() directly unless Cygwin or MS Win, in which case
we use our simulated version in win32.c.
* systime.h:
* systime.h (struct itimerval):
* systime.h (ITIMER_REAL):
Prototype mswindows_setitimer() and qxe_setitimer(). Long
comment about "qxe" and the policy regarding encapsulation.
* win32.c:
* win32.c (setitimer_helper_proc):
* win32.c (setitimer_helper_period):
* win32.c (setitimer_helper):
* win32.c (mswindows_setitimer):
Move setitimer() emulation here, so Cygwin can use it.
Rename a couple of functions and variables to be longer and more
descriptive. In setitimer_helper_proc(), send the signal
using either mswindows_raise() or (on Cygwin) kill(). If for
some reason we are still getting lockups, we'll change the kill()
to directly invoke the signal handlers.
------ windows shell fixes ------
* callproc.c:
* ntproc.c:
Comments about how these two files must die.
* callproc.c (init_callproc):
On MS Windows, init shell-file-name from SHELL, then COMSPEC,
not just COMSPEC. (more correct and closer to FSF.) Don't
force a value for SHELL into the environment. (Comments added
to explain why not.)
* nt.c (init_user_info):
Don't shove a fabricated SHELL into the environment. See above.
lisp/ChangeLog addition:
2001-06-08 Ben Wing <ben(a)xemacs.org>
* process.el: comment about shell-command-switch.
* process.el (shell-quote-argument): Need to quote a null
argument, too. From Dan Holmsand.
* startup.el (normal-top-level): Delete some unused FSF junk.
* startup.el (command-line-early):
* startup.el (command-line): Call MS Windows init function.
* win32-native.el:
* win32-native.el (mswindows-system-shells): New.
* win32-native.el (mswindows-system-shell-p): New.
* win32-native.el (init-mswindows-at-startup): New.
* win32-native.el (mswindows-quote-one-vc-runtime-arg):
* win32-native.el (mswindows-quote-one-simple-arg):
* win32-native.el (mswindows-quote-one-command-arg):
* win32-native.el (mswindows-construct-process-command-line-alist):
Correct comments at top. Correctly handle passing arguments
to Cygwin programs and to bash. Fix quoting of zero-length
arguments (from Dan Holmsand). Set shell-command-switch based
on shell-file-name, which in turn comes from env var SHELL.
--
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Institute of Policy and Planning Sciences Tel/fax: +81 (298) 53-5091
_________________ _________________ _________________ _________________
What are those straight lines for? "XEmacs rules."