On 07/08/2007 15:03, Mike Williams wrote:
> On 07/08/2007 14:41, Tony Mechelynck wrote:
>> Mike Williams wrote:
>>> On 07/08/2007 13:39, Tony Mechelynck wrote:
>>>> Mike Williams wrote:
>>>>> On 07/08/2007 10:35, Tony Mechelynck wrote:
>>>>>> Mike Williams wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> For a while now when I start gvim, the command prompt window that also 
>>>>>>> gets created is left active.  That is, it appears as a window I can 
>>>>>>> cycle through, and if I close it, it takes out gvim with it.  This 
>>>>>>> doesn't happen all the time but it is not rare.
>>>>>>>
>>>>>>> This is with 7.1.46 built with VC8.  I have a custom makefile (the one 
>>>>>>> that knocked around the dev lists prior to 7.1 but never got rolled 
>>>>>>> into 
>>>>>>> the sources) but I have seen the same with the stock makefile.
>>>>>>>
>>>>>>> I am happy to try and debug this but any inisghts, or at least pointers 
>>>>>>> to what code to look at that should be killing the command prompt 
>>>>>>> window 
>>>>>>> would be appreciated.
>>>>>>>
>>>>>>> TTFN
>>>>>>>
>>>>>>> Mike
>>>>>> How do you start gvim?
>>>>>>
>>>>>> If you start gvim.exe by launching the binary directly from Start => 
>>>>>> Execute 
>>>>>> or from a desktop icon, there should be no command prompt window.
>>>>>>
>>>>>> If you start gvim.exe by typing its name at the command prompt, it 
>>>>>> should 
>>>>>> detach itself from the command window and leave it free to do other 
>>>>>> tasks (the 
>>>>>> prompt should revert). When I was on Windows, I left cmd.exe open from 
>>>>>> bootup 
>>>>>> to shutdown, so I don't know what would happen to child processes if 
>>>>>> that 
>>>>>> window were closed.
>>>>>>
>>>>>> If you use a gvim.bat wrapper script, what happens could depend of 
>>>>>> whether the 
>>>>>> script launches gvim.exe directly or via a "start" command (and in the 
>>>>>> latter 
>>>>>> case, with which arguments to "start").
>>>>> I start gvim from an existing command prompt, and as you say I can 
>>>>> happily continue doing command prompty things there.  I am seeing an 
>>>>> additional command prompt window open when gvim starts, which normally 
>>>>> disappears but occasionally stays around.
>>>>>
>>>>> Mike
>>>> Do you start gvim.exe or some gvim.bat? What is the first "gvim" in your 
>>>> PATH? 
>>>> Or else, does your vimrc (or your gvimrc, if any) invoke an external 
>>>> command?
>>> gvim.exe.  No external commands invoked, the kicker being if I quit the 
>>> rogue command prompt it takes out gvim with it, no option to save 
>>> modified buffers, no clear up of swap files.
>>>
>>> If it happened all the time it would be easier to debug but it looks 
>>> like a timing thing.  Along the lines of managing to get the cursor to 
>>> keep flashing when the gvim window no longer has the focus (fun, but not 
>>> worth a bug report).
>>>
>>> TTFN
>>>
>>> Mike
>> Try
>>
>>      gvim.exe -N -u NONE
>>
>> _with_ the .exe extension explicitly specified on the command-line. Can you 
>> make that rogue window appear? Yes? No? Sometimes? When?
> 
> Okay, started to get a handle on it all.  Its to do with cscope it 
> seems.  If I start gvim in a dir without a cscope db, no rogue window. 
> Start in a dir with one (~37MB in size) then it appears.
> 
> Thanks for the ideas - I'll investigate the cscope code to see what it 
> is doing.

And found it.  In cs_create_connection() in if_cscope.c there is Windows 
code that creates a new console, waits 40ms for the console to appear, 
before hiding it.  Except under load it may take more than 40 ms, so VIM 
fails to find and hide the console so it remains lying around.  Since it 
is already a nasty hack (as commented) it may be ok to hack it to try up 
to 5 times sleeping 40ms in order to find the window.  I'll have a play 
tonight.

TTFN

Mike
-- 
Young men think old men fools and old men know young men to be so.

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui