Age | Commit message (Collapse) | Author |
|
Problem: Internal error when using :popup.
Solution: When a menu only exists in Terminal mode give an error. (Naruhiko
Nishino, closes #3765)
|
|
Problem: Text properties are not adjusted when backspacing replaced text.
Solution: Keep text properties on text restored in replace mode.
|
|
Problem: setjmp() variables defined globally are used in one file.
Solution: Move the declarations to that file.
|
|
Problem: Custom operators can't act upon a forced motion. (Christian
Wellenbrock)
Solution: Add the forced motion to the mode() result. (Christian Brabandt,
closes #3490)
|
|
Problem: Finding next sign ID is inefficient.
Solution: Add next_sign_id. (Yegappan Lakshmanan, closes #3717)
|
|
Problem: Iterating through window frames is repeated.
Solution: Define FOR_ALL_FRAMES. (Yegappan Lakshmanan)
|
|
Problem: Placing signs can be complicated.
Solution: Add functions for defining and placing signs. Introduce a group
name to avoid different plugins using the same signs. (Yegappan
Lakshmanan, closes #3652)
|
|
Problem: Reloading a script gives errors for existing functions.
Solution: Allow redefining a function once when reloading a script.
|
|
Problem: Xdiff doesn't use the Vim memory allocation functions.
Solution: Change the xdl_ defines. Check for out-of-memory. Rename
"ignored" to "vim_ignored".
|
|
Problem: Cannot get the script line number when executing a function.
Solution: Store the line number besides the script ID. (Ozaki Kiichi,
closes #3362) Also display the line number with ":verbose set".
|
|
Problem: Crash when wiping buffer in a callback.
Solution: Do not handle messages when only peeking for a character.
(closes #2107) Add "redraw_flag" to test_override().
|
|
Problem: Wrong type for flags used in signal handlers.
Solution: Use sig_atomic_t. (Dominique Pelle, closes #3356)
|
|
Problem: Parsing command modifiers is not separated.
Solution: Move command modifier parsing to a separate function.
|
|
Problem: 'incsearch' doesn't work for :s, :g or :v.
Solution: Also use 'incsearch' for other commands that use a pattern.
|
|
Problem: Too many #ifdefs.
Solution: Graduate the +vreplace feature, it's not much code and quite a few
#ifdefs.
|
|
Problem: Long version string cannot be translated.
Solution: Build the string in init_longVersion().
|
|
Problem: Segfault when pattern with \z() is very slow.
Solution: Check for NULL regprog. Add "nfa_fail" to test_override() to be
able to test this. Fix that 'searchhl' resets called_emsg.
|
|
Problem: In terminal window, typing : at more prompt, inserts ':' instead
of starting another Ex command.
Solution: Add skip_term_loop and set it when putting ':' in the typeahead
buffer.
|
|
Problem: Cannot tell whether a register is being used for executing or
recording.
Solution: Add reg_executing() and reg_recording(). (Hirohito Higashi,
closes #2745) Rename the global variables for consistency. Store
the register name in reg_executing.
|
|
Problem: Too many #ifdefs.
Solution: Graduate FEAT_SCROLLBIND and FEAT_CURSORBIND.
|
|
Problem: Too many #ifdefs.
Solution: Graduate the +autocmd feature. Takes away 450 #ifdefs and
increases code size of tiny Vim by only 40 Kbyte.
|
|
Problem: Errors for job options are not very specific.
Solution: Add more specific error messages.
|
|
Problem: Cannot test if a command causes a beep.
Solution: Add assert_beeps().
|
|
Problem: No autocmd triggered in Insert mode with visible popup menu.
Solution: Add TextChangedP. (Prabir Shrestha, Christian Brabandt,
closes #2372, closes #1691)
Fix that the TextChanged autocommands are not always triggered
when sourcing a script.
|
|
Problem: Weird autocmd may cause arglist to be changed recursively.
Solution: Prevent recursively changing the argument list. (Christian
Brabandt, closes #2472)
|
|
Problem: Insert mode completion state is confusing.
Solution: Move ctrl_x_mode into edit.c. Add CTRL_X_NORMAL for zero.
|
|
Problem: USE_IM_CONTROL is confusing and incomplete.
Solution: Just use FEAT_MBYTE. Call 'imactivatefunc' also without GUI.
|
|
Problem: balloon_show() only works in terminal when compiled with the GUI.
Solution: Add FEAT_BEVAL_GUI and refactor to move common code out of the GUI
specific file.
|
|
Problem: Cannot use 'balloonexpr' in a terminal.
Solution: Add 'balloonevalterm' and add code to handle mouse movements in a
terminal. Initial implementation for Unix with GUI.
|
|
Problem: Writefile() never calls fsync().
Solution: Follow the 'fsync' option with override to enable or disable.
|
|
Problem: Mac features are confusing.
Solution: Make feature names more consistent, add "osxdarwin". Rename
feature flags, cleanup Mac code. (Kazunobu Kuriyama, closes #2178)
|
|
Problem: Can't use remote eval to inspect vars in debug mode.
Solution: Don't discard the call stack in debug mode. (closes #2237, #2247)
|
|
Problem: Mac Terminal.app has wrong color for white.
Solution: Use white from the color cube.
|
|
Problem: FEAT_WINDOWS adds a lot of #ifdefs while it is nearly always
enabled and only adds 7% to the binary size of the tiny build.
Solution: Graduate FEAT_WINDOWS.
|
|
Problem: Using try/catch in timer does not prevent it from being stopped.
Solution: Reset the exception context and use did_emsg instead of
called_emsg.
|
|
Problem: Get "no write since last change" error in terminal window.
Solution: Use another message when closing a terminal window. Make ":quit!"
also end the job.
|
|
Problem: Existing color schemes don't work well with StatusLineTerm.
Solution: Don't use "reverse", use fg and bg colors. Also add
StatusLineTermNC.
|
|
Problem: User highlight groups are not adjusted for StatusLineTerm.
Solution: Combine attributes like for StatusLineNC.
|
|
Problem: Wrong initialisation of global.
Solution: Use INIT().
|
|
Problem: MS-Windows: CTRL-C kills shell in terminal window instead of the
command running in the shell.
Solution: Make CTRL-C only send a CTRL_C_EVENT and have CTRL-BREAK kill the
job. (partly by Yasuhiro Matsumoto, closes #1962)
|
|
Problem: Not easy to start Vim cleanly without changing the viminfo file.
Not possible to know whether the -i command line flag was used.
Solution: Add the --clean command line argument. Add the 'viminfofile'
option. Add "-u DEFAULTS".
|
|
Problem: Can't use input() in a timer callback. (Cosmin Popescu)
Solution: Reset vgetc_busy and set timer_busy. (Ozaki Kiichi, closes #1790,
closes #1129)
|
|
Problem: Package directories are added to 'runtimepath' only after loading
non-package plugins.
Solution: Split off the code to add package directories to 'runtimepath'.
(Ingo Karkat, closes #1680)
|
|
Problem: When creating a bufref, then using :bwipe and :new it might get
the same memory and bufref_valid() returns true.
Solution: Add br_fnum to check the buffer number didn't change.
|
|
Problem: If a job writes to a buffer and the user is typing a command, the
screen isn't updated. When a message is displayed the changed
buffer may cause it to be cleared. (Ramel Eshed)
Solution: Update the screen and then the command line if the screen didn't
scroll. Avoid inserting screen lines, as it clears any message.
Update the status line when the buffer changed.
|
|
Problem: MS-Windows: when 'clipboard' is "unnamed" yyp does not work in a
:global command.
Solution: When setting the clipboard was postponed, do not clear the
register.
|
|
Problem: A large count on a normal command causes trouble. (Dominique
Pelle)
Solution: Make "opcount" long.
|
|
Problem: Not enough test coverage in Insert mode.
Solution: Add lots of tests. Add test_override(). (Christian Brabandt,
closes #1521)
|
|
Problem: Can't access b:changedtick from a dict reference.
Solution: Make changedtick a member of the b: dict. (inspired by neovim
#6112)
|
|
Problem: The "zero count" error doesn't have a number. (Hirohito Higashi)
Solution: Give it a number and be more specific about the error.
|