Problem: Command line history code is spread out.
Solution: Put the code in a new file. (Yegappan Lakshmanan, closes#4779)
Also graduate the +cmdline_hist feature.
Problem: Command line redrawn for +arabic without Arabic characters.
(Dominique Pelle)
Solution: Check if there actually are any Arabic characters. Do redraw
after displaying incsearch. (closes#4569)
Problem: Alloc() returning "char_u *" causes a lot of type casts.
Solution: Have it return "void *". (Mike Williams) Define ALLOC_ONE() to
check the simple allocations.
Problem: Using "int" for alloc() often results in compiler warnings.
Solution: Use "size_t" and remove type casts. Remove alloc_check(), Vim
only works with 32 bit ints anyway.
Problem: Borland support is outdated and doesn't work.
Solution: Remove Borland support, there are other (free) compilers
available. (Thomas Dziedzic, Ken Takata, closes#4364)
Problem: Support for user commands is spread out. No good reason to make
user commands optional.
Solution: Move user command support to usercmd.c. Always enable the
user_commands feature.
Problem: CTRL-L with 'incsearch' does not pick up char under cursor.
(Smylers)
Solution: Do not compare the position with the cursor position. (Hirohito
Higashi, closes#3620)
Problem: Macros for MS-Windows are inconsistent, using "32", "3264 and
others.
Solution: Use MSWIN for all MS-Windows builds. Use FEAT_GUI_MSWIN for the
GUI build. (Hirohito Higashi, closes#3932)
Problem: Popup menu is displayed on top of the cmdline window if it is
opened from Insert completion. (Bjorn Linse)
Solution: Remove the popup menu. Restore the cursor position.
(closes#3838)
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: Saved last search pattern may not be restored.
Solution: Call restore_last_search_pattern(). Add a check for balancing
saving and restoring the last search pattern.
Problem: Coverity warns for leaking memory and using wrong struct.
Solution: Free pointer when allocation fails. Change "boff" to "loff".
(closes#3634)
Problem: Recursive use of getcmdline() still not protected.
Solution: Instead of saving the command buffer when making a call which may
cause recursiveness, save the buffer when actually being called
recursively.
Problem: 'hlsearch' highlight remains in other window after cancelling
command.
Solution: Redraw all windows. Also remove unnecessary delays. (closes#3437)
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: Using :s with 'incsearch' prevents CTRL-R CTRL-W. (Boris Staletic)
Solution: When past the pattern put cursor back in the start position.
(closes#3413)
Problem: Too much 'incsearch' highlight for pattern matching everything.
Solution: Add the skiplen to the command and remove the line range.
(Christian Brabandt) Check for empty pattern earlier.
Problem: No 'incsearch' highlighting for :vimgrep and similar commands.
Solution: Parse the :vimgrep command and similar ones to locate the search
pattern. (Hirohito Higashi, closes#3344)