Commit Graph

11617 Commits

Author SHA1 Message Date
Dundar Göc
dfd9d861dc refactor: replace TRUE/FALSE with true/false
Focus is on global variables.
2021-07-26 17:12:35 +02:00
Dundar Göc
11dcf15682 refactor: replace TRUE/FALSE macros with C99 true/false 2021-07-25 21:51:50 +02:00
Björn Linse
192adfe99f Merge pull request #14311 from matveyt/nomode_ce
refactor(state): Remove EXMODE_NORMAL
2021-07-25 19:35:23 +02:00
dundargoc
f15c745502 chore: PVS/V751: ignore warning #15153
There's already an ignore directive but it's placed on the wrong line.
This commit should correct it.
2021-07-25 10:19:56 -07:00
Gregory Anders
860aedd06b fix: source syncolors.vim after startup scripts
This fixes an issue introduced in #14771 (fix: source syncolors.vim
before startup scripts) that affected highlights for users who set
'background' to light in their startup script. Because syncolor.vim
checks for the value of &background, it was always setting up the 'dark'
background colors, which looked wrong for users using light backgrounds.

The primary benefit of #14771 is that it decoupled highlighting from the
syntax engine. This is useful for e.g. treesitter, which still makes use
of highlights even if the syntax engine is disabled. For this reason, it
is still worthwhile to source syncolor.vim separately from synload.vim,
which #14771 accomplishes. However, we should still source syncolor.vim
after the user startup scripts, to ensure that we are respecting the
options the user sets.

Another corollary benefit is that this reduces some redundancy in
highlight definitions, since we now only source syncolors.vim if the
user did not already enable a colorscheme.
2021-07-24 10:28:16 -06:00
matveyt
8ce0929418 Remove EXMODE_NORMAL 2021-07-23 18:08:40 +02:00
Björn Linse
ea35584bac Merge pull request #14771 from gpanders/colorscheme
fix: source syncolors.vim before startup scripts
2021-07-22 14:10:56 +02:00
Björn Linse
223c355040 Merge pull request #15127 from bfredl/nlua_init
refactor(lua): initialize lua state at startup instead of dynamically
2021-07-19 22:27:55 +02:00
James McCoy
3b2a85ff76 Merge pull request #15070 from dundargoc/PVS/V768
[RDY] chore(PVS/V768): don't use enum as bool.
2021-07-19 11:29:09 -04:00
Björn Linse
e877eccafd refactor(lua): initialize lua state at startup instead of dynamically
lua is used as part of implementation for more core features. As an
example, every user keypress will invoke a lua function to check for
keypress handlers (regardless if they are registered or not). Thus not
starting lua until it is first used doesn't make much sense anymore.

nlua_enter was also needed due to the earlier stateful &rtp
translation, which by now have been made stateless.
2021-07-19 16:12:39 +02:00
Dundar Göc
192c21ccde chore(PVS/V768): don't use enum as bool. 2021-07-19 14:42:39 +02:00
Justin M. Keyes
6f9e219f60 chore(PVS/V751): tui.c, Parameter is not used
False positive. Documentation for grid_scroll says "`cols` is always
zero, reserved for future use".
2021-07-18 11:47:09 +02:00
Gregory Anders
0bcf96bf0b fix: source syncolors.vim before startup scripts
This fixes an issue (#12573) where colorscheme files are sourced twice
upon startup. This occurs when the startup script calls `:colorscheme`,
which sets the `g:colors_name` global variable. When syntax highlighting
is enabled in `syn_maybe_enable()` the `syntax.vim` script is sourced
which in turn sources `synload.vim`. This script checks to see if
`g:colors_name` is set and, if so, runs

    exe "colors " . colors_name

This is done to ensure that highlight groups are defined before enabling
the syntax highlighting engine.

Instead, source syncolors.vim before the startup scripts which sets up
default highlights and only load the full syntax engine after
the startup scripts or when the user runs `:syntax on`. Add a guard
variable `did_syncolor` to prevent syncolor.vim from being sourced
twice and remove the line mentioned above from synload.vim so that
the colorscheme file is not re-sourced when the syntax engine is loaded.
2021-07-14 20:51:36 -06:00
Björn Linse
f0cc3a9480 refactor(options): remove obsolete distinction of "vi" vs "vim" defaults
It might come as a schocking surprise, but the defaults we support
are the NEOVIM defaults.
2021-07-14 21:54:19 +02:00
Björn Linse
fc869da6dc refactor(options): delet unused P_VIM flag 2021-07-14 21:06:07 +02:00
Gregory Anders
d7382475b3 Fix line length clint error 2021-07-12 12:17:44 -06:00
Gregory Anders
35e13df3c8 Rename stdin to stdin_mode
stdin is a macro in Windows builds.
2021-07-12 12:17:44 -06:00
Gregory Anders
eb7f24b4ae feat(job): add parameter to close stdin
Some programs behave differently when they detect that stdin is being
piped. This can be problematic when these programs are used with the job
control API where stdin is attached, but not typically used. It is
possible to run the job using a PTY which circumvents this problem, but
that includes a lot of overhead when simply closing the stdin pipe would
suffice.

To enable this behavior, add a new parameter to the jobstart options
dict called "stdin" with two valid values: "pipe" (the default)
implements the existing behavior of opening a channel for stdin and
"null" which disconnects stdin (or, if you prefer, connects it to
/dev/null). This is extensible so that other modes can be added in the
future.
2021-07-12 15:17:10 +02:00
ansimita
e5b75d41db chore(clang): Fix 'Array subscript is undefined' #15057 2021-07-11 07:59:23 -07:00
Daniel Steinberg
79fe9dedcf window.c: address Coverity failure #14996
Check that `wip2` does not point to the same address as `wip`, to address the
Coverity test failure from PR #14884.

Based on the `if` clauses, `free_wininfo(wip2, ...)` is only called when
`wip2->wi_win == NULL` and `wip->wi_win == wp`. I think `wip2` would only point
to the same address as `wip` in scenarios where `wp` were `NULL`, which can be
assumed otherwise based on the earlier code.
2021-07-10 21:32:37 -07:00
Thomas Vigouroux
ff53c5585f refactor(undo): don't assume curbuf in u_compute_hash 2021-07-09 15:36:07 +02:00
Björn Linse
1c41689287 Merge pull request #12971 from vigoux/decurbuf
Decrease reliance on curbuf in BUFEMPTY and `undo.c`
2021-07-09 10:15:18 +02:00
Thomas Vigouroux
9c93e6461c refactor(undo): remove last occurence of save_curbuf 2021-07-08 23:08:42 +02:00
Thomas Vigouroux
b35fefc57f refactor: remove all mentions to curbuf_lock 2021-07-08 23:08:27 +02:00
dundargoc
980d50d90e vim-patch:8.2.3125: variables are set but not used #15028
Problem:    Variables are set but not used.
Solution:   Move the declarations to the block where they are used.
            (closes vim/vim#8527)
09f688c33a
2021-07-08 11:04:46 -07:00
dundargoc
4339f528db vim-patch:8.2.3089: garbage collection has useless code #15027
Problem:    Garbage collection has useless code.
Solution:   Bail out when aborting. (closes vim/vim#8504)
20cc528320
2021-07-08 11:03:33 -07:00
dundargoc
4547137aaf chore: use codespell to spell check #15016 2021-07-07 15:28:44 -07:00
dundargoc
e2bc7e321b clang/'Dead initialization': don't assign unused value to variable "string" #15015 2021-07-07 14:25:27 -07:00
dundargoc
0fd3f9130d clang/'Dead nested assignment': don't assign unused value to precision #15012 2021-07-07 13:17:03 -07:00
Thomas Vigouroux
f8ed13c0dc style(undo): remove unnecessary comment 2021-07-06 19:52:26 +02:00
Thomas Vigouroux
e5804d46fd fix(qf): use correct buffer field 2021-07-06 19:51:59 +02:00
Thomas Vigouroux
7970631fa0 buffer: move BUFEMPTY to a function 2021-07-06 19:12:15 +02:00
Thomas Vigouroux
763c852812 undo: reduce reliance on curbuf 2021-07-06 19:08:32 +02:00
Thomas Vigouroux
55a2c513aa buffer: don't rely on curbuf in BUFEMPTY 2021-07-06 19:07:11 +02:00
dundargoc
df33f30e88 clang/'Dead assignment': ignore warning #15000
This assignment is informative/documenting though technically unnecessary.
https://github.com/neovim/neovim/pull/11900#discussion_r381860165 .
2021-07-05 18:59:27 -07:00
Lewis Russell
65b0918c24 signs: Change b_signcols_max -> b_signcols_valid
b_signcols_max isn't used to store the max value, it is use to
invalidate b_signcols.
2021-07-04 21:50:27 +01:00
Jan Edmund Lazo
0d75b0d8d4 vim-patch:8.2.3097: crash when using "quit" at recovery prompt
Problem:    Crash when using "quit" at recovery prompt and autocommands are
            triggered.
Solution:   Block autocommands when creating an empty buffer to use as the
            current buffer. (closes vim/vim#8506)
1d97efce0c
2021-07-04 09:22:50 -04:00
Jan Edmund Lazo
ce4d424bfc vim-patch:8.2.3093: tablabel_tooltip test fails with Athena
Problem:    tablabel_tooltip test fails with Athena. (Dominique Pellé)
Solution:   Skip the test when using Athena. (closes vim/vim#8508)
fb773a3e0a
2021-07-04 09:22:50 -04:00
Jan Edmund Lazo
37959e8865 vim-patch:8.2.3088: with 'virtualedit' set to "block" Visual highlight is wrong
Problem:    With 'virtualedit' set to "block" Visual highlight is wrong after
            using "$".  (Marco Trosi)
Solution:   Do not set w_old_cursor_lcol to MAXCOL. (closes vim/vim#8495)
9cee4a1c9c
2021-07-04 09:22:50 -04:00
Jan Edmund Lazo
c2a7e445ce vim-patch:8.2.3087: Gemtext files are not recognized
Problem:    Gemtext files are not recognized.
Solution:   Recognize .gmi and .gemini files. (closes vim/vim#8427)
fcde67c99f
2021-07-04 09:22:49 -04:00
Jan Edmund Lazo
d7060183b8 vim-patch:8.2.3085: JSONC files are not recognized
Problem:    JSONC files are not recognized.
Solution:   Recognize .jsonc files. (Izhak Jakov, closes vim/vim#8500)
acbb4b5720

N/A patches for version.c:

vim-patch:8.2.3081: cannot catch errors in a channel command

Problem:    Cannot catch errors in a channel command.
Solution:   Instead of skipping the error make it silent. (closes vim/vim#8477)
11a632d60b

vim-patch:8.2.3082: a channel command "echoerr" does not show anything

Problem:    A channel command "echoerr" does not show anything.
Solution:   Do not use silent errors when using an "echoerr" command.
            (closes vim/vim#8494)
b836f631db

vim-patch:8.2.3094: Test_popup_atcursor_pos() fails without the conceal feature

Problem:    Test_popup_atcursor_pos() fails without the conceal feature.
Solution:   Add a check for the conceal feature. (Dominique Pellé,
            closes vim/vim#8505)
c60e959cba

vim-patch:8.2.3098: popup window test is flaky on MS-Windows with GUI

Problem:    Popup window test is flaky on MS-Windows with GUI.
Solution:   Skip the check in this situation.
999db2346b
2021-07-04 09:22:45 -04:00
dundargoc
75f758b993 fix(clint): fix link to style guide. (#14975) 2021-07-03 09:09:02 -07:00
dundargoc
ee2c7095c4 refactor(memfile_test): replace long_u type with size_t. #14974
long_u was a custom integer type that is no longer used.
More information can be found in https://github.com/neovim/neovim/issues/459.
2021-07-03 08:23:15 -07:00
dundargoc
70223babb0 PVS/V1051: Ignore "modulo by 1" warning for ARRAY_SIZE. (#14943)
The warning is triggered by the second division when arr is a char array
since sizeof(char) is 1. A modulo by 1 may normally indicate a logic
error, but in this case it's intended.
2021-07-03 07:50:05 -07:00
Justin M. Keyes
05330ba508 doc/startup: cleanup; assign ENN to "conflicing configs" msg (#14971) 2021-07-03 06:31:00 -07:00
Björn Linse
b6ff02e27b ex_cmds: verify invalid command name 2021-07-02 17:44:44 +02:00
Björn Linse
7685fc9ecd Merge pull request #14864 from seandewar/get-config-zindex
fix(api/win_get_config): include z-index
2021-07-02 14:52:08 +02:00
Érico Nogueira Rolim
f35a5f2efc Revert "tui: improve support for tmux, GNU Screen" (#14786)
* Revert "tui: improve support for tmux, GNU Screen"

This reverts commit c266c2f36e.

This commit broke neovim under tmux, where it "types" the background
string as input to the terminal. Fixing this with neovim as-is requires
changing tmux keybindings or TERM settings, which has to be done by
every single user, therefore a fix should happen on neovim's side.

Fixes #14298

* tui: fix code lints.
2021-06-30 21:29:51 -04:00
Daniel Steinberg
8bd6990084 vim-patch:8.2.1905: the wininfo list may contain stale entries (#14884)
Problem:    The wininfo list may contain stale entries.
Solution:   When closing a window remove any other entry where the window
            pointer is NULL.
4882d98339
2021-06-30 21:24:50 -04:00
Jan Edmund Lazo
b2cc43b454 vim-patch:8.2.3072: "zy" does not work well when "virtualedit' is "block"
Problem:    The "zy" command does not work well when 'virtualedit' is set to
            "block". (Johann Höchtl)
Solution:   Make endspaces zero. (Christian Brabandt, closes vim/vim#8468,
            closes vim/vim#8448)
7d7bcc6ba0

N/A patches for version.c:

vim-patch:8.2.3075: xxd always reports an old version string

Problem:    Xxd always reports an old version string. (Åsmund Ervik)
Solution:   Update the version string with the last known change date.
            (Jürgen Weigert, closes vim/vim#8475)
80b2ba3e96
2021-06-29 21:40:48 -04:00