Re: exists() result sometimes misleading for a command

2016-09-17 Fir de Conversatie Tony Mechelynck
Ah, I see.

Under GTK3 I can't anymore tearoff the menus, even manually.

Best regards,
Tony.

On Sun, Sep 18, 2016 at 2:13 AM, James McCoy  wrote:
> On Sun, Sep 18, 2016 at 01:25:53AM +0200, Tony Mechelynck wrote:
>> A few weeks ago, when I was still building with GTK2 (not GTK3) GUI,
>> it had proper tearoff menus, or at least submenus.
>
> You can manually tear off the menus, but trying to use the command
> ":tearoff", even with names of menus that are tab completed, results in
> "E319: Sorry, the command is not available in this version".
>
> Cheers,
> --
> James
> GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7  2D23 DFE6 91AE 331B A3DB
>
> --
> --
> You received this message from the "vim_dev" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php
>
> ---
> You received this message because you are subscribed to the Google Groups 
> "vim_dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to vim_dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: exists() result sometimes misleading for a command

2016-09-17 Fir de Conversatie James McCoy
On Sun, Sep 18, 2016 at 01:25:53AM +0200, Tony Mechelynck wrote:
> A few weeks ago, when I was still building with GTK2 (not GTK3) GUI,
> it had proper tearoff menus, or at least submenus.

You can manually tear off the menus, but trying to use the command
":tearoff", even with names of menus that are tab completed, results in
"E319: Sorry, the command is not available in this version".

Cheers,
-- 
James
GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7  2D23 DFE6 91AE 331B A3DB

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: exists() result sometimes misleading for a command

2016-09-17 Fir de Conversatie Tony Mechelynck
On Fri, Sep 16, 2016 at 11:02 AM, Kazunobu Kuriyama
 wrote:
> 2016-09-15 16:45 GMT+09:00 Kazunobu Kuriyama :
>>
>> 2016-09-15 7:41 GMT+09:00 Tony Mechelynck :
>>>
>>> exists() result is sometimes misleading for a command.
>>>
>>> Example (with GTK3 gvim linked with GTK 3.16.7):
>>> :echo exists(':tearoff')
>>> 2
>>> :tearoff 
>>> E319: Sorry, the command is not available in this version
>>>
>>> So for example the following code in my vimrc would produce the exact
>>> error which it is meant to avoid:
>>>
>>> au GUIEnter * if exists(':tearoff') == 2 | exe 'tearoff ' |
>>> endif
>>>
>>> If the :tearoff command is disabled in GTK3 gvim, then IMHO
>>> exists(':tearoff') ought to return 0, not 2.
>>
>>
>> I looked into that a bit and found that it was not specific to GTK3.
>>
>> The same thing happens with the latest GTK2 GUI and that of 7.4.1401, the
>> one just prior to the GTK3 patch inclusion.
>>
>> I tried to do a bisect search to find which patch introduced that
>> regression, but failed due to a header file relocation on OS X as of 10.9,
>> Mavericks.  I was unable to build vim older than 7.4.62.  Nonetheless, I
>> confirm that the same regression was also seen with that version.
>>
>> Looks it has been there unnoticed for a long time.
>>
>> As for GTK3, if the GUI is linked against GTK+ 3.4 or later, tear-off
>> menus are disabled, as written in 'h: tear-off-menus'.
>>
>> So, fixing the issue is quite easy for GTK >= 3.4; it can be fixed using a
>> version check.  But I'm not sure what I can do for the rest for now.
>
>
> For the purpose of fixing the issue, I began woking with git to know when
> and how `:tearoff` was disabled for the GTK GUI.
>
> After having skimmed relevant part of the codebase, I did `git blame
> ex_docmds.c` and got:
>
> 071d4279d (Bram Moolenaar 2004-06-13 20:20:40 +   225) #if
> defined(FEAT_GUI_W32) &&
> defined(FEAT_MENU) && defined(FEAT_TEAROFF)
> f28dbcea3 (Bram Moolenaar 2016-01-29 22:03:47 +0100   226) static void
> ex_tearoff(exarg_T *eap);
> 071d4279d (Bram Moolenaar 2004-06-13 20:20:40 +   227) #else
> 071d4279d (Bram Moolenaar 2004-06-13 20:20:40 +   228) # define
> ex_tearoff  ex_ni
> 071d4279d (Bram Moolenaar 2004-06-13 20:20:40 +   229) #endif
>
> Hmm, looks none of us has seen the command working correctly on a newly
> built gvim for the last twelve years...
>
> WTF!!  The same surely applies to the Motif GUI, too! (lol)
>
> I'm now feeling as if my all strength were gone, indeed (笑)
>
> Seriously, what should we do with the issue?   Should we restore the command
> for the first time in twelve years?  Personally, abolishing it even for GTK
> < 3.4 once for all appears to be now a reasonable, wise choice.
>
> Best,
> Kazunobu

A few weeks ago, when I was still building with GTK2 (not GTK3) GUI,
it had proper tearoff menus, or at least submenus.

Best regards,
Tony.

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: exists() result sometimes misleading for a command

2016-09-16 Fir de Conversatie Kazunobu Kuriyama
2016-09-15 16:45 GMT+09:00 Kazunobu Kuriyama :

> 2016-09-15 7:41 GMT+09:00 Tony Mechelynck :
>
>> exists() result is sometimes misleading for a command.
>>
>> Example (with GTK3 gvim linked with GTK 3.16.7):
>> :echo exists(':tearoff')
>> 2
>> :tearoff 
>> E319: Sorry, the command is not available in this version
>>
>> So for example the following code in my vimrc would produce the exact
>> error which it is meant to avoid:
>>
>> au GUIEnter * if exists(':tearoff') == 2 | exe 'tearoff ' | endif
>>
>> If the :tearoff command is disabled in GTK3 gvim, then IMHO
>> exists(':tearoff') ought to return 0, not 2.
>>
>
> I looked into that a bit and found that it was not specific to GTK3.
>
> The same thing happens with the latest GTK2 GUI and that of 7.4.1401, the
> one just prior to the GTK3 patch inclusion.
>
> I tried to do a bisect search to find which patch introduced that
> regression, but failed due to a header file relocation on OS X as of 10.9,
> Mavericks.  I was unable to build vim older than 7.4.62.  Nonetheless, I
> confirm that the same regression was also seen with that version.
>
> Looks it has been there unnoticed for a long time.
>
> As for GTK3, if the GUI is linked against GTK+ 3.4 or later, tear-off
> menus are disabled, as written in 'h: tear-off-menus'.
>
> So, fixing the issue is quite easy for GTK >= 3.4; it can be fixed using a
> version check.  But I'm not sure what I can do for the rest for now.
>

For the purpose of fixing the issue, I began woking with git to know when
and how `:tearoff` was disabled for the GTK GUI.

After having skimmed relevant part of the codebase, I did `git blame
ex_docmds.c` and got:

071d4279d (Bram Moolenaar 2004-06-13 20:20:40 +   225) #if
defined(FEAT_GUI_W32) &&
defined(FEAT_MENU) && defined(FEAT_TEAROFF)
f28dbcea3 (Bram Moolenaar 2016-01-29 22:03:47 +0100   226) static void
 ex_tearoff(exarg_T *eap);
071d4279d (Bram Moolenaar 2004-06-13 20:20:40 +   227) #else
071d4279d (Bram Moolenaar 2004-06-13 20:20:40 +   228) # define
ex_tearoff  ex_ni
071d4279d (Bram Moolenaar 2004-06-13 20:20:40 +   229) #endif

Hmm, looks none of us has seen the command working correctly on a newly
built gvim for the last twelve years...

WTF!!  The same surely applies to the Motif GUI, too! (lol)

I'm now feeling as if my all strength were gone, indeed (笑)

Seriously, what should we do with the issue?   Should we restore the
command for the first time in twelve years?  Personally, abolishing it even
for GTK < 3.4 once for all appears to be now a reasonable, wise choice.

Best,
Kazunobu


>
> Best regards,
> Kazunobu
>
>
>>
>>
>> Best regards,
>> Tony.
>>
>> --
>> --
>> You received this message from the "vim_dev" maillist.
>> Do not top-post! Type your reply below the text you are replying to.
>> For more information, visit http://www.vim.org/maillist.php
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "vim_dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to vim_dev+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: exists() result sometimes misleading for a command

2016-09-15 Fir de Conversatie Bram Moolenaar

Tony Mechelynck wrote:

> exists() result is sometimes misleading for a command.
> 
> Example (with GTK3 gvim linked with GTK 3.16.7):
> :echo exists(':tearoff')
> 2
> :tearoff 
> E319: Sorry, the command is not available in this version
> 
> So for example the following code in my vimrc would produce the exact
> error which it is meant to avoid:
> 
> au GUIEnter * if exists(':tearoff') == 2 | exe 'tearoff ' | endif
> 
> If the :tearoff command is disabled in GTK3 gvim, then IMHO
> exists(':tearoff') ought to return 0, not 2.

