dundargoc
3b0df1780e
refactor: uncrustify
...
Notable changes: replace all infinite loops to `while(true)` and remove
`int` from `unsigned int`.
2023-04-26 23:23:44 +02:00
Andreas Schneider
9e79f7433e
fix(usercmd): Fix buffer overflow in uc_list() ( #23225 )
...
fix(usercmd): fix buffer overflow in uc_list()
Build with: -Wp,-D_FORTIFY_SOURCE=3 -O1 and gcc 13.
*** buffer overflow detected ***: terminated
(gdb) bt
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1 0x00007f3eb8b93c03 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2 0x00007f3eb8b42aee in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007f3eb8b2b87f in __GI_abort () at abort.c:79
#4 0x00007f3eb8b2c60f in __libc_message (fmt=fmt@entry=0x7f3eb8ca72e6 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:150
#5 0x00007f3eb8c27b29 in __GI___fortify_fail (msg=msg@entry=0x7f3eb8ca728c "buffer overflow detected") at fortify_fail.c:24
#6 0x00007f3eb8c26364 in __GI___chk_fail () at chk_fail.c:28
#7 0x00007f3eb8c25f45 in ___snprintf_chk (s=s@entry=0x55b8c7c096a5 <IObuff+5> "t' item", maxlen=maxlen@entry=1025, flag=flag@entry=2, slen=slen@entry=1020, format=format@entry=0x55b8c7b872a6 "%ldc") at snprintf_chk.c:29
#8 0x000055b8c7aea59f in snprintf (__fmt=0x55b8c7b872a6 "%ldc", __n=1025, __s=0x55b8c7c096a5 <IObuff+5> "t' item") at /usr/include/bits/stdio2.h:54
#9 uc_list (name=name@entry=0x55b8c8351788 "Explore", name_len=name_len@entry=7) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:534
#10 0x000055b8c7aeb8a0 in ex_command (eap=0x7fffdc350e60) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/usercmd.c:1009
#11 0x000055b8c7972537 in execute_cmd0 (retv=retv@entry=0x7fffdc350e54, eap=eap@entry=0x7fffdc350e60, errormsg=errormsg@entry=0x7fffdc350e58, preview=preview@entry=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:1620
#12 0x000055b8c7975c55 in do_one_cmd (cmdlinep=cmdlinep@entry=0x7fffdc3510b8, flags=flags@entry=0, cstack=cstack@entry=0x7fffdc351140, fgetline=fgetline@entry=0x55b8c79882b8 <getexline>, cookie=cookie@entry=0x0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:2279
#13 0x000055b8c79767fe in do_cmdline (cmdline=<optimized out>, fgetline=0x55b8c79882b8 <getexline>, cookie=0x0, flags=0) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/ex_docmd.c:578
#14 0x000055b8c7a17463 in nv_colon (cap=0x7fffdc351780) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:3228
#15 0x000055b8c7a11b35 in normal_execute (state=0x7fffdc351700, key=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:1196
#16 0x000055b8c7ab0994 in state_enter (s=0x7fffdc351700) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/state.c:99
#17 0x000055b8c7a0ef68 in normal_enter (cmdwin=false, noexmode=false) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/normal.c:497
#18 0x000055b8c78a0640 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/neovim-0.9.0-1.fc38.x86_64/src/nvim/main.c:641
2023-04-21 19:16:32 +08:00
bfredl
e4a136f713
feat(ex_cmds)!: remove :behave
...
just use the individual options instead.
set selection=exclusive
set selectmode=mouse,key
set mousemodel=popup
set keymodel=startsel,stopsel
2023-04-13 12:15:30 +02:00
ii14
9408f2dcf7
refactor: remove redundant const char * casts
2023-04-07 19:40:57 +02:00
ii14
7190dba017
refactor: remove use of reserved c++ keywords
...
libnvim couldn't be easily used in C++ due to the use of reserved keywords.
Additionally, add explicit casts to *alloc function calls used in inline
functions, as C++ doesn't allow implicit casts from void pointers.
2023-04-06 22:39:50 +02:00
ii14
371823d407
refactor: make error message definitions const
...
message.c functions now take const char * as a format. Error message
definitions can be made const.
2023-04-05 21:13:53 +02:00
zeertzjq
3507474611
vim-patch:9.0.1332: crash when using buffer-local user command in cmdline window ( #22346 )
...
Problem: Crash when using buffer-local user command in cmdline window.
(Karl Yngve Lervåg)
Solution: Use the right buffer to find the user command. (closes vim/vim#12030 ,
closes vim/vim#12029 )
b444ee761a
2023-02-20 23:55:42 +08:00
dundargoc
4be6c6cf0d
refactor: replace char_u with char ( #21901 )
...
refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
2023-02-11 11:05:57 +01:00
dundargoc
7224c889e0
build: enable MSVC level 3 warnings ( #21934 )
...
MSVC has 4 different warning levels: 1 (severe), 2 (significant), 3
(production quality) and 4 (informational). Enabling level 3 warnings
mostly revealed conversion problems, similar to GCC/clang -Wconversion
flag.
2023-02-11 10:25:24 +01:00
zeertzjq
6644786db0
vim-patch:9.0.1227: no cmdline completion for :runtime
...
Problem: No cmdline completion for :runtime.
Solution: Add completion for :runtime. (closes vim/vim#11853 , closes vim/vim#11447 )
Improve the resulting matches.
a6759381a5
2023-01-26 11:55:32 +08:00
Lucas Merritt
1453c7163d
refactor(PVS/V1048): remove unnecessary assignment ( #21870 )
2023-01-18 07:22:25 +08:00
dundargoc
0344bfad0f
refactor: replace char_u with char 22 ( #21786 )
...
Work on https://github.com/neovim/neovim/issues/459
2023-01-17 21:17:40 +08:00
zeertzjq
3db2139195
vim-patch:8.2.4617: no completion for :scriptnames
...
Problem: No completion for :scriptnames.
Solution: Implement :scriptnames completion. (Yegappan Lakshmanan,
closes vim/vim#10005 )
454ce6737c
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com >
2023-01-17 20:26:06 +08:00
zeertzjq
f2056e4045
vim-patch:8.2.4565: no command line completion for :breakadd and :breakdel
...
Problem: No command line completion for :breakadd and :breakdel.
Solution: Add completion for :breakadd and :breakdel. (Yegappan Lakshmanan,
closes vim/vim#9950 )
6e2e2cc95b
2023-01-15 07:59:45 +08:00
zeertzjq
686168c648
vim-patch:8.2.4398: some command completion functions are too long ( #21799 )
...
Problem: Some command completion functions are too long.
Solution: Refactor code into separate functions. Add a few more tests.
(Yegappan Lakshmanan, closes vim/vim#9785 )
b31aec3b93
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com >
2023-01-14 22:28:21 +08:00
dundargoc
e89c39d6f0
refactor: replace char_u with char 21 ( #21779 )
...
refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
2023-01-14 15:58:28 +08:00
dundargoc
ef67503320
refactor: replace char_u with char 19 ( #21241 )
...
* refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
2023-01-10 10:28:01 +08:00
dundargoc
50f03773f4
refactor: replace char_u with char 18 ( #21237 )
...
refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
2023-01-09 22:37:34 +08:00
zeertzjq
ff62d76193
vim-patch:9.0.1079: leaking memory when defining a user command fails
...
Problem: Leaking memory when defining a user command fails.
Solution: Free "compl_arg" when needed. (closes vim/vim#11726 )
33e543038b
2022-12-20 05:26:52 +08:00
dundargoc
3b96ccf7d3
refactor: replace char_u with char
...
Work on https://github.com/neovim/neovim/issues/459
2022-11-28 14:53:35 +01:00
dundargoc
66360675cf
build: allow IWYU to fix includes for all .c files
...
Allow Include What You Use to remove unnecessary includes and only
include what is necessary. This helps with reducing compilation times
and makes it easier to visualise which dependencies are actually
required.
Work on https://github.com/neovim/neovim/issues/549 , but doesn't close
it since this only works fully for .c files and not headers.
2022-11-15 10:30:03 +01:00
dundargoc
731cdde28e
refactor: fix clang-tidy warnings
...
Enable and fix bugprone-misplaced-widening-cast warning.
Fix some modernize-macro-to-enum and readability-else-after-return
warnings, but don't enable them. While the warnings can be useful, they
are in general too noisy to enable.
2022-11-06 11:44:10 +01:00
dundargoc
4716a578ae
docs: fix typos
2022-11-02 21:45:26 +08:00
dundargoc
b05d1943f0
build(lint): remove clint.py rules for braces #20880
...
Uncrustify is the source of truth where possible.
Remove any redundant checks from clint.py.
See also https://github.com/neovim/neovim/pull/18563
2022-11-01 07:39:49 -07:00
dundargoc
784e498c4a
refactor: clang-tidy fixes to silence clangd warning ( #20683 )
...
* refactor: readability-uppercase-literal-suffix
* refactor: readability-named-parameter
* refactor: bugprone-suspicious-string-compare
* refactor: google-readability-casting
* refactor: readability-redundant-control-flow
* refactor: bugprone-too-small-loop-variable
* refactor: readability-non-const-parameter
* refactor: readability-avoid-const-params-in-decls
* refactor: google-readability-todo
* refactor: readability-inconsistent-declaration-parameter-name
* refactor: bugprone-suspicious-missing-comma
* refactor: remove noisy or slow warnings
2022-10-21 20:47:44 +08:00
zeertzjq
4d896be681
vim-patch:9.0.0786: user command does not get number from :tab modifier ( #20716 )
...
Problem: User command does not get number from :tab modifier.
Solution: Include the number. (closes vim/vim#11393 , closes vim/vim#6901 )
208567e9d7
2022-10-18 20:46:42 +08:00
Lewis Russell
288208257c
feat(cscope)!: remove
2022-10-13 16:37:23 +01:00
Dundar Göc
3ff46544c9
refactor: replace char_u with char
...
Work on https://github.com/neovim/neovim/issues/459
2022-09-11 13:28:59 +02:00
Dundar Göc
c5322e752e
refactor: replace char_u with char
...
Work on https://github.com/neovim/neovim/issues/459
2022-09-09 21:02:42 +02:00
zeertzjq
56bf026dea
vim-patch:9.0.0346: :horizontal modifier not fully supported
...
Problem: :horizontal modifier not fully supported.
Solution: Also use :horizontal for completion and user commands.
(closes vim/vim#11025 )
d3de178e53
2022-09-01 20:28:23 +08:00
Dundar Göc
fb1edb2f57
refactor: replace char_u with char
...
Work on https://github.com/neovim/neovim/issues/459
2022-08-31 13:47:18 +02:00
dundargoc
2828aae7b4
refactor: replace char_u with char 4 ( #19987 )
...
* refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
2022-08-30 14:52:09 +02:00
Dundar Göc
58f30a326f
refactor: replace char_u with char
...
Work on https://github.com/neovim/neovim/issues/459
2022-08-29 15:48:56 +02:00
Lewis Russell
2498e9feb0
refactor: change FALSE/TRUE to false/true
...
Co-authored-by: zeertzjq <zeertzjq@outlook.com >
2022-08-26 09:36:55 +01:00
zeertzjq
274e1122ad
fix(usercmd): also check for whitespace after escaped character ( #19942 )
2022-08-25 17:57:32 +08:00
zeertzjq
f52c236c5b
vim-patch:8.2.0056: execution stack is incomplete and inefficient
...
Problem: Execution stack is incomplete and inefficient.
Solution: Introduce a proper execution stack and use it instead of
sourcing_name/sourcing_lnum. Create a string only when used.
1a47ae32cd
Omit test_debugger.vim: superseded by later patches.
Omit check_map_keycodes(): N/A.
Omit kword_test.c: N/A (converted to a unit test).
2022-08-14 04:29:44 +08:00
zeertzjq
342d18b91e
refactor: remove some unused includes ( #19740 )
...
Mostly avoids including eval.h, ex_cmds2.h and ex_docmd.h in other
headers.
2022-08-12 21:16:28 +08:00
Dundar Goc
094cdf2d69
refactor: replace char_u with char
...
Work on https://github.com/neovim/neovim/issues/459
2022-08-12 14:22:02 +02:00
zeertzjq
0df1418ffa
vim-patch:8.2.1873: Vim9: missing white space when using <f-args> ( #19657 )
...
Problem: Vim9: missing white space when using <f-args>.
Solution: Add spaces. (Christian J. Robinson)
20d89e0ac6
2022-08-06 20:05:46 +08:00
zeertzjq
5eb8119dce
vim-patch:8.2.3282: Vim9: error about using -complete without -nargs is confusing ( #19656 )
...
Problem: Vim9: error about using -complete without -nargs is confusing.
Solution: Change the wording.
41a3485dd6
2022-08-06 19:18:43 +08:00
zeertzjq
ad7064bd83
vim-patch:8.1.1210: support for user commands is spread out ( #19653 )
...
Problem: Support for user commands is spread out. No good reason to make
user commands optional.
Solution: Move user command support to usercmd.c. Always enable the
user_commands feature.
ac9fb18020
2022-08-06 17:14:37 +08:00