Problem: When there are matches to highlight the whole window is redrawn,
which is slow.
Solution: Only redraw everything when lines were inserted or deleted.
Reset b_mod_xlines when needed. (Alexey Radkov)
Problem: Cannot wrap lines taking indent into account.
Solution: Add the 'breakindent' option. (many authors, final improvements by
Christian Brabandt)
Problem: Using a regexp pattern to highlight a specific position can be
slow.
Solution: Add matchaddpos() to highlight specific positions efficiently.
(Alexey Radkov)
Problem: When using double-width characters the text displayed on the
command line is sometimes truncated.
Solution: Reset the string lenght. (Nobuhiro Takasaki)
Problem: It's possible that redrawing the status lines causes
win_redr_custom() to be called recursively.
Solution: Protect against recursiveness. (Yasuhiro Matsumoto)
Problem: Setting/resetting 'lbr' in the main help file changes alignment
after a Tab. (Dimitar Dimitrov)
Solution: Also use the code for conceal mode where n_extra is computed for
'lbr'.
Problem: The first ":echo 'hello'" command output doesn't show. Mapping
for <S-F3> gets triggered during startup.
Solution: Add debugging code for the termresponse. When receiving the "Co"
entry and when setting 'ambiwidth' redraw right away if possible.
Add redraw_asap(). Don't set 'ambiwidth' if it already had the
right value. Do the 'ambiwidth' check in the second row to avoid
confusion with <S-F3>.
Problem: In diff mode 'cursorline' also draws in the non-active window.
When 'nu' and 'sbr' are set the 'sbr' string is not underlined.
Solution: Only draw the cursor line in the current window. Combine the
'cursorline' and other highlighting attributes. (Christian
Brabandt)
Problem: Matches from matchadd() might be highlighted incorrectly when they
are at a fixed position and inserting lines. (John Szakmeister)
Solution: Redraw all lines below a change if there are highlighted matches.
(idea by Christian Brabandt)
Problem: Many users don't like the cursor line number when 'relativenumber'
is set.
Solution: Have four combinations with 'number' and 'relativenumber'.
(Christian Brabandt)
Problem: Popup menu does not work properly with the preview window, folds
and 'cursorcolumn'.
Solution: Redraw the popup menu after redrawing windows. (Christian
Brabandt)
Problem: With 'relativenumber' set it is not possible to see the absolute
line number.
Solution: For the cursor line show the absolute line number instead of a
zero. (Nazri Ramliy)
Problem: When characters are concealed text aligned with tabs are no longer
aligned, e.g. at ":help :index".
Solution: Compensate space for tabs for concealed characters. (Dominique
Pelle)
Problem: 'clipboard' "autoselect" only applies to the * register. (Sergey
Vakulenko)
Solution: Make 'autoselect' work for the + register. (Christian Brabant)
Add the "autoselectplus" option in 'clipboard' and the "P" flag in
'guioptions'.
Problem: With double-width characters and 'listchars' containing "precedes"
the text is displayed one cell off.
Solution: Check for double-width character being overwritten by the
"precedes" character. (Yasuhiro Matsumoto)
Problem: Many #ifdefs for MB_MAXBYTES.
Solution: Also define MB_MAXBYTES without the +multi_byte feature. Fix
places where the buffer didn't include space for a NUL byte.
Problem: Crash when using ":redraw" in a BufEnter autocommand and
switching to another tab. (驼峰)
Solution: Move triggering the the autocommands to after correcting the
option values. Also check the row value to be out of bounds.
(Christian Brabandt, Sergey Khorev)
Problem: With '$' in 'cpoptions' the $ is not displayed in the first
column.
Solution: Use -1 instead of 0 as a special value. (Hideki Eiraku and
Hirohito Higashi)
Problem: When placing a mark while starting up a screen redraw messes up
the screen. (lith)
Solution: Don't redraw while still starting up. (Christian Brabandt)
Problem: Crash when using fold markers and selecting a visual block that
includes a folded line and goes to end of line. (Sam Lidder)
Solution: Check for the column to be MAXCOL. (James Vega)
Problem: Crash when drawing the "$" at end-of-line for list mode just after
the window border and 'cursorline' is set.
Solution: Don't check for 'cursorline'. (Quentin Carbonneaux)
Problem: 'cursorline' is displayed too short when there are concealed
characters and 'list' is set. (Dennis Preiser)
Solution: Check for 'cursorline' when 'list' is set. (Christian Brabandt)
Problem: Executing a :normal command in 'statusline' evaluation causes the
cursor to move. (Dominique Pelle)
Solution: When updating the cursor for 'cursorbind' allow the cursor beyond
the end of the line. When evaluating 'statusline' temporarily
reset 'cursorbind'.