exists() only checks if the command name is correct.  It does not check
whether the command is supported.

Can't change the return value now.  We could add exists("::tearoff") or
something like that.  It's going to be some work to implement that.

-- 
Error:015 - Unable to exit Windows.  Try the door.

 /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net   \\\
///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org///
 \\\help me help AIDS victims -- http://ICCF-Holland.org///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: exists() result sometimes misleading for a command

2016-09-15 Fir de Conversatie Tony Mechelynck
On Thu, Sep 15, 2016 at 11:22 AM, Kazunobu Kuriyama
 wrote:
> 2016-09-15 17:46 GMT+09:00 Tony Mechelynck :
>>
>> On Thu, Sep 15, 2016 at 9:45 AM, Kazunobu Kuriyama
>>  wrote:
>> > 2016-09-15 7:41 GMT+09:00 Tony Mechelynck
>> > :
>> >>
>> >> exists() result is sometimes misleading for a command.
>> >>
>> >> Example (with GTK3 gvim linked with GTK 3.16.7):
>> >> :echo exists(':tearoff')
>> >> 2
>> >> :tearoff 
>> >> E319: Sorry, the command is not available in this version
>> >>
>> >> So for example the following code in my vimrc would produce the exact
>> >> error which it is meant to avoid:
>> >>
>> >> au GUIEnter * if exists(':tearoff') == 2 | exe 'tearoff ' |
>> >> endif
>> >>
>> >> If the :tearoff command is disabled in GTK3 gvim, then IMHO
>> >> exists(':tearoff') ought to return 0, not 2.
>> >
>> >
>> > I looked into that a bit and found that it was not specific to GTK3.
>> >
>> > The same thing happens with the latest GTK2 GUI and that of 7.4.1401,
>> > the
>> > one just prior to the GTK3 patch inclusion.
>> >
>> > I tried to do a bisect search to find which patch introduced that
>> > regression, but failed due to a header file relocation on OS X as of
>> > 10.9,
>> > Mavericks.  I was unable to build vim older than 7.4.62.  Nonetheless, I
>> > confirm that the same regression was also seen with that version.
>> >
>> > Looks it has been there unnoticed for a long time.
>> >
>> > As for GTK3, if the GUI is linked against GTK+ 3.4 or later, tear-off
>> > menus
>> > are disabled, as written in 'h: tear-off-menus'.
>> >
>> > So, fixing the issue is quite easy for GTK >= 3.4; it can be fixed using
>> > a
>> > version check.  But I'm not sure what I can do for the rest for now.
>>
>> A version check? And, in a script (a plugin maybe) written to run on
>> any version of Vim on any OS, how do I check the GTK version?
>> has('gui_gtk3') will say if I am on GTK3 or not, but GTK 3.2 or GTK
>> 3.16? How can this script determine it in some simple manner? In
>> either case I might be on any Vim version supporting GTK3 so testing
>> v:version wouldn't help.
>
>
> I meant by 'a version check' a preprocessor directive which... probably...is
> added to ex_cmds.h to  disable ';:tearoff' in order to suppress the false
> error message for GTK >= 3.4.  I was talking about what I could do for
> fixing the issue.  Not that imposing anything on anyone.

Ah, sorry. I thought you meant keep Vim (temporarily) as-is and do
some check in my scripts. I suppose that checking the GTK version in
configure is possible and that some #ifdef or similar could be
contrived so that exists(':tearoff') should retun zero if and only if
trying to use :tearoff would trigger an E319 exception.

Maybe this might work as an interim measure (catch the error a
posteriori instead of a priori):

if has('autocmd')
  au GUIEnter *
\ try
  \ | exe 'tearoff '
\ | catch /^Vim\%((\a\+)\)\=:E319/
\ | endtry
endif

