Age | Commit message (Collapse) | Author |
|
Problem: eval.c is still too big.
Solution: Split off internal functions to evalfunc.c.
|
|
Problem: eval.c is too big.
Solution: Move user functions to userfunc.c
|
|
Problem: eval.c is too big.
Solution: Move List functions to list.c
|
|
Problem: eval.c is too big.
Solution: Move Dictionary functions to dict.c.
|
|
Problem: No proper testing of trunc_string().
Solution: Add a unittest for message.c.
|
|
Problem: There is no way to get a list of the error lists.
Solution: Add ":chistory" and ":lhistory".
|
|
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: buf_valid() can be slow when there are many buffers.
Solution: Add bufref_valid(), only go through the buffer list when a buffer
was freed.
|
|
Problem: It is not easy to get a list of command arguments.
Solution: Add getcompletion(). (Yegappan Lakshmanan)
|
|
Problem: evalcmd() has a confusing name.
Solution: Rename to execute(). Make silent optional. Support a list of
commands.
|
|
Problem: evalcmd() doesn't work recursively.
Solution: Use redir_evalcmd instead of redir_vname.
|
|
Problem: When writing buffer lines to a job there is no NL to NUL
conversion.
Solution: Make it work symmetrical with writing lines from a job into a
buffer.
|
|
Problem: Cannot easily scroll the quickfix window.
Solution: Add ":cbottom".
|
|
Problem: GUI: cursor drawn in wrong place if a timer callback causes a
screen update. (David Samvelyan)
Solution: Also redraw the cursor when it's blinking and on.
|
|
Problem: When updating viminfo with file marks there is no time order.
Solution: Remember the time when a buffer was last used, store marks for
the most recently used buffers.
|
|
Problem: farsi.c and arabic.c are included in a strange way.
Solution: Build them like other files.
|
|
Problem: No testing for Farsi code.
Solution: Add a minimal test. Clean up Farsi code.
|
|
Problem: Number variables are not 64 bits while they could be.
Solution: Add the num64 feature. (Ken Takata)
|
|
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: Using 32-bit Perl with 64-bit time_t causes memory corruption.
(Christian Brabandt)
Solution: Use time_T instead of time_t for global variables. (Ken Takata)
|
|
Problem: Viminfo does not merge file marks properly.
Solution: Use a timestamp. Add the :clearjumps command.
|
|
Problem: Register contents is not merged when writing viminfo.
Solution: Use timestamps for register contents.
|
|
Problem: When ":doautocmd" is used modelines are used even when no
autocommands were executed. (Daniel Hahler)
Solution: Skip processing modelines. (closes #854)
|
|
Problem: Recent history lines may be lost when exiting Vim.
Solution: Merge history using the timestamp.
|
|
Problem: Collapsing channel buffers and searching for NL does not work
properly. (Xavier de Gary, Ramel Eshed)
Solution: Do not assume the buffer contains a NUL or not. Change NUL bytes
to NL to avoid the string is truncated.
|
|
Problem: When writing viminfo merging current history with history in
viminfo may drop recent history entries.
Solution: Add new format for viminfo lines, use it for history entries. Use
a timestamp for ordering the entries. Add test_settime().
Add the viminfo version. Does not do merging on timestamp yet.
|
|
Problem: Channel reading very long lines is slow.
Solution: Collapse multiple buffers until a NL is found.
|
|
Problem: GUI: When channel data is received the cursor blinking is
interrupted. (Ramel Eshed)
Solution: Don't update the cursor when it is blinking.
|
|
Problem: When waiting for a character is interrupted by receiving channel
data and the first character of a mapping was typed, the mapping
times out. (Ramel Eshed)
Solution: When dealing with channel data don't return from mch_inchar().
|
|
Problem: Whether a job has exited isn't detected until a character is
typed. After calling exit_cb the cursor is in the wrong place.
Solution: Don't wait forever for a character to be typed when there is a
pending job. Update the screen if neede after calling exit_cb.
|
|
Problem: Using a partial for timer_start() may cause a crash.
Solution: Set the copyID in timer objects. (Ozaki Kiichi)
|
|
Problem: Valgrind reports memory leak for job that is not freed.
Solution: Free all jobs on exit. Add test for failing job.
|
|
Problem: May try to access buffer that's already freed.
Solution: When freeing a buffer remove it from any channel.
|
|
Problem: A channel may be garbage collected while it's still being used by
a job. (James McCoy)
Solution: Mark the channel as used if the job is still used. Do the same
for channels that are still used.
|
|
Problem: Netbeans channel gets garbage collected.
Solution: Set reference in nb_channel.
|
|
Problem: 'guicolors' is a confusing option name.
Solution: Use 'termguicolors' instead. (Hirohito Higashi)
|
|
Problem: Color name decoding is implemented several times.
Solution: Move it to term.c. (Christian Brabandt)
|
|
Problem: Cannot use ch_read() in the close callback.
Solution: Do not discard the channel if there is readahead. Do not discard
readahead if there is a close callback.
|
|
Problem: When a job ends the close callback is invoked before other
callbacks. On Windows the close callback is not called.
Solution: First invoke out/err callbacks before the close callback.
Make the close callback work on Windows.
|
|
Problem: Cannot use true color in the terminal.
Solution: Add the 'guicolors' option. (Nikolai Pavlov)
|
|
Problem: "noinsert" in 'completeopt' is sometimes ignored.
Solution: Set the variables when the 'completeopt' was set. (Ozaki Kiichi)
|
|
Problem: Python: turns partial into simple funcref.
Solution: Use partials like partials. (Nikolai Pavlov, closes #734)
|
|
Problem: Cannot detect a crash in tests when caused by garbagecollect().
Solution: Add garbagecollect_for_testing(). Do not free a job if is still
useful.
|
|
Problem: Leaking memory when there is a cycle involving a job and a
partial.
Solution: Add a copyID to job and channel. Set references in items referred
by them. Go through all jobs and channels to find unreferenced
items. Also, decrement reference counts when garbage collecting.
|
|
Problem: Leaking memory when opening a channel fails.
Solution: Unreference partials in job options.
|
|
Problem: Old style function declaration breaks build.
Solution: Remove __ARGS().
|
|
Problem: The 'guifont' option does not allow for a quality setting.
Solution: Add the "q" item, supported on MS-Windows. (Yasuhiro Matsumoto)
|
|
Problem: Display problems when the 'ambiwidth' and 'emoji' options are not
set properly or the terminal doesn't behave as expected.
Solution: After drawing an ambiguous width character always position the
cursor.
|
|
Problem: When using :stopinsert in a silent mapping the "INSERT" message
isn't cleared. (Coacher)
Solution: Always clear the message. (Christian Brabandt, closes #718)
|