| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
| |
In #8226 <A-x> and <M-x> were changed to behave like <Esc>x in insert
mode when no mapping exists. This commit backs out that change and
replaces it with a more general one that makes unmapped ALT and META
keypresses as <Esc>+char in all modes. This fixes an unnecessary and
confusing inconsistency between modes.
|
|
|
|
|
|
|
| |
Problem: On error garbage collection may free memory in use.
Solution: Reset may_garbage_collect when evaluating expression mapping.
Add tests. (Ozaki Kiichi, closes vim/vim#4579)
https://github.com/vim/vim/commit/7d491c425334d9477637372a4ebec64c228c8430
|
|
|
|
|
|
| |
Problem: Triggering the ATTENTION prompt causes typeahead to be messed up.
Solution: Increment tb_change_cnt. (closes vim/vim#6541)
https://github.com/vim/vim/commit/b8d732e93e4b70ad992a12f761bc6a1279dd495b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* feat: Add vim.register_keystroke_callback
* fixup: Forgot to remove mention of old option
* fixup: Answer jamessan comments
* fixup: Answer norcalli comments
* fixup: portability
* Update runtime/doc/lua.txt
Co-authored-by: Ashkan Kiani <ashkan.k.kiani@gmail.com>
|
|
|
|
|
|
| |
Problem: Using window toolbar changes state.
Solution: Always execute window toolbar actions in Normal mode.
https://github.com/vim/vim/commit/a21a6a9ade7bec3a07992d4d900d4ce82eeb8a29
|
|
|
|
|
|
|
| |
Problem: Output of :command is hard to read.
Solution: Make some columns wider, some narrower. Truncate the command when
listing all.
https://github.com/vim/vim/commit/725310d89e1ba268bf410472b7de054c6c260161
|
|
|
|
|
|
|
|
| |
Problem: MS-Windows GUI: multibyte chars with a 0x80 byte do not work when
compiled with VIMDLL.
Solution: Adjust the condition for fixing the input buffer. (Ken Takata,
closes vim/vim#4330)
https://github.com/vim/vim/commit/ed5ab2a95972b5ef588bdafab9f197e1dcf0c1df
|
|
|
|
|
|
| |
Problem: Recording into a register has focus events. (Michael Naumann)
Solution: Don't record K_FOCUSGAINED and K_FOCUSLOST. (closes vim/vim#3143)
https://github.com/vim/vim/commit/972bfddc6b3f52ae0865ad8c0bf6089bc8a9883a
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: Dict and list could be GC'ed while displaying error in a timer.
(Yasuhiro Matsumoto)
Solution: Block garbage collection when executing a timer. Add
test_garbagecollect_soon(). Add "no_wait_return" to
test_override(). (closes vim/vim#4571)
https://github.com/vim/vim/commit/adc6714aac20f5462a0ecec50ab4806b2f3ab0db
|
|
|
|
|
|
|
| |
Problem: No test for 'termwinkey'.
Solution: Add a test. Make feedkeys() handle terminal_loop() returning
before characters are consumed.
https://github.com/vim/vim/commit/b2ac14c0b5e23f8ab97c5c784bcd83e13ba8ded3
|
| |
|
| |
|
|
|
|
|
|
| |
Problem: In :let-heredoc line continuation is recognized.
Solution: Do not consume line continuation. (Ozaki Kiichi, closes vim/vim#4580)
https://github.com/vim/vim/commit/e96a2498f9a2d3e93ac07431f6d4afd77f30afdf
|
|
|
|
|
|
|
| |
Problem: Some MB_ macros are more complicated than necessary. (Dominique
Pelle)
Solution: Simplify the macros. Expand inline.
https://github.com/vim/vim/commit/1614a14901558ca091329315d14a7d5e1b53aa47
|
|
|
|
|
|
| |
Problem: Double free when memory allocation fails. (Zu-Ming Jiang)
Solution: Use VIM_CLEAR() instead of vim_free(). (closes vim/vim#4991)
https://github.com/vim/vim/commit/0f1c6708fdf17bb9c7305b8af5d12189956195b6
|
| |
|
|
|
|
|
|
|
| |
Problem: Cannot get the script line number when executing a function.
Solution: Store the line number besides the script ID. (Ozaki Kiichi,
closes vim/vim#3362) Also display the line number with ":verbose set".
https://github.com/vim/vim/commit/f29c1c6aa3f365c025890fab5fb9efbe88eb1761
|
| |
|
| |
|
|
|
|
|
| |
To ensure consistency and avoid possible errors in the code
the assigment is considered to be legit.
|
|
|
|
|
| |
Problem: No test for completion of mapping keys.
Solution: Add a test. Also clean up the code.
https://github.com/vim/vim/commit/2cb9f0253228478ec27265ff40f59c629874d695
|
|
|
|
|
|
|
| |
* if braces
* spaces
* post increments
* comment style
|
|
|
|
| |
makemap: same condition is used to skip outer loop cycle
|
|
|
|
|
|
| |
vim-patch:8.0.1753: various warnings from a static analyser
Problem: Various warnings from a static analyser
Solution: Remove unneeded conditions.
https://github.com/vim/vim/commit/1c17ffa4611f4efe68c61f7cdd9ed692a866ba75
|
| |
|
|
|
|
|
|
| |
Problem: No mode char for terminal mapping from maparg().
Solution: Check for TERMINAL mode. (closes vim/vim#4735)
https://github.com/vim/vim/commit/14371ed69778107654e39268d0d90982e53ad6e0
|
|
|
|
|
| |
misleading" (#10583)
This reverts commit 315076a26d225a3bdc34a2cbba1f124adf4e1087.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
vim-patch:8.0.{1479,1480,1482},8.1.1055
|
| |
| |
| |
| |
| |
| | |
Problem: Insert mode completion state is confusing.
Solution: Move ctrl_x_mode into edit.c. Add CTRL_X_NORMAL for zero.
https://github.com/vim/vim/commit/bc0e9adae9c253f36803665180e4b576d1e725ab
|
| | |
|
|/
|
|
|
|
| |
Problem: Source command doesn't check for the sandbox. (Armin Razmjou)
Solution: Check for the sandbox when sourcing a file.
https://github.com/vim/vim/commit/53575521406739cf20bbe4e384d88e7dca11f040
|
|
|
|
|
|
|
|
|
|
|
|
| |
<Paste> is a 3-byte sequence and the beginning one or two bytes can appear at
the very end of the typeahead buffer. When this happens, we were exiting from
`vgetorpeek()` instead of reading more characters to see the complete sequence.
I think this should fix #7994 -- at least partially. Before this change, when I
paste exactly 64 characters into a freshly booted instance, I get what I pasted
plus the literal text "<Paste>" at the end. Nvim also stays in nopaste mode.
The attached test case fails in this manner without the code change.
Fix #7994
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Using one item array size declaration is misleading.
Solution: Instead of using "[1]" and actually using a larger array, use
"[]". This is to verify that this C99 feature works for all
compilers.
https://github.com/vim/vim/commit/f3a411783c9736645d6ba480c5ff9d861164c040
The following patch is N/A because Neovim requires C99.
vim-patch:8.0.1735: flexible array member feature not supported by HP-UX
|
|
|
|
|
|
|
| |
Problem: Various comment updates needed, missing white space.
Solution: Update comments, add white space.
https://github.com/vim/vim/commit/259f26ac2d41ecfb28b82c651b2bfc1edc7c3e29
Ignored (partly) applied patch for src/nvim/po/it.po.
|
|
|
|
|
|
|
| |
(#10155)
Problem: Playing back recorded key sequence mistakes key code.
Solution: Insert a <Nop> after the <Esc>. (closes vim/vim#4068)
https://github.com/vim/vim/commit/6edbbd8114320089c0e603e033775d9dd34cb10a
|
|
|
|
|
|
|
| |
Problem: Indenting is off.
Solution: Make indenting consistent and update comments. (Ozaki Kiichi,
closes vim/vim#4079)
https://github.com/vim/vim/commit/fd731b0e31df9f167098c4a77ff894fea6cb7f5c
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot tell whether a register is being used for executing or
recording.
Solution: Add reg_executing() and reg_recording(). (Hirohito Higashi,
closes vim/vim#2745) Rename the global variables for consistency. Store
the register name in reg_executing.
https://github.com/vim/vim/commit/0b6d911e5de1a1c10a23d4c2ee1b0275c474a2dd
|
|
|
|
|
|
|
| |
Problem: Cannot enter character with a CSI byte.
Solution: Only check "gui.in_use" when VIMDLL is defined. (Ken Takata,
closes vim/vim#4396)
https://github.com/vim/vim/commit/386b43e59498cc7b52a60f09f74bdb44df99386c
|
|
|
|
| |
ref #9924
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
closes #9136
- Treat empty {rhs} like <Nop>
- getchar.c: Pull "repl. MapArg termcodes" into func
The "preprocessing code" surrounding the replace_termcodes calls needs
to invoke replace_termcodes, and also check if RHS is equal to "<Nop>".
To reduce code duplication, factor this out into a helper function.
Also add an rhs_is_noop flag to MapArguments; buf_do_map_explicit
expects an empty {rhs} string for "<Nop>", but also needs to distinguish
that from something like ":map lhs<cr>" where no {rhs} was provided.
- getchar.c: Use allocated buffer for rhs in MapArgs
Since the MAXMAPLEN limit does not apply to the RHS of a mapping (or
else an RHS that calls a really long autoload function from a plugin
would be incorrectly rejected as being too long), use an allocated
buffer for RHS rather than a static buffer of length MAXMAPLEN + 1.
- Mappings LHS and RHS can contain literal space characters, newlines, etc.
- getchar.c: replace_termcodes in str_to_mapargs
It makes sense to do this; str_to_mapargs is, intuitively, supposed to
take a "raw" command string and parse it into a totally "do_map-ready"
struct.
- api/vim.c: Update lhs, rhs len after replace_termcodes
Fixes a bug in which replace_termcodes changes the length of lhs or rhs,
but the later search through the mappings/abbreviations hashtables
still uses the old length value. This would cause the search to fail
erroneously and throw 'E31: No such mapping' errors or 'E24: No such
abbreviation' errors.
- getchar: Create new map_arguments struct
So that a string of map arguments can be parsed into a more useful, more
portable data structure.
- getchar.c: Add buf_do_map function
Exactly the same as the old do_map, but replace the hardcoded references
to the global `buf_T* curbuf` with a function parameter so that we can
invoke it from nvim_buf_set_keymap.
- Remove gettext calls in do_map error handling
|
|
|
|
|
|
|
| |
Problem: A couple of conditions are hard to understand.
Solution: Split the conditions into pieces. (Ozaki Kiichi)
https://github.com/vim/vim/commit/652de23dc7abf6aa2721ccee7fe279b5cce8069c
|
|
|
|
|
|
|
|
|
| |
- input: recognize <kEqual>, <kComma>
- terminal.c: If we need to support function key, a change must be made
in libvtermkey. Currently, it emulates strictly VT220 terminal, and
returning numeric value in 'normal' mode is the expected behaviour.
closes #9810
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- K_KORIGIN instead of K_KCENTER: This name is similar to what is used
by xev. Alternative could be K_KBEGIN as hinted here:
https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-PC-Style-Function-Keys
But I find Begin and Home too similar, and it might induced some
confusion. The naming looked related to some old keyboard
configuration.
- keymap.c: alias KPPeriod to kDel instead of kPoint.
This might seems weird, but this is actually the behaviour that should
be expected. libtermkey produces "KPPeriod" when num lock is off. To
fix this would need to change this name in termkey.
closes #9780
closes #9793
|
|
|
|
|
| |
Problem: Farsi support is outdated and unused.
Solution: Delete the Farsi support.
https://github.com/vim/vim/commit/14184a3133b9a6ee5f711d493c04e41ba4fa7c2f
|