Mercurial > hg > xemacs-beta
changeset 613:023b83f4e54b
[xemacs-hg @ 2001-06-10 10:42:16 by ben]
------ signal-code changes ------
data.c, device-tty.c, emacs.c, floatfns.c, linuxplay.c, nas.c,
process-unix.c, signal.c, sunplay.c, sysdep.c, syssignal.h:
use EMACS_SIGNAL everywhere instead of playing preprocessing
games with signal().
s\windowsnt.h, s\mingw32.h, syssignal.h:
Remove mswindows signal code from s+m headers and move to
syssignal.h as one of the five ways of signal handling,
instead of playing preprocessing games.
fileio.c, sysdep.c:
Rename sys_do_signal to qxe_reliable_signal.
signal.c, process-unix.c, profile.c:
Create set_timeout_signal(); use instead of just EMACS_SIGNAL
to establish a signal handler on a timeout signal; this does
special things under Cygwin.
nt.c:
Eliminate term_ntproc(), which is blank; used as a SIGABRT
handler, which was wrong anyway.
nt.c, win32.c:
Move signal code from nt.c to win32.c, since Cygwin needs it
too when dealing with timeout signals.
s\cygwin32.h:
Define CYGWIN_BROKEN_SIGNALS.
------ other changes ------
s\mingw32.h:
Fix problems with NOT_C_CODE being in the wrong place and
excluding defines needed when building Makefile.in.in.
filelock.c, mule-canna.c, mule-ccl.c, mule-ccl.h, ralloc.c,
unexalpha.c, unexapollo.c, unexcw.c, unexelfsgi.c, unexnt.c,
unexsni.c, s\aix3-1.h, s\bsd4-1.h, s\bsd4-2.h, s\bsd4-3.h, s\cxux.h,
s\cygwin32.h, s\dgux.h, s\dgux5-4r2.h, s\dgux5-4r3.h, s\dgux5-4r4.h,
s\ewsux5r4.h, s\gnu.h, s\hpux.h, s\iris3-5.h, s\iris3-6.h,
s\irix3-3.h, s\linux.h, s\mingw32.h, s\newsos5.h, s\nextstep.h,
s\ptx.h, s\riscix1-1.h, s\riscix1-2.h, s\rtu.h, s\sco4.h, s\sco5.h,
s\template.h, s\ultrix.h, s\umax.h, s\umips.h, s\unipl5-0.h,
s\unipl5-2.h, s\usg5-0.h, s\usg5-2-2.h, s\usg5-2.h, s\usg5-3.h,
s\usg5-4.h, s\windowsnt.h, s\xenix.h:
Rename 'GNU Emacs' to XEmacs in the copyright and comments.
nas.c:
Stylistic cleanup. Avoid preprocessing games with names such
as play_sound_file.
------ signal-code changes ------
data.c, device-tty.c, emacs.c, floatfns.c, linuxplay.c, nas.c,
process-unix.c, signal.c, sunplay.c, sysdep.c, syssignal.h:
use EMACS_SIGNAL everywhere instead of playing preprocessing
games with signal().
s\windowsnt.h, s\mingw32.h, syssignal.h:
Remove mswindows signal code from s+m headers and move to
syssignal.h as one of the five ways of signal handling,
instead of playing preprocessing games.
fileio.c, sysdep.c:
Rename sys_do_signal to qxe_reliable_signal.
signal.c, process-unix.c, profile.c:
Create set_timeout_signal(); use instead of just EMACS_SIGNAL
to establish a signal handler on a timeout signal; this does
special things under Cygwin.
nt.c:
Eliminate term_ntproc(), which is blank; used as a SIGABRT
handler, which was wrong anyway.
nt.c, win32.c:
Move signal code from nt.c to win32.c, since Cygwin needs it
too when dealing with timeout signals.
s\cygwin32.h:
Define CYGWIN_BROKEN_SIGNALS.
------ other changes ------
s\mingw32.h:
Fix problems with NOT_C_CODE being in the wrong place and
excluding defines needed when building Makefile.in.in.
filelock.c, mule-canna.c, mule-ccl.c, mule-ccl.h, ralloc.c,
unexalpha.c, unexapollo.c, unexcw.c, unexelfsgi.c, unexnt.c,
unexsni.c, s\aix3-1.h, s\bsd4-1.h, s\bsd4-2.h, s\bsd4-3.h, s\cxux.h,
s\cygwin32.h, s\dgux.h, s\dgux5-4r2.h, s\dgux5-4r3.h, s\dgux5-4r4.h,
s\ewsux5r4.h, s\gnu.h, s\hpux.h, s\iris3-5.h, s\iris3-6.h,
s\irix3-3.h, s\linux.h, s\mingw32.h, s\newsos5.h, s\nextstep.h,
s\ptx.h, s\riscix1-1.h, s\riscix1-2.h, s\rtu.h, s\sco4.h, s\sco5.h,
s\template.h, s\ultrix.h, s\umax.h, s\umips.h, s\unipl5-0.h,
s\unipl5-2.h, s\usg5-0.h, s\usg5-2-2.h, s\usg5-2.h, s\usg5-3.h,
s\usg5-4.h, s\windowsnt.h, s\xenix.h:
Rename 'GNU Emacs' to XEmacs in the copyright and comments.
nas.c:
Stylistic cleanup. Avoid preprocessing games with names such
as play_sound_file.
xemacs-faq.texi:
Update sections on Windows and MacOS availability.
alist.el, apropos.el, autoload.el, bytecomp.el, cl-compat.el, cl-extra.el, cl-macs.el, cl-seq.el, cl.el, cmdloop.el, cus-edit.el, derived.el, gpm.el, itimer.el, lisp-mode.el, shadow.el, version.el, wid-browse.el:
Rename 'GNU Emacs' to XEmacs in the copyright. Fix other
references to GNU Emacs that should be XEmacs or just Emacs.
files.el:
Fix warning.
simple.el:
transpose-line-up/down will now move the region up or down by
a line if active.
cvtmail.c, fakemail.c, gnuserv.c, gnuserv.h, gnuslib.c, make-msgfile.c, make-path.c, pop.c, pop.h, profile.c, tcp.c:
Rename 'GNU Emacs' to XEmacs in the copyright.
Fix comments in similar ways.
digest-doc.c, sorted-doc.c:
Fix program and author name to reflect XEmacs.
line wrap: on
line diff
--- a/lib-src/ChangeLog Sat Jun 09 09:02:04 2001 +0000 +++ b/lib-src/ChangeLog Sun Jun 10 10:42:39 2001 +0000 @@ -1,3 +1,24 @@ +2001-06-10 Ben Wing <ben@xemacs.org> + + * cvtmail.c: + * fakemail.c: + * gnuserv.c: + * gnuserv.c (handle_ipc_request): + * gnuserv.h: + * gnuslib.c: + * make-msgfile.c: + * make-path.c: + * pop.c: + * pop.h: + * profile.c: + * tcp.c: + Rename 'GNU Emacs' to XEmacs in the copyright. + Fix comments in similar ways. + + * digest-doc.c (main): + * sorted-doc.c (main): + Fix program and author name to reflect XEmacs. + 2001-05-06 Karl M. Hegbloom <karlheg@hegbloom.net> * movemail.c (lock_dot): Use mkstemp if available
--- a/lib-src/cvtmail.c Sat Jun 09 09:02:04 2001 +0000 +++ b/lib-src/cvtmail.c Sun Jun 10 10:42:39 2001 +0000 @@ -1,18 +1,18 @@ /* Copyright (C) 1985, 1993, 1994 Free Software Foundation -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to +along with XEmacs; see the file COPYING. If not, write to the Free the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
--- a/lib-src/digest-doc.c Sat Jun 09 09:02:04 2001 +0000 +++ b/lib-src/digest-doc.c Sun Jun 10 10:42:39 2001 +0000 @@ -17,8 +17,8 @@ register int notfirst = 0; printf (".TL\n"); - printf ("Command Summary for GNU Emacs\n"); - printf (".AU\nRichard M. Stallman\n"); + printf ("Command Summary for XEmacs\n"); + printf (".AU\nThe XEmacs Advocacy Group\n"); while ((ch = getchar ()) != EOF) { if (ch == '\037')
--- a/lib-src/fakemail.c Sat Jun 09 09:02:04 2001 +0000 +++ b/lib-src/fakemail.c Sun Jun 10 10:42:39 2001 +0000 @@ -1,20 +1,20 @@ /* sendmail-like interface to /bin/mail for system V, Copyright (C) 1985, 1994 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to +along with XEmacs; see the file COPYING. If not, write to the Free the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
--- a/lib-src/gnuserv.c Sat Jun 09 09:02:04 2001 +0000 +++ b/lib-src/gnuserv.c Sun Jun 10 10:42:39 2001 +0000 @@ -1,8 +1,8 @@ /* -*-C-*- Server code for handling requests from clients and forwarding them - on to the GNU Emacs process. + on to the XEmacs process. - This file is part of GNU Emacs. + This file is part of XEmacs. Copying is permitted under those conditions described by the GNU General Public License. @@ -166,7 +166,7 @@ /* handle_ipc_request -- accept a request from a client, pass the request on - to the GNU Emacs process, then wait for its reply and + to the XEmacs process, then wait for its reply and pass that on to the client. */ void
--- a/lib-src/gnuserv.h Sat Jun 09 09:02:04 2001 +0000 +++ b/lib-src/gnuserv.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,8 +1,8 @@ /* -*-C-*- - Header file for the GNU Emacs server and client C code. + Header file for the XEmacs server and client C code. - This file is part of GNU Emacs. + This file is part of XEmacs. Copying is permitted under those conditions described by the GNU General Public License.
--- a/lib-src/gnuslib.c Sat Jun 09 09:02:04 2001 +0000 +++ b/lib-src/gnuslib.c Sun Jun 10 10:42:39 2001 +0000 @@ -1,7 +1,7 @@ /* -*-C-*- - Common library code for the GNU Emacs server and client. + Common library code for the XEmacs server and client. - This file is part of GNU Emacs. + This file is part of XEmacs. Copying is permitted under those conditions described by the GNU General Public License.
--- a/lib-src/make-msgfile.c Sat Jun 09 09:02:04 2001 +0000 +++ b/lib-src/make-msgfile.c Sun Jun 10 10:42:39 2001 +0000 @@ -206,7 +206,7 @@ (interactive ...) The arguments given to this program are all the C and Lisp source files - of GNU Emacs. .el and .c files are allowed. There is no support for .elc + of XEmacs. .el and .c files are allowed. There is no support for .elc files at this time, but they may be specified; the corresponding .el file will be used. Similarly, .o files can also be specified, and the corresponding .c file will be used. This helps the makefile pass the correct list of files.
--- a/lib-src/make-path.c Sat Jun 09 09:02:04 2001 +0000 +++ b/lib-src/make-path.c Sun Jun 10 10:42:39 2001 +0000 @@ -1,20 +1,20 @@ /* Make all the directories along a path. Copyright (C) 1992 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to +along with XEmacs; see the file COPYING. If not, write to the Free the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
--- a/lib-src/pop.c Sat Jun 09 09:02:04 2001 +0000 +++ b/lib-src/pop.c Sun Jun 10 10:42:39 2001 +0000 @@ -2,20 +2,20 @@ Copyright (c) 1991, 1993, 1996 Free Software Foundation, Inc. Written by Jonathan Kamens, jik@security.ov.com. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to +along with XEmacs; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
--- a/lib-src/pop.h Sat Jun 09 09:02:04 2001 +0000 +++ b/lib-src/pop.h Sun Jun 10 10:42:39 2001 +0000 @@ -2,20 +2,20 @@ Copyright (c) 1991,1993 Free Software Foundation, Inc. Written by Jonathan Kamens, jik@security.ov.com. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to +along with XEmacs; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
--- a/lib-src/profile.c Sat Jun 09 09:02:04 2001 +0000 +++ b/lib-src/profile.c Sun Jun 10 10:42:39 2001 +0000 @@ -3,20 +3,20 @@ Author: Boaz Ben-Zvi <boaz@lcs.mit.edu> - This file is part of GNU Emacs. + This file is part of XEmacs. - GNU Emacs is free software; you can redistribute it and/or modify + XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. - GNU Emacs is distributed in the hope that it will be useful, + XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with GNU Emacs; see the file COPYING. If not, write to + along with XEmacs; see the file COPYING. If not, write to the Free the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
--- a/lib-src/sorted-doc.c Sat Jun 09 09:02:04 2001 +0000 +++ b/lib-src/sorted-doc.c Sun Jun 10 10:42:39 2001 +0000 @@ -204,8 +204,8 @@ printf ("\\input texinfo @c -*-texinfo-*-\n"); printf ("@setfilename ../info/summary\n"); - printf ("@settitle Command Summary for GNU Emacs\n"); - printf ("@unnumbered Command Summary for GNU Emacs\n"); + printf ("@settitle Command Summary for XEmacs\n"); + printf ("@unnumbered Command Summary for XEmacs\n"); printf ("@table @asis\n"); printf ("\n"); printf ("@iftex\n");
--- a/lib-src/tcp.c Sat Jun 09 09:02:04 2001 +0000 +++ b/lib-src/tcp.c Sun Jun 10 10:42:39 2001 +0000 @@ -1,24 +1,24 @@ /* - * TCP/IP stream emulation for GNU Emacs. + * TCP/IP stream emulation for XEmacs. * Copyright (C) 1988, 1989, 1992, 1993 Free Software Foundation, Inc. * Author: Masanobu Umeda * Maintainer: umerin@mse.kyutech.ac.jp -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to +along with XEmacs; see the file COPYING. If not, write to the Free the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
--- a/lisp/ChangeLog Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/ChangeLog Sun Jun 10 10:42:39 2001 +0000 @@ -1,3 +1,40 @@ +2001-06-10 Ben Wing <ben@xemacs.org> + + * alist.el: + * apropos.el: + * autoload.el: + * bytecomp.el: + * bytecomp.el (byte-compile-insert-header): + * cl-compat.el: + * cl-extra.el: + * cl-macs.el: + * cl-seq.el: + * cl.el: + * cmdloop.el (execute-extended-command): + * cus-edit.el (alloc): + * derived.el: + * gpm.el: + * itimer.el: + * lisp-mode.el (lisp-mode): + * shadow.el: + * version.el: + * wid-browse.el: + Rename 'GNU Emacs' to XEmacs in the copyright. + Fix other references to GNU Emacs that should be XEmacs or just + Emacs. + + * files.el (insert-directory): + Fix warning. + + * simple.el: + * simple.el (Simple-forward-line-creating-newline): New. + * simple.el (Simple-transpose-lines-mover): New. + * simple.el (transpose-line-up): + * simple.el (transpose-line-down): + * simple.el (transpose-subr): + transpose-line-up/down will now move the region up or down by + a line if active. + 2001-06-08 Mike Sperber <mike@xemacs.org> * files.el (save-some-buffers-1): Don't zap the help window right
--- a/lisp/alist.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/alist.el Sun Jun 10 10:42:39 2001 +0000 @@ -18,7 +18,7 @@ ;; General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the +;; along with XEmacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA.
--- a/lisp/apropos.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/apropos.el Sun Jun 10 10:42:39 2001 +0000 @@ -20,7 +20,7 @@ ;; General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the +;; along with XEmacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA.
--- a/lisp/autoload.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/autoload.el Sun Jun 10 10:42:39 2001 +0000 @@ -28,7 +28,7 @@ ;;; Commentary: -;; This code helps GNU Emacs maintainers keep the loaddefs.el file up to +;; This code helps XEmacs maintainers keep the loaddefs.el file up to ;; date. It interprets magic cookies of the form ";;;###autoload" in ;; lisp source files in various useful ways. To learn more, read the ;; source; if you're going to use this, you'd better be able to.
--- a/lisp/bytecomp.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/bytecomp.el Sun Jun 10 10:42:39 2001 +0000 @@ -184,7 +184,7 @@ ;;; o You can add this to /etc/magic to make file(1) recognize the files ;;; generated by this compiler: ;;; -;;; 0 string ;ELC GNU Emacs Lisp compiled file, +;;; 0 string ;ELC XEmacs Lisp compiled file, ;;; >4 byte x version %d ;;; ;;; TO DO: @@ -1776,7 +1776,7 @@ ;; say "Binary files differ" instead of actually doing a diff of two .elc ;; files. An extra benefit is that you can add this to /etc/magic: ;; - ;; 0 string ;ELC GNU Emacs Lisp compiled file, + ;; 0 string ;ELC XEmacs Lisp compiled file, ;; >4 byte x version %d ;; (insert
--- a/lisp/cl-compat.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/cl-compat.el Sun Jun 10 10:42:39 2001 +0000 @@ -1,4 +1,4 @@ -;;; cl-compat.el --- Common Lisp extensions for GNU Emacs Lisp (compatibility) +;;; cl-compat.el --- Common Lisp extensions for XEmacs Lisp (compatibility) ;; Copyright (C) 1993 Free Software Foundation, Inc.
--- a/lisp/cl-extra.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/cl-extra.el Sun Jun 10 10:42:39 2001 +0000 @@ -1,4 +1,4 @@ -;;; cl-extra.el --- Common Lisp extensions for GNU Emacs Lisp (part two) +;;; cl-extra.el --- Common Lisp extensions for XEmacs Lisp (part two) ;; Copyright (C) 1993 Free Software Foundation, Inc.
--- a/lisp/cl-macs.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/cl-macs.el Sun Jun 10 10:42:39 2001 +0000 @@ -1,4 +1,4 @@ -;;; cl-macs.el --- Common Lisp extensions for GNU Emacs Lisp (part four) +;;; cl-macs.el --- Common Lisp extensions for XEmacs Lisp (part four) ;; Copyright (C) 1993 Free Software Foundation, Inc.
--- a/lisp/cl-seq.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/cl-seq.el Sun Jun 10 10:42:39 2001 +0000 @@ -1,4 +1,4 @@ -;;; cl-seq.el --- Common Lisp extensions for GNU Emacs Lisp (part three) +;;; cl-seq.el --- Common Lisp extensions for XEmacs Lisp (part three) ;; Copyright (C) 1993 Free Software Foundation, Inc.
--- a/lisp/cl.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/cl.el Sun Jun 10 10:42:39 2001 +0000 @@ -1,4 +1,4 @@ -;;; cl.el --- Common Lisp extensions for GNU Emacs Lisp +;;; cl.el --- Common Lisp extensions for XEmacs Lisp ;; Copyright (C) 1993, 1997 Free Software Foundation, Inc.
--- a/lisp/cmdloop.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/cmdloop.el Sun Jun 10 10:42:39 2001 +0000 @@ -306,7 +306,7 @@ (setq this-command (read-command ;; Note: this has the hard-wired ;; "C-u" and "M-x" string bug in common - ;; with all GNU Emacs's. + ;; with all Emacs's. ;; (i.e. it prints C-u and M-x regardless of ;; whether some other keys were actually bound ;; to `execute-extended-command' and
--- a/lisp/cus-edit.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/cus-edit.el Sun Jun 10 10:42:39 2001 +0000 @@ -232,7 +232,7 @@ :group 'customize) (defgroup alloc nil - "Storage allocation and gc for GNU Emacs Lisp interpreter." + "Storage allocation and gc for XEmacs Lisp interpreter." :tag "Storage Allocation" :group 'internal)
--- a/lisp/derived.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/derived.el Sun Jun 10 10:42:39 2001 +0000 @@ -29,7 +29,7 @@ ;; This file is dumped with XEmacs. -;; GNU Emacs is already, in a sense, object oriented -- each object +;; XEmacs is already, in a sense, object oriented -- each object ;; (buffer) belongs to a class (major mode), and that class defines ;; the relationship between messages (input events) and methods ;; (commands) by means of a keymap.
--- a/lisp/files.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/files.el Sun Jun 10 10:42:39 2001 +0000 @@ -3166,7 +3166,8 @@ ;; my new naming scheme. --ben ((and (fboundp 'mswindows-insert-directory) (eq system-type 'windows-nt)) - (mswindows-insert-directory file switches wildcard full-directory-p)) + (declare-fboundp (mswindows-insert-directory + file switches wildcard full-directory-p))) (t (if wildcard ;; Run ls in the directory of the file pattern we asked for.
--- a/lisp/gpm.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/gpm.el Sun Jun 10 10:42:39 2001 +0000 @@ -18,7 +18,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the +;; along with XEmacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA.
--- a/lisp/itimer.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/itimer.el Sun Jun 10 10:42:39 2001 +0000 @@ -1,4 +1,4 @@ -;;; Interval timers for GNU Emacs +;;; Interval timers for XEmacs ;;; Copyright (C) 1988, 1991, 1993, 1997, 1998 Kyle E. Jones ;;; ;;; This program is free software; you can redistribute it and/or modify
--- a/lisp/lisp-mode.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/lisp-mode.el Sun Jun 10 10:42:39 2001 +0000 @@ -332,7 +332,7 @@ ) (defun lisp-mode () - "Major mode for editing Lisp code for Lisps other than GNU Emacs Lisp. + "Major mode for editing Lisp code for Lisps other than Emacs Lisp. Commands: Delete converts tabs to spaces as it moves back. Blank lines separate paragraphs. Semicolons start comments.
--- a/lisp/shadow.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/shadow.el Sun Jun 10 10:42:39 2001 +0000 @@ -13,13 +13,13 @@ ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. -;; GNU Emacs is distributed in the hope that it will be useful, +;; XEmacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the +;; along with XEmacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA.
--- a/lisp/simple.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/simple.el Sun Jun 10 10:42:39 2001 +0000 @@ -2517,53 +2517,62 @@ (interactive "*p") (transpose-subr 'forward-sexp arg)) +(defun Simple-forward-line-creating-newline () + ;; Move forward over a line, + ;; but create a newline if none exists yet. + (end-of-line) + (if (eobp) + (newline) + (forward-char 1))) + +(defun Simple-transpose-lines-mover (arg) + (if (= arg 1) + (Simple-forward-line-creating-newline) + (forward-line arg))) + (defun transpose-lines (arg) "Exchange current line and previous line, leaving point after both. With argument ARG, takes previous line and moves it past ARG lines. With argument 0, interchanges line point is in with line mark is in." (interactive "*p") - (transpose-subr #'(lambda (arg) - (if (= arg 1) - (progn - ;; Move forward over a line, - ;; but create a newline if none exists yet. - (end-of-line) - (if (eobp) - (newline) - (forward-char 1))) - (forward-line arg))) - arg)) + (transpose-subr 'Simple-transpose-lines-mover arg)) (defun transpose-line-up (arg) "Move current line one line up, leaving point at beginning of that line. -This can be run repeatedly to move the current line up a number of lines." +With argument ARG, move it ARG lines up. This can be run repeatedly +to move the current line up a number of lines. + +If the region is active, move the region up one line (or ARG lines, +if specified). The region will not be selected afterwards, but this +command can still be run repeatedly to move the region up a number +of lines." (interactive "*p") - ;; Move forward over a line, - ;; but create a newline if none exists yet. - (end-of-line) - (if (eobp) - (newline) - (forward-char 1)) - (transpose-lines (- arg)) - (forward-line -1)) + (transpose-line-down (- arg))) (defun transpose-line-down (arg) "Move current line one line down, leaving point at beginning of that line. -This can be run repeatedly to move the current line down a number of lines." +With argument ARG, move it ARG lines down. This can be run repeatedly +to move the current line down a number of lines. + +If the region is active, move the region down one line (or ARG lines, +if specified). The region will not be selected afterwards, but this +command can still be run repeatedly to move the region down a number +of lines." (interactive "*p") - ;; Move forward over a line, - ;; but create a newline if none exists yet. - (end-of-line) - (if (eobp) - (newline) - (forward-char 1)) - (transpose-lines arg) - (forward-line -1)) - -(defun transpose-subr (mover arg) + (if (or (region-active-p) + (getf last-command-properties 'transpose-region-by-line-command)) + (progn + (transpose-subr 'Simple-transpose-lines-mover arg t) + (putf this-command-properties 'transpose-region-by-line-command t)) + (Simple-forward-line-creating-newline) + (transpose-subr 'Simple-transpose-lines-mover arg) + (forward-line -1))) + +(defun transpose-subr (mover arg &optional move-region) (let (start1 end1 start2 end2) ;; XEmacs -- use flet instead of defining a separate function and - ;; relying on dynamic scope!!! + ;; relying on dynamic scope; use (mark t) etc; add code to support + ;; the new MOVE-REGION arg. (flet ((transpose-subr-1 () (if (> (min end1 end2) (max start1 start2)) (error "Don't have two things to transpose")) @@ -2583,36 +2592,63 @@ (setq end2 (point)) (funcall mover -1) (setq start2 (point)) - (goto-char (mark t)) ; XEmacs + (goto-char (mark t)) (funcall mover 1) (setq end1 (point)) (funcall mover -1) (setq start1 (point)) (transpose-subr-1)) - (exchange-point-and-mark t))) ; XEmacs - (while (> arg 0) - (funcall mover -1) - (setq start1 (point)) - (funcall mover 1) - (setq end1 (point)) - (funcall mover 1) - (setq end2 (point)) - (funcall mover -1) - (setq start2 (point)) - (transpose-subr-1) - (goto-char end2) - (setq arg (1- arg))) - (while (< arg 0) - (funcall mover -1) - (setq start2 (point)) - (funcall mover -1) - (setq start1 (point)) - (funcall mover 1) - (setq end1 (point)) - (funcall mover 1) - (setq end2 (point)) - (transpose-subr-1) - (setq arg (1+ arg)))))) + (exchange-point-and-mark t))) + (if move-region + (let ((rbeg (region-beginning)) + (rend (region-end))) + (while (> arg 0) + (goto-char rend) + (funcall mover 1) + (setq end2 (point)) + (funcall mover -1) + (setq start2 (point)) + (setq start1 rbeg end1 rend) + (transpose-subr-1) + (incf rbeg (- end2 start2)) + (incf rend (- end2 start2)) + (setq arg (1- arg))) + (while (< arg 0) + (goto-char rbeg) + (funcall mover -1) + (setq start1 (point)) + (funcall mover 1) + (setq end1 (point)) + (setq start2 rbeg end2 rend) + (transpose-subr-1) + (decf rbeg (- end1 start1)) + (decf rend (- end1 start1)) + (setq arg (1+ arg))) + (set-mark rbeg) + (goto-char rend)) + (while (> arg 0) + (funcall mover -1) + (setq start1 (point)) + (funcall mover 1) + (setq end1 (point)) + (funcall mover 1) + (setq end2 (point)) + (funcall mover -1) + (setq start2 (point)) + (transpose-subr-1) + (goto-char end2) + (setq arg (1- arg))) + (while (< arg 0) + (funcall mover -1) + (setq start2 (point)) + (funcall mover -1) + (setq start1 (point)) + (funcall mover 1) + (setq end1 (point)) + (funcall mover 1) + (setq end2 (point)) + (transpose-subr-1) + (setq arg (1+ arg))))))) (defcustom comment-column 32
--- a/lisp/version.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/version.el Sun Jun 10 10:42:39 2001 +0000 @@ -18,7 +18,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the +;; along with XEmacs; see the file COPYING. If not, write to the ;; Free Software Foundation Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA.
--- a/lisp/wid-browse.el Sat Jun 09 09:02:04 2001 +0000 +++ b/lisp/wid-browse.el Sun Jun 10 10:42:39 2001 +0000 @@ -7,20 +7,20 @@ ;; Version: 1.9960 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/ -;; This file is part of GNU Emacs. +;; This file is part of XEmacs. -;; GNU Emacs is free software; you can redistribute it and/or modify +;; XEmacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. -;; GNU Emacs is distributed in the hope that it will be useful, +;; XEmacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the +;; along with XEmacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA.
--- a/man/ChangeLog Sat Jun 09 09:02:04 2001 +0000 +++ b/man/ChangeLog Sun Jun 10 10:42:39 2001 +0000 @@ -1,3 +1,10 @@ +2001-06-10 Ben Wing <ben@xemacs.org> + + * xemacs-faq.texi (Q1.0.10): + * xemacs-faq.texi (Q1.0.11): + * xemacs-faq.texi (Q1.0.12): + Update sections on Windows and MacOS availability. + 2001-06-08 Ben Wing <ben@xemacs.org> * xemacs-faq.texi (Top):
--- a/man/xemacs-faq.texi Sat Jun 09 09:02:04 2001 +0000 +++ b/man/xemacs-faq.texi Sun Jun 10 10:42:39 2001 +0000 @@ -7,7 +7,7 @@ @finalout @titlepage @title XEmacs FAQ -@subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2001/06/08 12:21:15 $ +@subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2001/06/10 10:42:25 $ @sp 1 @author Tony Rossini <rossini@@biostat.washington.edu> @author Ben Wing <ben@@xemacs.org> @@ -663,7 +663,8 @@ @node Q1.0.10, Q1.0.11, Q1.0.9, Introduction @unnumberedsubsec Q1.0.10: Is there a port of XEmacs to Microsoft ('95 or NT)? -Yes, see @ref{MS Windows}. +Yes. XEmacs can be built under MS Windows and is fully-featured and +actively developed. See @ref{MS Windows}. @node Q1.0.11, Q1.0.12, Q1.0.10, Introduction @unnumberedsubsec Q1.0.11: Is there a port of XEmacs to the Macintosh? @@ -676,9 +677,18 @@ @c For the MacOS, there is a port of @c @uref{ftp://ftp.cs.cornell.edu/pub/parmet/, Emacs 18.59}. -Yes, there is a port of XEmacs 19.14, tested on MacOS 7.6.1 and MacOS -8.5.1 by @email{pjarvis@@ispchannel.com, Pitts Jarvis}. It's available -at @uref{http://homepage.mac.com/pjarvis/xemacs.html}. +Yes. + +XEmacs 21.5 (perhaps 21.4 also?) works on MacOS X, although it certainly +will not feel very much like a Mac application as it has no Mac-specific +code in it. + +There is also a port of XEmacs 19.14 that works on all recent versions +of MacOS, from 8.1 through MacOS X, by @email{pjarvis@@ispchannel.com, +Pitts Jarvis}. It runs in an equivalent of TTY mode only (one single +Macintosh window, 25 colors), but has a large number of Mac-specific +additions. It's available at +@uref{http://homepage.mac.com/pjarvis/xemacs.html}. @node Q1.0.12, Q1.0.13, Q1.0.11, Introduction @unnumberedsubsec Q1.0.12: Is there a port of XEmacs to NextStep?
--- a/src/ChangeLog Sat Jun 09 09:02:04 2001 +0000 +++ b/src/ChangeLog Sun Jun 10 10:42:39 2001 +0000 @@ -1,3 +1,145 @@ +2001-06-10 Ben Wing <ben@xemacs.org> + + + ------ signal-code changes ------ + + * data.c (init_data_very_early): + * device-tty.c (init_device_tty): + * emacs.c (fatal_error_signal): + * emacs.c (memory_warning_signal): + * floatfns.c (init_floatfns_very_early): + * linuxplay.c (linux_play_data_or_file): + * nas.c (*): + * process-unix.c (unix_init_process): + * process-unix.c (unix_create_process): + * process-unix.c (unix_send_process): + * process-unix.c (unix_deactivate_process): + * signal.c (handle_signal_if_fatal): + * signal.c (init_signals_very_early): + * signal.c (init_interrupts_late): + * sunplay.c (play_sound_file): + * sunplay.c (play_sound_data): + * sysdep.c (save_signal_handlers): + * sysdep.c (restore_signal_handlers): + * sysdep.c (setup_pty): + * syssignal.h (EMACS_SIGNAL): + use EMACS_SIGNAL everywhere instead of playing preprocessing + games with signal(). + + * s\windowsnt.h: + * s\mingw32.h: + * syssignal.h: + Remove mswindows signal code from s+m headers and move to + syssignal.h as one of the five ways of signal handling, instead of + playing preprocessing games. + + * fileio.c: + * sysdep.c (qxe_reliable_signal): + Rename sys_do_signal to qxe_reliable_signal. + + * signal.c (set_timeout_signal): + * process-unix.c (close_safely): + * profile.c (Fstart_profiling): + * profile.c (Fstop_profiling): + * signal.c (init_async_timeouts): + * signal.c (start_async_timeouts): + Create set_timeout_signal(); use instead of just EMACS_SIGNAL to + establish a signal handler on a timeout signal; this does special + things under Cygwin. + + * nt.c (init_ntproc): + Eliminate term_ntproc(), which is blank; used as a SIGABRT handler, + which was wrong anyway. + + * nt.c: + * win32.c: + * win32.c (sigmask): + * win32.c (mswindows_sigset): + * win32.c (mswindows_sighold): + * win32.c (mswindows_sigrelse): + * win32.c (mswindows_raise): + * win32.c (setitimer_helper_proc): + * win32.c (syms_of_win32): + Move signal code from nt.c to win32.c, since Cygwin needs it + too when dealing with timeout signals. + + * s\cygwin32.h: + Define CYGWIN_BROKEN_SIGNALS. + + + ------ other changes ------ + + * s\mingw32.h: + Fix problems with NOT_C_CODE being in the wrong place and + excluding defines needed when building Makefile.in.in. + + * filelock.c: + * mule-canna.c: + * mule-canna.c (Fcanna_initialize): + * mule-canna.c (Fcanna_finalize): + * mule-ccl.c: + * mule-ccl.h: + * ralloc.c: + * unexalpha.c: + * unexapollo.c: + * unexcw.c: + * unexelfsgi.c: + * unexnt.c: + * unexsni.c: + * s\aix3-1.h: + * s\bsd4-1.h: + * s\bsd4-2.h: + * s\bsd4-3.h: + * s\cxux.h: + * s\cygwin32.h: + * s\dgux.h: + * s\dgux5-4r2.h: + * s\dgux5-4r3.h: + * s\dgux5-4r4.h: + * s\ewsux5r4.h: + * s\gnu.h: + * s\hpux.h: + * s\iris3-5.h: + * s\iris3-6.h: + * s\irix3-3.h: + * s\linux.h: + * s\mingw32.h: + * s\newsos5.h: + * s\nextstep.h: + * s\ptx.h: + * s\riscix1-1.h: + * s\riscix1-2.h: + * s\rtu.h: + * s\sco4.h: + * s\sco5.h: + * s\template.h: + * s\ultrix.h: + * s\umax.h: + * s\umips.h: + * s\unipl5-0.h: + * s\unipl5-2.h: + * s\usg5-0.h: + * s\usg5-2-2.h: + * s\usg5-2.h: + * s\usg5-3.h: + * s\usg5-4.h: + * s\windowsnt.h: + * s\xenix.h: + Rename 'GNU Emacs' to XEmacs in the copyright and comments. + + * nas.c (NAS_LITTLE_ENDIAN): + * nas.c (XTOOLKIT): + * nas.c (nas_play_sound_file): + * nas.c (nas_play_sound_data): + * nas.c (CatchIoErrorAndJump): + * nas.c (DataReadS): + * nas.c (DataReadL): + * nas.c (readChunk): + * nas.c (WaveOpenDataForReading): + Stylistic cleanup. + Avoid preprocessing games with names such as play_sound_file. + + 2001-06-08 Ben Wing <ben@xemacs.org> ------ gc-in-window-procedure fixes ------
--- a/src/data.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/data.c Sun Jun 10 10:42:39 2001 +0000 @@ -2032,9 +2032,9 @@ if (!initialized) return; #endif /* CANNOT_DUMP */ - signal (SIGFPE, arith_error); + EMACS_SIGNAL (SIGFPE, arith_error); #ifdef uts - signal (SIGEMT, arith_error); + EMACS_SIGNAL (SIGEMT, arith_error); #endif /* uts */ }
--- a/src/device-tty.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/device-tty.c Sun Jun 10 10:42:39 2001 +0000 @@ -209,6 +209,6 @@ { #ifdef SIGWINCH if (initialized && !noninteractive) - signal (SIGWINCH, tty_device_size_change_signal); + EMACS_SIGNAL (SIGWINCH, tty_device_size_change_signal); #endif /* SIGWINCH */ }
--- a/src/emacs.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/emacs.c Sun Jun 10 10:42:39 2001 +0000 @@ -506,7 +506,7 @@ /* Now, reset our signal handler, so the next time, we just die. Don't do this before auto-saving. */ - signal (sig, SIG_DFL); + EMACS_SIGNAL (sig, SIG_DFL); /* Keep in mind that there's more than one signal that we can crash on. */ @@ -631,7 +631,7 @@ { /* #### bad bad bad; this function shouldn't do anything except set a flag, or weird corruption could happen. */ - signal (sig, memory_warning_signal); + EMACS_SIGNAL (sig, memory_warning_signal); malloc_warning (GETTEXT ("Operating system warns that virtual memory is running low.\n"));
--- a/src/fileio.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/fileio.c Sun Jun 10 10:42:39 2001 +0000 @@ -206,7 +206,7 @@ signal handler) because that's way too losing. (#### Actually, longjmp()ing out of the signal handler may not be - as losing as I thought. See sys_do_signal() in sysdep.c.) */ + as losing as I thought. See qxe_reliable_signal() in sysdep.c.) */ ssize_t read_allowing_quit (int fildes, void *buf, size_t size)
--- a/src/filelock.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/filelock.c Sun Jun 10 10:42:39 2001 +0000 @@ -1,19 +1,19 @@ /* Copyright (C) 1985, 86, 87, 93, 94, 96 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to +along with XEmacs; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
--- a/src/floatfns.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/floatfns.c Sun Jun 10 10:42:39 2001 +0000 @@ -983,7 +983,7 @@ { #ifdef LISP_FLOAT_TYPE # ifdef FLOAT_CATCH_SIGILL - signal (SIGILL, float_error); + EMACS_SIGNAL (SIGILL, float_error); # endif in_float = 0; #endif /* LISP_FLOAT_TYPE */
--- a/src/linuxplay.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/linuxplay.c Sun Jun 10 10:42:39 2001 +0000 @@ -311,8 +311,8 @@ this could lead to problems, when multiple sound cards are installed */ mix_fd = audio_fd; - sighup_handler = signal(SIGHUP, sighandler); - sigint_handler = signal(SIGINT, sighandler); + sighup_handler = EMACS_SIGNAL (SIGHUP, sighandler); + sigint_handler = EMACS_SIGNAL (SIGINT, sighandler); if (!audio_init(mix_fd,audio_fd,fmt,speed,tracks,&volume,&sndcnv)) goto END_OF_PLAY; @@ -357,8 +357,8 @@ ioctl(audio_fd,SNDCTL_DSP_SYNC,NULL); ioctl(audio_fd,SNDCTL_DSP_RESET,NULL); - signal(SIGHUP,sighup_handler); - signal(SIGINT,sigint_handler); + EMACS_SIGNAL (SIGHUP,sighup_handler); + EMACS_SIGNAL (SIGINT,sigint_handler); if (mix_fd > 0) { if (audio_vol >= 0) {
--- a/src/mule-canna.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/mule-canna.c Sun Jun 10 10:42:39 2001 +0000 @@ -55,7 +55,7 @@ - list of warning messages DESCRIPTION: Initialize ``canna'', which is a kana-to-kanji - converter for GNU Emacs. The first arg + converter for XEmacs. The first arg specifies if inserting space character between BUNSETSU when candidates are displayed. The second arg specifies server. The third arg @@ -69,7 +69,7 @@ list of warning messages DESCRIPTION: finalize ``canna'', which is a kana-to-kanji - converter for GNU Emacs. This cause to write + converter for XEmacs. This cause to write miscellaneous informations to kana-to-kanji dictionary. @@ -344,7 +344,7 @@ } DEFUN ("canna-initialize", Fcanna_initialize, 0, 3, 0, /* -Initialize ``canna'', which is a kana-to-kanji converter for GNU Emacs. +Initialize ``canna'', which is a kana-to-kanji converter for XEmacs. The first arg specifies if inserting space character between BUNSETSU when candidates are displayed. The second arg specifies server. @@ -462,7 +462,7 @@ } DEFUN ("canna-finalize", Fcanna_finalize, 0, 0, 0, /* -finalize ``canna'', which is a kana-to-kanji converter for GNU Emacs. +finalize ``canna'', which is a kana-to-kanji converter for XEmacs. This cause to write miscellaneous informations to kana-to-kanji dictionary. */ ())
--- a/src/mule-ccl.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/mule-ccl.c Sun Jun 10 10:42:39 2001 +0000 @@ -2,20 +2,20 @@ Copyright (C) 1995, 1997 Electrotechnical Laboratory, JAPAN. Licensed to the Free Software Foundation. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to +along with XEmacs; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
--- a/src/mule-ccl.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/mule-ccl.h Sun Jun 10 10:42:39 2001 +0000 @@ -4,18 +4,18 @@ This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to +along with XEmacs; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
--- a/src/nas.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/nas.c Sun Jun 10 10:42:39 2001 +0000 @@ -82,37 +82,29 @@ /* NAS <= 1.2p5 <audio/fileutil.h> doesn't define the NAS_ versions */ #ifndef NAS_LITTLE_ENDIAN -#define NAS_LITTLE_ENDIAN LITTLE_ENDIAN -#define NAS_BIG_ENDIAN BIG_ENDIAN +# define NAS_LITTLE_ENDIAN LITTLE_ENDIAN +# define NAS_BIG_ENDIAN BIG_ENDIAN #endif -# define XTOOLKIT -# define XTEVENTS -# define ROBUST_PLAY -# define CACHE_SOUNDS +#define XTOOLKIT +#define XTEVENTS +#define ROBUST_PLAY +#define CACHE_SOUNDS /* * For old NAS libraries, force playing to be synchronous * and declare the long jump point locally. */ -# if defined (NAS_NO_ERROR_JUMP) - -# undef XTEVENTS - -# include <setjmp.h> - jmp_buf AuXtErrorJump; -# endif - -# define play_sound_file nas_play_sound_file -# define play_sound_data nas_play_sound_data -# define wait_for_sounds nas_wait_for_sounds -# define init_play nas_init_play -# define close_down_play nas_close_down_play +#if defined (NAS_NO_ERROR_JUMP) +# undef XTEVENTS +# include <setjmp.h> +jmp_buf AuXtErrorJump; +#endif #ifdef XTOOLKIT -# include <X11/Intrinsic.h> -# include <audio/Xtutil.h> +# include <X11/Intrinsic.h> +# include <audio/Xtutil.h> #endif #if defined (ROBUST_PLAY) @@ -139,7 +131,7 @@ #endif /* XTOOLKIT */ Extbyte * -init_play ( +nas_init_play ( #ifdef XTOOLKIT Display *display #else @@ -147,7 +139,7 @@ #endif ); Extbyte * -init_play ( +nas_init_play ( #ifdef XTOOLKIT Display *display #else @@ -169,10 +161,10 @@ #endif #ifdef ROBUST_PLAY - old_sigpipe = signal (SIGPIPE, sigpipe_handle); + old_sigpipe = EMACS_SIGNAL (SIGPIPE, sigpipe_handle); if (setjmp (AuXtErrorJump)) { - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); #ifdef emacs start_interrupts (); #endif @@ -195,7 +187,7 @@ if (!aud) { #ifdef ROBUST_PLAY - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); #endif if (err_message == NULL) return "Can't connect to audio server"; @@ -222,7 +214,7 @@ #endif #ifdef ROBUST_PLAY - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); #endif sounds_in_play = 0; @@ -231,7 +223,7 @@ } static void -close_down_play (void) +nas_close_down_play (void) { AuCloseServer (aud); @@ -329,9 +321,9 @@ #endif /* CACHE_SOUNDS */ -void wait_for_sounds (void); +void nas_wait_for_sounds (void); void -wait_for_sounds (void) +nas_wait_for_sounds (void) { AuEvent ev; @@ -343,45 +335,46 @@ } } -int play_sound_file (Extbyte *sound_file, int volume); +int nas_play_sound_file (Extbyte *sound_file, int volume); int -play_sound_file (Extbyte *sound_file, - int volume) +nas_play_sound_file (Extbyte *sound_file, + int volume) { SIGTYPE (*old_sigpipe) (int); #ifdef ROBUST_PLAY - old_sigpipe=signal (SIGPIPE, sigpipe_handle); + old_sigpipe = EMACS_SIGNAL (SIGPIPE, sigpipe_handle); if (setjmp (AuXtErrorJump)) { - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); return 0; } #endif - if (aud==NULL) { - if (aud_server != NULL) - { - Extbyte *m; - /* attempt to reconect */ - if ((m=init_play (aud_server))!= NULL) - { - + if (aud==NULL) + { + if (aud_server != NULL) + { + Extbyte *m; + /* attempt to reconect */ + if ((m = nas_init_play (aud_server)) != NULL) + { + #ifdef ROBUST_PLAY - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); #endif - return 0; - } - } - else - { - sound_warn ("Attempt to play with no audio init\n"); + return 0; + } + } + else + { + sound_warn ("Attempt to play with no audio init\n"); #ifdef ROBUST_PLAY - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); #endif - return 0; - } - } + return 0; + } + } #ifndef CACHE_SOUNDS sounds_in_play++; @@ -403,7 +396,7 @@ if ((s = SoundOpenFileForReading (sound_file))==NULL) { #ifdef ROBUST_PLAY - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); #endif return 0; } @@ -421,26 +414,22 @@ #endif /* CACHE_SOUNDS */ #ifndef XTEVENTS - wait_for_sounds (); + nas_wait_for_sounds (); #else if (!NILP (Vsynchronous_sounds)) - { - wait_for_sounds (); - } + nas_wait_for_sounds (); #endif #ifdef ROBUST_PLAY - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); #endif return 1; } -int play_sound_data (UChar_Binary *data, int length, int volume); +int nas_play_sound_data (UChar_Binary *data, int length, int volume); int -play_sound_data (UChar_Binary *data, - int length, - int volume) +nas_play_sound_data (UChar_Binary *data, int length, int volume) { Sound s; int offset; @@ -451,10 +440,10 @@ #endif #ifdef ROBUST_PLAY - old_sigpipe = signal (SIGPIPE, sigpipe_handle); - if (setjmp (AuXtErrorJump) !=0) + old_sigpipe = EMACS_SIGNAL (SIGPIPE, sigpipe_handle); + if (setjmp (AuXtErrorJump) != 0) { - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); return 0; } #endif @@ -465,10 +454,10 @@ { Extbyte *m; /* attempt to reconect */ - if ((m = init_play (aud_server)) != NULL) + if ((m = nas_init_play (aud_server)) != NULL) { #ifdef ROBUST_PLAY - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); #endif return 0; } @@ -477,7 +466,7 @@ { sound_warn ("Attempt to play with no audio init\n"); #ifdef ROBUST_PLAY - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); #endif return 0; } @@ -487,7 +476,7 @@ { sound_warn ("unknown sound type"); #ifdef ROBUST_PLAY - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); #endif return 0; } @@ -506,7 +495,7 @@ sound_warn ("only understand snd and wave files at the moment"); SoundCloseFile (s); #ifdef ROBUST_PLAY - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); #endif return 0; } @@ -526,25 +515,21 @@ #else /* Cache the sounds in buckets on the server */ - { - do_caching_play (s, volume, data+offset); - } + do_caching_play (s, volume, data+offset); #endif /* CACHE_SOUNDS */ #ifndef XTEVENTS - wait_for_sounds (); + nas_wait_for_sounds (); #else if (!NILP (Vsynchronous_sounds)) - { - wait_for_sounds (); - } + nas_wait_for_sounds (); #endif SoundCloseFile (s); #ifdef ROBUST_PLAY - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); #endif return 1; @@ -570,9 +555,7 @@ #ifdef XTEVENTS #ifdef XTOOLKIT - { - AuXtAppRemoveAudioHandler (aud, input_id); - } + AuXtAppRemoveAudioHandler (aud, input_id); #endif if (aud) @@ -808,36 +791,36 @@ static unsigned short DataReadS (int swapit) { - unsigned short us; + unsigned short us; - dread(&us, 2, 1); - if (swapit) - us = FileSwapS(us); - return us; + dread(&us, 2, 1); + if (swapit) + us = FileSwapS(us); + return us; } static AuUint32 DataReadL (int swapit) { - AuUint32 ul; + AuUint32 ul; - dread(&ul, 4, 1); - if (swapit) - ul = FileSwapL(ul); - return ul; + dread(&ul, 4, 1); + if (swapit) + ul = FileSwapL(ul); + return ul; } static int readChunk (RiffChunk *c) { - int status; - Char_Binary n; + int status; + Char_Binary n; - if ((status = dread(c, sizeof(RiffChunk), 1))) - if (NAS_BIG_ENDIAN) - swapl(&c->ckSize, n); + if ((status = dread(c, sizeof(RiffChunk), 1))) + if (NAS_BIG_ENDIAN) + swapl(&c->ckSize, n); - return status; + return status; } /* A very straight-forward translation of WaveOpenFileForReading to @@ -847,133 +830,133 @@ WaveOpenDataForReading (const Char_Binary *data, int length) { - RiffChunk ck; - RIFF_FOURCC fourcc; - AuInt32 fileSize; - WaveInfo *wi; + RiffChunk ck; + RIFF_FOURCC fourcc; + AuInt32 fileSize; + WaveInfo *wi; - if (!(wi = (WaveInfo *) malloc(sizeof(WaveInfo)))) - return NULL; + if (!(wi = (WaveInfo *) malloc(sizeof(WaveInfo)))) + return NULL; - wi->comment = NULL; - wi->dataOffset = wi->format = wi->writing = 0; + wi->comment = NULL; + wi->dataOffset = wi->format = wi->writing = 0; - dopen(data, length); + dopen(data, length); - if (!readChunk(&ck) || - cmpID(&ck.ckID, RIFF_RiffID) || - !readFourcc(&fourcc) || - cmpID(&fourcc, RIFF_WaveID)) + if (!readChunk(&ck) || + cmpID(&ck.ckID, RIFF_RiffID) || + !readFourcc(&fourcc) || + cmpID(&fourcc, RIFF_WaveID)) + Err(); + + fileSize = PAD2(ck.ckSize) - sizeof(RIFF_FOURCC); + + while (fileSize >= sizeof(RiffChunk)) + { + if (!readChunk(&ck)) Err(); - fileSize = PAD2(ck.ckSize) - sizeof(RIFF_FOURCC); + fileSize -= sizeof(RiffChunk) + PAD2(ck.ckSize); - while (fileSize >= sizeof(RiffChunk)) - { - if (!readChunk(&ck)) + /* LIST chunk */ + if (!cmpID(&ck.ckID, RIFF_ListID)) + { + if (!readFourcc(&fourcc)) Err(); - fileSize -= sizeof(RiffChunk) + PAD2(ck.ckSize); + /* INFO chunk */ + if (!cmpID(&fourcc, RIFF_ListInfoID)) + { + ck.ckSize -= sizeof(RIFF_FOURCC); - /* LIST chunk */ - if (!cmpID(&ck.ckID, RIFF_ListID)) - { - if (!readFourcc(&fourcc)) - Err(); + while (ck.ckSize) + { + RiffChunk c; - /* INFO chunk */ - if (!cmpID(&fourcc, RIFF_ListInfoID)) - { - ck.ckSize -= sizeof(RIFF_FOURCC); + if (!readChunk(&c)) + Err(); - while (ck.ckSize) - { - RiffChunk c; - - if (!readChunk(&c)) + /* ICMT chunk */ + if (!cmpID(&c.ckID, RIFF_InfoIcmtID)) + { + if (!(wi->comment = (Extbyte *) malloc(c.ckSize)) || + !dread(wi->comment, c.ckSize, 1)) Err(); - /* ICMT chunk */ - if (!cmpID(&c.ckID, RIFF_InfoIcmtID)) - { - if (!(wi->comment = (Extbyte *) malloc(c.ckSize)) || - !dread(wi->comment, c.ckSize, 1)) - Err(); + if (c.ckSize & 1) + dgetc(); /* eat the pad byte */ + } + else + /* skip unknown chunk */ + dseek(PAD2(c.ckSize), 1); - if (c.ckSize & 1) - dgetc(); /* eat the pad byte */ - } - else - /* skip unknown chunk */ - dseek(PAD2(c.ckSize), 1); - - ck.ckSize -= sizeof(RiffChunk) + PAD2(c.ckSize); + ck.ckSize -= sizeof(RiffChunk) + PAD2(c.ckSize); } } - else - /* skip unknown chunk */ - dseek(PAD2(ck.ckSize) - sizeof(RIFF_FOURCC), 1); + else + /* skip unknown chunk */ + dseek(PAD2(ck.ckSize) - sizeof(RIFF_FOURCC), 1); } - /* wave format chunk */ - else if (!cmpID(&ck.ckID, RIFF_WaveFmtID) && !wi->format) + /* wave format chunk */ + else if (!cmpID(&ck.ckID, RIFF_WaveFmtID) && !wi->format) { - AuInt32 dummy; + AuInt32 dummy; - wi->format = DataReadS(NAS_BIG_ENDIAN); - wi->channels = DataReadS(NAS_BIG_ENDIAN); - wi->sampleRate = DataReadL(NAS_BIG_ENDIAN); + wi->format = DataReadS(NAS_BIG_ENDIAN); + wi->channels = DataReadS(NAS_BIG_ENDIAN); + wi->sampleRate = DataReadL(NAS_BIG_ENDIAN); - /* we don't care about the next two fields */ - dummy = DataReadL(NAS_BIG_ENDIAN); - dummy = DataReadS(NAS_BIG_ENDIAN); + /* we don't care about the next two fields */ + dummy = DataReadL(NAS_BIG_ENDIAN); + dummy = DataReadS(NAS_BIG_ENDIAN); - if (wi->format != RIFF_WAVE_FORMAT_PCM) - Err(); + if (wi->format != RIFF_WAVE_FORMAT_PCM) + Err(); - wi->bitsPerSample = DataReadS(NAS_BIG_ENDIAN); + wi->bitsPerSample = DataReadS(NAS_BIG_ENDIAN); - /* skip any other format specific fields */ - dseek(PAD2(ck.ckSize - 16), 1); + /* skip any other format specific fields */ + dseek(PAD2(ck.ckSize - 16), 1); } - /* wave data chunk */ - else if (!cmpID(&ck.ckID, RIFF_WaveDataID) && !wi->dataOffset) + /* wave data chunk */ + else if (!cmpID(&ck.ckID, RIFF_WaveDataID) && !wi->dataOffset) { - long endOfFile; + long endOfFile; - wi->dataOffset = dtell(); - wi->dataSize = ck.ckSize; - dseek(0, 2); - endOfFile = dtell(); + wi->dataOffset = dtell(); + wi->dataSize = ck.ckSize; + dseek(0, 2); + endOfFile = dtell(); - /* seek past the data */ - if (dseek(wi->dataOffset + PAD2(ck.ckSize), 0) || - dtell() > endOfFile) + /* seek past the data */ + if (dseek(wi->dataOffset + PAD2(ck.ckSize), 0) || + dtell() > endOfFile) { - /* the seek failed, assume the size is bogus */ - dseek(0, 2); - wi->dataSize = dtell() - wi->dataOffset; + /* the seek failed, assume the size is bogus */ + dseek(0, 2); + wi->dataSize = dtell() - wi->dataOffset; } - wi->dataOffset -= sizeof(long); + wi->dataOffset -= sizeof(long); } - else - /* skip unknown chunk */ - dseek(PAD2(ck.ckSize), 1); + else + /* skip unknown chunk */ + dseek(PAD2(ck.ckSize), 1); } - if (!wi->dataOffset) - Err(); + if (!wi->dataOffset) + Err(); - wi->numSamples = wi->dataSize / wi->channels / (wi->bitsPerSample >> 3); + wi->numSamples = wi->dataSize / wi->channels / (wi->bitsPerSample >> 3); - if (!wi->comment) - wi->comment = NameFromData (data + wi->dataOffset, - length - wi->dataOffset); + if (!wi->comment) + wi->comment = NameFromData (data + wi->dataOffset, + length - wi->dataOffset); - wi->fp = NULL; + wi->fp = NULL; - return wi; + return wi; }
--- a/src/nt.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/nt.c Sun Jun 10 10:42:39 2001 +0000 @@ -1689,11 +1689,6 @@ } void -term_ntproc (int unused) -{ -} - -void init_ntproc (void) { /* Initial preparation for subprocess support: replace our standard @@ -1755,10 +1750,6 @@ _fdopen (2, "w"); } - /* unfortunately, atexit depends on implementation of malloc */ - /* atexit (term_ntproc); */ - signal (SIGABRT, term_ntproc); - /* determine which drives are fixed, for GetCachedVolumeInformation */ { /* GetDriveType must have trailing backslash. */ @@ -1805,118 +1796,6 @@ } #endif -/*--------------------------------------------------------------------*/ -/* Signal support */ -/*--------------------------------------------------------------------*/ - -/* We need MS-defined signal and raise here */ -#undef signal -#undef raise - -#define sigmask(nsig) (1U << nsig) - -/* We can support as many signals as fit into word */ -#define SIG_MAX 32 - -/* Signal handlers. Initial value = 0 = SIG_DFL */ -static void (__cdecl *signal_handlers[SIG_MAX])(int) = {0}; - -/* Signal block mask: bit set to 1 means blocked */ -unsigned signal_block_mask = 0; - -/* Signal pending mask: bit set to 1 means sig is pending */ -unsigned signal_pending_mask = 0; - -mswindows_sighandler -mswindows_sigset (int nsig, mswindows_sighandler handler) -{ - /* We delegate some signals to the system function */ - if (nsig == SIGFPE || nsig == SIGABRT || nsig == SIGINT) - return signal (nsig, handler); - - if (nsig < 0 || nsig > SIG_MAX) - { - errno = EINVAL; - return NULL; - } - - /* Store handler ptr */ - { - mswindows_sighandler old_handler = signal_handlers[nsig]; - signal_handlers[nsig] = handler; - return old_handler; - } -} - -int -mswindows_sighold (int nsig) -{ - if (nsig < 0 || nsig > SIG_MAX) - return errno = EINVAL; - - signal_block_mask |= sigmask (nsig); - return 0; -} - -int -mswindows_sigrelse (int nsig) -{ - if (nsig < 0 || nsig > SIG_MAX) - return errno = EINVAL; - - signal_block_mask &= ~sigmask (nsig); - - if (signal_pending_mask & sigmask (nsig)) - mswindows_raise (nsig); - - return 0; -} - -int -mswindows_sigpause (int nsig) -{ - /* This is currently not called, because the only call to sigpause - inside XEmacs is with SIGCHLD parameter. Just in case, we put an - assert here, so anyone adds a call to sigpause will be surprised - (or surprise someone else...) */ - assert (0); - return 0; -} - -int -mswindows_raise (int nsig) -{ - /* We delegate some raises to the system routine */ - if (nsig == SIGFPE || nsig == SIGABRT || nsig == SIGINT) - return raise (nsig); - - if (nsig < 0 || nsig > SIG_MAX) - return errno = EINVAL; - - /* If the signal is blocked, remember to issue later */ - if (signal_block_mask & sigmask (nsig)) - { - signal_pending_mask |= sigmask (nsig); - return 0; - } - - if (signal_handlers[nsig] == SIG_IGN) - return 0; - - if (signal_handlers[nsig] != SIG_DFL) - { - (*signal_handlers[nsig]) (nsig); - return 0; - } - - /* Default signal actions */ - if (nsig == SIGALRM || nsig == SIGPROF) - exit (3); - - /* Other signals are ignored by default */ - return 0; -} - /*--------------------------------------------------------------------*/ /* Memory-mapped files */
--- a/src/process-unix.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/process-unix.c Sun Jun 10 10:42:39 2001 +0000 @@ -108,7 +108,7 @@ close_safely (int fd) { stop_interrupts (); - signal (SIGALRM, close_safely_handler); + set_timeout_signal (SIGALRM, close_safely_handler); alarm (1); close (fd); alarm (0); @@ -810,7 +810,7 @@ #ifndef CANNOT_DUMP if (! noninteractive || initialized) #endif - signal (SIGCHLD, sigchld_handler); + EMACS_SIGNAL (SIGCHLD, sigchld_handler); } #endif /* SIGCHLD */ @@ -1032,15 +1032,15 @@ a SIG_IGN handling from our parent (nohup) and we are in new process group. */ - signal (SIGHUP, SIG_DFL); + EMACS_SIGNAL (SIGHUP, SIG_DFL); /* Set up the terminal characteristics of the pty. */ child_setup_tty (xforkout); } /* if (pty_flag) */ - signal (SIGINT, SIG_DFL); - signal (SIGQUIT, SIG_DFL); + EMACS_SIGNAL (SIGINT, SIG_DFL); + EMACS_SIGNAL (SIGQUIT, SIG_DFL); { char *current_dir; @@ -1287,7 +1287,7 @@ break; /* perhaps should abort() if < 0? This should never happen. */ old_sigpipe = - (SIGTYPE (*) (int)) signal (SIGPIPE, send_process_trap); + (SIGTYPE (*) (int)) EMACS_SIGNAL (SIGPIPE, send_process_trap); /* Lstream_write() will never successfully write less than the amount sent in. In the worst case, it just buffers the unwritten data. */ @@ -1295,7 +1295,7 @@ chunklen); { int save_errno = errno; - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); errno = save_errno; if (writeret < 0) /* This is a real error. Blocking errors are handled @@ -1312,15 +1312,15 @@ if (NILP(p->pipe_outstream)) return; old_sigpipe = - (SIGTYPE (*) (int)) signal (SIGPIPE, send_process_trap); + (SIGTYPE (*) (int)) EMACS_SIGNAL (SIGPIPE, send_process_trap); Lstream_flush (XLSTREAM (p->pipe_outstream)); - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); } } } else { /* We got here from a longjmp() from the SIGPIPE handler */ - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); /* Close the file lstream so we don't attempt to write to it further */ /* #### There is controversy over whether this might cause fd leakage */ /* my tests say no. -slb */ @@ -1334,9 +1334,9 @@ invalid_operation ("SIGPIPE raised on process; closed it", p->name); } - old_sigpipe = (SIGTYPE (*) (int)) signal (SIGPIPE, send_process_trap); + old_sigpipe = (SIGTYPE (*) (int)) EMACS_SIGNAL (SIGPIPE, send_process_trap); Lstream_flush (XLSTREAM (DATA_OUTSTREAM(p))); - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); } /* @@ -1389,9 +1389,9 @@ flush_pending_output (UNIX_DATA(p)->infd); /* closing the outstream could result in SIGPIPE, so ignore it. */ - old_sigpipe = (SIGTYPE (*) (int)) signal (SIGPIPE, SIG_IGN); + old_sigpipe = (SIGTYPE (*) (int)) EMACS_SIGNAL (SIGPIPE, SIG_IGN); usid = event_stream_delete_stream_pair (p->pipe_instream, p->pipe_outstream); - signal (SIGPIPE, old_sigpipe); + EMACS_SIGNAL (SIGPIPE, old_sigpipe); UNIX_DATA(p)->infd = -1;
--- a/src/profile.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/profile.c Sun Jun 10 10:42:39 2001 +0000 @@ -189,7 +189,7 @@ if (msecs <= 0) msecs = 1000; - signal (SIGPROF, sigprof_handler); + set_timeout_signal (SIGPROF, sigprof_handler); foo.it_value.tv_sec = 0; foo.it_value.tv_usec = msecs; EMACS_NORMALIZE_TIME (foo.it_value); @@ -213,7 +213,7 @@ foo.it_interval = foo.it_value; qxe_setitimer (ITIMER_PROF, &foo, 0); profiling_active = 0; - signal (SIGPROF, fatal_error_signal); + set_timeout_signal (SIGPROF, fatal_error_signal); return Qnil; }
--- a/src/ralloc.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/ralloc.c Sun Jun 10 10:42:39 2001 +0000 @@ -14,7 +14,7 @@ for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to +along with XEmacs; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
--- a/src/s/aix3-1.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/aix3-1.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on IBM AIX version 3.1 +/* Definitions file for XEmacs running on IBM AIX version 3.1 Copyright (C) 1985, 1986, 1990 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/bsd4-1.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/bsd4-1.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on bsd 4.1. +/* Definitions file for XEmacs running on bsd 4.1. Copyright (C) 1985, 1986 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/bsd4-2.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/bsd4-2.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on bsd 4.2 +/* Definitions file for XEmacs running on bsd 4.2 Copyright (C) 1985, 1986, 1994 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/bsd4-3.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/bsd4-3.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on bsd 4.3 +/* Definitions file for XEmacs running on bsd 4.3 Copyright (C) 1985, 1986 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/cxux.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/cxux.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ /* Header file for Harris CXUX. Copyright (C) 1994 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/cygwin32.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/cygwin32.h Sun Jun 10 10:42:39 2001 +0000 @@ -2,14 +2,14 @@ Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc. Copyright (C) 2001 Ben Wing. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -78,6 +78,8 @@ #define BROKEN_SIGIO +#define CYGWIN_BROKEN_SIGNALS + #define strnicmp strncasecmp #ifndef HAVE_SOCKETS #define HAVE_SOCKETS
--- a/src/s/dgux.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/dgux.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,15 +1,15 @@ -/* Definitions file for GNU Emacs running on Data General's DG/UX +/* Definitions file for XEmacs running on Data General's DG/UX version 4.32 upto and including 5.4.1. Copyright (C) 1994 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/dgux5-4r2.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/dgux5-4r2.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,15 +1,15 @@ -/* Definitions file for GNU Emacs running on Data General's DG/UX +/* Definitions file for XEmacs running on Data General's DG/UX 5.4 Release 2.xx systems. Copyright (C) 1994 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/dgux5-4r3.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/dgux5-4r3.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,15 +1,15 @@ -/* Definitions file for GNU Emacs running on Data General's DG/UX +/* Definitions file for XEmacs running on Data General's DG/UX version 5.4 Release 3.00 and above. Copyright (C) 1994 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/dgux5-4r4.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/dgux5-4r4.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,15 +1,15 @@ -/* Definitions file for GNU Emacs running on Data General's DG/UX +/* Definitions file for XEmacs running on Data General's DG/UX version 5.4 Release 4.00 and above. Copyright (C) 1994 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/ewsux5r4.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/ewsux5r4.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,6 +1,6 @@ /* Synched up with: Mule 2.0. Not in FSF. */ -/* Definitions file for GNU Emacs running on NEC's EWS-UX/V(Rel4.2) +/* Definitions file for XEmacs running on NEC's EWS-UX/V(Rel4.2) (System V Release 4.2) */ #include "usg5-4-2.h"
--- a/src/s/gnu.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/gnu.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on the GNU Hurd. +/* Definitions file for XEmacs running on the GNU Hurd. Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/hpux.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/hpux.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,15 +1,15 @@ -/* Definitions file for GNU Emacs running on HPUX release 7.0. +/* Definitions file for XEmacs running on HPUX release 7.0. Based on AT&T System V.2. Copyright (C) 1985, 1986 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/iris3-5.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/iris3-5.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on Silicon Graphics 3.5 +/* Definitions file for XEmacs running on Silicon Graphics 3.5 Copyright (C) 1987 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/iris3-6.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/iris3-6.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on Silicon Graphics system 3.6. +/* Definitions file for XEmacs running on Silicon Graphics system 3.6. Copyright (C) 1987 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/irix3-3.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/irix3-3.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on Silicon Graphics Irix system 3.3. +/* Definitions file for XEmacs running on Silicon Graphics Irix system 3.3. Copyright (C) 1987,1990 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/linux.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/linux.h Sun Jun 10 10:42:39 2001 +0000 @@ -2,14 +2,14 @@ prior to version 1.1.56. Copyright (C) 1985, 1986, 1992, 1994 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/mingw32.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/mingw32.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ /* system description file for mingw32. Copyright (C) 1993, 1994, 1995, 1999 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -168,8 +168,6 @@ pid_t getpid (void); #endif -#define DONT_USE_LITOUT - /* Random global functions called everywhere. Implemented in nt.c */ /* #### Most of these are FSFisms and must be avoided */ /* #### All of these are FSFisms and must be avoided */ @@ -189,6 +187,10 @@ gid_t getgid (void); gid_t getegid (void); +#endif /* !NOT_C_CODE */ + +#define DONT_USE_LITOUT + /* Stuff that gets set wrongly or otherwise */ #define HAVE_SETITIMER #define HAVE_GETTIMEOFDAY @@ -210,25 +212,9 @@ #undef SYSV_SYSTEM_DIR #undef CLASH_DETECTION -/* We now have emulation for some signals */ -#define HAVE_SIGHOLD -#define sigset(s,h) mswindows_sigset(s,h) -#define sighold(s) mswindows_sighold(s) -#define sigrelse(s) mswindows_sigrelse(s) -#define sigpause(s) mswindows_sigpause(s) -#define signal sigset - -/* Defines that we need that aren't in the standard signal.h */ -#define SIGHUP 1 /* Hang up */ -#define SIGQUIT 3 /* Quit process */ -#define SIGKILL 9 /* Die, die die */ -#define SIGALRM 14 /* Alarm */ -#define SIGPROF 29 /* Profiling timer exp */ - #ifndef MAXPATHLEN #define MAXPATHLEN _MAX_PATH #endif -#endif /* !NOT_C_CODE */ /* Define for those source files that do not include enough NT system files. */
--- a/src/s/newsos5.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/newsos5.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on Sony's NEWS-OS 5.0.2 +/* Definitions file for XEmacs running on Sony's NEWS-OS 5.0.2 Copyright (C) 1992, 1994 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/nextstep.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/nextstep.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ /* Configuration file for the NeXTstep system. Copyright (C) 1990, 1995 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/ptx.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/ptx.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on Sequent DYNIX/ptx 1.x/2.x +/* Definitions file for XEmacs running on Sequent DYNIX/ptx 1.x/2.x Copyright (C) 1987, 1990 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/riscix1-1.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/riscix1-1.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on RISCiX 1.1 (bsd 4.3) +/* Definitions file for XEmacs running on RISCiX 1.1 (bsd 4.3) Copyright (C) 1994 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/riscix1-2.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/riscix1-2.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on RISCiX 1.2 (bsd 4.3) +/* Definitions file for XEmacs running on RISCiX 1.2 (bsd 4.3) Copyright (C) 1994 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/rtu.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/rtu.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on RTU 3.0, ucb universe. +/* Definitions file for XEmacs running on RTU 3.0, ucb universe. Copyright (C) 1986 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/sco4.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/sco4.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ /* System description file for SCO 3.2v4. Copyright (C) 1993, 1994 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/sco5.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/sco5.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ /* System description file for SCO OpenServer Release 5 Copyright (C) 1993, 1994 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/template.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/template.h Sun Jun 10 10:42:39 2001 +0000 @@ -3,14 +3,14 @@ should define or not. Copyright (C) 1985, 1986, 1992 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/ultrix.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/ultrix.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on Ultrix (bsd 4.3) +/* Definitions file for XEmacs running on Ultrix (bsd 4.3) Copyright (C) 1993 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/umax.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/umax.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on UMAX 4.2 +/* Definitions file for XEmacs running on UMAX 4.2 Copyright (C) 1985, 1986 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/umips.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/umips.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,6 +1,6 @@ /* Synched up with: FSF 19.31. */ -/* Definitions file for GNU Emacs running on Mips operating system. +/* Definitions file for XEmacs running on Mips operating system. That system can emulate either BSD or Sys V, in either case with changes. If BSD is defined, we assume BSD is being emulated; otherwise, Sys V. */
--- a/src/s/unipl5-0.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/unipl5-0.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,15 +1,15 @@ -/* Definitions file for GNU Emacs running on UniSoft's UniPlus 5.0 +/* Definitions file for XEmacs running on UniSoft's UniPlus 5.0 Support for this system is not finished; don't expect this to work. Copyright (C) 1985, 1986 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/unipl5-2.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/unipl5-2.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on UniSoft's UniPlus 5.2 +/* Definitions file for XEmacs running on UniSoft's UniPlus 5.2 Copyright (C) 1985, 1986 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/usg5-0.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/usg5-0.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on AT&T's System V.0 +/* Definitions file for XEmacs running on AT&T's System V.0 Copyright (C) 1985, 1986 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/usg5-2-2.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/usg5-2-2.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on AT&T's System V Release 2.2 +/* Definitions file for XEmacs running on AT&T's System V Release 2.2 Copyright (C) 1985, 1986 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/usg5-2.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/usg5-2.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on AT&T's System V Release 2.0 +/* Definitions file for XEmacs running on AT&T's System V Release 2.0 Copyright (C) 1985, 1986 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/usg5-3.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/usg5-3.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on AT&T's System V Release 3 +/* Definitions file for XEmacs running on AT&T's System V Release 3 Copyright (C) 1987 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/usg5-4.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/usg5-4.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running on AT&T's System V Release 4 +/* Definitions file for XEmacs running on AT&T's System V Release 4 Copyright (C) 1987, 1990 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/s/windowsnt.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/windowsnt.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ /* System description file for Windows 9x and NT. Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -291,20 +291,6 @@ /* Setitimer is emulated */ #define HAVE_SETITIMER -/* We now have emulation for some signals */ -#define HAVE_SIGHOLD -#define sigset(s,h) mswindows_sigset(s,h) -#define sighold(s) mswindows_sighold(s) -#define sigrelse(s) mswindows_sigrelse(s) -#define sigpause(s) mswindows_sigpause(s) - -/* Defines that we need that aren't in the standard signal.h */ -#define SIGHUP 1 /* Hang up */ -#define SIGQUIT 3 /* Quit process */ -#define SIGKILL 9 /* Die, die die */ -#define SIGALRM 14 /* Alarm */ -#define SIGPROF 29 /* Profiling timer exp */ - /* Defines size_t and alloca (). */ #include <malloc.h>
--- a/src/s/xenix.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/s/xenix.h Sun Jun 10 10:42:39 2001 +0000 @@ -1,14 +1,14 @@ -/* Definitions file for GNU Emacs running SCO Xenix 386 Release 2.2 +/* Definitions file for XEmacs running SCO Xenix 386 Release 2.2 Copyright (C) 1988 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--- a/src/signal.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/signal.c Sun Jun 10 10:42:39 2001 +0000 @@ -142,7 +142,7 @@ static void init_async_timeouts (void) { - signal (SIGALRM, alarm_signal); + set_timeout_signal (SIGALRM, alarm_signal); async_timer_suppress_count = 0; } @@ -172,7 +172,7 @@ { /* Some callers turn off async timeouts and then use the alarm for their own purposes; so reinitialize everything. */ - signal (SIGALRM, alarm_signal); + set_timeout_signal (SIGALRM, alarm_signal); reset_interval_timer (); } } @@ -296,6 +296,15 @@ #endif /* HAVE_SETITIMER */ +signal_handler_t +set_timeout_signal (int signal_number, signal_handler_t action) +{ +#ifdef CYGWIN_BROKEN_SIGNALS + return mswindows_sigset (signal_number, action); +#else + return EMACS_SIGNAL (signal_number, action); +#endif +} DEFUN ("waiting-for-user-input-p", Fwaiting_for_user_input_p, 0, 0, 0, /* Return non-nil if XEmacs is waiting for input from the user. @@ -732,8 +741,8 @@ static void handle_signal_if_fatal (int signo) { - if (signal (signo, fatal_error_signal) == SIG_IGN) - signal (signo, SIG_IGN); + if (EMACS_SIGNAL (signo, fatal_error_signal) == SIG_IGN) + EMACS_SIGNAL (signo, SIG_IGN); } void @@ -846,7 +855,7 @@ #ifdef SIGDANGER /* This just means available memory is getting low. */ - signal (SIGDANGER, memory_warning_signal); + EMACS_SIGNAL (SIGDANGER, memory_warning_signal); #endif } @@ -861,21 +870,21 @@ { if (!noninteractive) { - signal (SIGINT, interrupt_signal); + EMACS_SIGNAL (SIGINT, interrupt_signal); #ifdef HAVE_TERMIO /* On systems with TERMIO, C-g is set up for both SIGINT and SIGQUIT and we can't tell which one it will give us. */ - signal (SIGQUIT, interrupt_signal); + EMACS_SIGNAL (SIGQUIT, interrupt_signal); #endif /* HAVE_TERMIO */ init_async_timeouts (); #ifdef SIGIO - signal (SIGIO, input_available_signal); + EMACS_SIGNAL (SIGIO, input_available_signal); # ifdef SIGPOLL /* XPG5 */ /* Some systems (e.g. Motorola SVR4) losingly have different values for SIGIO and SIGPOLL, and send SIGPOLL instead of SIGIO. On those same systems, an uncaught SIGPOLL kills the process. */ - signal (SIGPOLL, input_available_signal); + EMACS_SIGNAL (SIGPOLL, input_available_signal); # endif #elif !defined (DONT_POLL_FOR_QUIT) init_poll_for_quit ();
--- a/src/sunplay.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/sunplay.c Sun Jun 10 10:42:39 2001 +0000 @@ -144,8 +144,8 @@ } /* where to find the proto for signal()... */ - sighup_handler = (SIGTYPE (*) (int)) signal (SIGHUP, sighandler); - sigint_handler = (SIGTYPE (*) (int)) signal (SIGINT, sighandler); + sighup_handler = (SIGTYPE (*) (int)) EMACS_SIGNAL (SIGHUP, sighandler); + sigint_handler = (SIGTYPE (*) (int)) EMACS_SIGNAL (SIGINT, sighandler); file_fd = open (sound_file, O_RDONLY, 0); if (file_fd < 0) @@ -202,8 +202,8 @@ close (audio_fd); } - signal (SIGHUP, sighup_handler); - signal (SIGINT, sigint_handler); + EMACS_SIGNAL (SIGHUP, sighup_handler); + EMACS_SIGNAL (SIGINT, sigint_handler); } @@ -235,8 +235,8 @@ return 0; /* where to find the proto for signal()... */ - sighup_handler = (SIGTYPE (*) (int)) signal (SIGHUP, sighandler); - sigint_handler = (SIGTYPE (*) (int)) signal (SIGINT, sighandler); + sighup_handler = (SIGTYPE (*) (int)) EMACS_SIGNAL (SIGHUP, sighandler); + sigint_handler = (SIGTYPE (*) (int)) EMACS_SIGNAL (SIGINT, sighandler); if (init_device (volume, data, 0, &ilen)) goto END_OF_PLAY; @@ -280,8 +280,8 @@ close (audio_fd); } - signal (SIGHUP, sighup_handler); - signal (SIGINT, sigint_handler); + EMACS_SIGNAL (SIGHUP, sighup_handler); + EMACS_SIGNAL (SIGINT, sigint_handler); return result; }
--- a/src/sysdep.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/sysdep.c Sun Jun 10 10:42:39 2001 +0000 @@ -605,7 +605,7 @@ while (saved_handlers->code) { saved_handlers->handler - = (SIGTYPE (*) (SIG_PARAM_TYPE)) signal (saved_handlers->code, SIG_IGN); + = (SIGTYPE (*) (SIG_PARAM_TYPE)) EMACS_SIGNAL (saved_handlers->code, SIG_IGN); saved_handlers++; } } @@ -615,7 +615,7 @@ { while (saved_handlers->code) { - signal (saved_handlers->code, saved_handlers->handler); + EMACS_SIGNAL (saved_handlers->code, saved_handlers->handler); saved_handlers++; } } @@ -900,7 +900,7 @@ /* cause EMACS not to die when it should, i.e., when its own controlling */ /* tty goes away. I've complained to the AIX developers, and they may */ /* change this behavior, but I'm not going to hold my breath. */ - signal (SIGHUP, SIG_IGN); + EMACS_SIGNAL (SIGHUP, SIG_IGN); #endif /* IBMRTAIX */ #ifdef TIOCPKT @@ -2431,7 +2431,7 @@ static struct sigaction new_action, old_action; signal_handler_t -sys_do_signal (int signal_number, signal_handler_t action) +qxe_reliable_signal (int signal_number, signal_handler_t action) { #if 0 @@ -2482,7 +2482,7 @@ /* We use sigvec() rather than signal() if we have it, because it lets us specify interruptible system calls. */ signal_handler_t -sys_do_signal (int signal_number, signal_handler_t action) +qxe_reliable_signal (int signal_number, signal_handler_t action) { struct sigvec vec, ovec;
--- a/src/syssignal.h Sat Jun 09 09:02:04 2001 +0000 +++ b/src/syssignal.h Sun Jun 10 10:42:39 2001 +0000 @@ -89,11 +89,22 @@ (typically, the POSIX sigaction/sigprocmask and either the older SYSV or BSD way). In such a case, we prefer the POSIX way. - NOTE: We use EMACS_* macros for most signal operations, but + We used to say this: + + [[ NOTE: We use EMACS_* macros for most signal operations, but just signal() for the standard signal-setting operation. Perhaps we should change this to EMACS_SIGNAL(), but that runs the risk of someone forgetting this convention and calling - signal() directly. */ + signal() directly. ]] + + But current policy is to avoid playing with macros as much as + possible, since in the long run it really just ends up creating + unmaintainable code -- someone newly reading the code is never + going to realize exactly which calls are redirected, and on + which systems, and where the redirection occurs. + + Possibly we should use the new "qxe" convention. +*/ #ifndef NeXT typedef SIGTYPE (*signal_handler_t) (int); @@ -103,12 +114,10 @@ /* The POSIX way (sigaction, sigprocmask, sigpending, sigsuspend) */ -signal_handler_t sys_do_signal (int signal_number, signal_handler_t action); -/* Provide our own version of signal(), that calls sigaction(). The - name is not sys_signal() because a function of that name exists in - libenergize.a */ -#undef signal -#define signal sys_do_signal +signal_handler_t qxe_reliable_signal (int signal_number, + signal_handler_t action); + +#define EMACS_SIGNAL qxe_reliable_signal #define EMACS_BLOCK_SIGNAL(sig) do \ { \ @@ -147,7 +156,7 @@ problems. However, we use sigvec() because it allows us to request interruptible I/O. */ -#define signal sys_do_signal +#define EMACS_SIGNAL qxe_reliable_signal /* Is it necessary to define sigmask like this? */ #ifndef sigmask @@ -169,7 +178,7 @@ /* The older SYSV way (signal/sigset, sighold, sigrelse, sigignore, sigpause) */ -#define signal sigset +#define EMACS_SIGNAL sigset #define EMACS_BLOCK_SIGNAL(sig) sighold (sig) #define EMACS_UNBLOCK_SIGNAL(sig) sigrelse (sig) /* #### There's not really any simple way to implement this. @@ -179,6 +188,28 @@ #define EMACS_WAIT_FOR_SIGNAL(sig) sigpause (sig) #define EMACS_REESTABLISH_SIGNAL(sig, handler) +#elif defined (WIN32_NATIVE) + +/* MS Windows signal emulation (in turns emulates the sigset/sighold + paradigm) */ + +#define EMACS_SIGNAL mswindows_sigset +#define EMACS_BLOCK_SIGNAL(sig) mswindows_sighold (sig) +#define EMACS_UNBLOCK_SIGNAL(sig) mswindows_sigrelse (sig) +/* #### There's not really any simple way to implement this. + Since EMACS_UNBLOCK_ALL_SIGNALS() is only called once (at startup), + it's probably OK to just ignore it. */ +#define EMACS_UNBLOCK_ALL_SIGNALS() 0 +#define EMACS_WAIT_FOR_SIGNAL(sig) mswindows_sigpause (sig) +#define EMACS_REESTABLISH_SIGNAL(sig, handler) + +/* Defines that we need that aren't in the standard signal.h */ +#define SIGHUP 1 /* Hang up */ +#define SIGQUIT 3 /* Quit process */ +#define SIGKILL 9 /* Die, die die */ +#define SIGALRM 14 /* Alarm */ +#define SIGPROF 29 /* Profiling timer exp */ + #else /* The oldest SYSV way (signal only; unreliable signals) */ @@ -186,6 +217,7 @@ /* Old USG systems don't really have signal blocking. We indicate this by not defining EMACS_BLOCK_SIGNAL or EMACS_WAIT_FOR_SIGNAL. */ +#define EMACS_SIGNAL signal #define EMACS_UNBLOCK_SIGNAL(sig) 0 #define EMACS_UNBLOCK_ALL_SIGNALS() 0 #define EMACS_REESTABLISH_SIGNAL(sig, handler) do \ @@ -205,7 +237,7 @@ reestablished (SYSV Release 2 and earlier). */ #define OBNOXIOUS_SYSV_SIGCLD_BEHAVIOR -#endif +#endif /* different signalling methods */ /* On bsd, [man says] kill does not accept a negative number to kill a pgrp. Must do that using the killpg call. */ @@ -234,14 +266,20 @@ SIGTYPE memory_warning_signal (int sig); #endif -#ifdef WIN32_NATIVE -/* Prototypes for signal functions, see nt.c */ +#if defined (WIN32_NATIVE) || defined (CYGWIN_BROKEN_SIGNALS) typedef void (__cdecl *mswindows_sighandler) (int); -mswindows_sighandler mswindows_sigset (int sig, mswindows_sighandler handler); + +/* Prototypes for signal functions, see win32.c */ int mswindows_sighold (int nsig); int mswindows_sigrelse (int nsig); int mswindows_sigpause (int nsig); int mswindows_raise (int nsig); -#endif /* WIN32_NATIVE */ +mswindows_sighandler mswindows_sigset (int sig, mswindows_sighandler handler); + +#endif /* defined (WIN32_NATIVE) || defined (CYGWIN_BROKEN_SIGNALS) */ + +signal_handler_t set_timeout_signal (int signal_number, + signal_handler_t action); + #endif /* INCLUDED_syssignal_h_ */
--- a/src/unexalpha.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/unexalpha.c Sun Jun 10 10:42:39 2001 +0000 @@ -2,20 +2,20 @@ Copyright (C) 1994 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to +along with XEmacs; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
--- a/src/unexapollo.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/unexapollo.c Sun Jun 10 10:42:39 2001 +0000 @@ -1,20 +1,20 @@ -/* unexapollo.c -- COFF File UNEXEC for GNU Emacs on Apollo SR10.x +/* unexapollo.c -- COFF File UNEXEC for XEmacs on Apollo SR10.x Copyright (C) 1988, 1994 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to +along with XEmacs; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
--- a/src/unexcw.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/unexcw.c Sun Jun 10 10:42:39 2001 +0000 @@ -1,4 +1,4 @@ -/* unexec for GNU Emacs on Cygwin32. +/* unexec for XEmacs on Cygwin32. Copyright (C) 1994, 1998 Free Software Foundation, Inc. This file is part of XEmacs.
--- a/src/unexelfsgi.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/unexelfsgi.c Sun Jun 10 10:42:39 2001 +0000 @@ -8,13 +8,13 @@ the Free Software Foundation; either version 2, or (at your option) any later version. - GNU Emacs is distributed in the hope that it will be useful, but + XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with GNU Emacs; see the file COPYING. If not, write to the + along with XEmacs; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
--- a/src/unexnt.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/unexnt.c Sun Jun 10 10:42:39 2001 +0000 @@ -1,4 +1,4 @@ -/* unexec for GNU Emacs on Windows NT. +/* unexec for XEmacs on Windows NT. Copyright (C) 1994 Free Software Foundation, Inc. This file is part of XEmacs.
--- a/src/unexsni.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/unexsni.c Sun Jun 10 10:42:39 2001 +0000 @@ -2,20 +2,20 @@ Copyright (C) 1985, 1986, 1987, 1988, 1990, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. -This file is part of GNU Emacs. +This file is part of XEmacs. -GNU Emacs is free software; you can redistribute it and/or modify +XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU Emacs is distributed in the hope that it will be useful, +XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to +along with XEmacs; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
--- a/src/win32.c Sat Jun 09 09:02:04 2001 +0000 +++ b/src/win32.c Sun Jun 10 10:42:39 2001 +0000 @@ -249,15 +249,131 @@ return Qnil; } +#if defined (WIN32_NATIVE) || defined (CYGWIN_BROKEN_SIGNALS) + +/* setitimer() does not exist on native MS Windows, and appears broken + on Cygwin (random lockups when BROKEN_SIGIO is defined), so we + emulate in both cases by using multimedia timers. Furthermore, + the lockups still occur on Cygwin even when we do nothing but + use the standard signalling mechanism -- so we have to emulate + that, too. (But only for timeouts -- we have to use the standard + mechanism for SIGCHLD. Yuck.) + */ + + +/*--------------------------------------------------------------------*/ +/* Signal support */ +/*--------------------------------------------------------------------*/ + +#define sigmask(nsig) (1U << nsig) + +/* We can support as many signals as fit into word */ +#define SIG_MAX 32 + +/* Signal handlers. Initial value = 0 = SIG_DFL */ +static mswindows_sighandler signal_handlers[SIG_MAX] = {0}; + +/* Signal block mask: bit set to 1 means blocked */ +unsigned signal_block_mask = 0; + +/* Signal pending mask: bit set to 1 means sig is pending */ +unsigned signal_pending_mask = 0; + +mswindows_sighandler +mswindows_sigset (int nsig, mswindows_sighandler handler) +{ + /* We delegate some signals to the system function */ + if (nsig == SIGFPE || nsig == SIGABRT || nsig == SIGINT) + return signal (nsig, handler); + + if (nsig < 0 || nsig > SIG_MAX) + { + errno = EINVAL; + return NULL; + } + + /* Store handler ptr */ + { + mswindows_sighandler old_handler = signal_handlers[nsig]; + signal_handlers[nsig] = handler; + return old_handler; + } +} + +int +mswindows_sighold (int nsig) +{ + if (nsig < 0 || nsig > SIG_MAX) + return errno = EINVAL; + + signal_block_mask |= sigmask (nsig); + return 0; +} + +int +mswindows_sigrelse (int nsig) +{ + if (nsig < 0 || nsig > SIG_MAX) + return errno = EINVAL; + + signal_block_mask &= ~sigmask (nsig); + + if (signal_pending_mask & sigmask (nsig)) + mswindows_raise (nsig); + + return 0; +} + +int +mswindows_sigpause (int nsig) +{ + /* This is currently not called, because the only call to sigpause + inside XEmacs is with SIGCHLD parameter. Just in case, we put an + assert here, so anyone adds a call to sigpause will be surprised + (or surprise someone else...) */ + assert (0); + return 0; +} + +int +mswindows_raise (int nsig) +{ + /* We delegate some raises to the system routine */ + if (nsig == SIGFPE || nsig == SIGABRT || nsig == SIGINT) + return raise (nsig); + + if (nsig < 0 || nsig > SIG_MAX) + return errno = EINVAL; + + /* If the signal is blocked, remember to issue later */ + if (signal_block_mask & sigmask (nsig)) + { + signal_pending_mask |= sigmask (nsig); + return 0; + } + + if (signal_handlers[nsig] == SIG_IGN) + return 0; + + if (signal_handlers[nsig] != SIG_DFL) + { + (*signal_handlers[nsig]) (nsig); + return 0; + } + + /* Default signal actions */ + if (nsig == SIGALRM || nsig == SIGPROF) + exit (3); + + /* Other signals are ignored by default */ + return 0; +} + /*--------------------------------------------------------------------*/ /* Async timers */ /*--------------------------------------------------------------------*/ -/* setitimer() does not exist on native MS Windows, and appears broken - on Cygwin (random lockups when BROKEN_SIGIO is defined), so we - emulate in both cases by using multimedia timers. */ - /* We emulate two timers, one for SIGALRM, another for SIGPROF. itimerproc() function has an implementation limitation: it does @@ -288,11 +404,7 @@ DWORD dw1, DWORD dw2) { /* Just raise the signal indicated by the dwUser parameter */ -#ifdef CYGWIN - kill (getpid (), dwUser); -#else mswindows_raise (dwUser); -#endif } /* Divide time in ms specified by IT by DENOM. Return 1 ms @@ -383,6 +495,8 @@ return errno = EINVAL; } +#endif /* defined (WIN32_NATIVE) || defined (CYGWIN_BROKEN_SIGNALS) */ + void syms_of_win32 (void)