Commit Graph

323 Commits

Author SHA1 Message Date
Dundar Göc
94120d2fd5 refactor: replace TRUE/FALSE with true/false 2021-07-30 12:29:32 +02:00
dundargoc
4547137aaf chore: use codespell to spell check #15016 2021-07-07 15:28:44 -07:00
shadmansaleh
b4ac878026 fix(source): Source giving E484 & parsing error at line 1 for lua files
It's happening because do_source is only expected to return FAIL when it
was unable to open file . But `nlua_exec_file` returns fail for parsing
and execution error too . Those errors are emitted through `nlua_error`.

So now return value of nlua_exec_file is ignored like do_cmdline. It now
only returns fail when it was unable to open file that check is done
before calling nlua_exec_file or do_cmdline. Errors in nlua_exec_file
are still directly emitted through nlua_error like before.
2021-06-21 13:07:05 +06:00
shadmansaleh
b4a216f7ed BugFix: Fix inconsistent verbose message
When a keymap is set from lua currently verbose message says
it's set from line 1. That's incorrect because we don't really know when
it was set. So until proper :verbose support isn't added for sourceing
lua it shouldn't say where it was set at.
2021-06-21 07:14:37 +06:00
shadmansaleh
1f280b582f fixup(runtime): Fix lua runtime files not listed
lua runtime files weren't listed in :scriptname & profiler.
This fixes that.

* Add tests

* Small doc tweeks
2021-06-13 00:27:52 +06:00
shadmansaleh
e1edc079dd refactor(source): Move lua file detection to do_source
So now :source can run lua files too :)

* feat: Add support for :[ranged]source for lua files
2021-06-11 01:01:03 +06:00
shadmansaleh
68be8b99cf feat(runtime): Allow lua to be used in compiler 2021-06-11 01:01:02 +06:00
Jan Edmund Lazo
d1238856a8 clang/'Logic error': has_profiling() may not set forceit 2021-06-02 21:24:01 -04:00
Jan Edmund Lazo
d2be261e8d Merge pull request #14403 from seandewar/vim-8.2.1933
vim-patch:8.2.{0174,1933,1935,1946,2286,2287}
2021-05-09 17:08:21 -04:00
Fabian Viöl
c9567704b7 get_str_line: Replace grow_array usage
A single xmemdupz is sufficient, as it is already
zero-terminating the string
2021-05-03 22:53:13 +02:00
Fabian Viöl
4d5516dc05 get_str_line: Simplify growarray usage 2021-04-30 14:42:02 +02:00
Fabian Viöl
766f4c3f62 get_str_line: Use heap instead of stack
The stack allocated buffer does introduce an arbitrary limit,
to the length of the line.

Previously, if the line was too long, it might be catched by a
stack smash canary or resulted into a crash.

This is not guaranteed though, and thus could result into undefined
behavior.

To mitigate this, an dynamic allocated buffer is replacing the stack
allocated buffer, with the initial capacity of the copied line.
2021-04-29 11:48:51 +02:00
Sean Dewar
1d72b6e4cd eval: port v:collate
Cherry-picked from patch v8.2.0988. Required for patch v8.2.1933.
2021-04-20 02:03:46 +01:00
Jan Edmund Lazo
ca214311d2 vim-patch:8.2.0069: ETYPE_ is used for two different enums
Problem:    ETYPE_ is used for two different enums.
Solution:   Rename one to use EXPR_.
87396072c5
2021-04-11 16:35:47 -04:00
Jan Edmund Lazo
53cbfd0220 vim-patch:8.2.0044: expression type is used inconsistently
Problem:    Expression type is used inconsistently.
Solution:   Add "ETYPE_IS" and "ETYPE_ISNOT" as separate enum values.  Rename
            "TYPE_" to "ETYPE_" to avoid confusion.
