Age | Commit message (Collapse) | Author |
|
Problem: Vim9: some code is not tested.
Solution: Add more tests. Fix uncovered problems.
|
|
Problem: Various memory leaks.
Solution: Avoid the leaks. (Ozaki Kiichi, closes #5803)
|
|
Problem: Can use :pedit in a popup window.
Solution: Disallow it.
|
|
Problem: ":def" not skipped properly.
Solution: Add CMD_def to list of commands the require evaluation even when
not being executed.
|
|
Problem: Vim9: :substitute(pat(repl does not work in Vim9 script.
Solution: Remember starting with a colon. (closes #5676)
|
|
Problem: Vim9 script: cannot start command with a string constant.
Solution: Recognize expression starting with '('.
|
|
Problem: Highlighting for :s wrong when using different separator.
Solution: Use separat argument for search direction and separator. (Rob
Pilling, closes #5665)
|
|
Problem: Hang with combination of feedkeys(), Ex mode and :global.
(Yegappan Lakshmanan)
Solution: Add the pending_exmode_active flag.
|
|
Problem: "eval" after "if 0" doesn't check for following command.
Solution: Add "eval" to list of commands that check for a following command.
(closes #5640)
|
|
Problem: The :compiler command causes a crash. (Daniel Steinberg)
Solution: Do not use the script index if it isn't set.
|
|
Problem: Some commands can cause problems in terminal popup.
Solution: Disallow more commands.
|
|
Problem: cd() with NULL argument crashes.
Solution: Check for NULL. (Ken Takata, closes #5558)
|
|
Problem: Various typos in source files and tests.
Solution: Fix the typos. (Emir Sari, closes #5532)
|
|
Problem: Reallocating the list of scripts is inefficient.
Solution: Instead of using a growarray of scriptitem_T, store pointers and
allocate each scriptitem_T separately. Also avoids that the
growarray pointers change when sourcing a new script.
|
|
Problem: Maintaining a Vim9 branch separately is more work.
Solution: Merge the Vim9 script changes.
|
|
Problem: Cannot list options one per line.
Solution: Use ":set!" to list one option per line.
|
|
Problem: Some buffer commands work in a popup window.
Solution: Disallow :bnext, :bprev, etc. (Naruhiko Nishino, closes #5494)
|
|
Problem: :mode no longer works for any system.
Solution: Always give an error message.
|
|
Problem: Exe stack length can be wrong without being detected.
Solution: Add a check when ABORT_ON_INTERNAL_ERROR is defined.
|
|
Problem: Cannot specify exit code for :cquit.
Solution: Add optional argument. (Thinca, Yegappan Lakshmanan, closes #5442)
|
|
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.
|
|
Problem: Not using a typedef for condstack.
Solution: Add a typedef.
|
|
Problem: Function argument copied unnecessarily.
Solution: Use the argument directly.
|
|
Problem: Using old C style comments.
Solution: Use // comments where appropriate.
|
|
Problem: FEAT_TEXT_PROP is a confusing name.
Solution: Use FEAT_PROP_POPUP. (Naruhiko Nishino, closes #5291)
|
|
Problem: :lockvar and :unlockvar cannot be followed by "| endif".
Solution: Check for following commands. (closes #5269)
|
|
Problem: :const cannot be followed by "| endif".
Solution: Check following command for :const. (closes #5269)
Also fix completion after :const.
|
|
Problem: ExitPre autocommand may cause accessing freed memory.
Solution: Check the window pointer is still valid. (closes #5093)
|
|
Problem: Vim does not exit when closing a terminal window and it is the
last window.
Solution: Exit Vim if the closed terminal window is the last one.
(closes #4539)
|
|
Problem: Error for bad regexp even though regexp is not used when writing
a file. (Arseny Nasokin)
Solution: Ignore regexp errors. (closes #5059)
|
|
Problem: Searchit() has too many arguments.
Solution: Move optional arguments to a struct. Add the "wrapped" argument.
|
|
Problem: Cannot see each command even when 'verbose' is set.
Solution: List each command when 'verbose' is at least 16.
|
|
Problem: MS-Windows: compiler warnings for unused arguments.
Solution: Add UNUSED. (Yegappan Lakshmanan, closes #4963)
|
|
Problem: The mouse code is spread out.
Solution: Move all the mouse code to mouse.c. (Yegappan Lakshmanan,
closes #4959)
|
|
Problem: :startinsert! does not work the same way as "A".
Solution: Use the same code to move the cursor. (closes #4896)
|
|
Problem: Code for handling file names is spread out.
Solution: Move code to new filepath.c file. Graduate FEAT_MODIFY_FNAME.
|
|
Problem: Command line expansion code is spread out.
Solution: Move set_one_cmd_context(). (Yegappan Lakshmanan, closes #4855)
|
|
Problem: Every popup window consumes a buffer number.
Solution: Recycle buffers only used for popup windows. Do not list popup
window buffers.
|
|
Problem: Cannot set all properties of the info popup.
Solution: Add popup_findinfo(). Rename popup_getpreview() to
popup_findpreview().
|
|
Problem: The +cmdline_compl feature is not in the tiny version.
Solution: Graduate the +cmdline_compl feature.
|
|
Problem: Cannot show extra info for completion in a popup window.
Solution: Add the "popup" entry in 'completeopt'.
|
|
Problem: Using :pedit from a help file sets the preview window to help
filetype. (Wang Shidong)
Solution: Do not set "keep_help_flag". (closes #3536)
|
|
Problem: Code for the argument list is spread out.
Solution: Put argument list code in arglist.c. (Yegappan Lakshmanan,
closes #4819)
|
|
Problem: Timers test is still flaky.
Solution: Compute the time to sleep more accurately.
|
|
Problem: Crash when sound_playfile() callback plays sound.
Solution: Invoke callback later from event loop.
|
|
Problem: Command line history code is spread out.
Solution: Put the code in a new file. (Yegappan Lakshmanan, closes #4779)
Also graduate the +cmdline_hist feature.
|
|
Problem: Confusing error message when range is not allowed.
Solution: With ADDR_NONE give e_norange. Change e_invaddr to e_invrange for
consistency.
|
|
Problem: :pedit does not work with a popup preview window.
Solution: Avoid aborting with an error. (fixes #4777) Also double check
that after prepare_tagpreview() the current window is not a
popup window.
|
|
Problem: Build failure for tiny version.
Solution: Define ex_eval to ex_ni. Clean up the ordering a bit.
|
|
Problem: Map functionality mixed with character input.
Solution: Move the map functionality to a separate file. (Yegappan
Lakshmanan, closes #4740) Graduate the +localmap feature.
|