On Sun, May 17, 2009 at 12:34:09PM -0400, Ken Brown wrote: >One question: To follow the standard practice, I should give it a >different release number than the 1.7 version, presumably 23.0.92-2. >But it seems that all other package maintainers are using higher >release numbers for 1.7 than for 1.5. Is this going to cause >confusion?
My 2c: It's not ideal but I don't think that bumping 1.7 to accommodate 1.5 is worth your aggravation. As long as they are different it should be fine. Minor comments inline. >/* System description header file for Cygwin. > Copyright (C) 1985, 1986, 1992, 1999, 2002, 2003, 2004, 2005, 2006, > 2007, 2008, 2009 Free Software Foundation, Inc. > >This file is part of GNU Emacs. > >GNU Emacs 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 3 of the License, or >(at your option) any later version. > >GNU Emacs 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. If not, see <http://www.gnu.org/licenses/>. */ > >/* SYSTEM_TYPE should indicate the kind of system you are using. > It sets the Lisp variable system-type. */ > >#define SYSTEM_TYPE "cygwin" > >/* Emacs can read input using SIGIO and buffering characters itself, > or using CBREAK mode and making C-g cause SIGINT. > The choice is controlled by the variable interrupt_input. > > Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) > > Emacs uses the presence or absence of the SIGIO and BROKEN_SIGIO macros > to indicate whether or not signal-driven I/O is possible. It uses > INTERRUPT_INPUT to decide whether to use it by default. > > SIGIO can be used only on systems that implement it (4.2 and 4.3). > CBREAK mode has two disadvantages > 1) At least in 4.2, it is impossible to handle the Meta key properly. > I hear that in system V this problem does not exist. > 2) Control-G causes output to be discarded. > I do not know whether this can be fixed in system V. > > Another method of doing input is planned but not implemented. > It would have Emacs fork off a separate process > to read the input and send it to the true Emacs process > through a pipe. */ > >#undef INTERRUPT_INPUT > >/* > * Define HAVE_TERMIOS if the system provides POSIX-style > * functions and macros for terminal control. > * > * Define HAVE_TERMIO if the system provides sysV-style ioctls > * for terminal control. > * > * Do not define both. HAVE_TERMIOS is preferred, if it is > * supported on your system. > */ > >#define HAVE_TERMIOS > >/* > * Define HAVE_PTYS if the system supports pty devices. > */ > >#define HAVE_PTYS >#define PTY_ITERATION for (i = 0; i < 1; i++) /* ick */ >#define PTY_NAME_SPRINTF /* none */ >#define PTY_TTY_NAME_SPRINTF /* none */ >#define PTY_OPEN \ > do \ > { \ > int dummy; \ > SIGMASKTYPE mask; \ > mask = sigblock (sigmask (SIGCHLD)); \ > if (-1 == openpty (&fd, &dummy, pty_name, 0, 0)) \ > fd = -1; \ > sigsetmask (mask); \ > emacs_close (dummy); \ This will close a random number if openpty fails. > } \ > while (0) > >/* Define this symbol if your system has the functions bcopy, etc. */ > >#define BSTRING > >/* Define CLASH_DETECTION if you want lock files to be written > so that Emacs can tell instantly when you try to modify > a file that someone else has modified in his Emacs. */ > >#define CLASH_DETECTION > >/* If the system's imake configuration file defines `NeedWidePrototypes' > as `NO', we must define NARROWPROTO manually. Such a define is > generated in the Makefile generated by `xmkmf'. If we don't > define NARROWPROTO, we will see the wrong function prototypes > for X functions taking float or double parameters. */ > >#define NARROWPROTO 1 > >/* used in various places to enable cygwin-specific code changes */ >#define CYGWIN 1 > >#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) >#define SYSV_SYSTEM_DIR 1 >#define UNEXEC unexcw.o >#define POSIX_SIGNALS 1 >/* force the emacs image to start high in memory, so dll relocation > can put things in low memory without causing all sorts of grief for > emacs lisp pointers */ >/* but this can cause problems if the user later rebases; so I'm > changing it (KB) */ > >/* #define DATA_SEG_BITS 0x20000000 */ >/* #define LINKER $(CC) -Wl,--image-base,DATA_SEG_BITS */ >#define LINKER $(CC) > >/* Use terminfo instead of termcap. Fewer environment variables to > go wrong, more terminal types. */ >#define TERMINFO > >#define HAVE_SOCKETS > >/* vfork() interacts badly with setsid(), causing ptys to fail to > change their controlling terminal */ >#define vfork fork This is a no-op since vfork == fork. >/* This should work (at least when compiling with gcc). But I have no way > or intention to verify or even test it. If you encounter a problem with > it, feel free to change this setting, but please add a comment here about > why it needed to be changed. */ >#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS > >/* Virtual addresses of pure and impure space can vary, as on Windows. */ >#define VIRT_ADDR_VARIES > >/* the end */ > >/* arch-tag: 5ae7ba00-83b0-4ab3-806a-3e845779191b > (do not change this comment) */ >--- emacs-22.3-1/origsrc/emacs-22.3/src/s/cygwin.h 2008-01-07 >23:11:04.000000000 -0500 >+++ emacs-23.0.92-1/origsrc/emacs-23.0.92/src/s/cygwin.h 2009-01-08 >06:46:27.000000000 -0500 >@@ -1,15 +1,13 @@ >-/* Template for system description header files. >- This file describes the parameters that system description files >- should define or not. >- Copyright (C) 1985, 1986, 1992, 1999, 2002, 2003, 2004, >- 2005, 2006, 2007, 2008 Free Software Foundation, Inc. >+/* System description header file for Cygwin. >+ Copyright (C) 1985, 1986, 1992, 1999, 2002, 2003, 2004, 2005, 2006, >+ 2007, 2008, 2009 Free Software Foundation, Inc. > > This file is part of GNU Emacs. > >-GNU Emacs is free software; you can redistribute it and/or modify >+GNU Emacs 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 3, or (at your option) >-any later version. >+the Free Software Foundation, either version 3 of the License, or >+(at your option) any later version. > > GNU Emacs is distributed in the hope that it will be useful, > but WITHOUT ANY WARRANTY; without even the implied warranty of >@@ -17,9 +15,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 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, >-Boston, MA 02110-1301, USA. */ >+along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ > > /* SYSTEM_TYPE should indicate the kind of system you are using. > It sets the Lisp variable system-type. */ >@@ -88,14 +84,6 @@ > > #define BSTRING > >-/* subprocesses should be defined if you want to >- have code for asynchronous subprocesses >- (as used in M-x compile and M-x shell). >- This is generally OS dependent, and not supported >- under most USG systems. */ >- >-#define subprocesses >- > /* Define CLASH_DETECTION if you want lock files to be written > so that Emacs can tell instantly when you try to modify > a file that someone else has modified in his Emacs. */ >@@ -114,9 +102,7 @@ > #define CYGWIN 1 > > #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) >-#define GETPGRP_NO_ARG 1 Not sure why this should be deleted. getpgrp doesn't take an argument on Cygwin. > #define SYSV_SYSTEM_DIR 1 >-#define LIB_STANDARD_LIBSRC > #define UNEXEC unexcw.o > #define POSIX_SIGNALS 1 > /* force the emacs image to start high in memory, so dll relocation >@@ -130,16 +116,20 @@ > #define TERMINFO > > #define HAVE_SOCKETS >-/* C-g aborts emacs without this */ >-/*#define HAVE_VFORK*/ >-/* Xaw3d causes problems -- might have been fixed by NARROWPROTO >- above, but I haven't tried it */ >-/*#undef HAVE_XAW3D*/ > > /* vfork() interacts badly with setsid(), causing ptys to fail to > change their controlling terminal */ > #define vfork fork > >+/* This should work (at least when compiling with gcc). But I have no way >+ or intention to verify or even test it. If you encounter a problem with >+ it, feel free to change this setting, but please add a comment here about >+ why it needed to be changed. */ >+#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS >+ >+/* Virtual addresses of pure and impure space can vary, as on Windows. */ >+#define VIRT_ADDR_VARIES >+ > /* the end */ > > /* arch-tag: 5ae7ba00-83b0-4ab3-806a-3e845779191b
