Age | Commit message (Collapse) | Author |
|
Problem: Too many #ifdefs.
Solution: Graduate FEAT_VIRTUALEDIT. Adds about 10Kbyte to the code.
|
|
Problem: Too many #ifdefs.
Solution: Graduate FEAT_MBYTE, part 1.
|
|
Problem: Argument for message functions is inconsistent.
Solution: Make first argument to msg() "char *".
|
|
Problem: Nobody is using the Sun Workshop support.
Solution: Remove the Workshop support.
|
|
Problem: Giving error messages is not flexible.
Solution: Add semsg(). Change argument from "char_u *" to "char *", also
for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes
#3302) Also make emsg() accept a "char *" argument. Get rid of
an enormous number of type casts.
|
|
Problem: Text properties are not adjusted for :substitute.
Solution: Adjust text properties as well as possible.
|
|
Problem: Functionality for signs is spread out over several files.
Solution: Move most of the sign functionality into sign.c. (Yegappan
Lakshmanan, closes #3751)
|
|
Problem: The ex_sign() function is too long.
Solution: Refactor the function. Add a bit more testing. (Yegappan
Lakshmanan, closes #3745)
|
|
Problem: Deleting signs and completion for :sign is insufficient.
Solution: Add deleting signs in a specified or any group from the current
cursor location. Add group and priority to sign command
completion. Add tests for different sign unplace commands. Update
help text. Add tests for sign jump with group. Update help for
sign jump. (Yegappan Lakshmanan, closes #3731)
|
|
Problem: Finding next sign ID is inefficient.
Solution: Add next_sign_id. (Yegappan Lakshmanan, closes #3717)
|
|
Problem: Using sign group names is inefficient.
Solution: Store group names in a hash table and use a reference to them.
Also remove unnecessary use of ":exe" from the tests. (Yegappan
Lakshmanan, closes #3715)
|
|
Problem: Get_tv function names are not consistent.
Solution: Rename to tv_get.
|
|
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: Cannot define a sign with space in the text.
Solution: Allow for escaping characters. (Ben Jackson, closes #2967)
|
|
Problem: :move command marks buffer modified when nothing changed.
Solution: Do not set 'modified'. Add a test. (Jason Franklin)
|
|
Problem: Pointer ownership around fname_expand() is unclear.
Solution: Allow b_ffname and b_sfname to point to the same allocated memory,
only free one. Update comments.
|
|
Problem: MS-Windows: Filter command with pipe character fails. (Johannes
Riecken)
Solution: Find the pipe character outside of quotes. (Yasuhiro Matsumoto,
closes #1743, closes #3523)
|
|
Problem: Unnecessary static function prototypes.
Solution: Remove unnecessary prototypes.
|
|
Problem: Sort doesn't report deleted lines.
Solution: Call msgmore(). (Christian Brabandt, closes #3454)
|
|
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: Plural messages are not translated properly.
Solution: Add more usage of NGETTEXT(). (Sergey Alyoshin)
|
|
Problem: Checking for a Tab in a line could be faster.
Solution: Use strchr() instead of strrchr(). (closes #3312)
|
|
Problem: More help tags that jump to the wrong location.
Solution: Add more exceptions and a table for "expr-" tags. (Hirohito
Higashi)
|
|
Problem: :help -? goes to help for -+.
Solution: Add -? to list of special cases. (Hirohito Higashi)
|
|
Problem: Various problems with 'vartabstop'.
Solution: Fix memory leak. Fix crash. Add a few more tests. (Christian
Brabandt, closes #3076)
|
|
Problem: Buffer 'modified' set even when :sort has no changes.
Solution: Only set 'modified' when lines are moved. (Jason Franklin)
|
|
Problem: Confusing variable name.
Solution: Rename new_ts to new_vts_array. Change zero to NULL.
|
|
Problem: File name not displayed with ":file" when 'F' is in 'shortmess'.
Solution: Always display the file name when there is no argument (Christian
Brabandt, closes #3070)
|
|
Problem: All tab stops are the same.
Solution: Add the variable tabstop feature. (Christian Brabandt,
closes #2711)
|
|
Problem: Cursor not restored with ":edit #".
Solution: Don't assume autocommands moved the cursor when it was moved to
the first non-blank.
|
|
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: Too many #ifdefs.
Solution: Graduate FEAT_LISTCMDS, no reason to leave out buffer commands.
|
|
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: Cannot see what digraph is used to insert a character.
Solution: Show the digraph with the "ga" command. (Christian Brabandt)
|
|
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: Warning for possibly using NULL pointer. (Coverity)
Solution: Skip using the pointer if it's NULL.
|
|
Problem: The :drop command is not always available.
Solution: Include :drop in all builds. (Yasuhiro Matsumoto, closes #2639)
|
|
Problem: Clearing a pointer takes two lines.
Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
closes #2629)
|
|
Problem: Missing another file in patch.
Solution: Add changes to missing file.
|
|
Problem: Local additions in help skips some files. (joshklod)
Solution: Check the base file name length equals.
|
|
Problem: Get "no write since last change" message if a terminal is open.
(Fritz mehner)
Solution: Don't consider a buffer changed if it's a terminal window.
|
|
Problem: MS-Windows: build broken by misplaced curly.
Solution: Move curly after #endif
|
|
Problem: Race condition between stat() and open() for the viminfo temp
file. (Simon Ruderich)
Solution: use open() with O_EXCL to atomically check if the file exists.
Don't try using a temp file, renaming it will fail anyway.
|
|
Problem: The temp file used when updating the viminfo file may have the
wrong permissions if setting the group fails.
Solution: Check if the group matches and reduce permissions if not.
|
|
Problem: Tabline is not always updated for :file command. (Norio Takagi)
Solution: Set redraw_tabline. (Hirohito Higashi)
|
|
Problem: :wall gives an errof for a terminal window. (Marius Gedminas)
Solution: Don't try writing a buffer that can't be written. (Yasuhiro
Matsumoto, closes #2190)
|
|
Problem: W_WIDTH() is always the same.
Solution: Expand the macro.
|
|
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: MS-Windows: viminfo uses $VIM/_viminfo if $HOME not set. (Yongwei
Wu)
Solution: Use vim_getenv() but check it's returning the default "C:/".
|