>
>>
>> If exists() worked like I feel it ought to, I could simply check
>> exists(':tearoff'), then if zero the command is not available and if
>> == 2 it is, which is what I understand from ":help exists()" that it
>> ought to do. But in the case considered, exists(':tearoff') is 2, and
>> yet the :tearoff command is not present. I call that a bug. How can I
>> now trust _any_ test for :if exists(':excommandname') == 2 | etc. for
>> any :excommandname? If it returns false, OK, the command is not there;
>> but if it returns true, maybe the command is not there anyway!
>
>
> As I explained, the bug appears to be a long outstanding non-trivial one,
> and the VCSs we've used seemingly don't help me much to identify which patch
> introduced the regression.  I spent not a few time for your report already,
> and was thinking of how to find my spare time for investigating huge old
> commit logs and mail archives.

Mmm...

>
> Best regards,
> Kazunobu
>
>>
>> Best regards,
>> Tony.
>>
>> >
>> > Best regards,
>> > Kazunobu
>> >
>> >>
>> >>
>> >>
>> >> Best regards,
>> >> Tony.
>> >>

Best regards,
Tony.

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: exists() result sometimes misleading for a command

2016-09-15 Fir de Conversatie Kazunobu Kuriyama
2016-09-15 17:46 GMT+09:00 Tony Mechelynck :

> On Thu, Sep 15, 2016 at 9:45 AM, Kazunobu Kuriyama
>  wrote:
> > 2016-09-15 7:41 GMT+09:00 Tony Mechelynck 
> :
> >>
> >> exists() result is sometimes misleading for a command.
> >>
> >> Example (with GTK3 gvim linked with GTK 3.16.7):
> >> :echo exists(':tearoff')
> >> 2
> >> :tearoff 
> >> E319: Sorry, the command is not available in this version
> >>
> >> So for example the following code in my vimrc would produce the exact
> >> error which it is meant to avoid:
> >>
> >> au GUIEnter * if exists(':tearoff') == 2 | exe 'tearoff ' |
> endif
> >>
> >> If the :tearoff command is disabled in GTK3 gvim, then IMHO
> >> exists(':tearoff') ought to return 0, not 2.
> >
> >
> > I looked into that a bit and found that it was not specific to GTK3.
> >
> > The same thing happens with the latest GTK2 GUI and that of 7.4.1401, the
> > one just prior to the GTK3 patch inclusion.
> >
> > I tried to do a bisect search to find which patch introduced that
> > regression, but failed due to a header file relocation on OS X as of
> 10.9,
> > Mavericks.  I was unable to build vim older than 7.4.62.  Nonetheless, I
> > confirm that the same regression was also seen with that version.
> >
> > Looks it has been there unnoticed for a long time.
> >
> > As for GTK3, if the GUI is linked against GTK+ 3.4 or later, tear-off
> menus
> > are disabled, as written in 'h: tear-off-menus'.
> >
> > So, fixing the issue is quite easy for GTK >= 3.4; it can be fixed using
> a
> > version check.  But I'm not sure what I can do for the rest for now.
>
> A version check? And, in a script (a plugin maybe) written to run on
> any version of Vim on any OS, how do I check the GTK version?
> has('gui_gtk3') will say if I am on GTK3 or not, but GTK 3.2 or GTK
> 3.16? How can this script determine it in some simple manner? In
> either case I might be on any Vim version supporting GTK3 so testing
> v:version wouldn't help.
>

I meant by 'a version check' a preprocessor directive which...
probably...is added to ex_cmds.h to  disable ';:tearoff' in order to
suppress the false error message for GTK >= 3.4.  I was talking about what
I could do for fixing the issue.  Not that imposing anything on anyone.


> If exists() worked like I feel it ought to, I could simply check
> exists(':tearoff'), then if zero the command is not available and if
> == 2 it is, which is what I understand from ":help exists()" that it
> ought to do. But in the case considered, exists(':tearoff') is 2, and
> yet the :tearoff command is not present. I call that a bug. How can I
> now trust _any_ test for :if exists(':excommandname') == 2 | etc. for
> any :excommandname? If it returns false, OK, the command is not there;
> but if it returns true, maybe the command is not there anyway!
>

As I explained, the bug appears to be a long outstanding non-trivial one,
and the VCSs we've used seemingly don't help me much to identify which
patch introduced the regression.  I spent not a few time for your report
already, and was thinking of how to find my spare time for investigating
huge old commit logs and mail archives.

Best regards,
Kazunobu


> Best regards,
> Tony.
>
> >
> > Best regards,
> > Kazunobu
> >
> >>
> >>
> >>
> >> Best regards,
> >> Tony.
> >>
>
> --
> --
> You received this message from the "vim_dev" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php
>
> ---
> You received this message because you are subscribed to the Google Groups
> "vim_dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to vim_dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: exists() result sometimes misleading for a command

