Problem: When scrolling a window other than the current one the cursorline
highlighting is not always updated. (Jason Franklin)
Solution: Call redraw_for_cursorline() after scrolling. Only set
w_last_cursorline when drawing the cursor line. Reset the lines
to be redrawn also when redrawing the whole window.
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: When 'y' is in 'cpoptions' yanking for the clipboard changes redo.
Solution: Do not use the 'y' flag when "gui_yank" is TRUE. (Andy Massimino,
closes#3760)
Problem: Custom operators can't act upon a forced motion. (Christian
Wellenbrock)
Solution: Add the forced motion to the mode() result. (Christian Brabandt,
closes#3490)
Problem: shiftwidth() does not take 'vartabstop' into account.
Solution: Use the cursor position or a position explicitly passed.
Also make >> and << work better with 'vartabstop'. (Christian
Brabandt)
Problem: CTRL-W ^ does not work when alternate buffer has no name.
Solution: Use another method to split and edit the alternate buffer. (Jason
Franklin)
Problem: The first argument given to 'completefunc' can be Number or
String, depending on the value.
Solution: Avoid guessing the type of an argument, use typval_T in the
callers of call_vim_function(). (Ozaki Kiichi, closes#2993)
Problem: Cannot tell whether a register is being used for executing or
recording.
Solution: Add reg_executing() and reg_recording(). (Hirohito Higashi,
closes#2745) Rename the global variables for consistency. Store
the register name in reg_executing.
Problem: Invalid memory access in read_redo(). (gy741)
Solution: Convert the replacement character back from a negative number to
CR or NL. (hint by Dominique Pelle, closes#2616)
Problem: Mouse events in a terminal window may cause endless loop.
Solution: Adjust position computation. Don't stuff a mouse event when
coming from normal_cmd().
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: 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: Can go to Insert mode from Terminal-Normal mode.
Solution: Prevent :startinsert and "VA" to enter Insert mode. (Yasuhiro
Matsumoto, closes#2092)
Problem: When in Insert mode and using CTRL-O CTRL-W CTRL-W to move to a
termainal window, get in a weird Insert mode.
Solution: Don't go to Insert mode in a terminal window. (closes#1977)
Problem: Using mouse scroll while a terminal window has focus and the mouse
pointer is on another window does not work. Same for focus in a
non-terminal window ahd the mouse pointer is over a terminal
window.
Solution: Send the scroll action to the right window.