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

32980Re: Bug in tag stack?

Expand Messages
  • Corinna Vinschen
    Jun 1, 2003
      Ping?

      Corinna

      On Tue, May 27, 2003 at 10:56:28AM +0200, Corinna Vinschen wrote:
      > Hi,
      >
      > I don't know if that counts as a bug, therefore I'm a bit wary. I can
      > reproduce this situation with vim 6.1.300 as well as with 6.2f.
      >
      > Normally, when jumping through tags multiple times, it's possible to return
      > to the previous file positions by <C-T>. This can be used as often as you
      > want (well, at least very often), up to the point where you the first time
      > pressed e.g. <C-]>.
      >
      > But I found a situation in which this doesn't work anymore.
      >
      > I'm using g<C-]> pretty often and I have a situation like this:
      >
      > I'm in a file called fhandler_socket.cc. I'm on a function call to a
      > method fixup_before_fork_exec() which exists in two classes, defined in
      > two different files, one of them fhandler_socket.cc itself. Now I press
      > g<C-]> which shows me the list of possible matches:
      >
      > # pri kind tag file
      > 1 F C f fixup_before_fork_exec fhandler_socket.cc
      > class:fhandler_socket
      > fhandler_socket::fixup_before_fork_exec (DWORD win_proc_id)
      > 2 F f fixup_before_fork_exec fhandler.h
      > class:fhandler_base
      > virtual void fixup_before_fork_exec (DWORD) {}
      > Enter nr of choice (<CR> to abort):
      >
      > I press 1<CR> which jumps to the tag'ed method in the same file:
      >
      > void
      > fhandler_socket::fixup_before_fork_exec (DWORD win_proc_id)
      > {
      > [...]
      >
      > Now I go to the name of the method, right after the double colon
      > and press g<C-]> again:
      >
      > # pri kind tag file
      > 1 F C f fixup_before_fork_exec fhandler_socket.cc
      > class:fhandler_socket
      > fhandler_socket::fixup_before_fork_exec (DWORD win_proc_id)
      > 2 F f fixup_before_fork_exec fhandler.h
      > class:fhandler_base
      > virtual void fixup_before_fork_exec (DWORD) {}
      > Enter nr of choice (<CR> to abort):
      >
      > But this time I just press <CR> to abort. And now it happens. If I
      > now press <C-T> to return to the original position I was coming from,
      > I'm getting the following message in the last line:
      >
      > E92: Buffer 0 not found
      >
      > and it just stays where it is. For some reason the last known position
      > in the tag stack is not available anymore. Note that the tag stack
      > still looks ok after that:
      >
      > :tags
      > # TO tag FROM line in file/text
      > 1 1 fixup_before_fork_exec 398 fhs->fixup_before_fork_exec (GetCurrentProcessId
      > >
      >
      > However, let's say I return to the last known position by scrolling
      > to it. Then I use g<C-]> again on the same method call, again I choose
      > to go to the method in the same file. When I know look into the tag
      > stack, something weird happened:
      >
      > :tags
      > # TO tag FROM line in file/text
      > 1 1 fixup_before_fork_exec 398 fhs->fixup_before_fork_exec (GetCurrentProcessId
      > 3 1 fixup_before_fork_exec 398 fhs->fixup_before_fork_exec (GetCurrentProcessId
      >
      > You see the tag #? The tag # 2 is suddenly missing. This happens
      > as often as I repeat the above. The even numbered tags just don't
      > exist then.
      >
      > Am I expecting something which doesn't work for a good reason or is
      > that perhaps actually a bug?
      >
      > Thanks in advance,
      > Corinna
      >
      > --
      > Corinna Vinschen
      > Cygwin Developer
      > Red Hat, Inc.
      > mailto:vinschen@...

      --
      Corinna Vinschen
      Cygwin Developer
      Red Hat, Inc.
      mailto:vinschen@...
    • Show all 8 messages in this topic