This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFU 1.7] {emacs,emacs-X11,emacs-el}-23.0.92-1


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]