Problem: New lines in the viminfo file are dropped.
Solution: Copy lines starting with "|". Fix that when using :rviminfo in a
function global variables were restored as function-local
variables.
Problem: Need several lines to verify a command produces an error.
Solution: Add assert_fails(). (suggested by Nikolay Pavlov)
Make the quickfix alloc test actually work.
Problem: Alloc_id depends on numbers, may use the same one twice. It's not
clear from the number what it's for.
Solution: Use an enum. Add a function to lookup the enum value from the
name.
Problem: It is not possible to test code that is only reached when memory
allocation fails.
Solution: Add the alloc_fail() function. Try it out with :vimgrep.
Problem: Writing tests for Vim script is hard.
Solution: Add assertEqual(), assertFalse() and assertTrue() functions. Add
the v:errors variable. Add the runtest script. Add a first new
style test script.
Problem: When running out of memory while copying a dict memory may be
freed twice. (ZyX)
Solution: Do not call the garbage collector when running out of memory.
Problem: When doing an upwards search without wildcards the search fails if
the initial directory doesn't exist.
Solution: Fix the non-wildcard case. (Stefan Kempf)
Problem: Crash when changing the 'tags' option from a remote command.
(Benjamin Fritz)
Solution: Instead of executing messages immediately, use a queue, like for
netbeans. (James Kolb)
Problem: Searching for a character matches an illegal byte and causes
invalid memory access. (Dominique Pelle)
Solution: Do not match an invalid byte when search for a character in a
string. Fix equivalence classes using negative numbers, which
result in illegal bytes.
Problem: Using getchar() in an expression mapping may result in
K_CURSORHOLD, which can't be recognized.
Solution: Add the <CursorHold> key. (Hirohito Higashi)
Problem: In some situations, when setting up an environment to trigger an
autocommand, the environment is not properly restored.
Solution: Check the return value of switch_win() and call restore_win()
always. (Daniel Hahler)
Problem: Encryption implementation is messy. Blowfish encryption has a
weakness.
Solution: Refactor the encryption, store the state in an allocated struct
instead of using a save/restore mechanism. Introduce the
"blowfish2" method, which does not have the weakness and encrypts
the whole undo file. (largely by David Leadbeater)
Problem: Cannot wrap lines taking indent into account.
Solution: Add the 'breakindent' option. (many authors, final improvements by
Christian Brabandt)
Problem: globpath() returns a string, making it difficult to get a list of
matches. (Greg Novack)
Solution: Add an optional argument like with glob(). (Adnan Zafar)
Problem: Some tests fail on MS-Windows.
Solution: Fix path separators in test 89 and 96. Omit test 97, escaping
works differently. Make findfile() work on MS-Windows.
Problem: findfile() directory matching does not work when a star follows
text. (Markus Braun)
Solution: Make a wildcard work properly. (Christian Brabandt)
Problem: Filename completion with 'fileignorecase' does not work for
multi-byte characters.
Solution: Make 'fileignorecase' work properly. (Hirohito Higashi)
Problem: On some systems case of file names is always ignored, on others
never.
Solution: Add the 'fileignorecase' option to control this at runtime.
Implies 'wildignorecase'.