Fwd: xemacs winclient improvements
14 years, 1 month
Reini Urban
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 = 0; n < 5; n++)
+ /* Try to connect. Process startup and XEmacs init might be slow */
+ for (n = 0; n < 10; n++)
{
Sleep (CONNECT_DELAY);
@@ -408,6 +408,12 @@
/* Retrieve arguments */
while ((arg = getNextArg ((const char**)&lpszCommandLine, &len)) != NULL)
{
+#ifdef __CYGWIN__
+ /* On cygwin args are already space delimited so pass these args
+ verbatim to XEmacs */
+ fullpath = (char *) xmalloc (len);
+ ret = doFile (hConv, fullpath, arg);
+#else
/* First find the canonical path name */
fullpath = filepart = NULL;
pathlen = 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 +0200
@@ -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(a)x-ray.at>
Date: 2009/6/24
Subject: xemacs winclient improvements
To: The Cygwin Mailing List <cygwin(a)cygwin.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:
Compiling in support for extra debugging code.
Compiling in support for runtime error checking.
WARNING: ---------------------------------------------------------
WARNING: XEmacs will run noticeably more slowly as a result.
WARNING: Error checking is on by default for XEmacs beta releases.
WARNING: ---------------------------------------------------------
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,
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/ http://murbreak.at/
--
Reini Urban
http://phpwiki.org/ http://murbreak.at/
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta