Bram Moolenaar [Fri, 2 Dec 2022 12:28:47 +0000 (12:28 +0000)]
patch 9.0.0985: when using kitty keyboard protocol function keys may not work
Problem: When using kitty keyboard protocol function keys may not work.
(Kovid Goyal)
Solution: Recognize CSI ending in [ABCDEFHPQRS] also when the termcap
entries are not specified. (closes #11648)
Bram Moolenaar [Thu, 1 Dec 2022 12:03:47 +0000 (12:03 +0000)]
patch 9.0.0980: the keyboard state response may end up in a shell command
Problem: The keyboard state response may end up in a shell command.
Solution: Only request the keyboard protocol state when the typeahead is
empty, no more commands are following and not exiting. Add the
t_RK termcap entry for this.
Bram Moolenaar [Wed, 30 Nov 2022 18:12:19 +0000 (18:12 +0000)]
patch 9.0.0977: it is not easy to see what client-server commands are doing
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.
Bram Moolenaar [Tue, 29 Nov 2022 18:32:32 +0000 (18:32 +0000)]
patch 9.0.0973: Kitty keyboard protocol key with NumLock not decoded
Problem: Kitty keyboard protocol key not decoded when it has an unsupported
modifier, such as NumLock.
Solution: Accept a key with any modifier. (closes #11638)
Bram Moolenaar [Mon, 28 Nov 2022 22:21:12 +0000 (22:21 +0000)]
patch 9.0.0969: matchparen highlight is not updated when switching buffers
Problem: Matchparen highlight is not updated when switching buffers.
Solution: Listen to the BufLeave and the BufWinEnter autocmd events.
(closes #11626)
Luuk van Baal [Mon, 28 Nov 2022 16:49:36 +0000 (16:49 +0000)]
patch 9.0.0964: status line not redrawn when 'splitkeep' is "screen"
Problem: Status line of other window not redrawn when dragging it when
'splitkeep' is set to "screen".
Solution: Set w_redr_status earlier. (Luuk van Baal, closes #11635,
closes #11632)
Bram Moolenaar [Sun, 27 Nov 2022 16:18:33 +0000 (16:18 +0000)]
patch 9.0.0960: error when using the "Spelling / Find More Languages" menu
Problem: Error when using the "Tools / Spelling / Find More Languages"
menu.
Solution: Remove "<SID>". Reset "g:menutrans_set_lang_to" when 'encoding'
changes. (closes #11625)
Bram Moolenaar [Sat, 26 Nov 2022 19:16:48 +0000 (19:16 +0000)]
patch 9.0.0954: cannot detect whether modifyOtherKeys is enabled
Problem: Cannot detect whether modifyOtherKeys is enabled.
Solution: Use XTQMODKEYS introduced by xterm version 377 to request the
modifyOtherKeys level. Update the keycode check results.
Bram Moolenaar [Fri, 25 Nov 2022 16:31:51 +0000 (16:31 +0000)]
patch 9.0.0949: crash when unletting a variable while listing variables
Problem: Crash when unletting a variable while listing variables.
Solution: Disallow changing a hashtable while going over the entries.
(closes #11435)
Bram Moolenaar [Thu, 24 Nov 2022 20:23:24 +0000 (20:23 +0000)]
patch 9.0.0943: pretending to go out of Insert mode when Esc is received
Problem: Pretending to go out of Insert mode when Esc is received has side
effects.
Solution: When the kitty keyboard protocol is enabled expect Esc to always
be the start of an escape sequence.
Bram Moolenaar [Thu, 24 Nov 2022 14:05:19 +0000 (14:05 +0000)]
patch 9.0.0940: crash when typing a letter in a terminal window
Problem: Crash when typing a letter in a terminal window. (Shane-XB-Qian)
Solution: Use the "vterm" variable instead of getting the terminal pointer
from the current buffer. (closes #11608)
Bram Moolenaar [Thu, 24 Nov 2022 13:27:36 +0000 (13:27 +0000)]
patch 9.0.0939: still using simplified mappings when using kitty protocol
Problem: Still using simplified mappings when using the kitty keyboard
protocol.
Solution: Use the kitty_protocol_state value to decide whether to use
simplified mappings. Improve how seenModifyOtherKeys is set and
reset.
Bram Moolenaar [Wed, 23 Nov 2022 23:30:58 +0000 (23:30 +0000)]
patch 9.0.0933: Kitty shows "already at oldest change" on startup
Problem: Kitty shows "already at oldest change" on startup.
Solution: When receiving the keyboard protocol state return the ignore key.
(closes #11601)
patch 9.0.0931: MS-Windows: mouse column limited to 223
Problem: MS-Windows: mouse column limited to 223.
Solution: Use two bytes for each mouse coordinate. Add the mouse position
to scroll events. (Christopher Plewright, closes #11597)
Bram Moolenaar [Wed, 23 Nov 2022 20:20:18 +0000 (20:20 +0000)]
patch 9.0.0930: cannot debug the Kitty keyboard protocol with TermDebug
Problem: Cannot debug the Kitty keyboard protocol with TermDebug.
Solution: Add Kitty keyboard protocol support to the libvterm fork.
Recognize the escape sequences that the protocol generates. Add
the 'keyprotocol' option to allow the user to specify for which
terminal what protocol is to be used, instead of hard-coding this.
Add recognizing the kitty keyboard protocol status.
zeertzjq [Wed, 23 Nov 2022 11:23:17 +0000 (11:23 +0000)]
patch 9.0.0925: two conditions are always false
Problem: Two conditions are always false.
Solution: Remove the conditions. Update return value types to make clear
what could be returned. (closes #11593)
Bram Moolenaar [Tue, 22 Nov 2022 20:41:05 +0000 (20:41 +0000)]
patch 9.0.0923: second SIGWINCH signal may be ignored
Problem: Second SIGWINCH signal may be ignored.
Solution: When set_shellsize() is busy when called then run the inner code
again when it's done. (issue #424)
patch 9.0.0918: MS-Windows: modifier keys do not work with mouse scroll event
Problem: MS-Windows: modifier keys do not work with mouse scroll events.
Solution: Use K_SPECIAL instead of CSI for the modifier keys. (Christopher
Plewright, closes #11587)
Bram Moolenaar [Sat, 19 Nov 2022 21:18:11 +0000 (21:18 +0000)]
patch 9.0.0913: only change in current window triggers the WinScrolled event
Problem: Only a change in the current window triggers the WinScrolled
event.
Solution: Trigger WinScrolled if any window scrolled or changed size.
(issue #11576)
Bram Moolenaar [Sat, 19 Nov 2022 19:02:40 +0000 (19:02 +0000)]
patch 9.0.0912: libvterm with modifyOtherKeys level 2 does not match xterm
Problem: libvterm with modifyOtherKeys level 2 does not match xterm.
Solution: Adjust key code escape sequences to be the same as what xterm
sends in modifyOtherKeys level 2 mode. Check the value of
no_reduce_keys before using it.
Problem: Mouse scroll code is not optimal.
Solution: Properly organise Normal mode, Insert mode and common code.
(Christopher Plewright, closes #11572)
Bram Moolenaar [Thu, 17 Nov 2022 19:00:14 +0000 (19:00 +0000)]
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Problem: With 'smoothscroll' cursor is one screen line too far down. (Ernie
Rael)
Solution: Add a test that currently has the wrong result so that a fix can
be made. (issue #11436)
Bram Moolenaar [Thu, 17 Nov 2022 16:43:35 +0000 (16:43 +0000)]
patch 9.0.0896: test for home key fails when 'term' is "tmux"
Problem: Test for home key fails when 'term' is "tmux".
Solution: Only save termcap entries that exist. Adjust code for xHome to
what xterm uses. (closes #11566)
Bram Moolenaar [Thu, 17 Nov 2022 14:56:00 +0000 (14:56 +0000)]
patch 9.0.0894: virtual text property highlight ignores window background
Problem: Virtual text property highlight ignores window background.
Solution: Combine text prop attribute with win_attr into extra_attr.
(closes #11462)
Bram Moolenaar [Thu, 17 Nov 2022 11:34:38 +0000 (11:34 +0000)]
patch 9.0.0892: may redraw when not needed
Problem: May redraw when not needed, causing slow scrolling.
Solution: Do not redraw when w_skipcol doesn't change. When w_skipcol
changes only redraw from the top. (issue #11559)
Bram Moolenaar [Wed, 16 Nov 2022 16:08:30 +0000 (16:08 +0000)]
patch 9.0.0889: keycode check script has a few flaws
Problem: Keycode check script has a few flaws.
Solution: Sort on terminal name. Ignore XTGETTCAP responses. Check for
version and status response. Update entries.