Yegappan wrote:
> > > > > When a line with a sign is deleted, the sign is moved to the
> > > > > next line. If you undo the delete operation, the sign is not
> > > > > moved back to the original line.
> > > > >
> > > > > I expected that when a line with a sign is deleted, the sign
> > > > > will be removed. If you undo the delete the operation, the
> > > > > sign will be restored. This is how the named marks work.
> > > > > The current undo code handles the named marks correctly
> > > > > but doesn't handle signs.
> > > >
> > > > One of the uses of signs is displaying a breakpoint. When a line is
> > > > deleted, the breakpoint still exists. Displaying it on the next line
> > > > does seem like the best way to handle this.
> > > >
> > > > When undo-ing the delete ideally the sign is moved back to where it was.
> > > > But this is quite complicated, it would require the undo information to
> > > > contain data about the moved sign. I don't mind much about the sign
> > > > being displayed in the wrong line (the debugger with the executable is
> > > > already not in sync with the source code anyway). I do mind about the
> > > > sign not being displayed at all, it looks like the breakpoint was
> > > > removed, while it wasn't.
> > > >
> > >
> > > It will be useful to add a note to sign.txt about this behavior.
> > >
> > > When a line with a sign is deleted, the sign is moved to the next line.
> >
> > Let me add this:
> >
> > When the line on which the sign is placed is deleted, the sign is moved to
> > the
> > next line (or the last line of the buffer, if there is no next line). When
> > the delete is undone the sign does not move back.
> >
> >
> > However, when I try it, deleting the lines at the end of the buffer, the
> > sign disappears. I suppose it's now on a line below the last one. When
> >
>
> Yes. When you delete the last line, the sign gets moved to the next
> line below the last line (which is not there).
>
> >
> > undoing the delete the sign is still there, but it's not displayed until
> >
>
> When you undo the delete operation, as the sign line number has
> already changed, it is not restored back to the last line..
>
> > reloading the file. Can you look into fixing that? I don't really care
> > where the sign goes, but reloading the buffer should not be needed.
>
> When adjusting the line number of a sign (after a delete operation),
> if it goes over the last line, we can limit it to the last line in the buffer.
> The downside with this approach is that, if multiple lines with signs
> are deleted at the end of a buffer, then multiple signs will be placed
> on the same line. What do you think about this approach?
Thanks for looking into this. I think it's fine if the signs are moved
to the last line. They will not be valid anyway and making them
invisible seems worse.
--
hundred-and-one symptoms of being an internet addict:
181. You still remember the "happy tune" your modem made
while dialing your ISP.
/// Bram Moolenaar -- [email protected] -- 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 [email protected].
For more options, visit https://groups.google.com/d/optout.