From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Juanma Barranquero Newsgroups: gmane.emacs.devel Subject: Re: [PATCHES] 21.3.50 for Cygwin: patch 7 Date: Wed, 18 Dec 2002 17:45:14 +0100 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <20021218174448.E9C8.LEKTU@terra.es> References: <20021218110647.0B0F.LEKTU@terra.es> <3E007C1B.4050606@hekimian.com> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Trace: main.gmane.org 1040230186 9165 80.91.224.249 (18 Dec 2002 16:49:46 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 18 Dec 2002 16:49:46 +0000 (UTC) Cc: emacs-devel@gnu.org Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18OhO5-0002N5-00 for ; Wed, 18 Dec 2002 17:49:37 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 18OhOn-0004TO-00 for ; Wed, 18 Dec 2002 17:50:21 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18OhNG-0006om-00 for emacs-devel@quimby.gnus.org; Wed, 18 Dec 2002 11:48:46 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18OhMk-0006nE-00 for emacs-devel@gnu.org; Wed, 18 Dec 2002 11:48:14 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18OhMY-0006f2-00 for emacs-devel@gnu.org; Wed, 18 Dec 2002 11:48:13 -0500 Original-Received: from [62.22.27.141] (helo=mail.peoplecall.com) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18OhK5-0005zF-00 for emacs-devel@gnu.org; Wed, 18 Dec 2002 11:45:30 -0500 Original-Received: from [62.22.27.143] (jbarranquero.ofi.peoplecall.com [62.22.27.143]) by mail.peoplecall.com (8.11.6/8.11.6) with ESMTP id gBIGjDW23415; Wed, 18 Dec 2002 17:45:14 +0100 Original-To: joseph.buehler@spirentcom.com In-Reply-To: <3E007C1B.4050606@hekimian.com> X-Mailer: Becky! ver. 2.05.06 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Emacs development discussions. List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:10264 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:10264 On Wed, 18 Dec 2002 08:46:03 -0500, Joe Buehler wrote: > The previous patches (1 - 6) are all my own work, and I have submitted the proper > papers -- though I never got any acknowledgement of that fact, so someone > who is able may want to make sure it didn't get lost in the mail... OK. Here's the combined patch from yours 1-6 and the stuff from patch 7 that's supposedly trouble-free (adding the cygwin system-type to the docs, the etc/NEWS entry and some ChangeLog changes, a few lines all in all). src/s/cygwin.h is not included, but that file'll go into the CVS straight from your patch 5, so there's no need to repeat it here. With this patch applied (and src/s/cygwin.h), my system still bootstraps fine; but I'm not tested cygwin compilation in any way, just that this stuff didn't broke MSVC builds. As all patching/unpatching has been done manually, I suggest you do a cvs update -C, install this and test it. As soon as you give the OK and someone from FSF confirms your papers are at hand I'll commit the patch. /L/e/k/t/u Index: ChangeLog =================================================================== RCS file: /cvs/emacs/ChangeLog,v retrieving revision 1.294 diff -u -2 -b -r1.294 ChangeLog --- ChangeLog 15 Dec 2002 19:01:33 -0000 1.294 +++ ChangeLog 18 Dec 2002 16:26:57 -0000 @@ -1,2 +1,10 @@ +2002-12-18 Joe Buehler + + * Makefile.in: Use @EXEEXT@ for Cygwin. + Use USERNAME if LOGNAME is not set (for Cygwin). + + * configure.in: + * configure: Add opsys=cygwin. + 2002-12-09 Markus Rost Index: Makefile.in =================================================================== RCS file: /cvs/emacs/Makefile.in,v retrieving revision 1.273 diff -u -2 -b -r1.273 Makefile.in --- Makefile.in 8 Dec 2002 13:59:29 -0000 1.273 +++ Makefile.in 18 Dec 2002 16:26:57 -0000 @@ -213,6 +213,6 @@ # What emacs should be called when installed. -EMACS = `echo emacs | sed '$(TRANSFORM)'` -EMACSFULL = `echo emacs-${version} | sed '$(TRANSFORM)'` +EMACS = `echo emacs@EXEEXT@ | sed '$(TRANSFORM)'` +EMACSFULL = `echo emacs-${version}@EXEEXT@ | sed '$(TRANSFORM)'` # Subdirectories to make recursively. `lisp' is not included @@ -356,5 +356,5 @@ libexecdir=${libexecdir} archlibdir=${archlibdir} \ INSTALL_STRIP=${INSTALL_STRIP}) - ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs ${bindir}/$(EMACSFULL) + ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs@EXEEXT@ ${bindir}/$(EMACSFULL) -chmod 1755 ${bindir}/$(EMACSFULL) rm -f ${bindir}/$(EMACS) @@ -398,5 +398,5 @@ | (cd $${dest}; umask 022; \ tar -xvf - && cat > /dev/null) || exit 1; \ - find $${dest} -exec chown $$LOGNAME {} ';' ;\ + find $${dest} -exec chown $${LOGNAME:-$$USERNAME} {} ';' ;\ for subdir in `find $${dest} -type d ! -name RCS ! -name CVS -print` ; do \ chmod a+rx $${subdir} ; \ @@ -437,5 +437,5 @@ (cd ./etc; tar -chf - DOC*) \ |(cd ${docdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \ - (cd $(docdir); chown $${LOGNAME} DOC*; chmod a+r DOC*; \ + (cd $(docdir); chown $${LOGNAME:-$$USERNAME} DOC*; chmod a+r DOC*; \ if test "`echo DOC-*`" != "DOC-*"; then rm DOC; fi); \ else true; fi @@ -449,5 +449,5 @@ (cd lisp; tar -chf - *.el *.elc) \ |(cd ${lispdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \ - (cd ${lispdir}; find . -exec chown $${LOGNAME} {} ';') ; \ + (cd ${lispdir}; find . -exec chown $${LOGNAME:-$$USERNAME} {} ';') ; \ else true; fi -unset CDPATH; \ @@ -727,5 +727,5 @@ (cd lisp; $(MAKE) $(MFLAGS) bootstrap-clean) (cd src; $(MAKE) $(MFLAGS) bootstrap) - (cd lisp; $(MAKE) $(MFLAGS) bootstrap EMACS=../src/bootstrap-emacs) + (cd lisp; $(MAKE) $(MFLAGS) bootstrap EMACS=../src/bootstrap-emacs@EXEEXT@) (cd src; $(MAKE) $(MFLAGS) mostlyclean) $(MAKE) $(MFLAGS) all Index: configure =================================================================== RCS file: /cvs/emacs/configure,v retrieving revision 1.100 diff -u -2 -b -r1.100 configure --- configure 28 Nov 2002 01:08:07 -0000 1.100 +++ configure 18 Dec 2002 16:26:58 -0000 @@ -2476,4 +2476,5 @@ machine=intel386 case "${canonical}" in + *-cygwin ) opsys=cygwin ;; *-lynxos* ) opsys=lynxos ;; *-isc1.* | *-isc2.[01]* ) opsys=386-ix ;; Index: configure.in =================================================================== RCS file: /cvs/emacs/configure.in,v retrieving revision 1.317 diff -u -2 -b -r1.317 configure.in --- configure.in 9 Dec 2002 19:37:58 -0000 1.317 +++ configure.in 18 Dec 2002 16:26:59 -0000 @@ -1044,4 +1044,5 @@ machine=intel386 case "${canonical}" in + *-cygwin ) opsys=cygwin ;; *-lynxos* ) opsys=lynxos ;; *-isc1.* | *-isc2.[01]* ) opsys=386-ix ;; Index: etc/ChangeLog =================================================================== RCS file: /cvs/emacs/etc/ChangeLog,v retrieving revision 1.120 diff -u -2 -b -r1.120 ChangeLog --- etc/ChangeLog 10 Dec 2002 02:35:49 -0000 1.120 +++ etc/ChangeLog 18 Dec 2002 16:26:59 -0000 @@ -1,2 +1,6 @@ +2002-12-18 Joe Buehler + + * MACHINES: Added Cygwin. + 2002-12-10 Kenichi Handa Index: etc/MACHINES =================================================================== RCS file: /cvs/emacs/etc/MACHINES,v retrieving revision 1.15 diff -u -2 -b -r1.15 MACHINES --- etc/MACHINES 15 Apr 2002 18:44:53 -0000 1.15 +++ etc/MACHINES 18 Dec 2002 16:26:59 -0000 @@ -633,5 +633,5 @@ i386-*-sol2.4, i386-*-sysv3, i386-intsys-sysv, i386-*-sysv4, i386-*-sysv4.2, - i386-*-sysv5.3, i386-*-bsd4.2, + i386-*-sysv5.3, i386-*-bsd4.2, i386-*-cygwin, i386-*-sco3.2v4, i386-*-bsd386, i386-*-386bsd, i386-*-msdos, i386-*-windowsnt. @@ -647,4 +647,6 @@ Use i386-*-esix for Esix; Emacs runs as of version 19.6. Use i386-*-linux-gnu for GNU/Linux systems; Emacs runs as of version 19.26. + Use i386-*-cygwin for Cygwin; Emacs runs as of version 21.2, in both X11 + and non-X11 modes. Use i386-intsys-sysv for Integrated Solutions 386 machines. It may also be correct for Microport systems. Index: etc/NEWS =================================================================== RCS file: /cvs/emacs/etc/NEWS,v retrieving revision 1.763 diff -u -2 -b -r1.763 NEWS --- etc/NEWS 18 Dec 2002 02:44:24 -0000 1.763 +++ etc/NEWS 18 Dec 2002 16:27:02 -0000 @@ -56,4 +56,6 @@ (Help->More Manuals->Introduction to Emacs Lisp). +** Support for Cygwin was added. + --- ** Support for AIX 5.1 was added. Index: lib-src/ChangeLog =================================================================== RCS file: /cvs/emacs/lib-src/ChangeLog,v retrieving revision 2.215 diff -u -2 -b -r2.215 ChangeLog --- lib-src/ChangeLog 11 Dec 2002 23:32:41 -0000 2.215 +++ lib-src/ChangeLog 18 Dec 2002 16:27:03 -0000 @@ -1,2 +1,8 @@ +2002-12-18 Joe Buehler + + * Makefile.in: Use @EXEEXT@ for Cygwin. + + * pop.c: A Cygwin header file defines _P, so undef it. + 2002-12-12 Jonathan Kamens Index: lib-src/Makefile.in =================================================================== RCS file: /cvs/emacs/lib-src/Makefile.in,v retrieving revision 1.131 diff -u -2 -b -r1.131 Makefile.in --- lib-src/Makefile.in 18 Nov 2002 04:53:59 -0000 1.131 +++ lib-src/Makefile.in 18 Dec 2002 16:27:03 -0000 @@ -101,13 +101,13 @@ # Things that a user might actually run, # which should be installed in bindir. -INSTALLABLES = etags ctags emacsclient b2m ebrowse +INSTALLABLES = etags@EXEEXT@ ctags@EXEEXT@ emacsclient@EXEEXT@ b2m@EXEEXT@ ebrowse@EXEEXT@ INSTALLABLE_SCRIPTS = rcs-checkin grep-changelog # Things that Emacs runs internally, or during the build process, # which should not be installed in bindir. -UTILITIES= profile digest-doc sorted-doc movemail cvtmail fakemail \ - yow hexl update-game-score +UTILITIES= profile@EXEEXT@ digest-doc@EXEEXT@ sorted-doc@EXEEXT@ movemail@EXEEXT@ cvtmail@EXEEXT@ fakemail@EXEEXT@ \ + yow@EXEEXT@ hexl@EXEEXT@ update-game-score@EXEEXT@ -DONT_INSTALL= test-distrib make-docfile +DONT_INSTALL= test-distrib@EXEEXT@ make-docfile@EXEEXT@ # Like UTILITIES, but they're not system-dependent, and should not be @@ -273,10 +273,10 @@ #ifdef MOVEMAIL_NEEDS_BLESSING /* Don\'t charge ahead and do it! Let the installer decide. - ./blessmail ${archlibdir}/movemail */ + ./blessmail ${archlibdir}/movemail@EXEEXT@ */ @if [ `wc -l + + * Makefile.in: Use @EXEEXT@ for Cygwin. + + * comint.el: + * dired-aux.el: + * dired.el: + * dirtrack.el: + * dos-w32.el: + * fast-lock.el: + * filecache.el: + * files.el: + * hippie-exp.el: + * international/mule.el: + * net/browse-url.el: + * pcomplete.el: + * recentf.el: + * shell.el: + * woman.el: Added cygwin to system-type comparisons. + 2002-12-18 John Paul Wallington Index: lisp/Makefile.in =================================================================== RCS file: /cvs/emacs/lisp/Makefile.in,v retrieving revision 1.38 diff -u -2 -b -r1.38 Makefile.in --- lisp/Makefile.in 20 Nov 2002 07:15:41 -0000 1.38 +++ lisp/Makefile.in 18 Dec 2002 16:27:05 -0000 @@ -38,5 +38,5 @@ lisptagsfiles1 = $(lisp)/[a-zA-Z]*.el lisptagsfiles2 = $(lisp)/[a-zA-Z]*/[a-zA-Z]*.el -ETAGS = ../lib-src/etags +ETAGS = ../lib-src/etags@EXEEXT@ # Files which should not be compiled. If you change the name `DONTCOMPILE' Index: lisp/comint.el =================================================================== RCS file: /cvs/emacs/lisp/comint.el,v retrieving revision 1.284 diff -u -2 -b -r1.284 comint.el --- lisp/comint.el 10 Sep 2002 16:44:58 -0000 1.284 +++ lisp/comint.el 18 Dec 2002 16:27:05 -0000 @@ -2534,5 +2534,5 @@ (defvar comint-file-name-chars - (if (memq system-type '(ms-dos windows-nt)) + (if (memq system-type '(ms-dos windows-nt cygwin)) "~/A-Za-z0-9_^$!#%&{}@`'.,:()-" "~/A-Za-z0-9+@:_.$#%,={}-") @@ -2659,5 +2659,5 @@ "Dynamically complete at point as a filename. See `comint-dynamic-complete-filename'. Returns t if successful." - (let* ((completion-ignore-case (memq system-type '(ms-dos windows-nt))) + (let* ((completion-ignore-case (memq system-type '(ms-dos windows-nt cygwin))) (completion-ignored-extensions comint-completion-fignore) ;; If we bind this, it breaks remote directory tracking in rlogin.el. @@ -2748,5 +2748,5 @@ See also `comint-dynamic-complete-filename'." - (let* ((completion-ignore-case (memq system-type '(ms-dos windows-nt))) + (let* ((completion-ignore-case (memq system-type '(ms-dos windows-nt cygwin))) (suffix (cond ((not comint-completion-addsuffix) "") ((not (consp comint-completion-addsuffix)) " ") @@ -2789,5 +2789,5 @@ "List in help buffer possible completions of the filename at point." (interactive) - (let* ((completion-ignore-case (memq system-type '(ms-dos windows-nt))) + (let* ((completion-ignore-case (memq system-type '(ms-dos windows-nt cygwin))) ;; If we bind this, it breaks remote directory tracking in rlogin.el. ;; I think it was originally bound to solve file completion problems, Index: lisp/dired-aux.el =================================================================== RCS file: /cvs/emacs/lisp/dired-aux.el,v retrieving revision 1.107 diff -u -2 -b -r1.107 dired-aux.el --- lisp/dired-aux.el 11 Nov 2002 11:44:05 -0000 1.107 +++ lisp/dired-aux.el 18 Dec 2002 16:27:05 -0000 @@ -1259,5 +1259,5 @@ ;; case-insensitive, and Emacs will try to move ;; foo -> foo/foo, which fails. - (if (and (memq system-type '(ms-dos windows-nt)) + (if (and (memq system-type '(ms-dos windows-nt cygwin)) (eq op-symbol 'move) dired-one-file Index: lisp/dired.el =================================================================== RCS file: /cvs/emacs/lisp/dired.el,v retrieving revision 1.246 diff -u -2 -b -r1.246 dired.el --- lisp/dired.el 21 Nov 2002 17:31:51 -0000 1.246 +++ lisp/dired.el 18 Dec 2002 16:27:06 -0000 @@ -66,5 +66,5 @@ ;;;###autoload (defvar dired-chown-program - (if (memq system-type '(hpux dgux usg-unix-v irix linux gnu/linux)) + (if (memq system-type '(hpux dgux usg-unix-v irix linux gnu/linux cygwin)) "chown" (if (file-exists-p "/usr/sbin/chown") Index: lisp/dirtrack.el =================================================================== RCS file: /cvs/emacs/lisp/dirtrack.el,v retrieving revision 1.11 diff -u -2 -b -r1.11 dirtrack.el --- lisp/dirtrack.el 7 Feb 2001 23:38:46 -0000 1.11 +++ lisp/dirtrack.el 18 Dec 2002 16:27:06 -0000 @@ -6,5 +6,5 @@ ;; Created: Sun Nov 17 1996 ;; Keywords: processes -;; Time-stamp: <1999-02-21 01:27:24 pbreton> +;; Time-stamp: <2002-12-18 10:43:13 jbarranquero> ;; This file is part of GNU Emacs. @@ -168,5 +168,5 @@ (defcustom dirtrack-directory-function - (if (memq system-type (list 'ms-dos 'windows-nt)) + (if (memq system-type (list 'ms-dos 'windows-nt 'cygwin)) 'dirtrack-windows-directory-function 'dirtrack-default-directory-function) @@ -177,5 +177,5 @@ (defcustom dirtrack-canonicalize-function - (if (memq system-type (list 'ms-dos 'windows-nt)) + (if (memq system-type (list 'ms-dos 'windows-nt 'cygwin)) 'downcase 'identity) "*Function to apply to the default directory for comparison purposes." Index: lisp/dos-w32.el =================================================================== RCS file: /cvs/emacs/lisp/dos-w32.el,v retrieving revision 1.34 diff -u -2 -b -r1.34 dos-w32.el --- lisp/dos-w32.el 11 Jul 2002 17:24:10 -0000 1.34 +++ lisp/dos-w32.el 18 Dec 2002 16:27:06 -0000 @@ -198,5 +198,5 @@ "Return FILENAME in a canonicalized form for use with the functions dealing with untranslated filesystems." - (if (memq system-type '(ms-dos windows-nt)) + (if (memq system-type '(ms-dos windows-nt cygwin)) ;; The canonical form for DOS/W32 is with A-Z downcased and all ;; directory separators changed to directory-sep-char. Index: lisp/fast-lock.el =================================================================== RCS file: /cvs/emacs/lisp/fast-lock.el,v retrieving revision 1.25 diff -u -2 -b -r1.25 fast-lock.el --- lisp/fast-lock.el 27 Nov 2001 15:52:52 -0000 1.25 +++ lisp/fast-lock.el 18 Dec 2002 16:27:06 -0000 @@ -554,5 +554,5 @@ (let* ((bufile (expand-file-name buffer-file-truename)) (chars-alist - (if (memq system-type '(emx windows-nt)) + (if (memq system-type '(emx windows-nt cygwin)) '((?/ . (?#)) (?# . (?# ?#)) (?: . (?\;)) (?\; . (?\; ?\;))) '((?/ . (?#)) (?# . (?# ?#))))) Index: lisp/filecache.el =================================================================== RCS file: /cvs/emacs/lisp/filecache.el,v retrieving revision 1.14 diff -u -2 -b -r1.14 filecache.el --- lisp/filecache.el 30 Apr 2002 20:42:40 -0000 1.14 +++ lisp/filecache.el 18 Dec 2002 16:27:06 -0000 @@ -188,5 +188,5 @@ (defcustom file-cache-completion-ignore-case - (if (memq system-type (list 'ms-dos 'windows-nt)) + (if (memq system-type (list 'ms-dos 'windows-nt 'cygwin)) t completion-ignore-case) @@ -198,5 +198,5 @@ (defcustom file-cache-case-fold-search - (if (memq system-type (list 'ms-dos 'windows-nt)) + (if (memq system-type (list 'ms-dos 'windows-nt 'cygwin)) t case-fold-search) @@ -208,5 +208,5 @@ (defcustom file-cache-assoc-function - (if (memq system-type (list 'ms-dos 'windows-nt)) + (if (memq system-type (list 'ms-dos 'windows-nt 'cygwin)) 'assoc-ignore-case 'assoc) Index: lisp/files.el =================================================================== RCS file: /cvs/emacs/lisp/files.el,v retrieving revision 1.627 diff -u -2 -b -r1.627 files.el --- lisp/files.el 8 Dec 2002 13:20:42 -0000 1.627 +++ lisp/files.el 18 Dec 2002 16:27:07 -0000 @@ -216,5 +216,5 @@ "\\(/\\.\\.?[^/]\\)\\|" ; leading dots "\\(/[^/.]+\\.[^/.]*\\.\\)")) ; more than a single dot - ((memq system-type '(ms-dos windows-nt)) + ((memq system-type '(ms-dos windows-nt cygwin)) (concat "^\\([^A-Z[-`a-z]\\|..+\\)?:\\|" ; colon except after drive "[|<>\"?*\000-\031]")) ; invalid characters @@ -1029,4 +1029,5 @@ ;; Novell Netware allows drive letters beyond `Z:'. (not (and (or (eq system-type 'ms-dos) + (eq system-type 'cygwin) (eq system-type 'windows-nt)) (save-match-data @@ -1774,5 +1775,5 @@ ;; Find first matching alist entry. (let ((case-fold-search - (memq system-type '(vax-vms windows-nt)))) + (memq system-type '(vax-vms windows-nt cygwin)))) (while (and (not mode) alist) (if (string-match (car (car alist)) name) @@ -2614,5 +2615,5 @@ (if (file-name-absolute-p backup-directory) (progn - (when (memq system-type '(windows-nt ms-dos)) + (when (memq system-type '(windows-nt ms-dos cygwin)) ;; Normalize DOSish file names: downcase the drive ;; letter, if any, and replace the leading "x:" with @@ -2736,4 +2737,5 @@ ;; drive names, they can't be relative, so return the absolute name. (if (and (or (eq system-type 'ms-dos) + (eq system-type 'cygwin) (eq system-type 'windows-nt)) (not (string-equal (substring fname 0 2) @@ -3880,5 +3882,5 @@ (save-match-data (cond - ((memq system-type '(ms-dos windows-nt)) + ((memq system-type '(ms-dos windows-nt cygwin)) ;; DOS/Windows don't allow `"' in file names. So if the ;; argument has quotes, we can safely assume it is already Index: lisp/hippie-exp.el =================================================================== RCS file: /cvs/emacs/lisp/hippie-exp.el,v retrieving revision 1.24 diff -u -2 -b -r1.24 hippie-exp.el --- lisp/hippie-exp.el 20 Dec 2001 18:41:15 -0000 1.24 +++ lisp/hippie-exp.el 18 Dec 2002 16:27:07 -0000 @@ -504,5 +504,5 @@ (cond ((memq system-type '(vax-vms axp-vms)) "-a-zA-Z0-9_/.,~^#$+=:\\[\\]") - ((memq system-type '(ms-dos windows-nt)) + ((memq system-type '(ms-dos windows-nt cygwin)) "-a-zA-Z0-9_/.,~^#$+=:\\\\") (t ;; More strange file formats ? Index: lisp/pcomplete.el =================================================================== RCS file: /cvs/emacs/lisp/pcomplete.el,v retrieving revision 1.11 diff -u -2 -b -r1.11 pcomplete.el --- lisp/pcomplete.el 5 Aug 2002 20:07:12 -0000 1.11 +++ lisp/pcomplete.el 18 Dec 2002 16:27:10 -0000 @@ -140,5 +140,5 @@ :group 'pcomplete) -(defcustom pcomplete-ignore-case (memq system-type '(ms-dos windows-nt)) +(defcustom pcomplete-ignore-case (memq system-type '(ms-dos windows-nt cygwin)) "*If non-nil, ignore case when doing filename completion." :type 'boolean Index: lisp/recentf.el =================================================================== RCS file: /cvs/emacs/lisp/recentf.el,v retrieving revision 1.21 diff -u -2 -b -r1.21 recentf.el --- lisp/recentf.el 29 Apr 2002 09:27:25 -0000 1.21 +++ lisp/recentf.el 18 Dec 2002 16:27:10 -0000 @@ -202,5 +202,5 @@ ;;;; (defconst recentf-case-fold-search - (memq system-type '(vax-vms windows-nt)) + (memq system-type '(vax-vms windows-nt cygwin)) "Non-nil if recentf searches and matches should ignore case.") Index: lisp/shell.el =================================================================== RCS file: /cvs/emacs/lisp/shell.el,v retrieving revision 1.117 diff -u -2 -b -r1.117 shell.el --- lisp/shell.el 31 Oct 2002 23:37:15 -0000 1.117 +++ lisp/shell.el 18 Dec 2002 16:27:10 -0000 @@ -166,5 +166,5 @@ (defvar shell-file-name-chars - (if (memq system-type '(ms-dos windows-nt)) + (if (memq system-type '(ms-dos windows-nt cygwin)) "~/A-Za-z0-9_^$!#%&{}@`'.,:()-" "~/A-Za-z0-9+@:_.$#%,={}-") Index: lisp/woman.el =================================================================== RCS file: /cvs/emacs/lisp/woman.el,v retrieving revision 1.14 diff -u -2 -b -r1.14 woman.el --- lisp/woman.el 23 Oct 2002 09:08:04 -0000 1.14 +++ lisp/woman.el 18 Dec 2002 16:27:11 -0000 @@ -1348,5 +1348,5 @@ (if (string= (substring dir -1) "/") (setq dir (substring dir 0 -1))) - (if (memq system-type '(windows-nt ms-dos)) ; what else? + (if (memq system-type '(windows-nt ms-dos cygwin)) ; what else? ;; Match capitalization used by `file-name-directory': (setq dir (concat (file-name-directory dir) Index: lisp/gnus/ChangeLog =================================================================== RCS file: /cvs/emacs/lisp/gnus/ChangeLog,v retrieving revision 1.224 diff -u -2 -b -r1.224 ChangeLog --- lisp/gnus/ChangeLog 15 Dec 2002 19:57:31 -0000 1.224 +++ lisp/gnus/ChangeLog 18 Dec 2002 16:27:12 -0000 @@ -1,2 +1,6 @@ +2002-12-18 Joe Buehler + + * nnheader.el: Added cygwin to system-type comparisons. + 2002-11-29 ShengHuo ZHU Index: lisp/gnus/nnheader.el =================================================================== RCS file: /cvs/emacs/lisp/gnus/nnheader.el,v retrieving revision 1.15 diff -u -2 -b -r1.15 nnheader.el --- lisp/gnus/nnheader.el 21 Jun 2002 18:31:10 -0000 1.15 +++ lisp/gnus/nnheader.el 18 Dec 2002 16:27:13 -0000 @@ -654,5 +654,5 @@ ;; alone. (if (and (featurep 'xemacs) - (memq system-type '(win32 w32 mswindows windows-nt))) + (memq system-type '(win32 w32 mswindows windows-nt cygwin))) ;; This is needed on NT and stuff, because ;; file-name-nondirectory is not enough to split Index: lisp/international/mule.el =================================================================== RCS file: /cvs/emacs/lisp/international/mule.el,v retrieving revision 1.171 diff -u -2 -b -r1.171 mule.el --- lisp/international/mule.el 17 Dec 2002 11:56:56 -0000 1.171 +++ lisp/international/mule.el 18 Dec 2002 16:27:13 -0000 @@ -1607,5 +1607,5 @@ "Return the coding system specified by `auto-coding-alist' for FILENAME." (let ((alist auto-coding-alist) - (case-fold-search (memq system-type '(vax-vms windows-nt ms-dos))) + (case-fold-search (memq system-type '(vax-vms windows-nt ms-dos cygwin))) coding-system) (while (and alist (not coding-system)) Index: lisp/net/browse-url.el =================================================================== RCS file: /cvs/emacs/lisp/net/browse-url.el,v retrieving revision 1.25 diff -u -2 -b -r1.25 browse-url.el --- lisp/net/browse-url.el 11 Dec 2002 06:56:22 -0000 1.25 +++ lisp/net/browse-url.el 18 Dec 2002 16:27:14 -0000 @@ -228,5 +228,5 @@ ;;;###autoload (defcustom browse-url-browser-function - (if (memq system-type '(windows-nt ms-dos)) + (if (memq system-type '(windows-nt ms-dos cygwin)) 'browse-url-default-windows-browser 'browse-url-default-browser) @@ -382,5 +382,5 @@ ;; applies. ("^/\\([^:@]+@\\)?\\([^:]+\\):/*" . "ftp://\\1\\2/") - (,@ (if (memq system-type '(windows-nt ms-dos)) + (,@ (if (memq system-type '(windows-nt ms-dos cygwin)) '(("^\\([a-zA-Z]:\\)[\\/]" . "file:\\1/") ("^[\\/][\\/]+" . "file://")))) Index: lispref/ChangeLog =================================================================== RCS file: /cvs/emacs/lispref/ChangeLog,v retrieving revision 1.59 diff -u -2 -b -r1.59 ChangeLog --- lispref/ChangeLog 9 Dec 2002 06:09:06 -0000 1.59 +++ lispref/ChangeLog 18 Dec 2002 16:27:14 -0000 @@ -1,2 +1,6 @@ +2002-12-18 Joe Buehler + + * os.texi (System Environment): Added cygwin system-type. + 2002-12-07 Markus Rost @@ -11,4 +15,5 @@ 2002-10-23 Kai Gro,A_(Bjohann + From Michael Albinus . Index: lispref/os.texi =================================================================== RCS file: /cvs/emacs/lispref/os.texi,v retrieving revision 1.50 diff -u -2 -b -r1.50 os.texi --- lispref/os.texi 14 Oct 2002 01:34:48 -0000 1.50 +++ lispref/os.texi 18 Dec 2002 16:27:16 -0000 @@ -614,4 +614,7 @@ Berkeley BSD. +@item cygwin +Cygwin. + @item dgux Data General DGUX operating system. Index: lwlib/ChangeLog =================================================================== RCS file: /cvs/emacs/lwlib/ChangeLog,v retrieving revision 1.74 diff -u -2 -b -r1.74 ChangeLog --- lwlib/ChangeLog 21 Nov 2002 10:58:13 -0000 1.74 +++ lwlib/ChangeLog 18 Dec 2002 16:27:16 -0000 @@ -1,2 +1,6 @@ +2002-12-18 Joe Buehler + + * Makefile.in: Use @EXEEXT@ for Cygwin. + 2002-11-21 Dave Love Index: lwlib/Makefile.in =================================================================== RCS file: /cvs/emacs/lwlib/Makefile.in,v retrieving revision 1.26 diff -u -2 -b -r1.26 Makefile.in --- lwlib/Makefile.in 28 Apr 2002 13:33:40 -0000 1.26 +++ lwlib/Makefile.in 18 Dec 2002 16:27:16 -0000 @@ -64,5 +64,5 @@ TAGS: - ../lib-src/etags $(srcdir)/*.[ch] + ../lib-src/etags@EXEEXT@ $(srcdir)/*.[ch] tags: TAGS .PHONY: tags Index: oldXMenu/ChangeLog =================================================================== RCS file: /cvs/emacs/oldXMenu/ChangeLog,v retrieving revision 1.14 diff -u -2 -b -r1.14 ChangeLog --- oldXMenu/ChangeLog 22 Apr 2002 18:27:39 -0000 1.14 +++ oldXMenu/ChangeLog 18 Dec 2002 16:27:16 -0000 @@ -1,2 +1,6 @@ +2002-12-18 Joe Buehler + + * Makefile.in: Use @EXEEXT@ for Cygwin. + 2002-04-22 Jan D. Index: oldXMenu/Makefile.in =================================================================== RCS file: /cvs/emacs/oldXMenu/Makefile.in,v retrieving revision 1.1 diff -u -2 -b -r1.1 Makefile.in --- oldXMenu/Makefile.in 3 Oct 1999 19:36:09 -0000 1.1 +++ oldXMenu/Makefile.in 18 Dec 2002 16:27:16 -0000 @@ -10,5 +10,5 @@ AS = as LD = ld - TAGS = etags + TAGS = etags@EXEEXT@ RM = rm -f MV = mv Index: src/ChangeLog =================================================================== RCS file: /cvs/emacs/src/ChangeLog,v retrieving revision 1.2999 diff -u -2 -b -r1.2999 ChangeLog --- src/ChangeLog 18 Dec 2002 06:16:27 -0000 1.2999 +++ src/ChangeLog 18 Dec 2002 16:27:17 -0000 @@ -1,5 +1,18 @@ +2002-12-18 Joe Buehler + + * fileio.c: Support // at start of name for Cygwin (just added proper + preprocessor tests). + + * keyboard.c: Port to Cygwin (just added proper preprocessor tests). + + * Makefile.in: Use @EXEEXT@ for Cygwin. + + * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin. + + * s/cygwin.h: Added for Cygwin port. + 2002-12-17 Ben Key - * Revisited my earlier fix for the following entry in - etc/PROBLEMS: + + Revisited my earlier fix for the following entry in etc/PROBLEMS: "Emacs built on Windows 9x/ME crashes at startup on Windows XP, or Emacs builtpart of on XP crashes at startup on Windows 9x/ME." Index: src/Makefile.in =================================================================== RCS file: /cvs/emacs/src/Makefile.in,v retrieving revision 1.263 diff -u -2 -b -r1.263 Makefile.in --- src/Makefile.in 17 Dec 2002 01:25:19 -0000 1.263 +++ src/Makefile.in 18 Dec 2002 16:27:17 -0000 @@ -468,5 +468,5 @@ Note that some people don't have '.' in their paths, so we must use ./prefix-args. */ -#define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags` +#define YMF_PASS_LDFLAGS(flags) `./prefix-args@EXEEXT@ -Xlinker flags` #else #define YMF_PASS_LDFLAGS(flags) flags @@ -867,18 +867,18 @@ #endif -all: emacs OTHER_FILES +all: emacs@EXEEXT@ OTHER_FILES -emacs: temacs ${etc}DOC ${lisp} +emacs@EXEEXT@: temacs@EXEEXT@ ${etc}DOC ${lisp} #ifdef CANNOT_DUMP - rm -f emacs - ln temacs emacs + rm -f emacs@EXEEXT@ + ln temacs@EXEEXT@ emacs@EXEEXT@ #else #ifdef HAVE_SHM - LC_ALL=C ./temacs -nl -batch -l loadup dump + LC_ALL=C ./temacs@EXEEXT@ -nl -batch -l loadup dump #else /* ! defined (HAVE_SHM) */ - LC_ALL=C ./temacs -batch -l loadup dump + LC_ALL=C ./temacs@EXEEXT@ -batch -l loadup dump #endif /* ! defined (HAVE_SHM) */ #endif /* ! defined (CANNOT_DUMP) */ - -./emacs -q -batch -f list-load-path-shadows + -./emacs@EXEEXT@ -q -batch -f list-load-path-shadows /* We run make-docfile twice because the command line may get too long @@ -895,6 +895,6 @@ ${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp} -${libsrc}make-docfile: - cd ${libsrc}; ${MAKE} ${MFLAGS} make-docfile +${libsrc}make-docfile@EXEEXT@: + cd ${libsrc}; ${MAKE} ${MFLAGS} make-docfile@EXEEXT@ /* Some systems define this to cause parallel Make-ing. */ @@ -903,7 +903,7 @@ #endif -temacs: MAKE_PARALLEL $(LOCALCPP) $(STARTFILES) stamp-oldxmenu ${obj} ${otherobj} OBJECTS_MACHINE prefix-args +temacs@EXEEXT@: MAKE_PARALLEL $(LOCALCPP) $(STARTFILES) stamp-oldxmenu ${obj} ${otherobj} OBJECTS_MACHINE prefix-args@EXEEXT@ $(LD) YMF_PASS_LDFLAGS (${STARTFLAGS} ${TEMACS_LDFLAGS}) $(LDFLAGS) \ - -o temacs ${STARTFILES} ${obj} ${otherobj} \ + -o temacs@EXEEXT@ ${STARTFILES} ${obj} ${otherobj} \ OBJECTS_MACHINE ${LIBES} @@ -911,6 +911,6 @@ often contain options that have to do with using Emacs's crt0, which are only good with temacs. */ -prefix-args: prefix-args.c $(config_h) - $(CC) $(ALL_CFLAGS) $(LDFLAGS) ${srcdir}/prefix-args.c -o prefix-args +prefix-args@EXEEXT@: prefix-args.c $(config_h) + $(CC) $(ALL_CFLAGS) $(LDFLAGS) ${srcdir}/prefix-args.c -o prefix-args@EXEEXT@ /* Don't lose if this was not defined. */ @@ -1212,9 +1212,9 @@ ${emacsapp}Contents/Resources/Emacs.rsrc -${emacsapp}Contents/MacOS/Emacs: emacs +${emacsapp}Contents/MacOS/Emacs: emacs@EXEEXT@ if [ -d ${emacsapp}Contents/MacOS/ ]; then true; else \ mkdir ${emacsapp}Contents/MacOS/; \ fi - cd ${emacsapp}Contents/MacOS/; cp ../../../../src/emacs Emacs + cd ${emacsapp}Contents/MacOS/; cp ../../../../src/emacs@EXEEXT@ Emacs@EXEEXT@ ${emacsapp}Contents/Resources/Emacs.rsrc: ../mac/src/Emacs.r @@ -1225,14 +1225,14 @@ #endif -${libsrc}emacstool: ${libsrc}emacstool.c - cd ${libsrc}; ${MAKE} ${MFLAGS} emacstool +${libsrc}emacstool@EXEEXT@: ${libsrc}emacstool.c + cd ${libsrc}; ${MAKE} ${MFLAGS} emacstool@EXEEXT@ bootstrapclean: - rm -f bootstrap-emacs + rm -f bootstrap-emacs@EXEEXT@ mostlyclean: - rm -f temacs prefix-args core *.core \#* *.o libXMenu11.a liblw.a + rm -f temacs@EXEEXT@ prefix-args@EXEEXT@ core *.core \#* *.o libXMenu11.a liblw.a rm -f ../etc/DOC - rm -f bootstrap-emacs + rm -f bootstrap-emacs@EXEEXT@ clean: mostlyclean - rm -f emacs-* emacs + rm -f emacs-*@EXEEXT@ emacs@EXEEXT@ /**/# This is used in making a distribution. /**/# Do not use it on development directories! @@ -1247,5 +1247,5 @@ rm -f TAGS versionclean: - -rm -f emacs emacs-* ../etc/DOC* + -rm -f emacs@EXEEXT@ emacs-*@EXEEXT@ ../etc/DOC* extraclean: distclean -rm -f *~ \#* m/?*~ s/?*~ @@ -1269,13 +1269,13 @@ TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) - ../lib-src/etags --include=TAGS-LISP --include=${lwlibdir}/TAGS \ + ../lib-src/etags@EXEEXT@ --include=TAGS-LISP --include=${lwlibdir}/TAGS \ --regex='/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) frc: TAGS-LISP: frc - $(MAKE) -f ${lispdir}Makefile TAGS-LISP ETAGS=../lib-src/etags + $(MAKE) -f ${lispdir}Makefile TAGS-LISP ETAGS=../lib-src/etags@EXEEXT@ $(lwlibdir)TAGS: - (cd $(lwlibdir); $(MAKE) -f $(lwlibdir)Makefile tags ETAGS=../lib-src/etags) + (cd $(lwlibdir); $(MAKE) -f $(lwlibdir)Makefile tags ETAGS=../lib-src/etags@EXEEXT@) tags: TAGS TAGS-LISP $(lwlibdir)TAGS @@ -1285,19 +1285,19 @@ /* Bootstrapping. */ -bootstrap: bootstrap-emacs +bootstrap: bootstrap-emacs@EXEEXT@ /* Dump an Emacs executable named bootstrap-emacs containing the files from loadup.el in source form. */ -bootstrap-emacs: temacs +bootstrap-emacs@EXEEXT@: temacs@EXEEXT@ #ifdef CANNOT_DUMP - ln temacs bootstrap-emacs + ln temacs@EXEEXT@ bootstrap-emacs@EXEEXT@ #else #ifdef HAVE_SHM - ./temacs -nl -batch -l loadup bootstrap + ./temacs@EXEEXT@ -nl -batch -l loadup bootstrap #else /* ! defined (HAVE_SHM) */ - ./temacs --batch --load loadup bootstrap + ./temacs@EXEEXT@ --batch --load loadup bootstrap #endif /* ! defined (HAVE_SHM) */ + mv -f emacs@EXEEXT@ bootstrap-emacs@EXEEXT@ #endif /* ! defined (CANNOT_DUMP) */ - mv -f emacs bootstrap-emacs Index: src/fileio.c =================================================================== RCS file: /cvs/emacs/src/fileio.c,v retrieving revision 1.468 diff -u -2 -b -r1.468 fileio.c --- src/fileio.c 17 Dec 2002 11:39:59 -0000 1.468 +++ src/fileio.c 18 Dec 2002 16:27:18 -0000 @@ -2053,11 +2053,11 @@ { if ((p[0] == '~' -#if defined (APOLLO) || defined (WINDOWSNT) - /* // at start of file name is meaningful in Apollo and - WindowsNT systems. */ +#if defined (APOLLO) || defined (WINDOWSNT) || defined(CYGWIN) + /* // at start of file name is meaningful in Apollo, + WindowsNT and Cygwin systems. */ || (IS_DIRECTORY_SEP (p[0]) && p - 1 != nm) -#else /* not (APOLLO || WINDOWSNT) */ +#else /* not (APOLLO || WINDOWSNT || CYGWIN) */ || IS_DIRECTORY_SEP (p[0]) -#endif /* not (APOLLO || WINDOWSNT) */ +#endif /* not (APOLLO || WINDOWSNT || CYGWIN) */ ) && p != nm @@ -2231,9 +2231,9 @@ for (p = xnm; p != x; p++) if ((p[0] == '~' -#if defined (APOLLO) || defined (WINDOWSNT) +#if defined (APOLLO) || defined (WINDOWSNT) || defined(CYGWIN) || (IS_DIRECTORY_SEP (p[0]) && p - 1 != xnm) -#else /* not (APOLLO || WINDOWSNT) */ +#else /* not (APOLLO || WINDOWSNT || CYGWIN) */ || IS_DIRECTORY_SEP (p[0]) -#endif /* not (APOLLO || WINDOWSNT) */ +#endif /* not (APOLLO || WINDOWSNT || CYGWIN) */ ) && p != xnm && IS_DIRECTORY_SEP (p[-1])) Index: src/keyboard.c =================================================================== RCS file: /cvs/emacs/src/keyboard.c,v retrieving revision 1.716 diff -u -2 -b -r1.716 keyboard.c --- src/keyboard.c 22 Nov 2002 12:23:13 -0000 1.716 +++ src/keyboard.c 18 Dec 2002 16:27:19 -0000 @@ -6493,5 +6493,5 @@ n_to_read = sizeof cbuf; #else /* no FIONREAD */ -#if defined (USG) || defined (DGUX) +#if defined (USG) || defined (DGUX) || defined(CYGWIN) /* Read some input if available, but don't wait. */ n_to_read = sizeof cbuf; @@ -6550,7 +6550,7 @@ #ifndef FIONREAD -#if defined (USG) || defined (DGUX) +#if defined (USG) || defined (DGUX) || defined (CYGWIN) fcntl (input_fd, F_SETFL, 0); -#endif /* USG or DGUX */ +#endif /* USG or DGUX or CYGWIN */ #endif /* no FIONREAD */ for (i = 0; i < nread; i++) Index: src/mem-limits.h =================================================================== RCS file: /cvs/emacs/src/mem-limits.h,v retrieving revision 1.31 diff -u -2 -b -r1.31 mem-limits.h --- src/mem-limits.h 19 Aug 2002 17:45:50 -0000 1.31 +++ src/mem-limits.h 18 Dec 2002 16:27:20 -0000 @@ -47,4 +47,8 @@ #endif +#ifdef CYGWIN +#define BSD4_2 +#endif + #ifndef BSD4_2 #ifndef USG