Age | Commit message (Collapse) | Author |
|
Problem: File info disappears immediately when 'cmdheight' has just
decreased due to switching tabpage and 'shortmess' doesn't
contain 'o' or 'O'.
Solution: Make sure msg_row isn't smaller than cmdline_row.
fixes: #13560
closes: #13561
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
|
|
Problem: buffer-overflow in trunc_string()
Solution: Add NULL at end of buffer
Currently trunc_string() assumes that when the string is too long,
buf[e-1] will always be writeable. But that assumption may not always be
true. The condition currently looks like this
else if (e + 3 < buflen)
[...]
else
{
// can't fit in the "...", just truncate it
buf[e - 1] = NUL;
}
but this means, we may run into the last else clause with e still being
larger than buflen. So a buffer overflow occurs.
So instead of using `buf[e - 1]`, let's just always
truncate at `buf[buflen - 1]` which should always be writable.
Signed-off-by: Christian Brabandt <cb@256bit.org>
|
|
Problem: multispace wrong when scrolling horizontally
Solution: Update position in "multispace" or "leadmultispace" also in
skipped chars. Reorder conditions to be more consistent.
closes: #13145
closes: #13147
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|
Problem: keytrans() doesn't translate recorded key typed in a GUI
Solution: Handle CSI like K_SPECIAL, like in mb_unescape()
closes: #12964
closes: #12966
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|
* Dedicate upcoming Vim 9.1 to Bram
Also replace in a few more places Brams email address and mention new
maintainers.
* Remove Bram from any Maintainer role
* runtime: Align Header
* it's mailing list not mailinglist
|
|
Problem: Error message is cleared when removing mode message.
Solution: Also reset flags when the message is further down.
|
|
Problem: Message is cleared when removing mode message (Gary Johnson).
Solution: Do not clear the command line after displaying a message.
|
|
Problem: Users may not know what to do with an internal error.
Solution: Add a translated message with instructions.
|
|
Problem: :messages behavior depends on 'fileformat' of current buffer.
Solution: Pass the buffer pointer to where it is used. (Mirko Ceroni,
closes #11995)
|
|
Problem: Using sizeof() and subtract array size is tricky.
Solution: Use offsetof() instead. (closes #11926)
|
|
Problem: Code is indented more than necessary.
Solution: Use an early return where it makes sense. (Yegappan Lakshmanan,
closes #11813)
|
|
Problem: Reading beyond text.
Solution: Add strlen_maxlen() and use it.
|
|
Problem: Build errors without the +channel feature. (John Marriott)
Solution: Adjust #ifdefs.
|
|
Problem: It is not easy to see what client-server commands are doing.
Solution: Add channel log messages if ch_log() is available. Move the
channel logging and make it available with the +eval feature.
|
|
Problem: Build failure on some systems.
Solution: Adjust #ifdefs related to the termresponse feature.
|
|
Problem: Various comment and indent flaws.
Solution: Improve comments and indenting.
|
|
Problem: Too many #ifdefs.
Solution: Gradudate the +cmdline_info feature. (Martin Tournoij,
closes #11330)
|
|
Problem: Extra newline in messages after a verbose shell message.
Solution: Output the newline with msg_putchar_attr(). (closes #11233)
Make it possible to filter a screendump before comparing it.
|
|
Problem: Display not cleared when scrolling back in messages, a background
color is set and t_ut is empty.
Solution: Clear to the end of the display if needed. (closes #8973)
|
|
Problem: Unnecessary scrolling for message of only one line.
Solution: Only set msg_scroll when needed. (closes #11178)
|
|
Problem: There is no easy way to translate a string with a key code into a
readable string.
Solution: Add the keytrans() function. (closes #11114)
|
|
Problem: Using :echowin while at the hit-enter prompt causes problems.
Solution: Do not prompt for :echowin. Postpone showing the message window.
Start the timer when the window is displayed.
|
|
Problem: using :echowindow in a timer clears part of message
Solution: Do not use msg_clr_eos().
|
|
Problem: The 'cmdheight' zero support causes too much trouble.
Solution: Revert support for 'cmdheight' being zero.
|
|
Problem: ":highlight" hangs when 'cmdheight' is zero.
Solution: Add to msg_col when using the message window. (closes #11014)
|
|
Problem: Cannot use the message popup window directly.
Solution: Add ":echowindow".
|
|
Problem: Clearing screen causes flicker.
Solution: Do not clear but redraw in more cases. Add () to "wait_return".
|
|
Problem: Shell command is displayed in message window.
Solution: Do not echo the shell command in the message window.
|
|
Problem: Output of :messages dissappears when cmdheight is zero.
Solution: Do not use the messages window for :messages. Make Esc close the
messages window.
|
|
Problem: When cmdheight is zero the attention prompt doesn't show.
Solution: Do not use the message window for a prompt.
|
|
Problem: Buffer write message is two lines in message popup window.
Solution: Overwrite message if "msg_scroll" is off.
|
|
Problem: The message window popup is delayed after an error message.
Solution: Do not set emsg_on_display when using the message window.
|
|
Problem: Compiler warning for size_t to int conversion.
Solution: Add a type cast. (Wilhelm Payne, closes #11000)
|
|
Problem: Message in popup is shortened unnecessary.
Solution: Do not use 'showcmd' and 'ruler' for a message in the popup.
Set the timer when unhiding the message popup.
|
|
Problem: Compiler warning for variable set but not used.
Solution: Add #ifdef.
|
|
Problem: Invalid memory write.
Solution: Do not put NUL in a static string.
|
|
Problem: When 'cmdheight' is zero some messages are not displayed.
Solution: Use a popup notification window.
|
|
Problem: Mechanism to prevent recursive screen updating is incomplete.
Solution: Add "redraw_not_allowed" and set it in build_stl_str_hl().
(issue #10952)
|
|
Problem: Cannot read error message when abort() is called.
Solution: Output a newline before calling abort().
|
|
Problem: Stacktrace not shown when debugging.
Solution: Set msg_scroll in msg_source(). (closes #10917)
|
|
Problem: Redraw flags are not named specifically.
Solution: Prefix "UPD_" to the flags, for UPDate_screen().
|
|
Problem: The command line takes up space even when not used.
Solution: Allow for 'cmdheight' to be set to zero. (Shougo Matsushita,
closes #10675, closes #940)
|
|
Problem: Scrollback can be wrong after redrawing the command line.
Solution: Clear unfinished scrollback when redrawing. (closes #10807)
|
|
Problem: Command overlaps with printed text in scrollback.
Solution: Clear until end-of-line and use correct message chunk.
(closes #10765, closes #10764)
|
|
Problem: Typos in comments, wrapping lines.
Solution: Adjust comments. Wrap lines.
|
|
Problem: Going past the end of a menu item with only modifier.
Solution: Check for NUL.
|
|
Problem: Might still access invalid memory.
Solution: Add extra check for negative value.
|
|
Problem: Using uninitialized memory when using 'listchars'.
Solution: Use the length returned by mb_char2bytes(). (closes #10576)
|
|
Problem: When the GUI shows a dialog tests get stuck.
Solution: Add the --gui-dialog-file argument.
|
|
Problem: Unnecessary code.
Solution: Remove code that isn't needed. (closes #10534)
|