Corinna Vinschen wrote: > Big big big sigh. > > And a big sorry for the hassle. > > My only excuse is that I'm currently distracted by another project at my > company. > > It turns out that all three attempts, starting with my NUL: patch, over > your previous one, up to this one work fine in all cases under W7.
I'm not disappointed at all. That's great news. > XWin works, xterm works, gvim works, urxvt works (and doesn't take 100% > CPU). Starting emacs with `run emacs-X11' works. > > run bash -c -l emacs --display=127.0.0.1:0.0 > run bash -c -l "emacs --display=127.0.0.1:0.0" No problem. As soon as I reach perfection, I'll start to criticize you for making mistakes, I promise. > `run startemacs.bat' also works fine. It didn't work for me because I > took the file content as is, without realizing that the Cygwin root dir > was set to C:\cygwin-1.7 in the script, while it's C:\cygwin on my > machine. Urgh. Yeah, I keep getting the same problem with startxwin.bat. I tend to copy it into /usr/local/bin and edit that one, so that updates to the xinit package don't break my setup. But... REM SET CYGWIN_ROOT=C:\cygwin if defined CYGWIN_ROOT goto :OK set CYGWIN_ROOT=%~dp0\.. :OK doesn't work unless the batch file is in %CYGWIN_ROOT%\bin (and there are obvious reasons why cygpath can't yet be used). So, every time I set up a new machine for X, I forget to change that in the /usr/local/bin/ copy. > Again, sorry for the confusion. :( No problem. I'm going to commit my latest attempt, with some small cleanups and one substantive change, and release 1.1.12 (rather than one of the earlier working attempts). Mainly because I like the idea of doing less work: if $target is GUI, then do nothing special; just launch $target. Else, if you already have a console, don't needlessly free it and allocate another. Else (since you have no alternative) muck around with explicitly creating and hiding a console, using various techniques depending upon the OS. The one substantive change is this: if (bUseMessageOnlyWorkaround) { if (!bHaveConsole) { AllocConsole (); bHaveConsole = TRUE; + SetParent ((*GetConsoleWindowFP) (), HWND_MESSAGE); } - SetParent ((*GetConsoleWindowFP) (), HWND_MESSAGE); } else if (!bHaveConsole) because I don't think we want W7 to hide an active cmd prompt, in which you happened to type "run foo". Thanks to everybody who has been diligently testing all these attempts. -- Chuck -- 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