Mail Archives: cygwin/2009/06/24/05:12:12
Hi
I'm back in business :)
I switched from native Win32 to cygwin because of the non-matching
Win32 permissions.
Cygwin ACL's are sometimes fucked up by inheritance.
So I have several improvements.
Patches inlined because gmail uploader fails on my proxy
diff -u xemacs-21.5.28/lib-src/winclient.c.orig
xemacs-21.5.28/lib-src/winclient.c
--- xemacs-21.5.28/lib-src/winclient.c.orig 2009-06-24 09:30:22.234375000 +=
0200
+++ xemacs-21.5.28/lib-src/winclient.c 2009-06-24 10:59:52.437500000 +0200
@@ -209,8 +209,8 @@
CloseHandle (pi.hThread);
CloseHandle (pi.hProcess);
- /* Try to connect */
- for (n =3D 0; n < 5; n++)
+ /* Try to connect. Process startup and XEmacs init might be slow */
+ for (n =3D 0; n < 10; n++)
{
Sleep (CONNECT_DELAY);
=20=09
@@ -408,6 +408,12 @@
/* Retrieve arguments */
while ((arg =3D getNextArg ((const char**)&lpszCommandLine, &len)) !=3D =
NULL)
{
+#ifdef __CYGWIN__
+ /* On cygwin args are already space delimited so pass these args
+ verbatim to XEmacs */
+ fullpath =3D (char *) xmalloc (len);
+ ret =3D doFile (hConv, fullpath, arg);
+#else
/* First find the canonical path name */
fullpath =3D filepart =3D NULL;
pathlen =3D GetFullPathName (arg, 0, fullpath, &filepart);
@@ -451,7 +457,7 @@
FindClose (hFindFile);
}
-
+#endif
/* Release the path name buffers */
free (fullpath);
free (arg);
diff -u xemacs-21.5.28/lib-src/Makefile.in.in.orig
xemacs-21.5.28/lib-src/Makefile.in.in
--- xemacs-21.5.28/lib-src/Makefile.in.in.orig 2007-05-21
05:50:19.000000000 +0200
+++ xemacs-21.5.28/lib-src/Makefile.in.in 2009-06-24 09:40:30.250000000 +02=
00
@@ -375,7 +375,7 @@
$(CC) $(cflags) ${srcdir}/../nt/minitar.c $(ldflags) -lz -o $@
winclient: ${srcdir}/winclient.c
- $(CC) $(cflags) ${srcdir}/winclient.c $(ldflags) -o $@
+ $(CC) $(cflags) -mwindows ${srcdir}/winclient.c $(ldflags) -o $@
hexl: ${srcdir}/hexl.c
$(CC) $(cflags) ${srcdir}/hexl.c $(ldflags) -o $@
---------- Forwarded message ----------
From: Reini Urban <rurban AT x-ray DOT at>
Date: 2009/6/24
Subject: xemacs winclient improvements
To: The Cygwin Mailing List <cygwin AT cygwin DOT com>
Several xemacs ideas:
* I added -mwindows to the winclient linker step which results in a
much improved winclient.
I'll take this patch to xemacs-patches by myself.
* parseCommandLine() does not work on cygwin this way.
It uses the Win32 API to find files, and should be special cased to
use the POSIX API.
I'll discuss this at xemacs-beta
* xemacs-21.5.28-3 uses slow defaults:
=A0Compiling in support for extra debugging code.
=A0Compiling in support for runtime error checking.
=A0WARNING: ---------------------------------------------------------
=A0WARNING: XEmacs will run noticeably more slowly as a result.
=A0WARNING: Error checking is on by default for XEmacs beta releases.
=A0WARNING: ---------------------------------------------------------
hmm. 21.5.28 is stable for me and upstream. maybe remove this.
* build failure on 1.7:
In file included from
/usr/src/xemacs-21.5.28-3/src/xemacs-21.5.28/src/console-msw.h:41,
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 from
/usr/src/xemacs-21.5.28-3/src/xemacs-21.5.28/src/cmdloop.c:43:
/usr/src/xemacs-21.5.28-3/src/xemacs-21.5.28/src/syswindows.h:500:
error: conflicting types for 'wcstok'
/usr/include/wchar.h:92: error: previous declaration of 'wcstok' was here
make[1]: *** [cmdloop.o] Error 1
This needs a patch upstream. Maybe I'll take it upstream.
--
Reini Urban
http://phpwiki.org/ =A0 =A0 =A0 =A0 =A0 =A0 =A0http://murbreak.at/
--=20
Reini Urban
http://phpwiki.org/ http://murbreak.at/
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -