| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Problem: Crash when terminal API call deletes the buffer.
Solution: Lock the buffer while calling a function. (closes #2813)
|
|
|
|
|
|
| |
Problem: Some macros are used without a semicolon, causing auto-indent to be
wrong.
Solution: Use the do-while(0) trick. (Ozaki Kiichi, closes #2729)
|
|
|
|
|
| |
Problem: Cannot filter :ls output for terminal buffers.
Solution: Add flags for terminal buffers. (Marcin Szamotulski, closes #2751)
|
|
|
|
|
| |
Problem: Too many #ifdefs.
Solution: Graduate FEAT_LISTCMDS, no reason to leave out buffer commands.
|
|
|
|
|
| |
Problem: Job in terminal can't communicate with Vim.
Solution: Add the terminal API.
|
|
|
|
|
|
|
| |
Problem: A TextChanged autocmd triggers when it is defined after creating a
buffer.
Solution: Set b_last_changedtick when opening a buffer. (Hirohito Highlight,
closes #2742)
|
|
|
|
|
| |
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: Using :wqa exits even if a job runs in a terminal window. (Jason
Felice)
Solution: Check if a terminal has a running job. (closes #2654)
|
|
|
|
|
|
| |
Problem: Clearing a pointer takes two lines.
Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
closes #2629)
|
|
|
|
|
|
| |
Problem: Cannot handle change of directory.
Solution: Add the DirChanged autocommand event. (Andy Massimino,
closes #888) Avoid changing directory for 'autochdir' too often.
|
|
|
|
|
| |
Problem: Memory leak in test_arabic.
Solution: Free the from and to parts. (Christian Brabandt, closes #2569)
|
|
|
|
|
| |
Problem: Crash with nasty autocommand. (gy741, Dominique Pelle)
Solution: Check that the new current buffer isn't wiped out. (closes #2447)
|
|
|
|
|
| |
Problem: Some users don't want to diff with hidden buffers.
Solution: Add the "hiddenoff" item to 'diffopt'. (Alisue, closes #2394)
|
|
|
|
|
| |
Problem: Skipping empty statusline groups is not correct.
Solution: Also set group_end_userhl. (itchyny)
|
|
|
|
|
| |
Problem: Newer gcc warns for implicit fallthrough.
Solution: Consistently use a FALLTHROUGH comment. (Christian Brabandt)
|
|
|
|
|
|
| |
Problem: 'statusline' drops empty group with highlight change.
Solution: Do not drop an empty group if it changes highlighting. (Marius
Gedminas, closes #2228)
|
|
|
|
|
|
| |
Problem: Crash when wiping out a buffer after using getbufinfo().
(Yegappan Lakshmanan)
Solution: Remove b:changedtick from the buffer variables.
|
|
|
|
|
|
|
| |
Problem: Changing StatusLine highlight while evaluating 'statusline' may
not change the status line color.
Solution: When changing highlighting while redrawing don't cause another
redraw. (suggested by Ozaki Kiichi, closes #2171, closes #2120)
|
|
|
|
|
|
| |
Problem: Quitting a split terminal window kills the job. (Yasuhiro
Matsumoto)
Solution: Only stop terminal job if it is the last window.
|
|
|
|
|
|
| |
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: May get an endless loop if 'statusline' changes a highlight.
Solution: Do not let evaluating 'statusline' trigger a redraw.
|
|
|
|
|
|
|
| |
Problem: A terminal window with a running job behaves different from a
window containing a changed buffer.
Solution: Do not set 'bufhidden' to "hide". Fix that a buffer where a
terminal used to run is listed as "[Scratch]".
|
|
|
|
|
|
| |
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: Cannot recognize a terminal buffer in :ls output.
Solution: Use R for a running job and F for a finished job.
|
|
|
|
|
|
| |
Problem: Terminal buffers are stored in the viminfo file while they can't
be useful.
Solution: Skip terminal buffers for file marks and buffer list
|
|
|
|
|
|
|
| |
Problem: There may be side effects when a channel appends to a buffer that
is not the current buffer.
Solution: Properly switch to another buffer before appending. (Yasuhiro
Matsumoto, closes #1926, closes #1937)
|
|
|
|
|
| |
Problem: Can exit while a terminal is still running a job.
Solution: Consider a buffer with a running job like a changed file.
|
|
|
|
|
|
| |
Problem: Buffer hangs around whem terminal window is closed.
Solution: When the job has ended wipe out a terminal buffer when the window
is closed.
|
|
|
|
|
|
| |
Problem: Finished job in terminal window is not handled.
Solution: Add the scrollback buffer. Use it to fill the buffer when the job
has ended.
|
|
|
|
|
| |
Problem: Using freed memory in quickfix code. (Dominique Pelle)
Solution: Handle a help window differently. (Yegappan Lakshmanan)
|
|
|
|
|
|
| |
Problem: Function prototypes missing without the quickfix feature. (Tony
Mechelynck)
Solution: Move non-quickfix functions to buffer.c.
|
|
|
|
|
|
|
| |
Problem: Terminal window status shows "[Scratch]".
Solution: Show "[Terminal]" when no title was set. (Yasuhiro Matsumoto)
Store the terminal title that vterm sends and use it. Update the
special buffer name. (closes #1869)
|
|
|
|
|
|
|
|
| |
Problem: Options of a buffer for a terminal window are not set properly.
Solution: Add "terminal" value for 'buftype'. Make 'buftype' and
'bufhidden' not depend on the quickfix feature.
Also set the buffer name and show "running" or "finished" in the
window title.
|
|
|
|
|
| |
Problem: The terminal structure is never freed.
Solution: Free the structure and unreference what it contains.
|
|
|
|
|
|
| |
Problem: Possible use of NULL pointer if buflist_new() returns NULL.
(Coverity)
Solution: Check for NULL pointer in set_bufref().
|
|
|
|
|
|
|
| |
Problem: The ":stag" command does not respect 'switchbuf'.
Solution: Check 'switchbuf' for tag commands that may open a new window.
(Ingo Karkat, closes #1681) Define macros for the return values
of getfile().
|
|
|
|
|
|
| |
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: 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, which can be confusing.
Solution: Make a few lower case macros upper case.
|
|
|
|
|
|
| |
Problem: When running :make the output may be in the system encoding,
different from 'encoding'.
Solution: Add the 'makeencoding' option. (Ken Takata)
|
|
|
|
|
| |
Problem: Build fails with tiny features.
Solution: Add #ifdef.
|
|
|
|
|
|
| |
Problem: Might free a dict item that wasn't allocated.
Solution: Call dictitem_free(). (Nikolai Pavlov) Use this for
b:changedtick.
|
|
|
|
|
| |
Problem: islocked('d.changedtick') does not work.
Solution: Make it work.
|
|
|
|
|
| |
Problem: Not checking return valud of dict_add(). (Coverity)
Solution: Handle a failure.
|
|
|
|
|
|
| |
Problem: Can't access b:changedtick from a dict reference.
Solution: Make changedtick a member of the b: dict. (inspired by neovim
#6112)
|
|
|
|
|
|
| |
Problem: When freeing a buffer the local value of the 'formatprg' option is
not cleared.
Solution: Add missing change.
|
|
|
|
|
|
|
|
| |
Problem: When opening a buffer on a directory and inside a try/catch then
the BufEnter event is not triggered.
Solution: Return NOTDONE from readfile() for a directory and deal with the
three possible return values. (Justin M. Keyes, closes #1375,
closes #1353)
|
|
|
|
|
| |
Problem: Drop command doesn't use existing window.
Solution: Check the window width properly. (Hirohito Higashi)
|
|
|
|
|
| |
Problem: More comparisons between firstwin and lastwin.
Solution: Use ONE_WINDOW for consistency. (Hirohito Higashi)
|