Problem: Some type casts are redundant.
Solution: Remove the type casts. (closesvim/vim#9643)
420fabcd4f
This is not a literal port but an equivalent one.
Problem: Giving error messages is not flexible.
Solution: Add semsg(). Change argument from "char_u *" to "char *", also
for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes
vim/vim#3302) Also make emsg() accept a "char *" argument. Get rid of
an enormous number of type casts.
f9e3e09fdc
On Windows, `new_lnum + MAXLNUM` causes overflow and as a result the
line number of that sign becomes invalid negative number. This occurs
when the `set signcolumn=yes`, in other words `signcolumn` is not `auto`
and the sign column is less than 2 columns.
The related change was made in the commit
f2ed7605da. Originally the above addition
is only executed if `amount != MAXLNUM`, so reintroducing this check
fixes the bug and will hardly produces a new bug.
Fixes https://github.com/neovim/neovim/issues/14460
...signs is slow
Problem: Placing a larger number of signs is slow.
Solution: Add functions for dealing with a list of signs. (Yegappan
Lakshmanan, closes#4636)
+ support for neovim's dynamic width signcolumn
Problem: Displaying signs is inefficient.
Solution: Avoid making multiple calls to get information about a placed
sign. (Yegappan Lakshmanan, closes#4586)
Problem: Display wrong with signs in narrow number column.
Solution: Increase the numbercolumn width if needed. (Yegappan Lakshmanan,
closesvim/vim#4606)
e4b407f536
Problem: No completion for sign group names.
Solution: Add completion for sign group names and buffer names. (Yegappan
Lakshmanan, closesvim/vim#3980)
3678f65d43
Problem: Cursor position is wrong after sign column appears or disappears.
(Yegappan Lakshmanan)
Solution: Call changed_line_abv_curs() instead of changed_cline_bef_curs().
f85e40afc2
Problem: Sign order wrong when priority was changed.
Solution: Reorder signs when priority is changed. (Yegappan Lakshmanan,
closesvim/vim#4502)
64416127fc
Problem:
During a refactor long ago, we changed the `getdigits_*` familiy of
functions to abort on overflow. But this is often wrong, because many
of these codepaths are handling user input.
Solution:
Decide at each call-site whether to use "strict" mode.
fix#5555
buf_signcols sorting breaks signlist structure.
Remove sorting in buf_signcols, because signlist is already kept
sorted and it did not correctly update the double linked list.
Fixes#10078
Vim does not delete/free signs if they are placed on lines which get
deleted. In case of undo it does make a difference as in vim the sign
will be still available.
Problem: The sign_define_by_name() function is too long.
Solution: Split it into smaller functions. (Yegappan Lakshmanan,
closesvim/vim#3819)
0314236aab
Problem: When deleting lines at the bottom signs are misplaced.
Solution: Properly update the line number of signs at the end of a buffer
after a delete/undo operation. (Yegappan Lakshmanan, closesvim/vim#3798)
c771bf9016
Problem: When the last sign is deleted the signcolumn may not be removed
even though 'signcolumn' is "auto".
Solution: When deleting the last sign redraw the buffer. (Dominique Pelle,
closesvim/vim#3803, closesvim/vim#3804)
8144acbec3
Problem: There is no function for the ":sign jump" command.
Solution: Add the sign_jump() function. (Yegappan Lakshmanan, closesvim/vim#3780)
6b7b7190aa
Problem: Windows are updated for every added/deleted sign.
Solution: Do not call update_debug_sign(). Only redraw when the line with
the sign is visible. (idea from neovim vim/vim#9479)
27a472c32e
Problem: ":sign place" only uses the current buffer.
Solution: List signs for all buffers when there is no buffer argument.
Fix error message for invalid buffer name in sign_place().
(Yegappan Lakshmanan, closesvim/vim#3774)
b589f95b38
Problem: Sign message not translated and inconsistent spacing.
Solution: Add _() for translation. Add a space. (Ken Takata) Also use
MSG_BUF_LEN instead of BUFSIZ.
d730c8e297
Problem: ":sign place" requires the buffer argument.
Solution: Make the argument optional. Also update the help and clean up the
sign test. (Yegappan Lakshmanan, closesvim/vim#3767)
b328cca254