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: Virtual edit replace with multi-byte fails at end of line. (Lukas
Werling)
Solution: use ins_char() to add the character. (Christian Brabandt,
closes#3114) Rename PCHAR() to PBYTE() to avoid mistakes like
this.
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: Deleting in a block selection causes problems.
Solution: Check the length of the line before adding bd.textcol and
bd.textlen. (Christian Brabandt, closes#2825)
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: Bogus characters appear when indenting kicks in while doing a
visual-block append.
Solution: Recompute when indenting is done. (Christian Brabandt)
Problem: The message for yanking doesn't indicate the register.
Solution: Show the register name in the "N lines yanked" message. (Lemonboy,
closes#1803, closes#1809)
Problem: Unnamed register only contains the last deleted text when
appending deleted text to a register. (Wolfgang Jeltsch)
Solution: Only set y_previous when not using y_append. (Christian Brabandt)
Problem: MS-Windows: when 'clipboard' is "unnamed" yyp does not work in a
:global command.
Solution: When setting the clipboard was postponed, do not clear the
register.
Problem: Visual block insertion does not insert in all lines.
Solution: Don't bail out of insert too early. Add a test. (Christian
Brabandt, closes#1290)
Problem: When doing a Visual selection and using "I" to go to insert mode,
CTRL-O needs to be used twice to go to Normal mode. (Coacher)
Solution: Check for the return value of edit(). (Christian Brabandt,
closes#1290)
Problem: Gcc complains that a variable may be used uninitialized. Confusion
between variable and label name. (John Marriott)
Solution: Initialize it. Rename end to end_lnum.
Problem: When several lines are visually selected and one of them is short,
using put may cause a crash. (Axel Bender)
Solution: Check for a short line. (Christian Brabandt)
Problem: When a block is visually selected and put is used on the end of
the selection only one line is changed.
Solution: Check for the end properly. (Christian Brabandt, neovim issue
5781)
Problem: When a multi-byte character ends in a zero byte, putting blockwise
text puts it before the character instead of after it.
Solution: Use int instead of char for the character under the cursor.
(Luchr, closes#1403) Add a test.
Problem: Pasting inserted text in Visual mode does not work properly.
(Matthew Malcomson)
Solution: Stop Visual mode before stuffing the inserted text. (Christian
Brabandt, from neovim #5709)
Problem: When using indent folding and changing indent the wrong fold is
opened. (Jonathan Fudger)
Solution: Open the fold under the cursor a bit later. (Christian Brabandt)