| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| | |
Also renames functions added in master and renamed here.
|
| |
| |
| |
| | |
Also fixed an error in path_fnamecmp().
|
| | |
|
| |
| |
| |
| | |
Function was renamed and changed to return `const char *`.
|
| |
| |
| |
| | |
Also fixes buffer reusage in setmatches() and complete().
|
| | |
|
| |
| |
| |
| |
| |
| | |
Problem: Attempt to read history entry while not initialized.
Solution: Skip when the index is negative.
https://github.com/vim/vim/commit/46643713dc6bb04b4e84986b1763ef309e960161
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Use `char *` for strings.
2. Add `const` qualifiers.
3. Add attributes and documentation.
4. Handle skipping *inside*.
5. Handle non-heredoc argument also inside: deferring this to the caller is
pointless because all callers need the same thing. Though new ex_lua caller
may live without allocations in this case, allocating nevertheless produces
cleaner code.
6. Note that all callers call script_get with `eap` and `eap->arg`. Thus second
argument is useless in practice: it is one and the same always and can be
reached through the first argument.
|
|
|
|
|
|
| |
* The allow_keys global is unused in nvim, remove it
* clint
|
|
|
|
|
|
|
|
| |
Problem: The command selected in the command line window is not executed.
(Andrey Starodubtsev)
Solution: Save and restore the command line at a lower level. (closes vim/vim#1370)
https://github.com/vim/vim/commit/1d669c233c97486555a34f7d3f069068d9ebdb63
|
|
|
|
|
|
|
|
|
|
|
| |
References #5406
Problem: Using a NULL pointer when using feedkeys() to trigger drawing a
tabline.
Solution: Skip drawing a tabline if TabPageIdxs is NULL. (Dominique Pelle)
Also fix recursing into getcmdline() from the cmd window.
https://github.com/vim/vim/commit/c695cec4698b41d7b9555efdd47dda9b1945d3ae
|
| |
|
|
|
|
|
|
|
|
| |
Main points:
- Replace `char_u` with `char` in some cases.
- Remove `str[len] = NUL` hack in some cases when `str` may be considered
`const`.
|
|
|
|
|
|
|
|
|
|
| |
Problem: More buf_valid() calls can be optimized.
Solution: Use bufref_valid() instead.
NOTE: Some changes related to channels and the Python and Netbeans interfaces
were obviously left out.
https://github.com/vim/vim/commit/7c0a2f367f2507669560b1a66423155c70d2e75b
|
|
|
|
| |
Closes #5912
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vim-patch:8.0.0058
Problem: Positioning of the popup menu is not good.
Solution: Position it better. (Hirohito Higashi)
https://github.com/vim/vim/commit/91e44a3305ef6bf2d43496c351dcff0a45c6bfb8
vim-patch:8.0.0099
Problem: Popup menu always appears above the cursor when it is in the lower
half of the screen. (Matt Gardner)
Solution: Compute the available space better. (Hirohito Higashi,
closes vim/vim#1241)
https://github.com/vim/vim/commit/73095288da839f7c738a49baa109773e76106806
vim-patch:8.0.0127
Problem: Cancelling completion still inserts text when formatting is done
for 'textwidth'. (lacygoill)
Solution: Don't format when CTRL-E was typed. (Hirohito Higashi,
closes vim/vim#1312)
https://github.com/vim/vim/commit/73fd4988866c3adc15b5d093efdf5e8cf70d093d
vim-patch:7.4.2188
Problem: Completion does not work properly with some plugins.
Solution: Revert the part related to typing CTRL-E. (closes vim/vim#972)
https://github.com/vim/vim/commit/c9fb77c69244870a97384152f20845665c19fe39
vim-patch:7.4.2146
Problem: Not enough testing for popup menu. CTRL-E does not always work
properly.
Solution: Add more tests. When using CTRL-E check if the popup menu is
visible. (Christian Brabandt)
https://github.com/vim/vim/commit/472472898ab71ac80a86fedc37f8eb91461788dd
vim-patch:7.4.2147
Problem: test_alot fails.
Solution: Close window.
https://github.com/vim/vim/commit/abb71fbd399772d467aaa7b34b958b0f975c7e65
vim-patch:7.4.2149
Problem: If a test leaves a window open a following test may fail.
Solution: Always close extra windows after running a test.
https://github.com/vim/vim/commit/7cba71d7e3576639679b6a3aedeeb1ac07f7f2f5
vim-patch:7.4.2321
Problem: When a test is commented out we forget about it.
Solution: Let a test throw an exception with "Skipped" and list skipped test
functions. (Christian Brabandt)
https://github.com/vim/vim/commit/dac1947bb366ef43cd6da95acc730554e76d8b84
vim-patch:7.4.2331
Problem: Using CTRL-X CTRL-V to complete a command line from Insert mode
does not work after entering an expression on the command line.
Solution: Don't use "ccline" when not actually using a command line. (test
by Hirohito Higashi)
https://github.com/vim/vim/commit/33a80eeb859a78ba93432da6fa585786cfd77249
vim-patch:8.0.0008
Problem: Popup complete test is disabled.
Solution: Enable the test and change the assert. (Hirohito Higashi)
https://github.com/vim/vim/commit/9e02cfa226b2577ec867b544a1a450a428a19880
vim-patch:8.0.0047
Problem: Crash when using the preview window from an unnamed buffer.
(lifepillar)
Solution: Do not clear the wrong buffer. (closes vim/vim#1200)
https://github.com/vim/vim/commit/50e5376926dc2ec4a26a7a16f8f0f3213c4afdf0
vim-patch:8.0.0053
Problem: No test for what 8.0.0047 fixes.
Solution: Add a test. (Hirohito Higashi)
https://github.com/vim/vim/commit/60ef3e81f4a54d9f7ee617d57021f0811ec8ada5
|
|
|
|
|
|
|
| |
Command "live preview" is fundamentally a non-recursive concept
("preview of a preview" is not useful). Maintaining this as a
global is less awkward and closer to what we actually want to
express, vs adorning exarg_T, CommandLineState, etc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
command_line_changed:
- Check (current_SID == 0) instead of KeyTyped
- We want to update during mappings (KeyTyped is false then).
- Check vpeekc_any()
- Avoids unnecessary work.
- Avoids triggering live preview during macros.
- Caveat: This makes the redraw "stutter" if user spams (holds a key)
in the replace pattern. But that scenario is not important.
- Update screen if the command is changed to a non-live command.
(`s->live` goes from true => false) => clears the preview
command_line_execute:
- Let CTRL-C cancel live preview
do_sub:
- Enforce a time limit ('redrawtime').
- Unset 'inccommand' if time limit is reached.
Closes #5602
Closes #5585
|
|
|
|
|
| |
Restore cursor position and window "view", if command is cancelled.
This is how 'incsearch' works.
|
|
|
|
|
|
|
| |
- Use a standard scratch buffer instead of a new 'buftype', functions
like curbufIsChanged() already have special handling for scratch bufs.
- Cleanup some stuff from the previous merge.
- Add support for :smagic, :snomagic. Closes #5578
|
|
|
|
|
| |
During the live preview, the buffer-local 'modified' flag
should not be changed.
|
| |
|
|
|
|
|
|
|
|
|
| |
'inccommand' allows us to expand the feature to other commands, such as:
:cdo
:cfdo
:global
Also rename "IncSubstitute" highlight group to "Substitute".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Eliminate/isolate static/global variables
- Remove special-case parameter from buflist_new()
- Remove special-case ECMD_RESERVED_BUFNR
- To determine when u_undo_and_forget() should be done, check
b_changedtick instead of a heuristic.
- use mb_string2cells() instead of strlen() to measure the :sub patterns
- call ml_close() before buf_clear_file(). Avoids leaks caught by ASan.
Original patch by:
Robin Elrharbi-Fleury (Robinhola)
Audrey Rayé (Adrey06)
Philémon Hullot (DesbyP)
Aymeric Collange (aym7)
Clément Guyomard (Clement0)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Originally implemented by
* Clement0
* DesbyP
* aym7
* Adrey06
* Robinhola
in #4811. Major reworkings and bug
fixes by
* bfredl
Most tests suggested by ZyX-l, suggestions for improvements by oni-link.
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Crash when autocommand moves to another tab. (Dominique Pelle)
Solution: When navigating to another window halfway the :edit command go
back to the right window.
https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
|
|
|
|
|
|
|
| |
During -S execution, ccline.cmdfirstc is NULL, so calling histadd() with
a hist-name of '' would fail. Mimic Vim's behavior and fallback to '/'
in this scenario, since '' is a documented hist-name as of
vim/vim@3e496b0e.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`lib/queue.h` implements a basic queue. `event/queue.c` implements
a specialized data structure on top of lib/queue.h; it is not a "normal"
queue.
Rename the specialized multi-level queue implemented in event/queue.c to
"multiqueue", to avoid confusion when reading the code.
Before this change one can eventually notice that "macros (uppercase
symbols) are for the normal queue, lowercase operations are for the
multi-level queue", but that is unnecessary friction for new developers
(or existing developers just visiting this part of the codebase).
|
|
|
|
|
|
|
| |
Problem: Removing language from help tags too often.
Solution: Only remove @en when not needed. (Hirohito Higashi)
https://github.com/vim/vim/commit/9ccaae04c6f263e6db14fc403bca2404a7871114
|
|
|
|
|
|
|
| |
Problem: Help completion adds @en to all matches except the first one.
Solution: Remove "break", go over all items.
https://github.com/vim/vim/commit/89c79b99328b66f77f1d12dc8c6701dfe2c57f15
|
|
|
|
|
|
|
|
| |
Problem: When help exists in multiple languages, adding @ab while "ab" is
the default help language is unnecessary.
Solution: Leave out "@ab" when not needed. (Ken Takata)
https://github.com/vim/vim/commit/61264d99692803eec76a171916ab9720c75536b0
|
|
|
|
|
|
|
|
|
|
| |
move `call_shell` to misc1.c
Move some fns to state.c
Move some fns to option.c
Move some fns to memline.c
Move `vim_chdir*` fns to file_search.c
Move some fns to new module, bytes.c
Move some fns to fileio.c
|
| |
|
|
|
|
|
|
|
| |
Problem: Completion for :colorscheme does not use 'packpath'.
Solution: Make it work, add a test. (Hirohito Higashi)
https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
|
|
|
|
|
|
|
| |
Problem: No command line completion for ":packadd".
Solution: Implement completion. (Hirohito Higashi)
https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Current name is inappropriate for the following reasons:
1. It is often masked by local `loop` variables.
2. It cannot be searched for. There are many `loop` variables where `loop` is
some local variable. There are many cases when “loop” word is used in
a comment.
3. It is in any case bad idea to use a generic name as a name of the global
variable. Best if global has module prefix: this is why it is in `main.h`:
`main_loop` both stands for “a main loop” and “a loop defined in `main.*`”.
Since I have no idea how to list every occurrence of this variable method used
to rename it is “remove it from globals.h, try to compile, fix errors”. Thus if
some occurrence was hidden under false `#if` branch it was not replaced.
|
|
|
|
|
|
|
| |
vim-patch:7.4.1603
TODO(bfredl): if we allow events in HITRETURN and ASKMORE states,
we need to add the necessary redraws as well.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: When completing a shell command, directories in the current
directory are not listed.
Solution: When "." is not in $PATH also look in the current directory for
directories.
https://github.com/vim/vim/commit/b5971141dff0c69355fd64196fcc0d0d071d4c82
Most of it applied manually.
|
|
|
|
| |
Originally there were 128 new errors, so I thought this is a good idea to fix
all of them. Of course, this commit also fixes many suppressed errors.
|
|
|
|
|
|
|
| |
This change effectively disables history for lines inserted using this method.
Not a big problem since it does not work for them in Vim in first place.
Also solves a bug(?): ex_window() run while in :append mode opens search history
in Vim for some reason. Now it opens empty cmdline window.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Problem: When pasting on the command line line breaks result in literal
<CR> characters. This makes pasting a long file name difficult.
Solution: Skip the characters.
https://github.com/vim/vim/commit/6f62fed349bf829da2adb02619dc9acba13c8ab6
|
| |
|
|
|
|
|
|
|
| |
Problem: Crash when using longest completion match.
Solution: Fix array index.
https://github.com/vim/vim/commit/e4eda3bc7157932b0bf380fd3fdc1ba8f4438b60
|
|
|
|
|
|
|
|
|
| |
Problem: Completing the longest match doesn't work properly with multi-byte
characters.
Solution: When using multi-byte characters use another way to find the
longest match. (Hirohito Higashi)
https://github.com/vim/vim/commit/4f8fa1633cdfbd09a41160c8480fe67c198067e9
|
|
|
|
|
|
|
|
|
| |
Problem: When 'conceallevel' is 1 and quitting the command-line window with
CTRL-C the first character ':' is erased.
Solution: Reset 'conceallevel' in the command-line window. (Hirohito
Higashi)
https://github.com/vim/vim/commit/fa67fbe6b84133207271e4ff582c3d589172efd9
|
|
|
|
|
|
|
| |
Problem: No support for binary numbers.
Solution: Add "bin" to nrformats. (Jason Schulz)
https://github.com/vim/vim/commit/887c1fea4a114e7170091942d0446c8882701b5b
|