Loading ...
Sorry, an error occurred while loading the content.

57519Re: Bug in Vim 7.2.438: try, catch and cscope

Expand Messages
  • Gary Johnson
    Jul 1, 2010
      On 2010-07-01, Bryan Venteicher wrote:
      > > From: "Gary Johnson"
      > > To: "vim dev"
      > > Sent: Thursday, July 1, 2010 2:04:42 AM
      > > Subject: Re: Bug in Vim 7.2.438: try, catch and cscope
      >
      > > On 2010-07-01, Bryan Venteicher wrote:
      > > > > From: "Gary Johnson"
      > > > > To: "vim dev"
      > > > > Sent: Tuesday, June 29, 2010 5:40:39 PM
      > > > > Subject: Bug in Vim 7.2.438: try, catch and cscope
      > > >
      > > > > After a recent update, I started noticing erroneous behavior in a
      > > > > number of my cscope mappings. After some experimenting I
      > > > > discovered that Vim is failing to execute a "cs find" command when
      > > > > it follows a
      > > > > "cs add" command in a catch block. This has worked fine for a long
      > > > > time and through Vim 7.2.148 but stopped working at or before Vim
      > > > > 7.2.438.
      > > > >
      > > > > I boiled my configuration and functions down to the following
      > > > > plugin.
      > > > >
      > > > > ------------------------ cscope.vim ------------------------
      > > > > set laststatus=2
      > > > > set cmdheight=10
      > > > >
      > > > > set csverb
      > > > > set csqf=s-
      > > > >
      > > > > function! Csfind()
      > > > > try let x = y
      > > > > catch /.*/
      > > > > echo v:exception
      > > > > cs add cscope.out
      > > > > cs find s mch_early_init
      > > > > echo "Here"
      > > > > endtry endfunction
      > > > > ------------------------------------------------------------
      > > > >
      > > >
      > > > I wager I altered this when I submitted 7.2.433, adding CScope
      > > > QuickFixCmd{Pre,Post} autocmd event similar to what already exists
      > > > for make, grep, etc. If you try to say a :vimgrep in your catch
      > > > block, that goes no where too, right?
      > > >
      > > > A few potential fixes come to mind:
      > > > - If you're not explicity needing it, remove the query type from
      > > > 'csfs'
      > > > in the catch block.
      > >
      > > I didn't understand that. What is 'csfs' and what is removing the
      > > query type?
      >
      > Fat fingers: 'csqf'. Query type would be 's' in your example (:cs find {querytype} {name})
      > Of course, if it is in there in the first place because you want to use the quickfix
      > window for the results of the find in the catch, this really isn't helpful.

      I would like to continue to have the freedom to set 'csqf' to use
      quickfix or not for each query type as I choose. In the actual
      plugin, I have more than just 's' in 'csqf'. Being able to traverse
      the list of places found by "cs find s" and other query types using
      ^N and ^P (mapped to :cn<CR> and :cp<CR>) is really important to
      me--I use that all the time.

      > > > - Revert 433. I had been carrying it around as a private patch for a
      > > > couple of years and find it to very useful.
      > >
      > > I'll try that as soon as I figure out how. I haven't done anything
      > > fancy with Mercurial yet.

      hg backout --merge -r2152
      hg ci

      I just did that and my plugin is now working fine again.

      > > Are you planning on fixing this?
      >
      > Off hand, short of backing it out, I don't see a way to fix it, although
      > it has been awhile since I poked around the Vim source. It makes Cscope
      > behave more like make, grep, etc, which to me, is the a good thing.

      The desired behavior seems like a good thing, but this side effect
      seems like a bug in the implementation, not a natural consequence of
      the desired behavior.

      Regards,
      Gary

      --
      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
    • Show all 6 messages in this topic