Age | Commit message (Collapse) | Author |
|
Problem: :packadd does not load packages from the "start" directory.
(Alejandro Hernandez)
Solution: Make :packadd look in the "start" directory if those packages were
not loaded on startup.
|
|
Problem: Profile log may be truncated halfway a character.
Solution: Find the start of the character. (Ozaki Kiichi, closes #2385)
|
|
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: 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: Profiling skips the first and last script line.
Solution: Check for BOM after setting script ID. (Lemonboy, closes #2103,
closes #2112) Add a test. List the trailing script lines.
|
|
Problem: Test_peek_and_get_char fails on 32 bit system. (Eliminate
Riesebieter)
Solution: Avoid an integer overflow. (James McCoy, closes #2116)
|
|
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: Timer causes error on exit from Ex mode. (xtal8)
Solution: save and restore the ex_pressedreturn flag. (Christian Brabandt,
closes #2079)
|
|
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: Unnecessarily updating screen after timer callback.
Solution: Check if calling the timer sets must_redraw.
|
|
Problem: Unnecessary check for NULL pointer.
Solution: Remove the NULL check in dialog_changed(), it already happens in
dialog_msg(). (Ken Takata)
|
|
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: :tab options doesn't open a new tab page. (Aviany)
Solution: Support the :tab modifier. (closes #1960)
|
|
Problem: Can exit while a terminal is still running a job.
Solution: Consider a buffer with a running job like a changed file.
|
|
Problem: :argadd without argument can't handle space in file name. (Harm te
Hennepe)
Solution: Escape the space. (Yasuhiro Matsumoto, closes #1917)
|
|
Problem: :argedit can only have one argument.
Solution: Allow for multiple arguments. (Christian Brabandt)
|
|
Problem: Crash when there is an error in a timer callback. (Aron Griffis,
Ozaki Kiichi)
Solution: Check did_throw before discarding an exception. NULLify
current_exception when no longer valid.
|
|
Problem: An error in a timer can make Vim unusable.
Solution: Don't set the error flag or exception from a timer. Stop a timer
if it causes an error 3 out of 3 times. Discard an exception
caused inside a timer.
|
|
Problem: When a timer uses ":pyeval" or another Python command and it
happens to be triggered while exiting a Crash may happen.
(Ricky Zhou)
Solution: Avoid running a Python command after python_end() was called.
Do not trigger timers while exiting. (closes #1824)
|
|
Problem: Plugins in start packages are sourced twice. (mseplowitz)
Solution: Use the unmodified runtime path when loading plugins (test by Ingo
Karkat, closes #1801)
|
|
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: There are still a few macros that should be all-caps.
Solution: Make a few more macros all-caps.
|
|
Problem: Some macros are in lower case.
Solution: Make a few more macros upper case.
|
|
Problem: Some macros are in lower case.
Solution: Make a few more macros upper case. Avoid lower case macros use an
argument twice.
|
|
Problem: Using ":%argdel" while the argument list is already empty gives an
error. (Pavol Juhas)
Solution: Don't give an error. (closes #1546)
|
|
Problem: When using a symbolic link, the package path will not be inserted
at the right position in 'runtimepath'. (Dugan Chen, Norio Takagi)
Solution: Resolve symbolic links when finding the right position in
'runtimepath'. (Hirohito Higashi)
|
|
Problem: It is not so easy to write a script that works with both Python 2
and Python 3, even when the Python code works with both.
Solution: Add 'pyxversion', :pyx, etc. (Marc Weber, Ken Takata)
|
|
Problem: For completion "locale -a" is executed on MS-Windows, even though
it most likely won't work.
Solution: Skip executing "locale -a" on MS-Windows. (Ken Takata)
|
|
Problem: Superfluous semicolons.
Solution: Remove them. (Ozaki Kiichi)
|
|
Problem: Checking for last_timer_id to overflow is not reliable. (Ozaki
Kiichi)
Solution: Check for the number not going up.
|
|
Problem: Crash when stop_timer() is called in a callback of a callback.
Vim hangs when the timer callback uses too much time.
Solution: Set tr_id to -1 when a timer is to be deleted. Don't keep calling
callbacks forever. (Ozaki Kiichi)
|
|
Problem: Accessing freed memory when a timer does not repeat.
Solution: Free after removing it. (Dominique Pelle)
|
|
Problem: In a timer callback the timer itself can't be found or stopped.
(Thinca)
Solution: Do not remove the timer from the list, remember whether it was
freed.
|
|
Problem: Modelines in source code are inconsistant.
Solution: Use the same line in most files. Add 'noet'. (Naruhiko Nishino)
|
|
Problem: Compiler warning for unused variable.
Solution: Remove it. (Dominique Pelle)
|
|
Problem: There is no easy way to stop all timers. There is no way to
temporary pause a timer.
Solution: Add timer_stopall() and timer_pause().
|
|
Problem: MS-Windows build fails.
Solution: Add QueryPerformanceCounter().
|
|
Problem: Cannot get information about timers.
Solution: Add timer_info().
|
|
Problem: It is not possible to use plugins in an "after" directory to tune
the behavior of a package.
Solution: First load plugins from non-after directories, then packages and
finally plugins in after directories.
Reset 'loadplugins' before executing --cmd arguments.
|
|
Problem: Pending timers cause false memory leak reports.
Solution: Free all timers on exit.
|
|
Problem: Closures are not supported.
Solution: Capture variables in lambdas from the outer scope. (Yasuhiro
Matsumoto, Ken Takata)
|
|
Problem: Looping over windows, buffers and tab pages is inconsistant.
Solution: Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan)
|
|
Problem: Using submatch() in a lambda passed to substitute() is verbose.
Solution: Use a static list and pass it as an optional argument to the
function. Fix memory leak.
|
|
Problem: Reference counting for callbacks isn't right.
Solution: Add free_callback(). (Ken Takata) Fix reference count.
|
|
Problem: More buf_valid() calls can be optimized.
Solution: Use bufref_valid() instead.
|
|
Problem: Compiler warns for loss of data.
Solution: Use size_t instead of int. (Christian Brabandt)
|
|
Problem: On MS-Windows large files (> 2Gbyte) cause problems.
Solution: Use "off_T" instead of "off_t". Use "stat_T" instead of "struct
stat". Use 64 bit system functions if available. (Ken Takata)
|
|
Problem: On MS-Windows the package directory may be added at the end
because of forward/backward slash differences. (Matthew
Desjardins)
Solution: Ignore slash differences.
|