X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org MIME-Version: 1.0 In-Reply-To: <6910a60906240155t3cc52a5t4ca129ddb837643e@mail.gmail.com> References: <6910a60906240155t3cc52a5t4ca129ddb837643e AT mail DOT gmail DOT com> Date: Wed, 24 Jun 2009 11:11:55 +0200 Message-ID: <6910a60906240211g68d3a7a3p669830f5f5ad59db@mail.gmail.com> Subject: Fwd: xemacs winclient improvements From: Reini Urban To: xemacs-beta AT xemacs DOT org Cc: The Cygwin Mailing List Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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 Date: 2009/6/24 Subject: xemacs winclient improvements To: The Cygwin Mailing List 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