changeset 859:84762348c6f9

[xemacs-hg @ 2002-06-01 08:06:46 by ben] fix process problems etc. process.el: Insert before, not after, point. buffer.c: Fix bug noted by someone. console-tty.h, device.h, emacs.c, filelock.c, nt.c, process-nt.c, process-unix.c, process.c, redisplay-tty.c, sysdep.c, sysproc.h, win32.c: Redo problem with syssignal.h/sysproc.h dependence noted by Didier -- rather than require one included before the other (error-prone), just include syssignal.h from sysproc.h where it's needed. inline.c: Include sysfile.h due to inline funs in that header. extents.c: Fix bug noted by Andrew Cohen <cohen@andy.bu.edu>. process-unix.c: Fix other bug noted by Andrew Cohen <cohen@andy.bu.edu>. process.c: Add process-has-separate-stderr-p, used by call-process-internal.
author ben
date Sat, 01 Jun 2002 08:06:55 +0000
parents 2c12fe2da451
children b6fa6d07e6f8
files lisp/ChangeLog lisp/process.el src/ChangeLog src/buffer.c src/console-tty.h src/depend src/device.h src/emacs.c src/extents.c src/filelock.c src/inline.c src/nt.c src/process-nt.c src/process-unix.c src/process.c src/redisplay-tty.c src/sysdep.c src/sysproc.h src/win32.c
diffstat 19 files changed, 301 insertions(+), 219 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Fri May 31 09:38:49 2002 +0000
+++ b/lisp/ChangeLog	Sat Jun 01 08:06:55 2002 +0000
@@ -1,3 +1,8 @@
+2002-06-01  Ben Wing  <ben@xemacs.org>
+
+	* process.el (call-process-internal):
+	Insert before, not after, point.
+
 2002-05-30  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
 
 	* code-process.el (call-process): Ensure that the argument to
--- a/lisp/process.el	Fri May 31 09:38:49 2002 +0000
+++ b/lisp/process.el	Sat Jun 01 08:06:55 2002 +0000
@@ -186,100 +186,129 @@
 		(set-marker (process-mark proc) (point buffer) buffer))
 	    (if errbuf
 		(set-marker (process-stderr-mark proc) (point errbuf) errbuf))
-	    ;; now do I/O, very carefully!  the unwind-protect makes sure
-	    ;; to clear out the sentinel, since it does a `throw', which would
-	    ;; have no catch (or writes to a file -- we only want this on
-	    ;; normal exit)
-	    (unwind-protect
-		;; if not NO-WAIT, set a sentinel to return the exit
-		;; status.  it will throw to this catch so we can exit
-		;; properly.
-		(catch 'call-process-done
-		  (set-process-sentinel
-		   proc
-		   (if no-wait
-		       ;; we're trying really really hard to emulate
-		       ;; the old call-process, which would save the
-		       ;; stderr to a file even if discarding output.  so
-		       ;; we set a sentinel to save the output when
-		       ;; we finish.
-		       ;;
-		       ;; #### not clear if we should be doing this.
-		       ;;
-		       ;; NOTE NOTE NOTE: Due to the total bogosity of
-		       ;; dynamic scoping, and the lack of closures, we
-		       ;; have to be careful how we write the first
-		       ;; sentinel below since it may be executed after
-		       ;; this function has returned -- thus we fake a
-		       ;; closure. (This doesn't apply to the second one,
-		       ;; which only gets executed within the
-		       ;; unwind-protect.)
-		       (if (and errbuf stderr)
-			   (set-process-sentinel
-			    proc
-			    `(lambda (proc status)
-			       (set-process-sentinel proc nil)
-			       (with-current-buffer ,errbuf
-				 (write-region-internal
-				  1 (1+ (buffer-size))
-				  ,stderr
-				  nil 'major-rms-kludge-city nil
-				  coding-system-for-write))
-			       (kill-buffer ,errbuf))))
-		     ;; normal sentinel: maybe write out stderr and return
-		     ;; status.
-		     #'(lambda (proc status)
-			 (when (and errbuf stderr)
-			   (with-current-buffer errbuf
-			     (write-region-internal
-			      1 (1+ (buffer-size)) stderr
-			      nil 'major-rms-kludge-city nil
-			      coding-system-for-write)))
-			 (cond ((eq 'exit (process-status proc))
-				(set-process-sentinel proc nil)
-				(throw 'call-process-done
-				       (process-exit-status proc)))
-			       ((eq 'signal (process-status proc))
-				(set-process-sentinel proc nil)
-				(throw 'call-process-done status))))))
-		  (if (not no-wait)
-		      ;; we're waiting.  send the input and loop forever,
-		      ;; handling process output and maybe redisplaying.
-		      ;; exit happens through the sentinel or C-g.  if
-		      ;; C-g, send SIGINT the first time, EOF if not
-		      ;; already done so (might make the process exit),
-		      ;; and keep waiting.  Another C-g will exit the
-		      ;; whole function, and the unwind-protect will
-		      ;; kill the process. (Hence the documented semantics
-		      ;; of SIGINT/SIGKILL.)
-		      (let (eof-sent)
-			(condition-case nil
-			    (progn
-			      (when inbuf
-				(process-send-region proc start end inbuf))
-			      (process-send-eof proc)
-			      (setq eof-sent t)
-			      (while t
-				(accept-process-output proc)
-				(if display (sit-for 0))))
-			  (quit
-			   (process-send-signal 'SIGINT proc)
-			   (unless eof-sent
-			     (process-send-eof proc))
-			   (while t
-			     (accept-process-output proc)
-			     (if display (sit-for 0))))))
-		    ;; discard and no wait: send the input, set PROC
-		    ;; and ERRBUF to nil so that the unwind-protect
-		    ;; forms don't erase the sentinel, kill the process,
-		    ;; or kill ERRBUF (the sentinel does that), and exit.
-		    (when inbuf
-		      (process-send-region proc start end inbuf))
-		    (process-send-eof proc)
-		    (setq errbuf nil)
-		    (setq proc nil)))
-	      (if proc (set-process-sentinel proc nil)))))
-      ;; unwind-protect forms.
+	    ;; bind a function to set the point(s) in buffer and
+	    ;; stderr-buffer.  this is because the documentation says to
+	    ;; insert *BEFORE* point, but we end up inserting after because
+	    ;; only the process mark moves forward, not point.  we
+	    ;; synchronize after every place output might happen, in
+	    ;; sentinels, and in an unwind-protect, to make *SURE* that
+	    ;; point is correct. (We could do this more easily and perhaps
+	    ;; more safely using a process filter, but that would create a
+	    ;; LOT of garbage since all the data would get sent in
+	    ;; strings.)
+	    (flet ((synchronize-point (proc)
+		     (let ((pb (process-buffer proc))
+			   (pm (process-mark proc)))
+		       (if (and pb (buffer-live-p pb) (marker-buffer pm))
+			   (goto-char pm pb))
+		       (if (process-has-separate-stderr-p proc)
+			   (let ((pseb (process-stderr-buffer proc))
+				 (psem (process-stderr-mark proc)))
+			     (if (and pseb (not (eq pb pseb))
+				      (buffer-live-p pseb)
+				      (marker-buffer psem))
+				 (goto-char psem pseb)))))))
+	      ;; now do I/O, very carefully!  the unwind-protect makes sure
+	      ;; to clear out the sentinel, since it does a `throw', which
+	      ;; would have no catch (or writes to a file -- we only want
+	      ;; this on normal exit)
+	      (unwind-protect
+		  ;; if not NO-WAIT, set a sentinel to return the exit
+		  ;; status.  it will throw to this catch so we can exit
+		  ;; properly.
+		  (catch 'call-process-done
+		    (set-process-sentinel
+		     proc
+		     (if no-wait
+			 ;; we're trying really really hard to emulate
+			 ;; the old call-process, which would save the
+			 ;; stderr to a file even if discarding output.  so
+			 ;; we set a sentinel to save the output when
+			 ;; we finish.
+			 ;;
+			 ;; #### not clear if we should be doing this.
+			 ;;
+			 ;; NOTE NOTE NOTE: Due to the total bogosity of
+			 ;; dynamic scoping, and the lack of closures, we
+			 ;; have to be careful how we write the first
+			 ;; sentinel below since it may be executed after
+			 ;; this function has returned -- thus we fake a
+			 ;; closure. (This doesn't apply to the second one,
+			 ;; which only gets executed within the
+			 ;; unwind-protect.)
+			 (if (and errbuf stderr)
+			     (set-process-sentinel
+			      proc
+			      `(lambda (proc status)
+				 (set-process-sentinel proc nil)
+				 (synchronize-point proc)
+				 (with-current-buffer ,errbuf
+				   (write-region-internal
+				    1 (1+ (buffer-size))
+				    ,stderr
+				    nil 'major-rms-kludge-city nil
+				    coding-system-for-write))
+				 (kill-buffer ,errbuf))))
+		       ;; normal sentinel: maybe write out stderr and return
+		       ;; status.
+		       #'(lambda (proc status)
+			   (synchronize-point proc)
+			   (when (and errbuf stderr)
+			     (with-current-buffer errbuf
+			       (write-region-internal
+				1 (1+ (buffer-size)) stderr
+				nil 'major-rms-kludge-city nil
+				coding-system-for-write)))
+			   (cond ((eq 'exit (process-status proc))
+				  (set-process-sentinel proc nil)
+				  (throw 'call-process-done
+					 (process-exit-status proc)))
+				 ((eq 'signal (process-status proc))
+				  (set-process-sentinel proc nil)
+				  (throw 'call-process-done status))))))
+		    (if (not no-wait)
+			;; we're waiting.  send the input and loop forever,
+			;; handling process output and maybe redisplaying.
+			;; exit happens through the sentinel or C-g.  if
+			;; C-g, send SIGINT the first time, EOF if not
+			;; already done so (might make the process exit),
+			;; and keep waiting.  Another C-g will exit the
+			;; whole function, and the unwind-protect will
+			;; kill the process. (Hence the documented semantics
+			;; of SIGINT/SIGKILL.)
+			(let (eof-sent)
+			  (condition-case nil
+			      (progn
+				(when inbuf
+				  (process-send-region proc start end inbuf))
+				(process-send-eof proc)
+				(setq eof-sent t)
+				(while t
+				  (accept-process-output proc)
+				  (synchronize-point proc)
+				  (if display (sit-for 0))))
+			    (quit
+			     (process-send-signal 'SIGINT proc)
+			     (unless eof-sent
+			       (process-send-eof proc))
+			     (while t
+			       (accept-process-output proc)
+			       (synchronize-point proc)
+			       (if display (sit-for 0))))))
+		      ;; discard and no wait: send the input, set PROC
+		      ;; and ERRBUF to nil so that the unwind-protect
+		      ;; forms don't erase the sentinel, kill the process,
+		      ;; or kill ERRBUF (the sentinel does that), and exit.
+		      (when inbuf
+			(process-send-region proc start end inbuf))
+		      (process-send-eof proc)
+		      (setq errbuf nil)
+		      (setq proc nil)))
+		;; inner unwind-protect, once we're ready to do I/O.
+		(when proc
+		  (set-process-sentinel proc nil)
+		  (synchronize-point proc))))))
+      ;; outer unwind-protect forms, to make sure we always clean up.
       (if (and inbuf kill-inbuf) (kill-buffer inbuf))
       (if (and errbuf kill-errbuf) (kill-buffer errbuf))
       (condition-case nil
--- a/src/ChangeLog	Fri May 31 09:38:49 2002 +0000
+++ b/src/ChangeLog	Sat Jun 01 08:06:55 2002 +0000
@@ -1,3 +1,38 @@
+2002-06-01  Ben Wing  <ben@xemacs.org>
+
+	* buffer.c (init_initial_directory):
+	Fix bug noted by someone.
+	
+	* console-tty.h:
+	* device.h (struct device):
+	* emacs.c:
+	* filelock.c:
+	* nt.c:
+	* process-nt.c:
+	* process-unix.c:
+	* process.c:
+	* redisplay-tty.c:
+	* sysdep.c:
+	* sysproc.h:
+	* win32.c:
+	Redo problem with syssignal.h/sysproc.h dependence noted by Didier
+	-- rather than require one included before the other
+	(error-prone), just include syssignal.h from sysproc.h
+	where it's needed.
+	
+	* inline.c:
+	Include sysfile.h due to inline funs in that header.
+	
+	* extents.c (Fset_extent_parent):
+	Fix bug noted by Andrew Cohen <cohen@andy.bu.edu>.
+	
+	* process-unix.c (unix_open_network_stream):
+	* process-unix.c (unix_open_multicast_group):
+	Fix other bug noted by Andrew Cohen <cohen@andy.bu.edu>.
+
+	* process.c (syms_of_process):
+	Add process-has-separate-stderr-p, used by call-process-internal.
+
 2002-05-28  Martin Köbele <mkoebele@mkoebele.de>, Jens Müller <jmueller@informatik.uni-tuebingen.de>
 
 	* lrecord.h (lrecord_type): Add lrecord_type_weak_box to
--- a/src/buffer.c	Fri May 31 09:38:49 2002 +0000
+++ b/src/buffer.c	Sat Jun 01 08:06:55 2002 +0000
@@ -2841,7 +2841,8 @@
     Extbyte *modname = mswindows_get_module_file_name ();
       
     assert (modname);
-    assert ((p = xetcsrchr (modname, '\\')));
+    p = xetcsrchr (modname, '\\');
+    assert (p);
     XECOPY_TCHAR (p, '\0');
   
     qxeSetCurrentDirectory (modname);
--- a/src/console-tty.h	Fri May 31 09:38:49 2002 +0000
+++ b/src/console-tty.h	Sat Jun 01 08:06:55 2002 +0000
@@ -33,7 +33,6 @@
 #define INCLUDED_console_tty_h_
 
 #include "console.h"
-#include "syssignal.h" /* Always include before systty.h */
 #include "systty.h"
 
 DECLARE_CONSOLE_TYPE (tty);
--- a/src/depend	Fri May 31 09:38:49 2002 +0000
+++ b/src/depend	Sat Jun 01 08:06:55 2002 +0000
@@ -8,59 +8,59 @@
 LISP_H=lisp.h config.h general-slots.h lrecord.h symeval.h symsinit.h text.h $(LISP_UNION_H)
 #if defined(HAVE_MS_WINDOWS)
 console-msw.o: $(LISP_H) conslots.h console-msw.h console.h events.h intl-auto-encap-win32.h opaque.h systime.h syswindows.h
-device-msw.o: $(LISP_H) charset.h conslots.h console-msw.h console-stream.h console.h device.h devslots.h events.h faces.h frame.h frameslots.h glyphs.h gui.h intl-auto-encap-win32.h objects-msw.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h systime.h syswindows.h toolbar.h window.h winslots.h
-dialog-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-msw.h console.h device.h devslots.h frame.h frameslots.h glyphs.h gui.h intl-auto-encap-win32.h opaque.h redisplay.h scrollbar.h specifier.h sysfile.h syswindows.h toolbar.h window.h winslots.h
-dired-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h intl-auto-encap-win32.h ndir.h regex.h sysdir.h sysfile.h sysfloat.h sysproc.h syspwd.h systime.h syswindows.h
-event-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-msw.h console-tty.h console.h device.h devslots.h dragdrop.h events.h faces.h frame.h frameslots.h glyphs.h gui.h intl-auto-encap-win32.h lstream.h menubar-msw.h menubar.h objects-msw.h objects.h process.h redisplay.h scrollbar-msw.h scrollbar.h specifier.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h syswindows.h toolbar.h window.h winslots.h
-frame-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-msw.h console.h device.h devslots.h elhash.h events.h faces.h frame.h frameslots.h glyphs-msw.h glyphs.h gui.h intl-auto-encap-win32.h redisplay.h scrollbar.h specifier.h systime.h syswindows.h toolbar.h window.h winslots.h
-glyphs-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-msw.h console.h device.h devslots.h elhash.h faces.h file-coding.h frame.h frameslots.h glyphs-msw.h glyphs.h gui.h imgproc.h insdel.h intl-auto-encap-win32.h lstream.h objects-msw.h objects.h opaque.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h syswindows.h toolbar.h window.h winslots.h
-gui-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-msw.h console.h device.h devslots.h elhash.h events.h frame.h frameslots.h glyphs.h gui.h intl-auto-encap-win32.h redisplay.h scrollbar.h specifier.h systime.h syswindows.h toolbar.h window.h winslots.h
-menubar-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console-msw.h console.h device.h devslots.h elhash.h events.h frame.h frameslots.h glyphs.h gui.h intl-auto-encap-win32.h menubar-msw.h menubar.h opaque.h redisplay.h scrollbar.h specifier.h systime.h syswindows.h toolbar.h window.h winslots.h
-objects-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-msw.h console.h device.h devslots.h hash.h insdel.h intl-auto-encap-win32.h objects-msw.h objects.h specifier.h syswindows.h
-redisplay-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-msw.h console.h debug.h device.h devslots.h events.h faces.h frame.h frameslots.h glyphs-msw.h glyphs.h gui.h gutter.h intl-auto-encap-win32.h objects-msw.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h systime.h syswindows.h toolbar.h window.h winslots.h
-scrollbar-msw.o: $(LISP_H) conslots.h console-msw.h console.h device.h devslots.h elhash.h events.h frame.h frameslots.h glyphs.h gui.h intl-auto-encap-win32.h opaque.h redisplay.h scrollbar-msw.h scrollbar.h specifier.h systime.h syswindows.h toolbar.h window.h winslots.h
-select-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-msw.h console.h device.h devslots.h file-coding.h frame.h frameslots.h glyphs.h gui.h intl-auto-encap-win32.h opaque.h redisplay.h scrollbar.h select.h specifier.h syswindows.h toolbar.h window.h winslots.h
+device-msw.o: $(LISP_H) charset.h conslots.h console-msw.h console-stream.h console.h device.h devslots.h events.h faces.h frame.h frameslots.h intl-auto-encap-win32.h objects-msw.h objects.h redisplay.h specifier.h sysdep.h systime.h syswindows.h
+dialog-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-msw.h console.h frame.h frameslots.h gui.h intl-auto-encap-win32.h opaque.h redisplay.h sysfile.h syswindows.h
+dired-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h intl-auto-encap-win32.h ndir.h regex.h syntax.h sysdir.h sysfile.h sysfloat.h sysproc.h syspwd.h syssignal.h systime.h syswindows.h
+event-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-msw.h console-tty.h console.h device.h devslots.h dragdrop.h events.h faces.h frame.h frameslots.h glyphs.h gui.h intl-auto-encap-win32.h lstream.h menubar-msw.h menubar.h objects-msw.h objects.h process.h redisplay.h scrollbar-msw.h scrollbar.h specifier.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h syswindows.h window.h winslots.h
+frame-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-msw.h console.h device.h devslots.h elhash.h events.h faces.h frame.h frameslots.h glyphs-msw.h glyphs.h intl-auto-encap-win32.h redisplay.h scrollbar.h specifier.h systime.h syswindows.h window.h winslots.h
+glyphs-msw.o: $(LISP_H) charset.h conslots.h console-msw.h console.h device.h devslots.h elhash.h faces.h file-coding.h frame.h frameslots.h glyphs-msw.h glyphs.h gui.h imgproc.h insdel.h intl-auto-encap-win32.h lstream.h objects-msw.h objects.h opaque.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h syswindows.h window.h winslots.h
+gui-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-msw.h console.h elhash.h events.h frame.h frameslots.h glyphs.h gui.h intl-auto-encap-win32.h redisplay.h scrollbar.h specifier.h systime.h syswindows.h window.h winslots.h
+menubar-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console-msw.h console.h elhash.h events.h frame.h frameslots.h gui.h intl-auto-encap-win32.h menubar-msw.h menubar.h opaque.h redisplay.h scrollbar.h systime.h syswindows.h window.h winslots.h
+objects-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-msw.h console.h device.h devslots.h elhash.h insdel.h intl-auto-encap-win32.h objects-msw.h objects.h opaque.h specifier.h syswindows.h
+redisplay-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-msw.h console.h debug.h device.h devslots.h events.h faces.h frame.h frameslots.h glyphs-msw.h glyphs.h gutter.h intl-auto-encap-win32.h objects-msw.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h systime.h syswindows.h window.h winslots.h
+scrollbar-msw.o: $(LISP_H) conslots.h console-msw.h console.h device.h devslots.h elhash.h events.h frame.h frameslots.h intl-auto-encap-win32.h opaque.h redisplay.h scrollbar-msw.h scrollbar.h specifier.h systime.h syswindows.h window.h winslots.h
+select-msw.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-msw.h console.h file-coding.h frame.h frameslots.h intl-auto-encap-win32.h opaque.h redisplay.h select.h syswindows.h
 toolbar-msw.o: $(LISP_H) charset.h conslots.h console-msw.h console.h device.h devslots.h elhash.h faces.h frame.h frameslots.h glyphs-msw.h glyphs.h gui.h intl-auto-encap-win32.h objects-msw.h objects.h redisplay.h scrollbar.h specifier.h syswindows.h toolbar.h window.h winslots.h
 #endif
 #if defined(HAVE_X_WINDOWS)
 balloon-x.o: $(LISP_H) balloon_help.h conslots.h console-x.h console.h device.h devslots.h xintrinsic.h
 console-x.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-x.h console.h process.h redisplay.h xintrinsic.h
-device-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-x.h console.h device.h devslots.h elhash.h events.h faces.h frame.h frameslots.h glyphs-x.h glyphs.h gui.h objects-x.h objects.h offix-types.h offix.h redisplay.h scrollbar.h specifier.h sysdep.h sysdll.h sysfile.h systime.h toolbar.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmu.h
-dialog-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console-x.h console.h device.h devslots.h events.h frame.h frameslots.h glyphs.h gui-x.h gui.h opaque.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h xintrinsic.h
-frame-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h EmacsManager.h EmacsShell.h ExternalShell.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-x.h console.h device.h devslots.h dragdrop.h events.h extents.h faces.h frame.h frameslots.h glyphs-x.h glyphs.h gui.h gutter.h objects-x.h objects.h offix-types.h offix.h redisplay.h scrollbar-x.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h xintrinsic.h xintrinsicp.h xmprimitivep.h xmu.h
-glyphs-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h bitmaps.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-x.h console.h device.h devslots.h faces.h file-coding.h frame.h frameslots.h glyphs-x.h glyphs.h gui-x.h gui.h imgproc.h insdel.h lstream.h objects-x.h objects.h opaque.h redisplay.h scrollbar.h specifier.h sysfile.h sysproc.h systime.h toolbar.h window.h winslots.h xintrinsic.h xmu.h
-gui-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-x.h console.h device.h devslots.h events.h frame.h frameslots.h glyphs.h gui-x.h gui.h opaque.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h xintrinsic.h
+device-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-x.h console.h device.h devslots.h elhash.h events.h faces.h frame.h frameslots.h glyphs-x.h glyphs.h objects-x.h objects.h offix-types.h offix.h redisplay.h scrollbar.h specifier.h sysdep.h sysdll.h sysfile.h systime.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmu.h
+dialog-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console-x.h console.h events.h frame.h frameslots.h gui-x.h gui.h opaque.h redisplay.h scrollbar.h systime.h window.h winslots.h xintrinsic.h
+frame-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h EmacsManager.h EmacsShell.h ExternalShell.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-x.h console.h device.h devslots.h dragdrop.h events.h extents.h faces.h frame.h frameslots.h glyphs-x.h glyphs.h gutter.h objects-x.h objects.h offix-types.h offix.h redisplay.h scrollbar-x.h scrollbar.h specifier.h systime.h window.h winslots.h xintrinsic.h xintrinsicp.h xmprimitivep.h xmu.h
+glyphs-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h bitmaps.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-x.h console.h device.h devslots.h faces.h file-coding.h frame.h frameslots.h glyphs-x.h glyphs.h gui-x.h gui.h imgproc.h insdel.h lstream.h objects-x.h objects.h opaque.h redisplay.h scrollbar.h specifier.h sysfile.h sysproc.h syssignal.h systime.h window.h winslots.h xintrinsic.h xmu.h
+gui-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-x.h console.h device.h devslots.h events.h frame.h frameslots.h glyphs.h gui-x.h gui.h opaque.h redisplay.h scrollbar.h specifier.h systime.h window.h winslots.h xintrinsic.h
 intl-x.o: $(LISP_H) conslots.h console-x.h console.h xintrinsic.h
-menubar-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console-x.h console.h device.h devslots.h events.h frame.h frameslots.h glyphs.h gui-x.h gui.h keymap.h menubar.h opaque.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h xintrinsic.h
+menubar-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console-x.h console.h device.h devslots.h events.h frame.h frameslots.h gui-x.h gui.h keymap.h menubar.h opaque.h redisplay.h scrollbar.h systime.h window.h winslots.h xintrinsic.h
 objects-x.o: $(LISP_H) charset.h conslots.h console-x.h console.h device.h devslots.h insdel.h objects-x.h objects.h specifier.h xintrinsic.h
-redisplay-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-x.h console.h debug.h device.h devslots.h faces.h file-coding.h frame.h frameslots.h glyphs-x.h glyphs.h gui.h gutter.h mule-ccl.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h sysproc.h systime.h toolbar.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmprimitivep.h
-scrollbar-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h conslots.h console-x.h console.h device.h devslots.h frame.h frameslots.h glyphs-x.h glyphs.h gui-x.h gui.h redisplay.h scrollbar-x.h scrollbar.h specifier.h toolbar.h window.h winslots.h xintrinsic.h
-select-x.o: $(LISP_H) charset.h conslots.h console-x.h console.h device.h devslots.h frame.h frameslots.h glyphs.h gui.h objects-x.h objects.h opaque.h redisplay.h scrollbar.h select-common.h select.h specifier.h systime.h toolbar.h window.h winslots.h xintrinsic.h
-toolbar-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h charset.h conslots.h console-x.h console.h device.h devslots.h faces.h frame.h frameslots.h glyphs-x.h glyphs.h gui.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h toolbar-common.h toolbar.h window.h winslots.h xintrinsic.h xintrinsicp.h xmprimitivep.h
+redisplay-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-x.h console.h debug.h device.h devslots.h faces.h file-coding.h frame.h frameslots.h glyphs-x.h glyphs.h gutter.h mule-ccl.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h sysproc.h syssignal.h systime.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmprimitivep.h
+scrollbar-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h conslots.h console-x.h console.h device.h devslots.h frame.h frameslots.h glyphs-x.h glyphs.h gui-x.h redisplay.h scrollbar-x.h scrollbar.h specifier.h window.h winslots.h xintrinsic.h
+select-x.o: $(LISP_H) charset.h conslots.h console-x.h console.h device.h devslots.h frame.h frameslots.h objects-x.h objects.h opaque.h redisplay.h select-common.h select.h specifier.h systime.h xintrinsic.h
+toolbar-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h charset.h conslots.h console-x.h console.h faces.h frame.h frameslots.h glyphs-x.h glyphs.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h toolbar-common.h toolbar.h window.h winslots.h xintrinsic.h xintrinsicp.h xmprimitivep.h
 #endif
 #if defined(HAVE_TTY)
-console-tty.o: $(LISP_H) charset.h conslots.h console-stream.h console-tty.h console.h device.h devslots.h faces.h file-coding.h frame.h frameslots.h glyphs.h gui.h lstream.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h syssignal.h systty.h toolbar.h window.h winslots.h
-device-tty.o: $(LISP_H) charset.h conslots.h console-stream.h console-tty.h console.h device.h devslots.h events.h faces.h frame.h frameslots.h glyphs.h gui.h lstream.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h syssignal.h systime.h systty.h toolbar.h window.h winslots.h
-event-tty.o: $(LISP_H) conslots.h console-tty.h console.h device.h devslots.h events.h frame.h frameslots.h glyphs.h gui.h process.h redisplay.h scrollbar.h specifier.h sysproc.h syssignal.h systime.h systty.h syswait.h toolbar.h window.h winslots.h
-frame-tty.o: $(LISP_H) conslots.h console-tty.h console.h device.h devslots.h events.h frame.h frameslots.h glyphs.h gui.h redisplay.h scrollbar.h specifier.h syssignal.h systime.h systty.h toolbar.h window.h winslots.h
-objects-tty.o: $(LISP_H) charset.h conslots.h console-tty.h console.h device.h devslots.h insdel.h objects-tty.h objects.h specifier.h syssignal.h systty.h
-redisplay-tty.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-tty.h console.h device.h devslots.h events.h faces.h frame.h frameslots.h glyphs.h gui.h lstream.h objects-tty.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h syssignal.h systime.h systty.h toolbar.h window.h winslots.h
+console-tty.o: $(LISP_H) charset.h conslots.h console-stream.h console-tty.h console.h faces.h file-coding.h frame.h frameslots.h glyphs.h lstream.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h systty.h window.h winslots.h
+device-tty.o: $(LISP_H) charset.h conslots.h console-stream.h console-tty.h console.h device.h devslots.h events.h faces.h frame.h frameslots.h lstream.h redisplay.h sysdep.h sysfile.h syssignal.h systime.h systty.h
+event-tty.o: $(LISP_H) conslots.h console-tty.h console.h device.h devslots.h events.h frame.h frameslots.h process.h redisplay.h sysproc.h syssignal.h systime.h systty.h syswait.h
+frame-tty.o: $(LISP_H) conslots.h console-tty.h console.h device.h devslots.h events.h frame.h frameslots.h redisplay.h systime.h systty.h
+objects-tty.o: $(LISP_H) charset.h conslots.h console-tty.h console.h device.h devslots.h insdel.h objects-tty.h objects.h specifier.h systty.h
+redisplay-tty.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-tty.h console.h device.h devslots.h events.h faces.h frame.h frameslots.h glyphs.h lstream.h objects-tty.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h systime.h systty.h window.h winslots.h
 #endif
 #if defined(HAVE_GTK)
 console-gtk.o: $(LISP_H) conslots.h console-gtk.h console.h process.h redisplay.h
-device-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-gtk.h console.h device.h devslots.h elhash.h events.h faces.h frame.h frameslots.h gccache-gtk.h glyphs-gtk.h glyphs.h gtk-xemacs.h gui.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h systime.h toolbar.h window.h winslots.h
-dialog-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console-gtk.h console.h device.h devslots.h events.h frame.h frameslots.h glyphs.h gui-gtk.h gui.h opaque.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h
-event-gtk.o: $(LISP_H) blocktype.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console-gtk.h console-tty.h console.h device.h devslots.h dragdrop.h elhash.h event-gtk.h events.h file-coding.h frame.h frameslots.h glyphs.h gtk-xemacs.h gui.h lstream.h objects-gtk.h objects.h offix-types.h offix.h process.h redisplay.h scrollbar.h specifier.h sysproc.h syssignal.h systime.h systty.h toolbar.h window.h winslots.h xintrinsic.h
-frame-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-gtk.h console.h device.h devslots.h dragdrop.h events.h extents.h faces.h frame.h frameslots.h glyphs-gtk.h glyphs.h gtk-xemacs.h gui.h objects-gtk.h objects.h redisplay.h scrollbar-gtk.h scrollbar.h specifier.h sysdll.h systime.h toolbar.h ui-gtk.h window.h winslots.h
+device-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-gtk.h console.h device.h devslots.h elhash.h events.h faces.h frame.h frameslots.h gccache-gtk.h glyphs-gtk.h glyphs.h gtk-xemacs.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h systime.h window.h winslots.h
+dialog-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console-gtk.h console.h events.h frame.h frameslots.h gui-gtk.h gui.h opaque.h redisplay.h scrollbar.h systime.h window.h winslots.h
+event-gtk.o: $(LISP_H) blocktype.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console-gtk.h console-tty.h console.h device.h devslots.h dragdrop.h elhash.h event-gtk.h events.h file-coding.h frame.h frameslots.h gtk-xemacs.h lstream.h objects-gtk.h objects.h offix-types.h offix.h process.h redisplay.h scrollbar.h specifier.h sysproc.h syssignal.h systime.h systty.h window.h winslots.h xintrinsic.h
+frame-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-gtk.h console.h device.h devslots.h dragdrop.h events.h extents.h faces.h frame.h frameslots.h glyphs-gtk.h glyphs.h gtk-xemacs.h objects-gtk.h objects.h redisplay.h scrollbar-gtk.h scrollbar.h specifier.h sysdll.h systime.h ui-gtk.h window.h winslots.h
 gccache-gtk.o: $(LISP_H) gccache-gtk.h hash.h
-glyphs-gtk.o: $(LISP_H) bitmaps.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-gtk.h console.h device.h devslots.h faces.h file-coding.h frame.h frameslots.h glyphs-gtk.h glyphs.h gui-gtk.h gui.h imgproc.h insdel.h lstream.h objects-gtk.h objects.h opaque.h redisplay.h scrollbar.h specifier.h sysdll.h sysfile.h toolbar.h ui-gtk.h window.h winslots.h
-gui-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-gtk.h console.h device.h devslots.h frame.h frameslots.h glyphs.h gui-gtk.h gui.h opaque.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
-menubar-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console-gtk.h console.h device.h devslots.h events.h frame.h frameslots.h glyphs.h gui-gtk.h gui.h opaque.h redisplay.h scrollbar.h specifier.h sysdll.h systime.h toolbar.h ui-gtk.h window.h winslots.h
+glyphs-gtk.o: $(LISP_H) bitmaps.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-gtk.h console.h device.h devslots.h faces.h file-coding.h frame.h frameslots.h glyphs-gtk.h glyphs.h gui-gtk.h gui.h imgproc.h insdel.h lstream.h objects-gtk.h objects.h opaque.h redisplay.h scrollbar.h specifier.h sysdll.h sysfile.h ui-gtk.h window.h winslots.h
+gui-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-gtk.h console.h device.h devslots.h frame.h frameslots.h gui-gtk.h gui.h opaque.h redisplay.h
+menubar-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console-gtk.h console.h device.h devslots.h events.h frame.h frameslots.h gui-gtk.h gui.h opaque.h redisplay.h scrollbar.h sysdll.h systime.h ui-gtk.h window.h winslots.h
 objects-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-gtk.h console.h device.h devslots.h insdel.h objects-gtk.h objects.h specifier.h
-redisplay-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-gtk.h console.h debug.h device.h devslots.h faces.h file-coding.h frame.h frameslots.h gccache-gtk.h glyphs-gtk.h glyphs.h gui.h gutter.h mule-ccl.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h sysproc.h systime.h toolbar.h window.h winslots.h
-scrollbar-gtk.o: $(LISP_H) conslots.h console-gtk.h console.h device.h devslots.h frame.h frameslots.h glyphs-gtk.h glyphs.h gui-gtk.h gui.h redisplay.h scrollbar-gtk.h scrollbar.h specifier.h toolbar.h window.h winslots.h
-select-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-gtk.h console.h device.h devslots.h events.h frame.h frameslots.h glyphs.h gui.h opaque.h redisplay.h scrollbar.h select-common.h select.h specifier.h systime.h toolbar.h window.h winslots.h
-toolbar-gtk.o: $(LISP_H) conslots.h console-gtk.h console.h device.h devslots.h frame.h frameslots.h glyphs.h gui.h redisplay.h scrollbar.h specifier.h toolbar-common.h toolbar.h window.h winslots.h
+redisplay-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-gtk.h console.h debug.h device.h devslots.h faces.h file-coding.h frame.h frameslots.h gccache-gtk.h glyphs-gtk.h glyphs.h gutter.h mule-ccl.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h sysproc.h syssignal.h systime.h window.h winslots.h
+scrollbar-gtk.o: $(LISP_H) conslots.h console-gtk.h console.h frame.h frameslots.h glyphs-gtk.h glyphs.h gui-gtk.h redisplay.h scrollbar-gtk.h scrollbar.h specifier.h window.h winslots.h
+select-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-gtk.h console.h device.h devslots.h events.h frame.h frameslots.h opaque.h redisplay.h select-common.h select.h systime.h
+toolbar-gtk.o: $(LISP_H) conslots.h console-gtk.h console.h frame.h frameslots.h redisplay.h toolbar-common.h
 ui-gtk.o: $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h conslots.h console-gtk.h console.h device.h devslots.h elhash.h emacs-marshals.c emacs-widget-accessors.c event-gtk.h events.h faces.h glade.c glyphs-gtk.h glyphs.h gtk-glue.c gui-gtk.h gui.h hash.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h sysdll.h systime.h ui-byhand.c ui-gtk.h window.h winslots.h
 #endif
 #if defined(HAVE_DATABASE)
@@ -72,6 +72,7 @@
 mule-charset.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h elhash.h faces.h lstream.h mule-ccl.h
 mule-coding.o: $(LISP_H) charset.h file-coding.h mule-ccl.h
 mule-wnnfns.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h redisplay.h scrollbar.h sysdep.h window.h winslots.h
+mule.o: $(LISP_H) regex.h
 #endif
 #if defined(EXTERNAL_WIDGET)
 ExternalClient-Xlib.o: extw-Xlib.h
@@ -80,60 +81,59 @@
 extw-Xlib.o: config.h extw-Xlib.h
 extw-Xt.o: config.h extw-Xlib.h extw-Xt.h
 #endif
-EmacsFrame.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h EmacsManager.h charset.h conslots.h console-x.h console.h device.h devslots.h faces.h frame.h frameslots.h glyphs-x.h glyphs.h gui.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h xintrinsic.h xintrinsicp.h xmprimitivep.h xmu.h
+EmacsFrame.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h EmacsManager.h charset.h conslots.h console-x.h console.h device.h devslots.h faces.h frame.h frameslots.h glyphs-x.h glyphs.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h xintrinsic.h xintrinsicp.h xmprimitivep.h xmu.h
 EmacsManager.o: EmacsManager.h EmacsManagerP.h config.h xintrinsicp.h xmmanagerp.h
 EmacsShell-sub.o: EmacsShell.h EmacsShellP.h config.h xintrinsic.h xintrinsicp.h
 EmacsShell.o: EmacsShell.h ExternalShell.h config.h xintrinsicp.h
 abbrev.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h insdel.h redisplay.h scrollbar.h syntax.h window.h winslots.h
-alloc.o: $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h conslots.h console-stream.h console.h device.h devslots.h dumper.h elhash.h events.h extents.h frame.h frameslots.h glyphs.h gui.h opaque.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h systime.h toolbar.h window.h winslots.h
-alloca.o: config.h
+alloc.o: $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h conslots.h console-stream.h console.h device.h devslots.h dumper.h elhash.h events.h extents.h frame.h frameslots.h glyphs.h opaque.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h systime.h window.h winslots.h
+alloca.o: $(LISP_H)
 balloon_help.o: balloon_help.h config.h xintrinsic.h
 blocktype.o: $(LISP_H) blocktype.h
-buffer.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console.h device.h devslots.h elhash.h extents.h faces.h file-coding.h frame.h frameslots.h glyphs.h gui.h insdel.h intl-auto-encap-win32.h lstream.h ndir.h process.h redisplay.h scrollbar.h select.h specifier.h syntax.h sysdir.h sysfile.h syswindows.h toolbar.h window.h winslots.h
+buffer.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console.h device.h devslots.h elhash.h extents.h faces.h file-coding.h frame.h frameslots.h insdel.h intl-auto-encap-win32.h lstream.h ndir.h process.h redisplay.h scrollbar.h select.h specifier.h syntax.h sysdir.h sysfile.h syswindows.h window.h winslots.h
 bytecode.o: $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h opaque.h syntax.h
 callint.o: $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h commands.h events.h insdel.h redisplay.h scrollbar.h systime.h window.h winslots.h
-callproc.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h file-coding.h insdel.h intl-auto-encap-win32.h lstream.h ndir.h process.h redisplay.h scrollbar.h sysdep.h sysdir.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswindows.h window.h winslots.h
 casefiddle.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h insdel.h syntax.h
 casetab.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h opaque.h
 chartab.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h syntax.h
-cm.o: $(LISP_H) conslots.h console-tty.h console.h device.h devslots.h frame.h frameslots.h glyphs.h gui.h lstream.h redisplay.h scrollbar.h specifier.h syssignal.h systty.h toolbar.h window.h winslots.h
-cmdloop.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console.h device.h devslots.h events.h frame.h frameslots.h glyphs.h gui.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h
+cm.o: $(LISP_H) conslots.h console-tty.h console.h device.h devslots.h frame.h frameslots.h lstream.h redisplay.h systty.h
+cmdloop.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console.h device.h devslots.h events.h frame.h frameslots.h redisplay.h scrollbar.h systime.h window.h winslots.h
 cmds.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h insdel.h syntax.h
-console-stream.o: $(LISP_H) conslots.h console-stream.h console-tty.h console.h device.h devslots.h events.h frame.h frameslots.h glyphs.h gui.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h syssignal.h systime.h systty.h toolbar.h window.h winslots.h
-console.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-tty.h console.h device.h devslots.h events.h frame.h frameslots.h glyphs.h gui.h redisplay.h scrollbar.h specifier.h sysdep.h syssignal.h systime.h systty.h toolbar.h window.h winslots.h
+console-stream.o: $(LISP_H) conslots.h console-stream.h console-tty.h console.h device.h devslots.h events.h frame.h frameslots.h redisplay.h scrollbar.h sysdep.h sysfile.h systime.h systty.h window.h winslots.h
+console.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-tty.h console.h device.h devslots.h events.h frame.h frameslots.h redisplay.h scrollbar.h sysdep.h systime.h systty.h window.h winslots.h
 data.o: $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h sysfloat.h syssignal.h
 debug.o: $(LISP_H) bytecode.h debug.h
-device.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h elhash.h events.h faces.h frame.h frameslots.h glyphs.h gui.h keymap.h redisplay.h scrollbar.h specifier.h sysdep.h syssignal.h systime.h toolbar.h window.h winslots.h
+device.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h elhash.h events.h faces.h frame.h frameslots.h keymap.h redisplay.h scrollbar.h specifier.h sysdep.h syssignal.h systime.h toolbar.h window.h winslots.h
 dgif_lib.o: $(LISP_H) gifrlib.h sysfile.h
-dialog.o: $(LISP_H) conslots.h console.h device.h devslots.h frame.h frameslots.h glyphs.h gui.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
+dialog.o: $(LISP_H) conslots.h console.h device.h devslots.h frame.h frameslots.h redisplay.h
 dired.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h elhash.h intl-auto-encap-win32.h ndir.h opaque.h regex.h syntax.h sysdep.h sysdir.h sysfile.h syspwd.h systime.h syswindows.h
-doc.o: $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h insdel.h keymap.h sysfile.h
+doc.o: $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h file-coding.h insdel.h keymap.h lstream.h sysfile.h
 doprnt.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h lstream.h
 dragdrop.o: $(LISP_H) dragdrop.h
 dumper.o: $(LISP_H) conslots.h console-stream.h console.h dumper.h elhash.h file-coding.h intl-auto-encap-win32.h specifier.h sysfile.h syswindows.h
 dynarr.o: $(LISP_H)
 ecrt0.o: config.h
-editfns.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console.h device.h devslots.h events.h extents.h frame.h frameslots.h glyphs.h gui.h insdel.h line-number.h ndir.h redisplay.h scrollbar.h specifier.h sysdep.h sysdir.h sysfile.h sysproc.h syspwd.h systime.h toolbar.h window.h winslots.h
+editfns.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console.h device.h devslots.h events.h extents.h frame.h frameslots.h insdel.h line-number.h ndir.h redisplay.h scrollbar.h sysdep.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h window.h winslots.h
 eldap.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h eldap.h opaque.h sysdep.h
 elhash.o: $(LISP_H) bytecode.h elhash.h opaque.h
 emacs-marshals.o: hash.h
 emacs-widget-accessors.o: 
-emacs.o: $(LISP_H) backtrace.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console.h device.h devslots.h dumper.h frame.h frameslots.h glyphs.h gui.h intl-auto-encap-win32.h paths.h process.h redisplay.h scrollbar.h specifier.h sysdep.h sysdll.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswindows.h toolbar.h window.h winslots.h
-emodules.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h emodules.h file-coding.h frame.h frameslots.h glyphs.h gui.h insdel.h lstream.h redisplay.h scrollbar.h specifier.h sysdep.h sysdll.h toolbar.h window.h winslots.h
+emacs.o: $(LISP_H) backtrace.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console.h dumper.h frame.h frameslots.h intl-auto-encap-win32.h paths.h process.h redisplay.h sysdep.h sysdll.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswindows.h
+emodules.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h emodules.h file-coding.h frame.h frameslots.h insdel.h lstream.h redisplay.h scrollbar.h sysdep.h sysdll.h window.h winslots.h
 esd.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h miscplay.h sound.h sysfile.h
-eval.o: $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h commands.h conslots.h console.h opaque.h
-event-Xt.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h Emacs.ad.h EmacsFrame.h blocktype.h charset.h conslots.h console-tty.h console-x.h console.h device.h devslots.h dragdrop.h elhash.h events.h file-coding.h frame.h frameslots.h glyphs.h gui.h lstream.h objects-x.h objects.h offix-types.h offix.h process.h redisplay.h scrollbar.h specifier.h sysproc.h syssignal.h systime.h systty.h toolbar.h window.h winslots.h xintrinsic.h xintrinsicp.h
-event-stream.o: $(LISP_H) blocktype.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console.h device.h devslots.h elhash.h events.h file-coding.h frame.h frameslots.h glyphs.h gui.h insdel.h keymap.h lstream.h macros.h menubar.h process.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h syssignal.h systime.h toolbar.h window.h winslots.h
+eval.o: $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h commands.h conslots.h console.h device.h devslots.h frame.h frameslots.h lstream.h opaque.h redisplay.h scrollbar.h window.h winslots.h
+event-Xt.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h Emacs.ad.h EmacsFrame.h blocktype.h charset.h conslots.h console-tty.h console-x.h console.h device.h devslots.h dragdrop.h elhash.h events.h file-coding.h frame.h frameslots.h glyphs.h lstream.h objects-x.h objects.h offix-types.h offix.h process.h redisplay.h scrollbar.h specifier.h sysproc.h syssignal.h systime.h systty.h window.h winslots.h xintrinsic.h xintrinsicp.h
+event-stream.o: $(LISP_H) blocktype.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console.h device.h devslots.h elhash.h events.h file-coding.h frame.h frameslots.h gui.h insdel.h keymap.h lstream.h macros.h menubar.h process.h redisplay.h scrollbar.h sysdep.h sysfile.h syssignal.h systime.h window.h winslots.h
 event-unixoid.o: $(LISP_H) conslots.h console-stream.h console-tty.h console.h device.h devslots.h events.h lstream.h process.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h
-events.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-gtk.h console-tty.h console-x.h console.h device.h devslots.h events.h extents.h frame.h frameslots.h glyphs.h gui.h keymap.h redisplay.h scrollbar.h specifier.h syssignal.h systime.h systty.h toolbar.h window.h winslots.h xintrinsic.h
-extents.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h debug.h device.h devslots.h elhash.h extents.h faces.h frame.h frameslots.h glyphs.h gui.h gutter.h insdel.h keymap.h opaque.h process.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
-faces.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h elhash.h extents.h faces.h frame.h frameslots.h glyphs.h gui.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
+events.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-tty.h console.h device.h devslots.h events.h extents.h frame.h frameslots.h glyphs.h keymap.h lstream.h redisplay.h scrollbar.h specifier.h systime.h systty.h toolbar.h window.h winslots.h
+extents.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h debug.h device.h devslots.h elhash.h extents.h faces.h frame.h frameslots.h glyphs.h gutter.h insdel.h keymap.h opaque.h process.h redisplay.h scrollbar.h specifier.h window.h winslots.h
+faces.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h elhash.h extents.h faces.h frame.h frameslots.h glyphs.h objects.h redisplay.h scrollbar.h specifier.h window.h winslots.h
 file-coding.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h elhash.h file-coding.h insdel.h lstream.h opaque.h
-fileio.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h events.h file-coding.h frame.h frameslots.h glyphs.h gui.h insdel.h intl-auto-encap-win32.h lstream.h ndir.h redisplay.h scrollbar.h specifier.h sysdep.h sysdir.h sysfile.h sysproc.h syspwd.h systime.h syswindows.h toolbar.h window.h winslots.h
+fileio.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h events.h file-coding.h frame.h frameslots.h insdel.h intl-auto-encap-win32.h lstream.h ndir.h redisplay.h scrollbar.h sysdep.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h syswindows.h window.h winslots.h
 filelock.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h ndir.h paths.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h
 filemode.o: $(LISP_H) sysfile.h
 floatfns.o: $(LISP_H) sysfloat.h syssignal.h
-fns.o: $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h events.h extents.h frame.h frameslots.h glyphs.h gui.h insdel.h lstream.h opaque.h redisplay.h scrollbar.h specifier.h sysfile.h sysproc.h systime.h toolbar.h window.h winslots.h
+fns.o: $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h events.h extents.h frame.h frameslots.h insdel.h lstream.h opaque.h redisplay.h sysfile.h sysproc.h syssignal.h systime.h
 font-lock.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h insdel.h syntax.h
 frame.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h events.h extents.h faces.h frame.h frameslots.h glyphs.h gui.h gutter.h menubar.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h
 free-hook.o: $(LISP_H) hash.h
@@ -141,72 +141,71 @@
 getloadavg.o: $(LISP_H) sysfile.h
 gif_io.o: $(LISP_H) gifrlib.h sysfile.h
 glade.o: bytecode.h
-glyphs-eimage.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h faces.h file-coding.h frame.h frameslots.h gifrlib.h glyphs.h gui.h lstream.h objects.h opaque.h redisplay.h scrollbar.h specifier.h sysfile.h toolbar.h window.h winslots.h
-glyphs-shared.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h elhash.h faces.h frame.h frameslots.h glyphs.h gui.h imgproc.h insdel.h lstream.h opaque.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h toolbar.h window.h winslots.h
-glyphs-widget.o: $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h faces.h frame.h frameslots.h glyphs.h gui.h insdel.h lstream.h objects.h opaque.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
-glyphs.o: $(LISP_H) blocktype.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h elhash.h faces.h frame.h frameslots.h glyphs.h gui.h insdel.h objects.h opaque.h rangetab.h redisplay.h scrollbar.h specifier.h sysfile.h toolbar.h window.h winslots.h
+glyphs-eimage.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h faces.h file-coding.h frame.h frameslots.h gifrlib.h glyphs.h lstream.h objects.h opaque.h redisplay.h scrollbar.h specifier.h sysfile.h window.h winslots.h
+glyphs-shared.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h elhash.h faces.h frame.h frameslots.h glyphs.h imgproc.h insdel.h lstream.h opaque.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h window.h winslots.h
+glyphs-widget.o: $(LISP_H) bytecode.h charset.h conslots.h console.h device.h devslots.h faces.h frame.h frameslots.h glyphs.h gui.h insdel.h lstream.h objects.h opaque.h redisplay.h scrollbar.h specifier.h window.h winslots.h
+glyphs.o: $(LISP_H) blocktype.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h elhash.h faces.h frame.h frameslots.h glyphs.h gui.h insdel.h objects.h opaque.h rangetab.h redisplay.h scrollbar.h specifier.h sysfile.h window.h winslots.h
 gmalloc.o: $(LISP_H) getpagesize.h sysdep.h
 gpmevent.o: $(LISP_H) commands.h conslots.h console-tty.h console.h device.h devslots.h events.h gpmevent.h lstream.h process.h sysdep.h sysproc.h syssignal.h systime.h systty.h
 gtk-glue.o: 
-gtk-xemacs.o: $(LISP_H) charset.h conslots.h console-gtk.h console.h device.h devslots.h event-gtk.h faces.h frame.h frameslots.h glyphs.h gtk-xemacs.h gui.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
+gtk-xemacs.o: $(LISP_H) charset.h conslots.h console-gtk.h console.h device.h devslots.h event-gtk.h faces.h frame.h frameslots.h glyphs.h gtk-xemacs.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h window.h winslots.h
 gui.o: $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h elhash.h gui.h
-gutter.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h faces.h frame.h frameslots.h glyphs.h gui.h gutter.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
+gutter.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h faces.h frame.h frameslots.h glyphs.h gutter.h redisplay.h scrollbar.h specifier.h window.h winslots.h
 hash.o: $(LISP_H) hash.h
 hftctl.o: $(LISP_H) sysfile.h
 hpplay.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h sound.h
 imgproc.o: $(LISP_H) imgproc.h
-indent.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h extents.h faces.h frame.h frameslots.h glyphs.h gui.h insdel.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
-inline.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h conslots.h console-gtk.h console-msw.h console.h database.h device.h devslots.h eldap.h elhash.h events.h extents.h faces.h file-coding.h frame.h frameslots.h glyphs-x.h glyphs.h gui-x.h gui.h intl-auto-encap-win32.h keymap.h lstream.h objects.h opaque.h postgresql.h process.h rangetab.h redisplay.h scrollbar.h specifier.h syntax.h sysdll.h systime.h syswindows.h toolbar.h tooltalk.h ui-gtk.h window.h winslots.h xintrinsic.h
-input-method-motif.o: $(LISP_H) EmacsFrame.h conslots.h console-x.h console.h device.h devslots.h frame.h frameslots.h glyphs.h gui.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h xintrinsic.h
-input-method-xlib.o: $(LISP_H) EmacsFrame.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-x.h console.h device.h devslots.h events.h frame.h frameslots.h glyphs.h gui.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h xintrinsic.h
-insdel.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h extents.h frame.h frameslots.h glyphs.h gui.h insdel.h line-number.h lstream.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
+indent.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h extents.h faces.h frame.h frameslots.h glyphs.h insdel.h redisplay.h scrollbar.h specifier.h window.h winslots.h
+inline.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h conslots.h console-gtk.h console-msw.h console.h database.h device.h devslots.h eldap.h elhash.h events.h extents.h faces.h file-coding.h frame.h frameslots.h glyphs-x.h glyphs.h gui-x.h gui.h intl-auto-encap-win32.h keymap.h lstream.h objects.h opaque.h postgresql.h process.h rangetab.h redisplay.h scrollbar.h specifier.h syntax.h sysdll.h sysfile.h systime.h syswindows.h toolbar.h tooltalk.h ui-gtk.h window.h winslots.h xintrinsic.h
+input-method-motif.o: $(LISP_H) EmacsFrame.h conslots.h console-x.h console.h device.h devslots.h frame.h frameslots.h redisplay.h xintrinsic.h
+input-method-xlib.o: $(LISP_H) EmacsFrame.h buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-x.h console.h device.h devslots.h events.h frame.h frameslots.h redisplay.h scrollbar.h systime.h window.h winslots.h xintrinsic.h
+insdel.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h extents.h frame.h frameslots.h insdel.h line-number.h lstream.h redisplay.h
 intl-auto-encap-win32.o: $(LISP_H) intl-auto-encap-win32.h syswindows.h
 intl-encap-win32.o: $(LISP_H) conslots.h console-msw.h console.h intl-auto-encap-win32.h syswindows.h
-intl-win32.o: $(LISP_H) charset.h conslots.h console-msw.h console.h device.h devslots.h elhash.h faces.h file-coding.h frame.h frameslots.h glyphs.h gui.h intl-auto-encap-win32.h objects-msw.h objects.h redisplay.h scrollbar.h specifier.h syswindows.h toolbar.h window.h winslots.h
+intl-win32.o: $(LISP_H) charset.h conslots.h console-msw.h console.h elhash.h faces.h file-coding.h frame.h frameslots.h intl-auto-encap-win32.h objects-msw.h objects.h redisplay.h scrollbar.h specifier.h syswindows.h window.h winslots.h
 intl.o: $(LISP_H)
-keymap.o: $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h elhash.h events.h frame.h frameslots.h glyphs.h gui.h insdel.h keymap.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h
+keymap.o: $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h conslots.h console.h elhash.h events.h frame.h frameslots.h insdel.h keymap.h redisplay.h scrollbar.h systime.h window.h winslots.h
 lastfile.o: config.h
 libsst.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h libsst.h sound.h sysfile.h
 line-number.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h line-number.h
 linuxplay.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h miscplay.h sound.h sysfile.h syssignal.h systty.h
 lread.o: $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h elhash.h file-coding.h intl-auto-encap-win32.h lstream.h opaque.h sysfile.h sysfloat.h syswindows.h
 lstream.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h insdel.h lstream.h sysfile.h
-macros.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console.h device.h devslots.h events.h frame.h frameslots.h glyphs.h gui.h keymap.h macros.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h
+macros.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console.h device.h devslots.h events.h frame.h frameslots.h keymap.h macros.h redisplay.h scrollbar.h systime.h window.h winslots.h
 malloc.o: config.h getpagesize.h
 marker.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h
 md5.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h file-coding.h lstream.h
-menubar.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h frame.h frameslots.h glyphs.h gui.h keymap.h menubar.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
-minibuf.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console-stream.h console.h device.h devslots.h events.h frame.h frameslots.h glyphs.h gui.h insdel.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h
+menubar.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h frame.h frameslots.h gui.h keymap.h menubar.h redisplay.h scrollbar.h specifier.h window.h winslots.h
+minibuf.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console-stream.h console.h events.h frame.h frameslots.h insdel.h redisplay.h scrollbar.h systime.h window.h winslots.h
 miscplay.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h miscplay.h sound.h sysfile.h syssignal.h
 nas.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h sound.h sysdep.h syssignal.h
-native-gtk-toolbar.o: $(LISP_H) charset.h conslots.h console-gtk.h console.h device.h devslots.h faces.h frame.h frameslots.h glyphs-gtk.h glyphs.h gui.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
+native-gtk-toolbar.o: $(LISP_H) charset.h conslots.h console-gtk.h console.h faces.h frame.h frameslots.h glyphs-gtk.h glyphs.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
 nt.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h intl-auto-encap-win32.h ndir.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h syswindows.h
-ntheap.o: $(LISP_H) intl-auto-encap-win32.h syswindows.h
+ntheap.o: $(LISP_H) intl-auto-encap-win32.h sysdep.h syswindows.h
 ntplay.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h intl-auto-encap-win32.h sound.h sysfile.h syswindows.h
-ntproc.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-msw.h console.h intl-auto-encap-win32.h process.h sysfile.h sysproc.h syssignal.h systime.h syswait.h syswindows.h
-objects.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h elhash.h faces.h frame.h frameslots.h glyphs.h gui.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
+objects.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h elhash.h faces.h frame.h frameslots.h glyphs.h objects.h redisplay.h scrollbar.h specifier.h window.h winslots.h
 offix.o: offix-cursors.h offix-types.h offix.h xintrinsic.h
 opaque.o: $(LISP_H) opaque.h
 postgresql.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h postgresql.h sysdep.h
-print.o: $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h conslots.h console-msw.h console-stream.h console-tty.h console.h device.h devslots.h extents.h frame.h frameslots.h glyphs.h gui.h insdel.h intl-auto-encap-win32.h lstream.h opaque.h redisplay.h scrollbar.h specifier.h sysfile.h syssignal.h systty.h syswindows.h toolbar.h window.h winslots.h
+print.o: $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h conslots.h console-msw.h console-stream.h console-tty.h console.h device.h devslots.h extents.h frame.h frameslots.h insdel.h intl-auto-encap-win32.h lstream.h opaque.h redisplay.h sysfile.h systty.h syswindows.h
 process-nt.o: $(LISP_H) conslots.h console-msw.h console.h hash.h intl-auto-encap-win32.h lstream.h process.h procimpl.h sysfile.h sysproc.h syssignal.h systime.h syswindows.h
-process-unix.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h events.h file-coding.h frame.h frameslots.h glyphs.h gui.h hash.h lstream.h opaque.h process.h procimpl.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h toolbar.h window.h winslots.h
-process.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console.h device.h devslots.h events.h file-coding.h frame.h frameslots.h glyphs.h gui.h hash.h insdel.h lstream.h opaque.h process.h procimpl.h redisplay.h scrollbar.h specifier.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h toolbar.h window.h winslots.h
+process-unix.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h events.h file-coding.h frame.h frameslots.h hash.h lstream.h ndir.h opaque.h process.h procimpl.h redisplay.h scrollbar.h sysdep.h sysdir.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h window.h winslots.h
+process.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console.h device.h devslots.h events.h file-coding.h frame.h frameslots.h hash.h insdel.h lstream.h opaque.h process.h procimpl.h redisplay.h scrollbar.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h window.h winslots.h
 profile.o: $(LISP_H) backtrace.h bytecode.h elhash.h hash.h syssignal.h systime.h
 ralloc.o: $(LISP_H) getpagesize.h
 rangetab.o: $(LISP_H) rangetab.h
 realpath.o: $(LISP_H) intl-auto-encap-win32.h sysfile.h syswindows.h
-redisplay-output.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h faces.h frame.h frameslots.h glyphs.h gui.h gutter.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
-redisplay.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console-tty.h console.h debug.h device.h devslots.h elhash.h extents.h faces.h file-coding.h frame.h frameslots.h glyphs.h gui.h gutter.h insdel.h line-number.h menubar.h objects.h process.h redisplay.h scrollbar.h specifier.h sysfile.h syssignal.h systty.h toolbar.h window.h winslots.h
+redisplay-output.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h faces.h frame.h frameslots.h glyphs.h gutter.h redisplay.h scrollbar.h specifier.h window.h winslots.h
+redisplay.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console-tty.h console.h debug.h device.h devslots.h elhash.h events.h extents.h faces.h file-coding.h frame.h frameslots.h glyphs.h gui.h gutter.h insdel.h line-number.h menubar.h objects.h process.h redisplay.h scrollbar.h specifier.h sysfile.h systime.h systty.h toolbar.h window.h winslots.h
 regex.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h regex.h syntax.h
-scrollbar.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console.h device.h devslots.h frame.h frameslots.h glyphs.h gui.h gutter.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
+scrollbar.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console.h device.h devslots.h frame.h frameslots.h glyphs.h gutter.h redisplay.h scrollbar.h specifier.h window.h winslots.h
 search.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h insdel.h opaque.h regex.h syntax.h
-select.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h extents.h frame.h frameslots.h glyphs.h gui.h objects.h opaque.h redisplay.h scrollbar.h select.h specifier.h toolbar.h window.h winslots.h
-sgiplay.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h libst.h sound.h sysfile.h sysproc.h systime.h
+select.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h extents.h frame.h frameslots.h objects.h opaque.h redisplay.h select.h specifier.h
+sgiplay.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h libst.h sound.h sysfile.h sysproc.h syssignal.h systime.h
 sheap.o: $(LISP_H) sheap-adjust.h sysfile.h
-signal.o: $(LISP_H) conslots.h console.h device.h devslots.h events.h frame.h frameslots.h glyphs.h gui.h process.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h syssignal.h systime.h toolbar.h window.h winslots.h
-sound.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-x.h console.h device.h devslots.h redisplay.h sound.h sysdep.h sysfile.h sysproc.h systime.h xintrinsic.h
-specifier.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h frame.h frameslots.h glyphs.h gui.h opaque.h rangetab.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
+signal.o: $(LISP_H) conslots.h console.h device.h devslots.h events.h frame.h frameslots.h process.h redisplay.h sysdep.h sysfile.h syssignal.h systime.h
+sound.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-x.h console.h device.h devslots.h redisplay.h sound.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h xintrinsic.h
+specifier.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h frame.h frameslots.h glyphs.h opaque.h rangetab.h redisplay.h scrollbar.h specifier.h window.h winslots.h
 strcat.o: config.h
 strcmp.o: config.h
 strcpy.o: config.h
@@ -215,14 +214,14 @@
 sunpro.o: $(LISP_H)
 symbols.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h elhash.h
 syntax.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h extents.h syntax.h
-sysdep.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-stream.h console-tty.h console.h device.h devslots.h events.h frame.h frameslots.h glyphs.h gui.h intl-auto-encap-win32.h ndir.h process.h redisplay.h scrollbar.h specifier.h sysdep.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h systty.h syswait.h syswindows.h toolbar.h window.h winslots.h
+sysdep.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-stream.h console-tty.h console.h device.h devslots.h events.h frame.h frameslots.h intl-auto-encap-win32.h ndir.h process.h redisplay.h scrollbar.h sysdep.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h systty.h syswait.h syswindows.h window.h winslots.h
 sysdll.o: config.h sysdll.h
 termcap.o: $(LISP_H) conslots.h console.h device.h devslots.h
 terminfo.o: config.h
 tests.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h elhash.h lstream.h opaque.h
 text.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h file-coding.h lstream.h
-toolbar-common.o: $(LISP_H) charset.h conslots.h console-gtk.h console-x.h console.h device.h devslots.h faces.h frame.h frameslots.h glyphs.h gui.h redisplay.h scrollbar.h specifier.h toolbar-common.h toolbar.h window.h winslots.h xintrinsic.h
-toolbar.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h frame.h frameslots.h glyphs.h gui.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
+toolbar-common.o: $(LISP_H) charset.h conslots.h console-gtk.h console-x.h console.h device.h devslots.h faces.h frame.h frameslots.h glyphs.h redisplay.h scrollbar.h specifier.h toolbar-common.h toolbar.h window.h winslots.h xintrinsic.h
+toolbar.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console.h device.h devslots.h frame.h frameslots.h glyphs.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
 tooltalk.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h elhash.h process.h syssignal.h tooltalk.h
 tparam.o: $(LISP_H)
 ui-byhand.o: gui.h
@@ -246,6 +245,6 @@
 vm-limit.o: $(LISP_H) mem-limits.h
 widget.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h
 win32.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h conslots.h console-msw.h console.h intl-auto-encap-win32.h sysfile.h sysproc.h syssignal.h systime.h syswindows.h
-window.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console.h device.h devslots.h elhash.h faces.h frame.h frameslots.h glyphs.h gui.h gutter.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h
+window.o: $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h conslots.h console.h device.h devslots.h elhash.h faces.h frame.h frameslots.h glyphs.h gutter.h objects.h redisplay.h scrollbar.h specifier.h window.h winslots.h
 xgccache.o: $(LISP_H) hash.h xgccache.h
 xmu.o: config.h
--- a/src/device.h	Fri May 31 09:38:49 2002 +0000
+++ b/src/device.h	Sat Jun 01 08:06:55 2002 +0000
@@ -131,7 +131,7 @@
   /* holds some data necessary for SIGIO control.  Perhaps this should
      be inside of device_data; but it is used for both TTY's and X
      device.  Perhaps it should be conditionalized on SIGIO; but
-     this requires including syssignal.h and systty.h. */
+     this requires including syssignal.h. */
   int old_fcntl_owner;
 #endif
 };
--- a/src/emacs.c	Fri May 31 09:38:49 2002 +0000
+++ b/src/emacs.c	Sat Jun 01 08:06:55 2002 +0000
@@ -251,7 +251,6 @@
 #include "frame.h"
 #include "sysdep.h"
 
-#include "syssignal.h" /* Always include before systty.h and sysproc.h */
 #include "systty.h"
 #include "sysfile.h"
 #include "systime.h"
--- a/src/extents.c	Fri May 31 09:38:49 2002 +0000
+++ b/src/extents.c	Sat Jun 01 08:06:55 2002 +0000
@@ -3599,9 +3599,11 @@
       }
     for (i = 0; i < orignewlength; i++)
       {
-	if (!bsearch (Dynarr_atp (newprops, i), Dynarr_atp (oldprops, 0),
-		      Dynarr_length (oldprops), sizeof (Lisp_Object_pair),
-		      compare_key_value_pairs))
+	if (!Dynarr_length (oldprops) || !bsearch (Dynarr_atp (newprops, i), 
+						   Dynarr_atp (oldprops, 0),
+						   Dynarr_length (oldprops), 
+						   sizeof (Lisp_Object_pair),
+						   compare_key_value_pairs))
 	  {
 	    Lisp_Object_pair new;
 	    new.key = Dynarr_at (newprops, i).key;
--- a/src/filelock.c	Fri May 31 09:38:49 2002 +0000
+++ b/src/filelock.c	Sat Jun 01 08:06:55 2002 +0000
@@ -26,12 +26,11 @@
 #include "buffer.h"
 #include <paths.h>
 
+#include "sysdir.h"
 #include "sysfile.h"
-#include "sysdir.h"
+#include "sysproc.h" /* for qxe_getpid() */
 #include "syspwd.h"
-#include "syssignal.h" /* for kill. Always include before sysproc.h
-			  -- didier */
-#include "sysproc.h" /* for qxe_getpid() */
+#include "syssignal.h" /* for kill. */
 
 Lisp_Object Qask_user_about_supersession_threat;
 Lisp_Object Qask_user_about_lock;
--- a/src/inline.c	Fri May 31 09:38:49 2002 +0000
+++ b/src/inline.c	Sat Jun 01 08:06:55 2002 +0000
@@ -42,6 +42,9 @@
 
 #include <config.h>
 #include "lisp.h"
+
+#include "sysfile.h"
+
 #include "buffer.h"
 #include "bytecode.h"
 #include "casetab.h"
--- a/src/nt.c	Fri May 31 09:38:49 2002 +0000
+++ b/src/nt.c	Sat Jun 01 08:06:55 2002 +0000
@@ -40,12 +40,12 @@
 
 #include "buffer.h"
 
-#include "systime.h"
-#include "syssignal.h" /* Always include before sysproc.h -- didier */
+#include "sysdir.h"
+#include "sysfile.h"
 #include "sysproc.h"
-#include "sysfile.h"
 #include "syspwd.h"
-#include "sysdir.h"
+#include "syssignal.h"
+#include "systime.h"
 
 #include "syswindows.h"
 
--- a/src/process-nt.c	Fri May 31 09:38:49 2002 +0000
+++ b/src/process-nt.c	Sat Jun 01 08:06:55 2002 +0000
@@ -34,9 +34,9 @@
 #include "process.h"
 #include "procimpl.h"
 
-#include "syssignal.h" /* Always include before sysproc.h -- didier */
 #include "sysfile.h"
 #include "sysproc.h"
+#include "syssignal.h"
 
 /* Bound by win32-native.el */
 Lisp_Object Qmswindows_construct_process_command_line;
--- a/src/process-unix.c	Fri May 31 09:38:49 2002 +0000
+++ b/src/process-unix.c	Sat Jun 01 08:06:55 2002 +0000
@@ -53,9 +53,8 @@
 #include <setjmp.h>
 #include "sysdir.h"
 #include "sysfile.h"
-#include "syssignal.h" /* Always include before systty.h and sysproc.h
-			  -- didier*/
 #include "sysproc.h"
+#include "syssignal.h"
 #include "systime.h"
 #include "systty.h"
 #include "syswait.h"
@@ -2034,7 +2033,8 @@
 	if (retval == -1 && errno != EISCONN)
 	  {
 	    xerrno = errno;
-	    if (errno == EINTR)
+
+	    if (errno == EINTR || errno == EINPROGRESS || errno == EALREADY)
 	      goto loop;
 	    if (errno == EADDRINUSE && retry < 20)
 	      {
@@ -2262,10 +2262,11 @@
     {
       int xerrno = errno;
 
-      if (errno == EINTR)
+      if (errno == EINTR || errno == EINPROGRESS || errno == EALREADY)
 	goto loop;
       if (errno == EADDRINUSE && retry < 20)
 	{
+#ifdef __FreeBSD__
 	  /* A delay here is needed on some FreeBSD systems,
 	     and it is harmless, since this retrying takes time anyway
 	     and should be infrequent.
@@ -2273,6 +2274,7 @@
 	     slowed down so it can't be used here.  Async timers should
 	     already be disabled at this point so we can use `sleep'. */
 	  sleep (1);
+#endif
 	  retry++;
 	  goto loop;
 	}
--- a/src/process.c	Fri May 31 09:38:49 2002 +0000
+++ b/src/process.c	Sat Jun 01 08:06:55 2002 +0000
@@ -57,9 +57,8 @@
 #include "window.h"
 
 #include "sysfile.h"
-#include "syssignal.h" /* Always include before sysproc.h and systty.h
-			  -- didier */
 #include "sysproc.h"
+#include "syssignal.h"
 #include "systime.h"
 #include "systty.h"
 #include "syswait.h"
@@ -1126,6 +1125,16 @@
   return XPROCESS (process)->separate_stderr;
 }
 
+DEFUN ("process-has-separate-stderr-p", Fprocess_has_separate_stderr_p, 1, 1,
+       0, /*
+Return non-nil if process has stderr separate from stdout.
+*/
+       (process))
+{
+  CHECK_PROCESS (process);
+  return process_has_separate_stderr (process) ? Qt : Qnil;
+}
+
 
 /* Sending data to subprocess */
 
@@ -2510,6 +2519,7 @@
   DEFSUBR (Fprocess_name);
   DEFSUBR (Fprocess_tty_name);
   DEFSUBR (Fprocess_command);
+  DEFSUBR (Fprocess_has_separate_stderr_p);
   DEFSUBR (Fset_process_buffer);
   DEFSUBR (Fset_process_stderr_buffer);
   DEFSUBR (Fprocess_buffer);
--- a/src/redisplay-tty.c	Fri May 31 09:38:49 2002 +0000
+++ b/src/redisplay-tty.c	Sat Jun 01 08:06:55 2002 +0000
@@ -46,6 +46,8 @@
 #include "console-tty.h"
 #include "objects-tty.h"
 
+#include "syssignal.h"
+
 /* These headers #define all kinds of common words like "columns"...
    What a bunch of losers.  If we were to include them, we'd have to
    include them last to prevent them from messing up our own header
--- a/src/sysdep.c	Fri May 31 09:38:49 2002 +0000
+++ b/src/sysdep.c	Sat Jun 01 08:06:55 2002 +0000
@@ -67,10 +67,9 @@
 
 #include "sysdir.h"
 #include "sysfile.h"
-#include "syssignal.h" /* Always include before sysproc.h and systty.h
-			  -- didier */
 #include "sysproc.h"
 #include "syspwd.h"
+#include "syssignal.h"
 #include "systime.h"
 #include "systty.h"
 #include "syswait.h"
--- a/src/sysproc.h	Fri May 31 09:38:49 2002 +0000
+++ b/src/sysproc.h	Sat Jun 01 08:06:55 2002 +0000
@@ -194,9 +194,7 @@
    --ben
 */
 
-/* #### WARNING: if you include this file somewhere, you must include
-   syssignal.h before in order to get SIGTSTP for the following define.
-   -- didier */
+#include "syssignal.h" /* needed for SIGTSTP */
 
 #if !defined (WIN32_NATIVE) && ((!defined (SIGTSTP) && !defined (USG_JOBCTRL)) || !defined (HAVE_MKDIR) || !defined (HAVE_RMDIR))
 
--- a/src/win32.c	Fri May 31 09:38:49 2002 +0000
+++ b/src/win32.c	Sat Jun 01 08:06:55 2002 +0000
@@ -25,8 +25,8 @@
 #include "console-msw.h"
 
 #include "sysfile.h"
-#include "syssignal.h" /* Always include before sysproc.h -- didier */
 #include "sysproc.h"
+#include "syssignal.h"
 #include "systime.h"
 
 /* Control conversion of upper case file names to lower case.