Problem: Using expressions in a modeline is unsafe.
Solution: Disallow using expressions in a modeline, unless the
'modelineexpr' option is set. Update help, add more tests.
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: Cannot see current match position.
Solution: Show "3/44" when using the "n" command and "S" is not in
'shortmess'. (Christian Brabandt, closes#4317)
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: MS-Windows: inconsistent selection of winpty/conpty.
Solution: Name option 'termwintype', use ++type argument and "term_pty" for
term_start(). (Hirohito Higashi, closes#3915)
Problem: Cannot have a local value for 'scrolloff' and 'sidescrolloff'.
(Gary Holloway)
Solution: Make 'scrolloff' and 'sidescrolloff' global-local. (mostly by
Aron Widforss, closes#3539)
Problem: :mksession cannot handle a very long 'runtimepath'. (Timothy
Madden)
Solution: Expand each part separately, instead of the whole option at once.
(Christian Brabandt, closes#3466)
Problem: Showing two characters for tab is limited.
Solution: Allow for a third character for "tab:" in 'listchars'. (Nathaniel
Braun, Ken Takata, closes#3810)
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 executing an insecure function the secure flag is stuck.
(Gabriel Barta)
Solution: Restore "secure" instead of decrementing it. (closes#3705)
Problem: Setting 'filetype' in a modeline causes an error (Hirohito
Higashi).
Solution: Don't add the P_INSECURE flag when setting 'filetype' from a
modeline. Also for 'syntax'.
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: May evaluate insecure value when appending to option.
Solution: Set the secure flag when changing an option that was previously
set insecurely. Also allow numbers for the characters from
'spelllang' that are used for LANG.vim.
Problem: Cannot build without the sandbox.
Solution: Set the secure option instead of using the sandbox. Also restrict
the characters from 'spelllang' that are used for LANG.vim.
(suggested by Yasuhiro Matsumoto)
Problem: Failure when setting 'varsofttabstop' to end in a comma. (Ralf
Schandl)
Solution: Reject value with trailing command. Add test for invalid values
(closes#3544)
Problem: Setting 'term' does not store location for termcap options.
Solution: Set the script context for termcap options that are changed when
'term' is set.
Problem: Cursorline highlight not removed in some situation. (Vitaly
Yashin)
Solution: Reset last_cursorline when resetting 'cursorline'. (Christian
Brabandt, closes#3481)
Problem: Internal diff isn't used by default as advertised.
Solution: Add "internal" to the default value of 'diffopt'.
Also add couple of files missing from the distribution.
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".