07a3db89b8
2021-04-11 16:34:53 -04:00
Jan Edmund Lazo
69bab7e35d vim-patch:8.0.1511: some code for the debugger watch expression is clumsy
Problem:    Some code for the debugger watch expression is clumsy.
Solution:   Clean up the code.
3198870137
2021-04-08 07:28:46 -04:00
Jan Edmund Lazo
1a1fe58f7e vim-patch:8.0.1505: debugger can't break on a condition
Problem:    Debugger can't break on a condition. (Charles Campbell)
Solution:   Add ":breakadd expr". (Christian Brabandt, closes vim/vim#859)
c6f9f739d3

Do not port "has_watchexpr()" to avoid dead code.
"has_watchexpr()" always returns 0 because "debug_expr" is always 0.

Restore "eval_expr()" as a wrapper to allocate "typval_T" for "eval0()".
Remove it in later patches.

Include "typval_compare()" changes from patch v8.1.0958,
partially ported in 8b60368c1b.

Close https://github.com/neovim/neovim/pull/12373

N/A patches for version.c:

vim-patch:8.2.2720: GTK menu tooltip moves the cursor

Problem:    GTK menu tooltip moves the cursor.
Solution:   Position the cursor after displaying the tooltip.  Do not show the
            tooltip when editing the command line.
01ac0a1f66
2021-04-08 07:28:46 -04:00
Jan Edmund Lazo
484370f206 clang/'Logic error': cmd_source_buffer() requires nonnull param 2021-04-02 08:23:40 -04:00
Jan Edmund Lazo
f32acc70e8 vim-patch:8.2.2236: 'scroll' option can change when setting the statusline
Problem:    'scroll' option can change when setting the statusline or tabline
            but the option context is not updated.
Solution:   Update the script context when the scroll option is changed as a
            side effect. (Christian Brabandt, closes vim/vim#7533)
746670604a
2021-03-02 00:35:52 -05:00
Vikram Pal
4d5dbea4f4 [RFC] ":source" sources from current buffer if filename is omitted (#11444)
Fix https://github.com/neovim/neovim/issues/8722
2021-02-18 01:25:51 -05:00
Jan Edmund Lazo
787446886f vim-patch:8.1.0341: :argadd in empty buffer changes the buffer name
Problem:    :argadd in empty buffer changes the buffer name. (Pavol Juhas)
Solution:   Don't re-use the current buffer when not going to edit the file.
            (closes vim/vim#3397)  Do re-use the current buffer for :next.
32bbd00949
2021-02-10 17:54:24 -05:00
Jan Edmund Lazo
7484c7de9a eval: use char* for set_internal_string_var()
"name" param was cast to (const char *).
All calls to set_internal_string_var() cast from (char *) to (char_u *).
Remove these useless casts.
2021-02-07 17:27:59 -05:00
Jan Edmund Lazo
b2713f11b4 vim-patch:8.2.2430: :vimgrep expands wildcards twice (#13853)
Problem:    :vimgrep expands wildcards twice.
Solution:   Do not expand wildcards a second time.
f8c6a17180
2021-01-31 10:10:22 -05:00
erw7
35dc6d6e87 vim-patch:8.1.1261: no error for quickfix commands with negative range
Problem:    No error for quickfix commands with negative range.
Solution:   Add ADDR_UNSIGNED and use it for quickfix commands.  Make
            assert_fails() show the command if the error doesn't match.
25190db225

N/A patches for version.c:

vim-patch:8.2.0113: "make cmdidxs" fails

Problem:    "make cmdidxs" fails.
Solution:   Allow address for ":cquit".  Add --not-a-term to avoid a delay.
9b24dfcb9f
2021-01-01 04:57:50 -05:00
Jan Edmund Lazo
cff4cad25a vim-patch:8.2.2231: when "--remote file" is used "file" is not reloaded
Problem:    When "--remote file" is used "file" is not reloaded.
Solution:   When a :drop command is used for a file that is already displayed
            in a window and it has not been changed, check if it needs to be
            reloaded. (closes vim/vim#7560)
e4862a0fe6

Remove unused "focus" parameter from "buf_check_timestamp()".
It was meant for removed GUI code.
2020-12-27 14:37:19 -05:00
Jan Edmund Lazo
56f5e3bd6b vim-patch:8.0.1525: using :wqa exits even if a job runs in a terminal window
Problem:    Using :wqa exits even if a job runs in a terminal window. (Jason
            Felice)
Solution:   Check if a terminal has a running job. (closes vim/vim#2654)
7a76092a51
2020-12-01 08:52:33 -05:00
Jan Edmund Lazo
24ab81bd46 fixup! vim-patch:8.0.0858: check if job terminal is running #10908 2020-12-01 00:16:23 -05:00
Björn Linse
104749440d Merge pull request #13379 from bfredl/runtime
runtime: extract 'runtimepath' and 'packpath' logic to its own file
2020-11-25 13:15:01 +01:00
Björn Linse
72d29847d6 runtime: extract 'runtimepath' and 'packpath' logic to its own file
No code changes, except for added ILOG for the calculated startup path
2020-11-25 12:15:55 +01:00
James McCoy
e26d074fed Add eap->skip checks to script_host_{execute_file,do_range}
As a safety measure, return immediately from these functions if
eap->skip is set.  This is set when VimL is being parsed, to skip past
dead code, and should not be executed.
2020-11-22 22:48:04 -05:00
Björn Linse
a119fe15da startup: load files from &packpath . '/start/{pluginname}'
Quoting the existing docs:

    Packages are loaded.  These are plugins, as above [&runtimepath], but
    found in the "start" directory of each entry in 'packpath'.  Every
    plugin directory found is added in 'runtimepath' and then the plugins
    are sourced.

Also tj didn't think I could do it.
2020-11-19 14:31:07 +01:00
Björn Linse
c60c7375f5 startup: handle autoload and lua packages during startup
¡NO HAY BANDA!
2020-11-02 15:21:36 +01:00
Jan Edmund Lazo
242af4dc99 vim-patch:8.1.1795: no syntax HL after splitting windows with :bufdo
Problem:    No syntax HL after splitting windows with :bufdo. (Yasuhiro
            Matsumoto)
Solution:   Trigger Syntax autocommands in buffers that are active.
            (closes vim/vim#4761)
c7f1e40021
2020-10-17 13:48:52 -04:00
Justin M. Keyes
858c056133 Support for :perl, :perlfile, :perldo and perleval() (#12809)
* support for :perl, :perlfile, :perldo and perleval()

* document that the perl provider doesn't currently work on Windows

* document that the perl legacy interface is now also supported

* added perleval() documentation

* import legacy perl interface tests

* only perl 5.22+ is supported

* healtcheck: use g:perl_host_prog if its set instead

using just 'perl' isn't correct as it may not be the version requested.
ditto for 'cpanm', rather go through 'App::cpanminus' to find the latest
perl version
2020-09-05 13:55:06 -07:00
Jacques Germishuys
a166c2aadb eval_call_provider(): free unused return value #12819
Caller can pass discard=true to free the unwanted return value.
2020-09-01 20:22:42 -07:00
Jacques Germishuys
9bef25314e support for :perl, :perlfile, :perldo and perleval() 2020-08-30 17:19:05 +01:00
Jan Edmund Lazo
45615cedd1 vim-patch:8.2.1472: ":argdel" does not work like ":.argdel" as documented
Problem:    ":argdel" does not work like ":.argdel" as documented. (Alexey
            Demin)
Solution:   Make ":argdel" work like ":.argdel". (closes vim/vim#6727)
            Also fix giving the error "0 more files to edit".
7b22117c4e
2020-08-17 23:34:39 -04:00
Matthieu Coudron
8c588246a5 Merge pull request #10905 from erw7/vim-8.1.0475
vim-patch:8.1.{475,800,868,1007,1027,1031,1033,1037,1058,1435,1484,1485}
2020-05-25 14:01:36 +02:00
erw7
949783fdfa viml/profile: fix issue where profile is not reset on stop 2020-05-09 11:21:52 +09:00
erw7
861aade680 viml/profile: fix use after free
fixes #12255.
2020-05-09 11:21:52 +09:00
erw7
17f067f4b4 vim-patch:8.1.0475: memory not freed on exit when quit in autocmd
Problem:    Memory not freed on exit when quit in autocmd.
Solution:   Remember funccal stack when executing autocmd.
27e80c885b
2020-05-07 16:00:46 +09:00
Jan Edmund Lazo
88f4650114 vim-patch:8.2.0688: output clobbered if setting 'verbose' to see shell commands
Problem:    Output clobbered if setting 'verbose' to see shell commands.
Solution:   Only output "Searching for" when 'verbose' is 11 or higher.
647a530b33
2020-05-03 13:40:25 -04:00
Jakub Łuczyński
5e815edece rename: user_funcs -> userfunc
Lets stick with vim for now
2020-02-13 14:11:55 +01:00
Jakub Łuczyński
d50c1123d5 fix: includes 2020-02-13 14:11:53 +01:00
Jan Edmund Lazo
1cbe8d6d78 vim-patch:8.0.1593: :qall never exits active :terminal #11704
Problem:    :qall never exits with an active terminal window.
Solution:   Add a way to kill a job in a terminal window.
25cdd9c33b
2020-01-11 16:31:05 -08:00
Justin M. Keyes
c34130d13a API: deprecate nvim_command_output 2019-12-02 20:52:06 -08:00
Justin M. Keyes
b1991f66d5 API: rename nvim_source => nvim_exec
- Eliminate nvim_source_output(): add boolean `output` param to
  nvim_exec() instead.
2019-12-01 22:35:15 -08:00
Vikram Pal
bd43e011b5 API: nvim_source_output
- Similar to nvim_source but will capture the output
- Add meaningful VimL tracebacks for nvim_source
- Handle got_int
- Add error reporting
2019-12-01 19:07:57 -08:00
Justin M. Keyes
276c2da286 API: nvim_source: fix multiline input
- DOCMD_REPEAT is needed to source all lines of input.
- Fix ":verbose set {option}?" by handling SID_STR in get_scriptname().

closes #8722
2019-12-01 16:09:24 -08:00
Vikram Pal
0a8d145075 API: nvim_source: save/restore script context #11159
Use a constant for the script id.
2019-12-01 16:09:24 -08:00