2016-09-15 Fir de Conversatie Tony Mechelynck
On Thu, Sep 15, 2016 at 9:45 AM, Kazunobu Kuriyama
 wrote:
> 2016-09-15 7:41 GMT+09:00 Tony Mechelynck :
>>
>> exists() result is sometimes misleading for a command.
>>
>> Example (with GTK3 gvim linked with GTK 3.16.7):
>> :echo exists(':tearoff')
>> 2
>> :tearoff 
>> E319: Sorry, the command is not available in this version
>>
>> So for example the following code in my vimrc would produce the exact
>> error which it is meant to avoid:
>>
>> au GUIEnter * if exists(':tearoff') == 2 | exe 'tearoff ' | endif
>>
>> If the :tearoff command is disabled in GTK3 gvim, then IMHO
>> exists(':tearoff') ought to return 0, not 2.
>
>
> I looked into that a bit and found that it was not specific to GTK3.
>
> The same thing happens with the latest GTK2 GUI and that of 7.4.1401, the
> one just prior to the GTK3 patch inclusion.
>
> I tried to do a bisect search to find which patch introduced that
> regression, but failed due to a header file relocation on OS X as of 10.9,
> Mavericks.  I was unable to build vim older than 7.4.62.  Nonetheless, I
> confirm that the same regression was also seen with that version.
>
> Looks it has been there unnoticed for a long time.
>
> As for GTK3, if the GUI is linked against GTK+ 3.4 or later, tear-off menus
> are disabled, as written in 'h: tear-off-menus'.
>
> So, fixing the issue is quite easy for GTK >= 3.4; it can be fixed using a
> version check.  But I'm not sure what I can do for the rest for now.

A version check? And, in a script (a plugin maybe) written to run on
any version of Vim on any OS, how do I check the GTK version?
has('gui_gtk3') will say if I am on GTK3 or not, but GTK 3.2 or GTK
3.16? How can this script determine it in some simple manner? In
either case I might be on any Vim version supporting GTK3 so testing
v:version wouldn't help.

If exists() worked like I feel it ought to, I could simply check
exists(':tearoff'), then if zero the command is not available and if
== 2 it is, which is what I understand from ":help exists()" that it
ought to do. But in the case considered, exists(':tearoff') is 2, and
yet the :tearoff command is not present. I call that a bug. How can I
now trust _any_ test for :if exists(':excommandname') == 2 | etc. for
any :excommandname? If it returns false, OK, the command is not there;
but if it returns true, maybe the command is not there anyway!

Best regards,
Tony.

>
> Best regards,
> Kazunobu
>
>>
>>
>>
>> Best regards,
>> Tony.
>>

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: exists() result sometimes misleading for a command

2016-09-15 Fir de Conversatie Kazunobu Kuriyama
2016-09-15 7:41 GMT+09:00 Tony Mechelynck :

> exists() result is sometimes misleading for a command.
>
> Example (with GTK3 gvim linked with GTK 3.16.7):
> :echo exists(':tearoff')
> 2
> :tearoff 
> E319: Sorry, the command is not available in this version
>
> So for example the following code in my vimrc would produce the exact
> error which it is meant to avoid:
>
> au GUIEnter * if exists(':tearoff') == 2 | exe 'tearoff ' | endif
>
> If the :tearoff command is disabled in GTK3 gvim, then IMHO
> exists(':tearoff') ought to return 0, not 2.
>

I looked into that a bit and found that it was not specific to GTK3.

The same thing happens with the latest GTK2 GUI and that of 7.4.1401, the
one just prior to the GTK3 patch inclusion.

I tried to do a bisect search to find which patch introduced that
regression, but failed due to a header file relocation on OS X as of 10.9,
Mavericks.  I was unable to build vim older than 7.4.62.  Nonetheless, I
confirm that the same regression was also seen with that version.

Looks it has been there unnoticed for a long time.

As for GTK3, if the GUI is linked against GTK+ 3.4 or later, tear-off menus
are disabled, as written in 'h: tear-off-menus'.

So, fixing the issue is quite easy for GTK >= 3.4; it can be fixed using a
version check.  But I'm not sure what I can do for the rest for now.

Best regards,
Kazunobu


>
>
> Best regards,
> Tony.
>
> --
> --
> You received this message from the "vim_dev" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php
>
> ---
> You received this message because you are subscribed to the Google Groups
> "vim_dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to vim_dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.