| Commit message (Collapse) | Author | Age |
| |\ |
|
| | |
| |
| |
| |
| |
| | |
Problem: Using sizeof() and subtract array size is tricky.
Solution: Use offsetof() instead. (closes vim/vim#11926)
https://github.com/vim/vim/commit/1b438a8228a415720efb5ca1c0503f5467292e8e
|
| | |
| |
| |
| |
| | |
This value can not be relied on as it doesn't work for
multi-configuration generators. I don't think this undocumented option
is used much, if at all, so I think we should remove it.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Code is indented more than necessary.
Solution: Use an early return where it makes sense. (Yegappan Lakshmanan,
closes vim/vim#11887)
https://github.com/vim/vim/commit/142ed77898facf8f423fee2717efee1749c55f9a
Omit function_using_block_scopes(): only affects Vim9 script.
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
| | |
| |
| |
| |
| |
| |
| | |
Problem: Completion of :runtime does not handle {where} argument.
Solution: Parse the {where} argument. (closes vim/vim#11863)
https://github.com/vim/vim/commit/3770f4c9cde7b5fcd10b6fa2e665cd0b69450fb2
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Code is indented more than necessary.
Solution: Use an early return where it makes sense. (Yegappan Lakshmanan,
closes vim/vim#11879)
https://github.com/vim/vim/commit/032713f8299abd92fcfb1e490d1ae5c1ecadde41
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
| | | |
|
| | | |
|
| |\ \ |
|
| | |\| |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
A user function can clobber the repeat_cmdline, which is used to build
the redo buffer, thus, if the redo buffer is saved when calling a
userfunc, so should the repeat_cmdline.
|
| |\ \ \ |
|
| | |\ \ \
| | | |/
| | |/| |
|
| | |\ \ \ |
|
| | | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This change unlocks additional registers for Neovim by allowing a user
to define their own behavior for non-builtin registers.
This is accopmlished through a new option 'userregfunc'
The 'userregfunc' defines the function to call when handling a register
for which there is no builtin functionality.
The 'userregfunc' function should take 3 arguments:
action - Either "yank" or "put"
register - The character corresponding to the register
content - In the case of action == "yank", the dictionary describing
the yanked content, with the following keys:
{type} - Either "char", "line" or "block"
{lines} - The lines being yanked as a list
{width} - The width in case of "block" mode.
{additional_data} - Additional data (can be returned in
"put" mode)
In case of "put" this function should return the content to put. This
content can be either:
* A dictionary in the same template as content above.
* A list of strings. This will be assumed to be "line" mode.
* A string. This will be assumed to be "char" mode.
An example of a "null" 'userregfunc' that provides an implementation
identical to traditional vim registers would be:
let s:contents = {}
function! MyUserregFunction(action, register, content) abort
if a:action == "put"
return get(s:contents, a:register, "")
else
let s:contents[a:register] = a:content
endif
endfunction
set userregfun=MyUserregFunction
It is important to note that any valid unicode character can now be a
register, including something like @☺.
This change also addresses the multibyte parsing issues surrounding
let @a = 'xyz'
let @🔨 = 'hammer'
|
| |\ \ \ \
| | |_|/
| |/| | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(#21956)
Problem: search() loops forever if "skip" is TRUE for all matches.
Solution: Keep the position of the first match.
https://github.com/vim/vim/commit/3d79f0a4309995956bd8889940cca22f7a15881d
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
A blob is used as a sequence of bytes and usually accessed individually,
not as as a NUL-terminuated string, so uint8_t should be better.
Not sure about ga_append(), but using uint8_t leads to fewer casts.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(#21883)
Problem: Cannot lock a variable in legacy Vim script like in Vim9.
Solution: Make ":lockvar 0" work.
https://github.com/vim/vim/commit/a187c43cfe8863d48b2159d695fedcb71f8525c1
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
|
| | | | |
| | | |
| | | | |
Work on https://github.com/neovim/neovim/issues/459
|
| | | | |
| | | |
| | | | |
Work on https://github.com/neovim/neovim/issues/459
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Various white space and cosmetic mistakes.
Solution: Change spaces to tabs, improve comments.
https://github.com/vim/vim/commit/6ed545e79735f23ff8e650bc2f0967e5a0baedc9
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| | | | |
| | | |
| | | | |
Also add the EXITFREE definition to main_lib rather than the nvim target, as the header generation needs the EXITFREE flag to work properly.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Code is indented more than necessary.
Solution: Use an early return where it makes sense. (Yegappan Lakshmanan,
closes vim/vim#11813)
https://github.com/vim/vim/commit/e8575988969579f9e1439181ae338b2ff74054a8
Partial port as this depends on some previous eval and 'smoothscroll'
patches.
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fix remaining clint errors and remove error suppression completely.
Rename the lint targets to align with the established naming convention:
- lintc-clint lints with clint.py.
- lintc-uncrustify lints with uncrustify.
- lintc runs both targets.
lintc is also provided as a make target for convenience.
After this change we can remove these files:
https://github.com/neovim/doc/tree/gh-pages/reports/clint
https://github.com/neovim/doc/blob/main/ci/clint-errors.sh
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
* refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Code is indented more than necessary.
Solution: Use an early return where it makes sense. (Yegappan Lakshmanan,
closes vim/vim#11792)
https://github.com/vim/vim/commit/1cfb14aa972ccf3235ac67f07b7db1175b7c5384
Partial port as some highlight.c changes depend on previous patches.
Cherry-pick fname_match() change from patch 8.2.4959.
Omit internal_func_check_arg_types(): only used for Vim9 script.
N/A patches for version.c:
vim-patch:9.0.1167: EditorConfig files do not have their own filetype
Problem: EditorConfig files do not have their own filetype.
Solution: Add the "editorconfig" filetype. (Gregory Anders, closes vim/vim#11779)
https://github.com/vim/vim/commit/d41262ed06564cef98a3800e2928e6e0db91abbf
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
|
| | |\ \ \
| | | | |
| | | | | |
fix(rpc): don't free args on error in rpc_send_event
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
fixup #21631
fixes #21690
|
| | |/ / /
| | | |
| | | |
| | | |
| | | | |
refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Some conditions are always false.
Solution: Remove the useless conditions. (closes vim/vim#11776)
https://github.com/vim/vim/commit/ea720aea851e645f4c8ec3b20afb27c7ca38184c
|
| | | | |
| | | |
| | | | |
Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Code is indented more than needed.
Solution: Use an early return to reduce indentation. (Yegappan Lakshmanan,
closes vim/vim#11769)
https://github.com/vim/vim/commit/dc4daa3a3915fba11ac87d27977240d9a5e0d47d
Omit expand_autoload_callback(): only applies to Vim9 script.
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
| | | | |
| | | |
| | | |
| | | | |
Only one of "fork" and "system" should be defined.
Also change the line above "win32" to match Vim.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Duplicating get_option_value() logic for an obscure future refactor
isn't really worthwhile, and findoption() isn't used anywhere else
outside the options code.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
reliable
Problem: Using ht_used when looping through a hashtab is less reliable.
Solution: Use ht_changed in a few more places.
https://github.com/vim/vim/commit/1f22cc5cdb2da867d6bbf54dd371f279c38a2f56
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: `chansend()` on Windows sends lines in reverse order.
Cause: Using \n instead of \r\n for newlines on Windows.
Solution: on Windows, use CRLF newline characters.
Fixes #18501
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(#21303)
Problem: Without /dev/urandom srand() seed is too predictable.
Solution: Use micro seconds and XOR with process ID. (Yasuhiro Matsumoto,
closes vim/vim#11656)
https://github.com/vim/vim/commit/f0a9c004825ab686270ee57260652cce25e61049
Co-authored-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Duplicate code for translating script-local function name.
Solution: Move the code to get_scriptlocal_funcname(). (Yegappan Lakshmanan,
closes vim/vim#9393)
https://github.com/vim/vim/commit/e7f4abd38b6e05100c699900c8f87281e363beb2
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
| | | | |
| | | |
| | | |
| | | | |
Problem: Crash when doing crazy things with hidden buffers.
Solution: Dynamically allocate the list of autocommand windows.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Using one window for executing autocommands is insufficient.
Solution: Use up to five windows for executing autocommands.
https://github.com/vim/vim/commit/e76062c078debed0df818f70e4db14ad7a7cb53a
N/A patches for version.c:
vim-patch:9.0.0966: some compilers don't allow a declaration after a label
Problem: Some compilers don't allow a declaration after a label.
Solution: Move the declaration to the start of the block. (John Marriott)
https://github.com/vim/vim/commit/f86490ed4fdab213a28f667abd055c023a73d645
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| | | | |
| | | |
| | | |
| | | | |
Cherry-picked from Vim patch 8.1.1612.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: deletebufline() may move marks in the wrong window.
Solution: Find a window for the buffer being changed. (closes vim/vim#11583)
https://github.com/vim/vim/commit/228e422855d43965f2c3319ff0cdc26ea422c10f
Cherry-pick code change from patch 9.0.0961.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|