This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [ANNOUNCEMENT] Updated: run-1.1.11-1


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]