summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2018-07-04 12:20:30 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2018-07-04 12:20:46 +0000
commitd79673334b8864b1e6b8a5146ce8ce9841bf7d2c (patch)
tree6308e2ceddb7902e4015c6d42cefe6d90a2b7772
parentReleasing progress-linux version 2:8.0.1766-1~dschinn2. (diff)
downloadvim-d79673334b8864b1e6b8a5146ce8ce9841bf7d2c.zip
vim-d79673334b8864b1e6b8a5146ce8ce9841bf7d2c.tar.xz
Merging upstream version 2:8.1.0089.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
-rw-r--r--Makefile4
-rw-r--r--README.md5
-rw-r--r--README.txt2
-rw-r--r--READMEdir/Contents8
-rw-r--r--READMEdir/README_ami.txt6
-rw-r--r--READMEdir/README_amibin.txt4
-rw-r--r--READMEdir/README_amisrc.txt4
-rw-r--r--READMEdir/README_bindos.txt14
-rw-r--r--READMEdir/README_dos.txt36
-rw-r--r--READMEdir/README_extra.txt2
-rw-r--r--READMEdir/README_mac.txt2
-rw-r--r--READMEdir/README_ole.txt2
-rw-r--r--READMEdir/README_os2.txt2
-rw-r--r--READMEdir/README_os390.txt2
-rw-r--r--READMEdir/README_src.txt4
-rw-r--r--READMEdir/README_srcdos.txt4
-rw-r--r--READMEdir/README_unix.txt2
-rw-r--r--READMEdir/README_vms.txt2
-rw-r--r--READMEdir/README_w32s.txt2
-rw-r--r--nsis/gvim.nsi3
-rw-r--r--nsis/gvim_version.nsh2
-rw-r--r--runtime/autoload/netrw.vim4
-rw-r--r--runtime/autoload/xmlformat.vim112
-rw-r--r--runtime/colors/README.txt14
-rw-r--r--runtime/colors/tools/check_colors.vim4
-rw-r--r--runtime/doc/arabic.txt2
-rw-r--r--runtime/doc/autocmd.txt17
-rw-r--r--runtime/doc/change.txt55
-rw-r--r--runtime/doc/channel.txt47
-rw-r--r--runtime/doc/cmdline.txt24
-rw-r--r--runtime/doc/debug.txt2
-rw-r--r--runtime/doc/debugger.txt2
-rw-r--r--runtime/doc/develop.txt7
-rw-r--r--runtime/doc/diff.txt2
-rw-r--r--runtime/doc/digraph.txt2
-rw-r--r--runtime/doc/editing.txt2
-rw-r--r--runtime/doc/eval.txt242
-rw-r--r--runtime/doc/farsi.txt2
-rw-r--r--runtime/doc/filetype.txt2
-rw-r--r--runtime/doc/fold.txt2
-rw-r--r--runtime/doc/ft_ada.txt4
-rw-r--r--runtime/doc/ft_rust.txt4
-rw-r--r--runtime/doc/ft_sql.txt2
-rw-r--r--runtime/doc/gui.txt4
-rw-r--r--runtime/doc/gui_w32.txt2
-rw-r--r--runtime/doc/gui_x11.txt5
-rw-r--r--runtime/doc/hangulin.txt2
-rw-r--r--runtime/doc/hebrew.txt2
-rw-r--r--runtime/doc/help.txt2
-rw-r--r--runtime/doc/helphelp.txt2
-rw-r--r--runtime/doc/howto.txt2
-rw-r--r--runtime/doc/if_cscop.txt2
-rw-r--r--runtime/doc/if_lua.txt2
-rw-r--r--runtime/doc/if_mzsch.txt2
-rw-r--r--runtime/doc/if_ole.txt2
-rw-r--r--runtime/doc/if_perl.txt2
-rw-r--r--runtime/doc/if_pyth.txt2
-rw-r--r--runtime/doc/if_ruby.txt2
-rw-r--r--runtime/doc/if_sniff.txt2
-rw-r--r--runtime/doc/if_tcl.txt2
-rw-r--r--runtime/doc/indent.txt21
-rw-r--r--runtime/doc/index.txt2
-rw-r--r--runtime/doc/insert.txt6
-rw-r--r--runtime/doc/intro.txt2
-rw-r--r--runtime/doc/map.txt10
-rw-r--r--runtime/doc/mbyte.txt2
-rw-r--r--runtime/doc/message.txt2
-rw-r--r--runtime/doc/mlang.txt6
-rw-r--r--runtime/doc/motion.txt2
-rw-r--r--runtime/doc/netbeans.txt2
-rw-r--r--runtime/doc/options.txt30
-rw-r--r--runtime/doc/os_390.txt2
-rw-r--r--runtime/doc/os_amiga.txt2
-rw-r--r--runtime/doc/os_beos.txt4
-rw-r--r--runtime/doc/os_dos.txt2
-rw-r--r--runtime/doc/os_mac.txt2
-rw-r--r--runtime/doc/os_mint.txt2
-rw-r--r--runtime/doc/os_msdos.txt2
-rw-r--r--runtime/doc/os_os2.txt2
-rw-r--r--runtime/doc/os_qnx.txt2
-rw-r--r--runtime/doc/os_risc.txt2
-rw-r--r--runtime/doc/os_unix.txt2
-rw-r--r--runtime/doc/os_vms.txt16
-rw-r--r--runtime/doc/os_win32.txt4
-rw-r--r--runtime/doc/pattern.txt2
-rw-r--r--runtime/doc/pi_getscript.txt2
-rw-r--r--runtime/doc/pi_gzip.txt2
-rw-r--r--runtime/doc/pi_netrw.txt2
-rw-r--r--runtime/doc/pi_paren.txt2
-rw-r--r--runtime/doc/pi_spec.txt2
-rw-r--r--runtime/doc/pi_tar.txt2
-rw-r--r--runtime/doc/pi_vimball.txt2
-rw-r--r--runtime/doc/pi_zip.txt2
-rw-r--r--runtime/doc/print.txt2
-rw-r--r--runtime/doc/quickfix.txt114
-rw-r--r--runtime/doc/quickref.txt2
-rw-r--r--runtime/doc/quotes.txt2
-rw-r--r--runtime/doc/recover.txt2
-rw-r--r--runtime/doc/remote.txt2
-rw-r--r--runtime/doc/repeat.txt2
-rw-r--r--runtime/doc/rileft.txt2
-rw-r--r--runtime/doc/russian.txt2
-rw-r--r--runtime/doc/scroll.txt4
-rw-r--r--runtime/doc/sign.txt2
-rw-r--r--runtime/doc/spell.txt2
-rw-r--r--runtime/doc/sponsor.txt2
-rw-r--r--runtime/doc/starting.txt5
-rw-r--r--runtime/doc/syntax.txt8
-rw-r--r--runtime/doc/tabpage.txt5
-rw-r--r--runtime/doc/tags36
-rw-r--r--runtime/doc/tagsrch.txt44
-rw-r--r--runtime/doc/term.txt12
-rw-r--r--runtime/doc/terminal.txt85
-rw-r--r--runtime/doc/tips.txt2
-rw-r--r--runtime/doc/todo.txt270
-rw-r--r--runtime/doc/uganda.txt2
-rw-r--r--runtime/doc/undo.txt2
-rw-r--r--runtime/doc/usr_01.txt2
-rw-r--r--runtime/doc/usr_02.txt2
-rw-r--r--runtime/doc/usr_03.txt2
-rw-r--r--runtime/doc/usr_04.txt2
-rw-r--r--runtime/doc/usr_05.txt2
-rw-r--r--runtime/doc/usr_06.txt2
-rw-r--r--runtime/doc/usr_07.txt2
-rw-r--r--runtime/doc/usr_08.txt2
-rw-r--r--runtime/doc/usr_09.txt2
-rw-r--r--runtime/doc/usr_10.txt2
-rw-r--r--runtime/doc/usr_11.txt2
-rw-r--r--runtime/doc/usr_12.txt2
-rw-r--r--runtime/doc/usr_20.txt2
-rw-r--r--runtime/doc/usr_21.txt2
-rw-r--r--runtime/doc/usr_22.txt2
-rw-r--r--runtime/doc/usr_23.txt2
-rw-r--r--runtime/doc/usr_24.txt2
-rw-r--r--runtime/doc/usr_25.txt2
-rw-r--r--runtime/doc/usr_26.txt2
-rw-r--r--runtime/doc/usr_27.txt2
-rw-r--r--runtime/doc/usr_28.txt2
-rw-r--r--runtime/doc/usr_29.txt2
-rw-r--r--runtime/doc/usr_30.txt2
-rw-r--r--runtime/doc/usr_31.txt2
-rw-r--r--runtime/doc/usr_32.txt2
-rw-r--r--runtime/doc/usr_40.txt2
-rw-r--r--runtime/doc/usr_41.txt4
-rw-r--r--runtime/doc/usr_42.txt2
-rw-r--r--runtime/doc/usr_43.txt2
-rw-r--r--runtime/doc/usr_44.txt2
-rw-r--r--runtime/doc/usr_45.txt2
-rw-r--r--runtime/doc/usr_90.txt2
-rw-r--r--runtime/doc/usr_toc.txt2
-rw-r--r--runtime/doc/various.txt2
-rw-r--r--runtime/doc/version4.txt2
-rw-r--r--runtime/doc/version5.txt6
-rw-r--r--runtime/doc/version6.txt2
-rw-r--r--runtime/doc/version7.txt2
-rw-r--r--runtime/doc/version8.txt7777
-rw-r--r--runtime/doc/vi_diff.txt2
-rw-r--r--runtime/doc/vim-ja.UTF-8.12
-rw-r--r--runtime/doc/visual.txt2
-rw-r--r--runtime/doc/windows.txt34
-rw-r--r--runtime/doc/workshop.txt2
-rw-r--r--runtime/doc/xxd-ja.UTF-8.13
-rw-r--r--runtime/filetype.vim9
-rw-r--r--runtime/ftplugin/debchangelog.vim128
-rw-r--r--runtime/ftplugin/debcontrol.vim18
-rw-r--r--runtime/ftplugin/man.vim10
-rw-r--r--runtime/ftplugin/xml.vim33
-rw-r--r--runtime/indent/php.vim106
-rw-r--r--runtime/indent/sh.vim84
-rw-r--r--runtime/lang/menu_fr_fr.latin1.vim8
-rw-r--r--runtime/lang/menu_it_it.latin1.vim449
-rw-r--r--runtime/lang/menu_ja.euc-jp.vim2
-rw-r--r--runtime/lang/menu_ja.utf-8.vim2
-rw-r--r--runtime/lang/menu_ja_jp.euc-jp.vim25
-rw-r--r--runtime/lang/menu_ja_jp.utf-8.vim25
-rw-r--r--runtime/lang/menu_japanese_japan.932.vim25
-rw-r--r--runtime/lang/menu_ru_ru.vim112
-rw-r--r--runtime/makemenu.vim35
-rw-r--r--runtime/menu.vim17
-rw-r--r--runtime/optwin.vim5
-rw-r--r--runtime/pack/dist/opt/termdebug/plugin/termdebug.vim430
-rw-r--r--runtime/synmenu.vim774
-rw-r--r--runtime/syntax/cabal.vim304
-rw-r--r--runtime/syntax/cs.vim50
-rw-r--r--runtime/syntax/debchangelog.vim8
-rw-r--r--runtime/syntax/debcontrol.vim10
-rw-r--r--runtime/syntax/debcopyright.vim33
-rw-r--r--runtime/syntax/debsources.vim12
-rw-r--r--runtime/syntax/html.vim27
-rw-r--r--runtime/syntax/muttrc.vim320
-rw-r--r--runtime/syntax/nsis.vim10
-rw-r--r--runtime/syntax/php.vim4
-rw-r--r--runtime/syntax/sqloracle.vim7
-rw-r--r--runtime/syntax/tmux.vim89
-rw-r--r--runtime/syntax/upstreamrpt.vim2
-rw-r--r--runtime/syntax/vhdl.vim20
-rw-r--r--runtime/syntax/vim.vim78
-rw-r--r--runtime/syntax/zsh.vim12
-rw-r--r--runtime/tools/ccfilter_README.txt10
-rw-r--r--runtime/tutor/tutor.ja.euc7
-rw-r--r--runtime/tutor/tutor.ja.sjis7
-rw-r--r--runtime/tutor/tutor.ja.utf-87
-rw-r--r--runtime/tutor/tutor.ru6
-rw-r--r--runtime/tutor/tutor.ru.cp12516
-rw-r--r--src/GvimExt/GvimExt.reg4
-rw-r--r--src/Make_cyg_ming.mak2
-rw-r--r--src/Make_ivc.mak2
-rw-r--r--src/Make_mvc.mak5
-rw-r--r--src/Makefile593
-rw-r--r--src/alloc.h1
-rwxr-xr-xsrc/auto/configure4
-rw-r--r--src/buffer.c100
-rw-r--r--src/channel.c139
-rw-r--r--src/charset.c15
-rw-r--r--src/config.h.in1
-rw-r--r--src/configure.ac4
-rw-r--r--src/diff.c10
-rw-r--r--src/digraph.c27
-rw-r--r--src/dosinst.c7
-rw-r--r--src/edit.c171
-rw-r--r--src/eval.c161
-rw-r--r--src/evalfunc.c631
-rw-r--r--src/ex_cmds.c13
-rw-r--r--src/ex_cmds2.c14
-rw-r--r--src/ex_docmd.c59
-rw-r--r--src/ex_getln.c183
-rw-r--r--src/fileio.c99
-rw-r--r--src/getchar.c39
-rw-r--r--src/globals.h9
-rw-r--r--src/gui.c72
-rw-r--r--src/gui.h4
-rw-r--r--src/gui_mac.c10
-rw-r--r--src/gui_w32.c6
-rw-r--r--src/gui_x11.c24
-rw-r--r--src/gvim.exe.mnf2
-rw-r--r--src/hardcopy.c10
-rw-r--r--src/if_py_both.h18
-rw-r--r--src/if_python.c3
-rw-r--r--src/if_python3.c3
-rw-r--r--src/if_ruby.c2
-rw-r--r--src/keymap.h2
-rw-r--r--src/main.c11
-rw-r--r--src/mbyte.c11
-rw-r--r--src/memline.c13
-rw-r--r--src/message.c16
-rw-r--r--src/misc1.c39
-rw-r--r--src/normal.c85
-rw-r--r--src/ops.c105
-rw-r--r--src/option.c159
-rw-r--r--src/option.h3
-rw-r--r--src/os_macosx.m23
-rw-r--r--src/os_mswin.c31
-rw-r--r--src/os_unix.c70
-rw-r--r--src/os_win32.c109
-rw-r--r--src/po/Make_cyg.mak4
-rw-r--r--src/po/Make_ming.mak4
-rw-r--r--src/po/Make_mvc.mak2
-rw-r--r--src/po/Makefile4
-rw-r--r--src/po/README.txt10
-rw-r--r--src/po/af.po4
-rw-r--r--src/po/ca.po26
-rw-r--r--src/po/check.vim18
-rw-r--r--src/po/de.po228
-rw-r--r--src/po/eo.po249
-rw-r--r--src/po/es.po20
-rw-r--r--src/po/fi.po14
-rw-r--r--src/po/fr.po224
-rw-r--r--src/po/ga.po24
-rw-r--r--src/po/it.po231
-rw-r--r--src/po/ja.euc-jp.po487
-rw-r--r--src/po/ja.po487
-rw-r--r--src/po/ja.sjis.po487
-rw-r--r--src/po/ko.UTF-8.po14
-rw-r--r--src/po/ko.po18
-rw-r--r--src/po/nb.po22
-rw-r--r--src/po/nl.po12
-rw-r--r--src/po/no.po22
-rw-r--r--src/po/pl.UTF-8.po24
-rw-r--r--src/po/pl.cp1250.po24
-rw-r--r--src/po/pl.po24
-rw-r--r--src/po/pt_BR.po24
-rw-r--r--src/po/ru.cp1251.po1681
-rw-r--r--src/po/ru.po1681
-rw-r--r--src/po/sk.cp1250.po18
-rw-r--r--src/po/sk.po18
-rw-r--r--src/po/sr.po458
-rw-r--r--src/po/sv.po24
-rw-r--r--src/po/uk.cp1251.po26
-rw-r--r--src/po/uk.po26
-rw-r--r--src/po/vi.po2
-rw-r--r--src/po/zh_CN.UTF-8.po12
-rw-r--r--src/po/zh_CN.cp936.po12
-rw-r--r--src/po/zh_CN.po12
-rw-r--r--src/po/zh_TW.UTF-8.po2
-rw-r--r--src/po/zh_TW.po2
-rw-r--r--src/popupmnu.c77
-rw-r--r--src/proto/buffer.pro1
-rw-r--r--src/proto/channel.pro5
-rw-r--r--src/proto/edit.pro2
-rw-r--r--src/proto/eval.pro28
-rw-r--r--src/proto/evalfunc.pro2
-rw-r--r--src/proto/ex_cmds2.pro3
-rw-r--r--src/proto/ex_docmd.pro3
-rw-r--r--src/proto/fileio.pro1
-rw-r--r--src/proto/fold.pro2
-rw-r--r--src/proto/mark.pro2
-rw-r--r--src/proto/misc1.pro2
-rw-r--r--src/proto/ops.pro3
-rw-r--r--src/proto/os_unix.pro3
-rw-r--r--src/proto/os_win32.pro1
-rw-r--r--src/proto/popupmnu.pro3
-rw-r--r--src/proto/quickfix.pro2
-rw-r--r--src/proto/screen.pro4
-rw-r--r--src/proto/search.pro2
-rw-r--r--src/proto/term.pro1
-rw-r--r--src/proto/terminal.pro8
-rw-r--r--src/proto/window.pro3
-rw-r--r--src/quickfix.c1726
-rw-r--r--src/regexp_nfa.c2
-rw-r--r--src/screen.c124
-rw-r--r--src/search.c73
-rw-r--r--src/spellfile.c10
-rw-r--r--src/structs.h17
-rw-r--r--src/syntax.c6
-rw-r--r--src/tag.c4
-rw-r--r--src/term.c505
-rw-r--r--src/terminal.c702
-rw-r--r--src/testdir/Make_all.mak1
-rw-r--r--src/testdir/dumps/Test_incsearch_scrolling_01.dump9
-rw-r--r--src/testdir/gen_opt_test.vim1
-rw-r--r--src/testdir/runtest.vim12
-rw-r--r--src/testdir/screendump.vim43
-rw-r--r--src/testdir/shared.vim99
-rw-r--r--src/testdir/test86.ok2
-rw-r--r--src/testdir/test87.ok2
-rw-r--r--src/testdir/test_alot.vim1
-rw-r--r--src/testdir/test_assert.vim90
-rw-r--r--src/testdir/test_autocmd.vim4
-rw-r--r--src/testdir/test_blockedit.vim13
-rw-r--r--src/testdir/test_bufline.vim49
-rw-r--r--src/testdir/test_channel.vim130
-rw-r--r--src/testdir/test_clientserver.vim13
-rw-r--r--src/testdir/test_cmdline.vim81
-rw-r--r--src/testdir/test_compiler.vim49
-rw-r--r--src/testdir/test_cscope.vim54
-rw-r--r--src/testdir/test_digraph.vim12
-rw-r--r--src/testdir/test_edit.vim16
-rw-r--r--src/testdir/test_functions.vim85
-rw-r--r--src/testdir/test_gn.vim39
-rw-r--r--src/testdir/test_goto.vim62
-rw-r--r--src/testdir/test_gui.vim51
-rw-r--r--src/testdir/test_hardcopy.vim29
-rw-r--r--src/testdir/test_ins_complete.vim25
-rw-r--r--src/testdir/test_job_fails.vim4
-rw-r--r--src/testdir/test_lambda.vim6
-rw-r--r--src/testdir/test_maparg.vim8
-rw-r--r--src/testdir/test_mapping.vim16
-rw-r--r--src/testdir/test_messages.vim21
-rw-r--r--src/testdir/test_mksession.vim11
-rw-r--r--src/testdir/test_normal.vim2
-rw-r--r--src/testdir/test_options.vim56
-rw-r--r--src/testdir/test_plus_arg_edit.vim32
-rw-r--r--src/testdir/test_popup.vim83
-rw-r--r--src/testdir/test_prompt_buffer.vim103
-rw-r--r--src/testdir/test_put.vim13
-rw-r--r--src/testdir/test_quickfix.vim172
-rw-r--r--src/testdir/test_quotestar.vim22
-rw-r--r--src/testdir/test_registers.vim38
-rw-r--r--src/testdir/test_search.vim35
-rw-r--r--src/testdir/test_swap.vim15
-rw-r--r--src/testdir/test_tabpage.vim43
-rw-r--r--src/testdir/test_terminal.vim298
-rw-r--r--src/testdir/test_textobjects.vim75
-rw-r--r--src/testdir/test_timers.vim38
-rw-r--r--src/testdir/test_undo.vim44
-rw-r--r--src/testdir/test_unlet.vim34
-rw-r--r--src/testdir/test_visual.vim19
-rw-r--r--src/testdir/test_winbuf_close.vim36
-rw-r--r--src/testdir/test_window_cmd.vim23
-rw-r--r--src/testdir/test_xxd.vim8
-rw-r--r--src/ui.c7
-rw-r--r--src/userfunc.c12
-rw-r--r--src/version.c3354
-rw-r--r--src/version.h20
-rw-r--r--src/vim.def2
-rw-r--r--src/vim.h19
-rw-r--r--src/window.c152
387 files changed, 21036 insertions, 10582 deletions
diff --git a/Makefile b/Makefile
index a45af5a..4a7c4c6 100644
--- a/Makefile
+++ b/Makefile
@@ -68,7 +68,7 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
# Before creating an archive first delete all backup files, *.orig, etc.
MAJOR = 8
-MINOR = 0
+MINOR = 1
# CHECKLIST for creating a new version:
#
@@ -131,7 +131,7 @@ MINOR = 0
# - > make dossrc
# > make dosrt
# Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
-# This creates the directory vim/vim80 and puts all files in there.
+# This creates the directory vim/vim81 and puts all files in there.
# Win32 console version build:
# - See src/INSTALLpc.txt for installing the compiler and SDK.
# - Set environment for Visual C++ 2015:
diff --git a/README.md b/README.md
index 41f0875..bc59214 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-`README.md` for version 8.0 of Vim: Vi IMproved.
+![Vim Logo](https://github.com/vim/vim/blob/master/runtime/vimlogo.gif)
[![Build Status](https://travis-ci.org/vim/vim.svg?branch=master)](https://travis-ci.org/vim/vim)
[![Coverage Status](https://codecov.io/gh/vim/vim/coverage.svg?branch=master)](https://codecov.io/gh/vim/vim?branch=master)
@@ -137,3 +137,6 @@ If nothing else works, report bugs directly:
Send any other comments, patches, flowers and suggestions to:
Bram Moolenaar <Bram@vim.org>
+
+
+This is `README.md` for version 8.1 of Vim: Vi IMproved.
diff --git a/README.txt b/README.txt
index eefa2ef..e0132dc 100644
--- a/README.txt
+++ b/README.txt
@@ -1,4 +1,4 @@
-README.txt for version 8.0 of Vim: Vi IMproved.
+README.txt for version 8.1 of Vim: Vi IMproved.
WHAT IS VIM?
diff --git a/READMEdir/Contents b/READMEdir/Contents
index 76bd909..822eb2c 100644
--- a/READMEdir/Contents
+++ b/READMEdir/Contents
@@ -9,10 +9,10 @@ Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
messages, shows current file name in window title, on-line
help, rectangular cut/paste, etc., etc., etc...
- Version 8.0. Also runs under UNIX, MS-Windows, Mac, etc.
- vim80rt.tgz contains the documentation and syntax files.
- vim80bin.tgz contains the binaries.
- vim80src.tgz contains the sources.
+ Version 8.1. Also runs under UNIX, MS-Windows, Mac, etc.
+ vim81rt.tgz contains the documentation and syntax files.
+ vim81bin.tgz contains the binaries.
+ vim81src.tgz contains the sources.
Author: Bram Moolenaar et al.
diff --git a/READMEdir/README_ami.txt b/READMEdir/README_ami.txt
index 1ba595e..fc9a30d 100644
--- a/READMEdir/README_ami.txt
+++ b/READMEdir/README_ami.txt
@@ -1,4 +1,4 @@
-README_ami.txt for version 8.0 of Vim: Vi IMproved.
+README_ami.txt for version 8.1 of Vim: Vi IMproved.
This file explains the installation of Vim on Amiga systems.
See README.txt for general information about Vim.
@@ -16,8 +16,8 @@ easily upgrade to a new version. For example:
You would then unpack the archives like this:
cd dh0:editors
- tar xf t:vim80bin.tar
- tar xf t:vim80rt.tar
+ tar xf t:vim81bin.tar
+ tar xf t:vim81rt.tar
Set the $VIM environment variable to point to the top directory of your Vim
files. For the above example:
diff --git a/READMEdir/README_amibin.txt b/READMEdir/README_amibin.txt
index 2e323f3..5b9b02f 100644
--- a/READMEdir/README_amibin.txt
+++ b/READMEdir/README_amibin.txt
@@ -1,8 +1,8 @@
-README_amibin.txt for version 8.0 of Vim: Vi IMproved.
+README_amibin.txt for version 8.1 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.
-These files are in the runtime archive (vim80rt.tgz).
+These files are in the runtime archive (vim81rt.tgz).
The Amiga "bin" archive contains the Vim executable for the Amiga. It was
diff --git a/READMEdir/README_amisrc.txt b/READMEdir/README_amisrc.txt
index c0d6ed2..966bd34 100644
--- a/READMEdir/README_amisrc.txt
+++ b/READMEdir/README_amisrc.txt
@@ -1,8 +1,8 @@
-README_amisrc.txt for version 8.0 of Vim: Vi IMproved.
+README_amisrc.txt for version 8.1 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.
-These files are in the runtime archive (vim80rt.tgz).
+These files are in the runtime archive (vim81rt.tgz).
The Amiga source archive contains the files needed to compile Vim on the
diff --git a/READMEdir/README_bindos.txt b/READMEdir/README_bindos.txt
index c52fea0..7d10a6f 100644
--- a/READMEdir/README_bindos.txt
+++ b/READMEdir/README_bindos.txt
@@ -1,16 +1,16 @@
-README_bindos.txt for version 8.0 of Vim: Vi IMproved.
+README_bindos.txt for version 8.1 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
-These files are in the runtime archive (vim80rt.zip).
+These files are in the runtime archive (vim81rt.zip).
There are several binary distributions of Vim for the PC. You would normally
pick only one of them, but it's also possible to install several.
These ones are available (the version number may differ):
- vim80w32.zip Windows 95/98/NT/etc. console version
- gvim80.zip Windows 95/98/NT/etc. GUI version
- gvim80ole.zip Windows 95/98/NT/etc. GUI version with OLE
+ vim81w32.zip Windows 95/98/NT/etc. console version
+ gvim81.zip Windows 95/98/NT/etc. GUI version
+ gvim81ole.zip Windows 95/98/NT/etc. GUI version with OLE
-You MUST also get the runtime archive (vim80rt.zip).
-The sources are also available (vim80src.zip).
+You MUST also get the runtime archive (vim81rt.zip).
+The sources are also available (vim81src.zip).
diff --git a/READMEdir/README_dos.txt b/READMEdir/README_dos.txt
index c8f49ac..ac6f090 100644
--- a/READMEdir/README_dos.txt
+++ b/READMEdir/README_dos.txt
@@ -1,4 +1,4 @@
-README_dos.txt for version 8.0 of Vim: Vi IMproved.
+README_dos.txt for version 8.1 of Vim: Vi IMproved.
This file explains the installation of Vim on MS-DOS and MS-Windows systems.
See "README.txt" for general information about Vim.
@@ -41,19 +41,19 @@ These are the normal steps to install Vim from the .zip archives:
located. Check the $VIM setting to see where it points to:
set VIM
For example, if you have
- C:\vim\vim80
+ C:\vim\vim81
do
cd C:\
Binary and runtime Vim archives are normally unpacked in the same location,
on top of each other.
-2. Unpack the zip archives. This will create a new directory "vim\vim80",
+2. Unpack the zip archives. This will create a new directory "vim\vim81",
in which all the distributed Vim files are placed. Since the directory
name includes the version number, it is unlikely that you overwrite
existing files.
Examples:
- pkunzip -d gvim80.zip
- unzip vim80w32.zip
+ pkunzip -d gvim81.zip
+ unzip vim81w32.zip
You need to unpack the runtime archive and at least one of the binary
archives. When using more than one binary version, be careful not to
@@ -69,7 +69,7 @@ These are the normal steps to install Vim from the .zip archives:
archive and follow the instructions in the documentation.
3. Change to the new directory:
- cd vim\vim80
+ cd vim\vim81
Run the "install.exe" program. It will ask you a number of questions about
how you would like to have your Vim setup. Among these are:
- You can tell it to write a "_vimrc" file with your preferences in the
@@ -80,8 +80,8 @@ These are the normal steps to install Vim from the .zip archives:
console or in a shell. You can select one of the directories in your
$PATH. If you skip this, you can add Vim to the search path manually:
The simplest is to add a line to your autoexec.bat. Examples:
- set path=%path%;C:\vim\vim80
- set path=%path%;D:\editors\vim\vim80
+ set path=%path%;C:\vim\vim81
+ set path=%path%;D:\editors\vim\vim81
- Create entries for Vim on the desktop and in the Start menu.
That's it!
@@ -93,8 +93,8 @@ Remarks:
won't show a menubar. Then you need to set the $VIM environment variable to
point to the top directory of your Vim files. Example:
set VIM=C:\editors\vim
- Vim version 8.0 will look for your vimrc file in $VIM, and for the runtime
- files in $VIM/vim80. See ":help $VIM" for more information.
+ Vim version 8.1 will look for your vimrc file in $VIM, and for the runtime
+ files in $VIM/vim81. See ":help $VIM" for more information.
- To avoid confusion between distributed files of different versions and your
own modified vim scripts, it is recommended to use this directory layout:
@@ -105,14 +105,14 @@ Remarks:
C:\vim\vimfiles\ftplugin\*.vim Filetype plugins
C:\vim\... Other files you made.
Distributed files:
- C:\vim\vim80\vim.exe The Vim version 8.0 executable.
- C:\vim\vim80\doc\*.txt The version 8.0 documentation files.
- C:\vim\vim80\bugreport.vim A Vim version 8.0 script.
- C:\vim\vim80\... Other version 8.0 distributed files.
+ C:\vim\vim81\vim.exe The Vim version 8.1 executable.
+ C:\vim\vim81\doc\*.txt The version 8.1 documentation files.
+ C:\vim\vim81\bugreport.vim A Vim version 8.1 script.
+ C:\vim\vim81\... Other version 8.1 distributed files.
In this case the $VIM environment variable would be set like this:
set VIM=C:\vim
- Then $VIMRUNTIME will automatically be set to "$VIM\vim80". Don't add
- "vim80" to $VIM, that won't work.
+ Then $VIMRUNTIME will automatically be set to "$VIM\vim81". Don't add
+ "vim81" to $VIM, that won't work.
- You can put your Vim executable anywhere else. If the executable is not
with the other Vim files, you should set $VIM. The simplest is to add a line
@@ -136,8 +136,8 @@ Remarks:
Select Properties.
5. In the Program tab, change the "Cmdline" to add "/c" and the name of the
Vim executable. Examples:
- C:\command.com /c C:\vim\vim80\vim.exe
- C:\command.com /c D:\editors\vim\vim80\vim.exe
+ C:\command.com /c C:\vim\vim81\vim.exe
+ C:\command.com /c D:\editors\vim\vim81\vim.exe
6. Select the font, window size, etc. that you like. If this isn't
possible, select "Advanced" in the Program tab, and deselect "MS-DOS
mode".
diff --git a/READMEdir/README_extra.txt b/READMEdir/README_extra.txt
index c42043e..ce629b2 100644
--- a/READMEdir/README_extra.txt
+++ b/READMEdir/README_extra.txt
@@ -1,4 +1,4 @@
-README_extra.txt for version 8.0 of Vim: Vi IMproved.
+README_extra.txt for version 8.1 of Vim: Vi IMproved.
These extra files of Vim are for special purposes. This README explains what
the files are for. For general information about Vim, see the "README.txt"
diff --git a/READMEdir/README_mac.txt b/READMEdir/README_mac.txt
index cdef1a2..d76a11a 100644
--- a/READMEdir/README_mac.txt
+++ b/READMEdir/README_mac.txt
@@ -1,4 +1,4 @@
-README_mac.txt for version 8.0 of Vim: Vi IMproved.
+README_mac.txt for version 8.1 of Vim: Vi IMproved.
This file explains the installation of Vim on Macintosh systems.
See "README.txt" for general information about Vim.
diff --git a/READMEdir/README_ole.txt b/READMEdir/README_ole.txt
index fb1fb01..4c7e645 100644
--- a/READMEdir/README_ole.txt
+++ b/READMEdir/README_ole.txt
@@ -1,4 +1,4 @@
-README_ole.txt for version 8.0 of Vim: Vi IMproved.
+README_ole.txt for version 8.1 of Vim: Vi IMproved.
This archive contains gvim.exe with OLE interface and VisVim.
This version of gvim.exe can also load a number of interface dynamically (you
diff --git a/READMEdir/README_os2.txt b/READMEdir/README_os2.txt
index 61bef4c..7d9c5ce 100644
--- a/READMEdir/README_os2.txt
+++ b/READMEdir/README_os2.txt
@@ -1,4 +1,4 @@
-README_os2.txt for version 8.0 of Vim: Vi IMproved.
+README_os2.txt for version 8.1 of Vim: Vi IMproved.
This file used to explain the installation of Vim on OS/2 systems.
However, support for OS/2 has been removed in patch 7.4.1008.
diff --git a/READMEdir/README_os390.txt b/READMEdir/README_os390.txt
index 0b0ec9a..24c668c 100644
--- a/READMEdir/README_os390.txt
+++ b/READMEdir/README_os390.txt
@@ -1,4 +1,4 @@
-README_zOS.txt for version 8.0 of Vim: Vi IMproved.
+README_zOS.txt for version 8.1 of Vim: Vi IMproved.
This readme explains how to build Vim on z/OS. Formerly called OS/390.
See "README.txt" for general information about Vim.
diff --git a/READMEdir/README_src.txt b/READMEdir/README_src.txt
index 3ac2975..89b8357 100644
--- a/READMEdir/README_src.txt
+++ b/READMEdir/README_src.txt
@@ -1,8 +1,8 @@
-README_src.txt for version 8.0 of Vim: Vi IMproved.
+README_src.txt for version 8.1 of Vim: Vi IMproved.
The source archive contains the files needed to compile Vim on Unix systems.
It is packed for Unix systems (NL line separator).
For more information, see the README.txt file that comes with the runtime
-archive (vim-8.0-rt.tar.gz). To be able to run Vim you MUST get the runtime
+archive (vim-8.1-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive too!
diff --git a/READMEdir/README_srcdos.txt b/READMEdir/README_srcdos.txt
index b9cb0e5..6acb652 100644
--- a/READMEdir/README_srcdos.txt
+++ b/READMEdir/README_srcdos.txt
@@ -1,8 +1,8 @@
-README_srcdos.txt for version 8.0 of Vim: Vi IMproved.
+README_srcdos.txt for version 8.1 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
-These files are in the runtime archive (vim80rt.zip).
+These files are in the runtime archive (vim81rt.zip).
The DOS source archive contains the files needed to compile Vim on MS-DOS or
diff --git a/READMEdir/README_unix.txt b/READMEdir/README_unix.txt
index 054f7fa..ab8d188 100644
--- a/READMEdir/README_unix.txt
+++ b/READMEdir/README_unix.txt
@@ -1,4 +1,4 @@
-README_unix.txt for version 8.0 of Vim: Vi IMproved.
+README_unix.txt for version 8.1 of Vim: Vi IMproved.
This file explains the installation of Vim on Unix systems.
See "README.txt" for general information about Vim.
diff --git a/READMEdir/README_vms.txt b/READMEdir/README_vms.txt
index 6f99c07..c1c7613 100644
--- a/READMEdir/README_vms.txt
+++ b/READMEdir/README_vms.txt
@@ -1,4 +1,4 @@
-README_vms.txt for version 8.0 of Vim: Vi IMproved.
+README_vms.txt for version 8.1 of Vim: Vi IMproved.
This file explains the installation of Vim on VMS systems.
See "README.txt" in the runtime archive for information about Vim.
diff --git a/READMEdir/README_w32s.txt b/READMEdir/README_w32s.txt
index 311a177..c4f9a0c 100644
--- a/READMEdir/README_w32s.txt
+++ b/READMEdir/README_w32s.txt
@@ -1,4 +1,4 @@
-README_w32s.txt for version 8.0 of Vim: Vi IMproved.
+README_w32s.txt for version 8.1 of Vim: Vi IMproved.
This archive contains the gvim.exe that was specifically compiled for use in
the Win32s subsystem in MS-Windows 3.1 and 3.11.
diff --git a/nsis/gvim.nsi b/nsis/gvim.nsi
index a1820f4..55bb4ce 100644
--- a/nsis/gvim.nsi
+++ b/nsis/gvim.nsi
@@ -267,6 +267,9 @@ Section "Vim executables and runtime files"
SetOutPath $0\pack\dist\opt\swapmouse\plugin
File ${VIMRT}\pack\dist\opt\swapmouse\plugin\*.*
+ SetOutPath $0\pack\dist\opt\termdebug\plugin
+ File ${VIMRT}\pack\dist\opt\termdebug\plugin\*.*
+
SetOutPath $0\plugin
File ${VIMRT}\plugin\*.*
diff --git a/nsis/gvim_version.nsh b/nsis/gvim_version.nsh
index 4481f32..f34feab 100644
--- a/nsis/gvim_version.nsh
+++ b/nsis/gvim_version.nsh
@@ -2,5 +2,5 @@
!ifndef __GVIM_VER__NSH__
!define __GVIM_VER__NSH__
!define VER_MAJOR 8
-!define VER_MINOR 0
+!define VER_MINOR 1
!endif
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim
index de85844..76485c2 100644
--- a/runtime/autoload/netrw.vim
+++ b/runtime/autoload/netrw.vim
@@ -22,8 +22,8 @@
if &cp || exists("g:loaded_netrw")
finish
endif
-" netrw requires vim having patch 213; netrw will benefit from vim's having patch#656, too
-if v:version < 704 || !has("patch213")
+" netrw requires vim having patch 7.4.213; netrw will benefit from vim's having patch#656, too
+if v:version < 704 || (v:version == 704 && !has("patch213"))
if !exists("s:needpatch213")
unsilent echomsg "***sorry*** this version of netrw requires vim v7.4 with patch 213"
endif
diff --git a/runtime/autoload/xmlformat.vim b/runtime/autoload/xmlformat.vim
new file mode 100644
index 0000000..83ba49a
--- /dev/null
+++ b/runtime/autoload/xmlformat.vim
@@ -0,0 +1,112 @@
+" Vim plugin for formatting XML
+" Last Change: Thu, 22 May 2018 21:26:55 +0100
+" Version: 0.1
+" Author: Christian Brabandt <cb@256bit.org>
+" Script: http://www.vim.org/scripts/script.php?script_id=
+" License: VIM License
+" GetLatestVimScripts: ???? 18 :AutoInstall: xmlformat.vim
+" Documentation: see :h xmlformat.txt (TODO!)
+" ---------------------------------------------------------------------
+" Load Once: {{{1
+if exists("g:loaded_xmlformat") || &cp
+ finish
+endif
+let g:loaded_xmlformat = 1
+let s:keepcpo = &cpo
+set cpo&vim
+
+" Main function: Format the input {{{1
+func! xmlformat#Format()
+ " only allow reformatting through the gq command
+ " (e.g. Vim is in normal mode)
+ if mode() != 'n'
+ " do not fall back to internal formatting
+ return 0
+ endif
+ let sw = shiftwidth()
+ let prev = prevnonblank(v:lnum-1)
+ let s:indent = indent(prev)/sw
+ let result = []
+ let lastitem = prev ? getline(prev) : ''
+ let is_xml_decl = 0
+ " split on `<`, but don't split on very first opening <
+ for item in split(join(getline(v:lnum, (v:lnum + v:count - 1))), '.\@<=[>]\zs')
+ if s:EndTag(item)
+ let s:indent = s:DecreaseIndent()
+ call add(result, s:Indent(item))
+ elseif s:EmptyTag(lastitem)
+ call add(result, s:Indent(item))
+ elseif s:StartTag(lastitem) && s:IsTag(item)
+ let s:indent += 1
+ call add(result, s:Indent(item))
+ else
+ if !s:IsTag(item)
+ " Simply split on '<'
+ let t=split(item, '.<\@=\zs')
+ let s:indent+=1
+ call add(result, s:Indent(t[0]))
+ let s:indent = s:DecreaseIndent()
+ call add(result, s:Indent(t[1]))
+ else
+ call add(result, s:Indent(item))
+ endif
+ endif
+ let lastitem = item
+ endfor
+
+ if !empty(result)
+ exe v:lnum. ",". (v:lnum + v:count - 1). 'd'
+ call append(v:lnum - 1, result)
+ " Might need to remove the last line, if it became empty because of the
+ " append() call
+ let last = v:lnum + len(result)
+ if getline(last) is ''
+ exe last. 'd'
+ endif
+ endif
+
+ " do not run internal formatter!
+ return 0
+endfunc
+" Check if given tag is XML Declaration header {{{1
+func! s:IsXMLDecl(tag)
+ return a:tag =~? '^\s*<?xml\s\?\%(version="[^"]*"\)\?\s\?\%(encoding="[^"]*"\)\? ?>\s*$'
+endfunc
+" Return tag indented by current level {{{1
+func! s:Indent(item)
+ return repeat(' ', shiftwidth()*s:indent). s:Trim(a:item)
+endfu
+" Return item trimmed from leading whitespace {{{1
+func! s:Trim(item)
+ if exists('*trim')
+ return trim(a:item)
+ else
+ return matchstr(a:item, '\S\+.*')
+ endif
+endfunc
+" Check if tag is a new opening tag <tag> {{{1
+func! s:StartTag(tag)
+ return a:tag =~? '^\s*<[^/?]'
+endfunc
+" Remove one level of indentation {{{1
+func! s:DecreaseIndent()
+ return (s:indent > 0 ? s:indent - 1 : 0)
+endfunc
+" Check if tag is a closing tag </tag> {{{1
+func! s:EndTag(tag)
+ return a:tag =~? '^\s*</'
+endfunc
+" Check that the tag is actually a tag and not {{{1
+" something like "foobar</foobar>"
+func! s:IsTag(tag)
+ return s:Trim(a:tag)[0] == '<'
+endfunc
+" Check if tag is empty <tag/> {{{1
+func! s:EmptyTag(tag)
+ return a:tag =~ '/>\s*$'
+endfunc
+" Restoration And Modelines: {{{1
+let &cpo= s:keepcpo
+unlet s:keepcpo
+" Modeline {{{1
+" vim: fdm=marker fdl=0 ts=2 et sw=0 sts=-1
diff --git a/runtime/colors/README.txt b/runtime/colors/README.txt
index a435c2d..057bbec 100644
--- a/runtime/colors/README.txt
+++ b/runtime/colors/README.txt
@@ -42,7 +42,16 @@ this autocmd might be useful:
Replace "blue_sky" with the name of the colorscheme.
In case you want to tweak a colorscheme after it was loaded, check out the
-ColorScheme autocmd event.
+ColorScheme autocommand event.
+
+To clean up just before loading another colorscheme, use the ColorSchemePre
+autocommand event. For example:
+ let g:term_ansi_colors = ...
+ augroup MyColorscheme
+ au!
+ au ColorSchemePre * unlet g:term_ansi_colors
+ au ColorSchemePre * au! MyColorscheme
+ augroup END
To customize a colorscheme use another name, e.g. "~/.vim/colors/mine.vim",
and use `:runtime` to load the original colorscheme:
@@ -64,7 +73,8 @@ Search for "highlight_init".
If you think you have a color scheme that is good enough to be used by others,
please check the following items:
-- Source the tools/check_colors.vim script to check for common mistakes.
+- Source the $VIMRUNTIME/colors/tools/check_colors.vim script to check for
+ common mistakes.
- Does it work in a color terminal as well as in the GUI?
- Is "g:colors_name" set to a meaningful value? In case of doubt you can do
it this way:
diff --git a/runtime/colors/tools/check_colors.vim b/runtime/colors/tools/check_colors.vim
index 0cfe5ec..b1aefa1 100644
--- a/runtime/colors/tools/check_colors.vim
+++ b/runtime/colors/tools/check_colors.vim
@@ -1,5 +1,5 @@
" This script tests a color scheme for some errors. Load the scheme and source
-" this script. e.g. :e colors/desert.vim | :so test_colors.vim
+" this script. e.g. :e colors/desert.vim | :so check_colors.vim
" Will output possible errors.
let s:save_cpo= &cpo
@@ -90,7 +90,7 @@ func! Test_check_colors()
let err['background'] = 'Should not issue :syn on'
endif
- " 7) Does not define filetype specfic groups like vimCommand, htmlTag,
+ " 7) Does not define filetype specific groups like vimCommand, htmlTag,
let hi_groups = ['vim', 'html', 'python', 'sh', 'ruby']
for group in hi_groups
let pat='\Chi\%[ghlight]\s*\zs'.group.'\w\+\>'
diff --git a/runtime/doc/arabic.txt b/runtime/doc/arabic.txt
index 5d0e9f3..0572b85 100644
--- a/runtime/doc/arabic.txt
+++ b/runtime/doc/arabic.txt
@@ -1,4 +1,4 @@
-*arabic.txt* For Vim version 8.0. Last change: 2010 Nov 13
+*arabic.txt* For Vim version 8.1. Last change: 2010 Nov 13
VIM REFERENCE MANUAL by Nadim Shaikli
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 0c2fa52..dfa46a9 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt* For Vim version 8.0. Last change: 2018 Apr 19
+*autocmd.txt* For Vim version 8.1. Last change: 2018 May 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -347,6 +347,7 @@ Name triggered by ~
when popup menu visible
|TextYankPost| after text is yanked or deleted
+|ColorSchemePre| before loading a color scheme
|ColorScheme| after loading a color scheme
|RemoteReply| a reply from a server Vim was received
@@ -468,6 +469,9 @@ BufWinEnter After a buffer is displayed in a window. This
existing buffer. But it does happen for a
":split" with the name of the current buffer,
since it reloads that buffer.
+ Does not happen for a terminal window, because
+ it starts in Terminal-Job mode and Normal mode
+ commands won't work. Use |TerminalOpen| instead.
*BufWinLeave*
BufWinLeave Before a buffer is removed from a window.
Not when it's still visible in another window.
@@ -562,6 +566,10 @@ ColorScheme After loading a color scheme. |:colorscheme|
set, and <amatch> for the new colorscheme
name.
+ *ColorSchemePre*
+ColorSchemePre Before loading a color scheme. |:colorscheme|
+ Useful to setup removing things added by a
+ color scheme, before another one is loaded.
*CompleteDone*
CompleteDone After Insert mode completion is done. Either
@@ -662,7 +670,10 @@ DirChanged The working directory has changed in response
ExitPre When using `:quit`, `:wq` in a way it makes
Vim exit, or using `:qall`, just after
|QuitPre|. Can be used to close any
- non-essential window.
+ non-essential window. Exiting may still be
+ cancelled if there is a modified buffer that
+ isn't automatically saved, use |VimLeavePre|
+ for really exiting.
*FileChangedShell*
FileChangedShell When Vim notices that the modification time of
a file has changed since editing started.
@@ -1391,7 +1402,7 @@ Careful: '[ and '] change when using commands that change the buffer.
In commands which expect a file name, you can use "<afile>" for the file name
that is being read |:<afile>| (you can also use "%" for the current file
name). "<abuf>" can be used for the buffer number of the currently effective
-buffer. This also works for buffers that doesn't have a name. But it doesn't
+buffer. This also works for buffers that don't have a name. But it doesn't
work for files without a buffer (e.g., with ":r file").
*gzip-example*
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index fe457c9..05c18e6 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt* For Vim version 8.0. Last change: 2018 Apr 17
+*change.txt* For Vim version 8.1. Last change: 2018 May 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -110,7 +110,7 @@ is an error when 'cpoptions' includes the 'E' flag.
J Join [count] lines, with a minimum of two lines.
Remove the indent and insert up to two spaces (see
below). Fails when on the last line of the buffer.
- If [count] is too big it is reduce to the number of
+ If [count] is too big it is reduced to the number of
lines available.
*v_J*
@@ -446,7 +446,7 @@ This depends on the 'nrformats' option:
For decimals a leading negative sign is considered for incrementing/
decrementing, for binary, octal and hex values, it won't be considered. To
-ignore the sign Visually select the number before using CTRL-A or CTRL-X.
+ignore the sign Visually select the number before using CTRL-A or CTRL-X.
For numbers with leading zeros (including all octal and hexadecimal numbers),
Vim preserves the number of characters in the number when possible. CTRL-A on
@@ -1445,6 +1445,55 @@ to the name of an external program for Vim to use for text formatting. The
'textwidth' and other options have no effect on formatting by an external
program.
+ *format-formatexpr*
+The 'formatexpr' option can be set to a Vim Script function that performs
+reformatting of the buffer. This should usually happen in an |ftplugin|,
+since formatting is highly dependent on the type of file. It makes
+sense to use an |autoload| script, so the corresponding script is only loaded
+when actually needed and the script should be called <filetype>format.vim.
+
+For example, the XML filetype plugin distributed with Vim in the $VIMRUNTIME
+directory, sets the 'formatexpr' option to: >
+
+ setlocal formatexpr=xmlformat#Format()
+
+That means, you will find the corresponding script, defining the
+xmlformat#Format() function, in the directory:
+`$VIMRUNTIME/autoload/xmlformat.vim`
+
+Here is an example script that removes trailing whitespace from the selected
+text. Put it in your autoload directory, e.g. ~/.vim/autoload/format.vim: >
+
+ func! format#Format()
+ " only reformat on explicit gq command
+ if mode() != 'n'
+ " fall back to Vims internal reformatting
+ return 1
+ endif
+ let lines = getline(v:lnum, v:lnum + v:count - 1)
+ call map(lines, {key, val -> substitute(val, '\s\+$', '', 'g')})
+ call setline('.', lines)
+
+ " do not run internal formatter!
+ return 0
+ endfunc
+
+You can then enable the formatting by executing: >
+ setlocal formatexpr=format#Format()
+>
+Note: this function explicitly returns non-zero when called from insert mode
+(which basically means, text is inserted beyond the 'textwidth' limit). This
+causes Vim to fall back to reformat the text by using the internal formatter.
+
+However, if the |gq| command is used to reformat the text, the function
+will receive the selected lines, trim trailing whitespace from those lines and
+put them back in place. If you are going to split single lines into multiple
+lines, be careful not to overwrite anything.
+
+If you want to allow reformatting of text from insert or replace mode, one has
+to be very careful, because the function might be called recursively. For
+debugging it helps to set the 'debug' option.
+
*right-justify*
There is no command in Vim to right justify text. You can do it with
an external command, like "par" (e.g.: "!}par" to format until the end of the
diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt
index f0d459b..72887fe 100644
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -1,4 +1,4 @@
-*channel.txt* For Vim version 8.0. Last change: 2018 Apr 18
+*channel.txt* For Vim version 8.1. Last change: 2018 Apr 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -22,6 +22,7 @@ The Netbeans interface also uses a channel. |netbeans|
9. Starting a job without a channel |job-start-nochannel|
10. Job options |job-options|
11. Controlling a job |job-control|
+12. Using a prompt buffer |prompt-buffer|
{Vi does not have any of these features}
{only when compiled with the |+channel| feature for channel stuff}
@@ -770,5 +771,49 @@ signals. E.g. to force a job to stop, "kill it": >
For more options see |job_stop()|.
+==============================================================================
+12. Using a prompt buffer *prompt-buffer*
+
+If you want to type input for the job in a Vim window you have a few options:
+- Use a normal buffer and handle all possible commands yourself.
+ This will be complicated, since there are so many possible commands.
+- Use a terminal window. This works well if what you type goes directly to
+ the job and the job output is directly displayed in the window.
+ See |terminal-window|.
+- Use a prompt window. This works well when entering a line for the job in Vim
+ while displaying (possibly filtered) output from the job.
+
+A prompt buffer is created by setting 'buftype' to "prompt". You would
+normally only do that in a newly created buffer.
+
+The user can edit and enter one line of text at the very last line of the
+buffer. When pressing Enter in the prompt line the callback set with
+|prompt_setcallback()| is invoked. It would normally send the line to a job.
+Another callback would receive the output from the job and display it in the
+buffer, below the prompt (and above the next prompt).
+
+Only the text in the last line, after the prompt, is editable. The rest of the
+buffer is not modifiable with Normal mode commands. It can be modified by
+calling functions, such as |append()|. Using other commands may mess up the
+buffer.
+
+After setting 'buftype' to "prompt" Vim does not automatically start Insert
+mode, use `:startinsert` if you want to enter Insert mode, so that the user
+can start typing a line.
+
+The text of the prompt can be set with the |prompt_setprompt()| function.
+
+The user can go to Normal mode and navigate through the buffer. This can be
+useful see older output or copy text.
+
+The CTRL-W key can be used to start a window command, such as CTRL-W w to
+switch to the next window. This also works in Insert mode (use Shift-CTRL-W
+to delete a word). When leaving the window Insert mode will be stopped. When
+coming back to the prompt window Insert mode will be restored.
+
+Any command that starts Insert mode, such as "a", "i", "A" and "I", will move
+the cursor to the last line. "A" will move to the end of the line, "I" to the
+start of the line.
+
vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index d87d4fe..ae364c3 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt* For Vim version 8.0. Last change: 2017 Oct 19
+*cmdline.txt* For Vim version 8.1. Last change: 2018 May 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -175,12 +175,14 @@ CTRL-R CTRL-F *c_CTRL-R_CTRL-F* *c_<C-R>_<C-F>*
CTRL-R CTRL-P *c_CTRL-R_CTRL-P* *c_<C-R>_<C-P>*
CTRL-R CTRL-W *c_CTRL-R_CTRL-W* *c_<C-R>_<C-W>*
CTRL-R CTRL-A *c_CTRL-R_CTRL-A* *c_<C-R>_<C-A>*
+CTRL-R CTRL-L *c_CTRL-R_CTRL-L* *c_<C-R>_<C-L>*
Insert the object under the cursor:
CTRL-F the Filename under the cursor
CTRL-P the Filename under the cursor, expanded with
'path' as in |gf|
CTRL-W the Word under the cursor
CTRL-A the WORD under the cursor; see |WORD|
+ CTRL-L the line under the cursor
When 'incsearch' is set the cursor position at the end of the
currently displayed match is used. With CTRL-W the part of
@@ -192,8 +194,8 @@ CTRL-R CTRL-A *c_CTRL-R_CTRL-A* *c_<C-R>_<C-A>*
*c_CTRL-R_CTRL-R* *c_<C-R>_<C-R>*
*c_CTRL-R_CTRL-O* *c_<C-R>_<C-O>*
-CTRL-R CTRL-R {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A}
-CTRL-R CTRL-O {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A}
+CTRL-R CTRL-R {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
+CTRL-R CTRL-O {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
Insert register or object under the cursor. Works like
|c_CTRL-R| but inserts the text literally. For example, if
register a contains "xy^Hz" (where ^H is a backspace),
@@ -410,14 +412,17 @@ CTRL-D List names that match the pattern in front of the cursor.
match is inserted. After the last match, the first is used
again (wrap around).
The behavior can be changed with the 'wildmode' option.
+ *c_<S-Tab>*
+<S-Tab> Like 'wildchar' or <Tab>, but begin with the last match and
+ then go to the previous match.
+ <S-Tab> does not work everywhere.
*c_CTRL-N*
CTRL-N After using 'wildchar' which got multiple matches, go to next
match. Otherwise recall more recent command-line from history.
-<S-Tab> *c_CTRL-P* *c_<S-Tab>*
+ *c_CTRL-P*
CTRL-P After using 'wildchar' which got multiple matches, go to
previous match. Otherwise recall older command-line from
- history. <S-Tab> only works with the GUI, on the Amiga and
- with MS-DOS.
+ history.
*c_CTRL-A*
CTRL-A All names that match the pattern in front of the cursor are
inserted.
@@ -453,6 +458,10 @@ a previous version <Esc> was used). In the pattern standard wildcards '*' and
'?' are accepted when matching file names. '*' matches any string, '?'
matches exactly one character.
+When repeating 'wildchar' or CTRL-N you cycle through the matches, eventually
+ending up back to what was typed. If the first match is not what you wanted,
+you can use <S-Tab> or CTRL-P to go straight back to what you typed.
+
The 'wildignorecase' option can be set to ignore case in filenames.
The 'wildmenu' option can be set to show the matches just above the command
@@ -885,7 +894,8 @@ These modifiers can be given, in this order:
directory.
:. Reduce file name to be relative to current directory, if
possible. File name is unmodified if it is not below the
- current directory.
+ current directory, but on MS-Windows the drive is removed if
+ it is the current drive.
For maximum shortness, use ":~:.".
:h Head of the file name (the last component and any separators
removed). Cannot be used with :e, :r or :t.
diff --git a/runtime/doc/debug.txt b/runtime/doc/debug.txt
index 4547eab..6d2cea5 100644
--- a/runtime/doc/debug.txt
+++ b/runtime/doc/debug.txt
@@ -1,4 +1,4 @@
-*debug.txt* For Vim version 8.0. Last change: 2017 Jul 15
+*debug.txt* For Vim version 8.1. Last change: 2017 Jul 15
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/debugger.txt b/runtime/doc/debugger.txt
index 7976395..9aa2fb8 100644
--- a/runtime/doc/debugger.txt
+++ b/runtime/doc/debugger.txt
@@ -1,4 +1,4 @@
-*debugger.txt* For Vim version 8.0. Last change: 2017 Nov 21
+*debugger.txt* For Vim version 8.1. Last change: 2017 Nov 21
VIM REFERENCE MANUAL by Gordon Prieur
diff --git a/runtime/doc/develop.txt b/runtime/doc/develop.txt
index 97823f3..20a623f 100644
--- a/runtime/doc/develop.txt
+++ b/runtime/doc/develop.txt
@@ -1,4 +1,4 @@
-*develop.txt* For Vim version 8.0. Last change: 2018 Apr 18
+*develop.txt* For Vim version 8.1. Last change: 2018 May 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -18,7 +18,8 @@ See the file README.txt in the "src" directory for an overview of the source
code.
Vim is open source software. Everybody is encouraged to contribute to help
-improving Vim. For sending patches a context diff "diff -c" is preferred.
+improving Vim. For sending patches a unified diff "diff -u" is preferred.
+You can create a pull request on github, but it's not required.
Also see http://vim.wikia.com/wiki/How_to_make_and_submit_a_patch.
==============================================================================
@@ -182,7 +183,7 @@ The basic steps to make changes to the code:
include the diff. Or create a pull request on github.
-C COMPILER *style-compiler*
+C COMPILER *style-compiler* *ANSI-C* *C89* *C99*
The minimal C compiler version supported is C89, also known as ANSI C.
Later standards, such as C99, are not widely supported, or at least not 100%
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index e6e225a..e263e6b 100644
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -1,4 +1,4 @@
-*diff.txt* For Vim version 8.0. Last change: 2017 Oct 03
+*diff.txt* For Vim version 8.1. Last change: 2017 Oct 03
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/digraph.txt b/runtime/doc/digraph.txt
index a5cefc2..2a23222 100644
--- a/runtime/doc/digraph.txt
+++ b/runtime/doc/digraph.txt
@@ -1,4 +1,4 @@
-*digraph.txt* For Vim version 8.0. Last change: 2016 Nov 04
+*digraph.txt* For Vim version 8.1. Last change: 2016 Nov 04
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 583d89c..e553d46 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt* For Vim version 8.0. Last change: 2018 Mar 29
+*editing.txt* For Vim version 8.1. Last change: 2018 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 8961a33..2243892 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 8.0. Last change: 2018 Apr 20
+*eval.txt* For Vim version 8.1. Last change: 2018 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1548,10 +1548,12 @@ v:errmsg Last given error message. It's allowed to set this variable.
: ... handle error
< "errmsg" also works, for backwards compatibility.
- *v:errors* *errors-variable*
+ *v:errors* *errors-variable* *assert-return*
v:errors Errors found by assert functions, such as |assert_true()|.
This is a list of strings.
The assert functions append an item when an assert fails.
+ The return value indicates this: a one is returned if an item
+ was added to v:errors, otherwise zero is returned.
To remove old results make it empty: >
:let v:errors = []
< If v:errors is set to anything but a list it is made an empty
@@ -2020,26 +2022,26 @@ argidx() Number current index in the argument list
arglistid([{winnr} [, {tabnr}]]) Number argument list id
argv({nr}) String {nr} entry of the argument list
argv() List the argument list
-assert_beeps({cmd}) none assert {cmd} causes a beep
+assert_beeps({cmd}) Number assert {cmd} causes a beep
assert_equal({exp}, {act} [, {msg}])
- none assert {exp} is equal to {act}
+ Number assert {exp} is equal to {act}
assert_equalfile({fname-one}, {fname-two})
- none assert file contents is equal
+ Number assert file contents is equal
assert_exception({error} [, {msg}])
- none assert {error} is in v:exception
-assert_fails({cmd} [, {error}]) none assert {cmd} fails
+ Number assert {error} is in v:exception
+assert_fails({cmd} [, {error}]) Number assert {cmd} fails
assert_false({actual} [, {msg}])
- none assert {actual} is false
+ Number assert {actual} is false
assert_inrange({lower}, {upper}, {actual} [, {msg}])
- none assert {actual} is inside the range
+ Number assert {actual} is inside the range
assert_match({pat}, {text} [, {msg}])
- none assert {pat} matches {text}
+ Number assert {pat} matches {text}
assert_notequal({exp}, {act} [, {msg}])
- none assert {exp} is not equal {act}
+ Number assert {exp} is not equal {act}
assert_notmatch({pat}, {text} [, {msg}])
- none assert {pat} not matches {text}
-assert_report({msg}) none report a test failure
-assert_true({actual} [, {msg}]) none assert {actual} is true
+ Number assert {pat} not matches {text}
+assert_report({msg}) Number report a test failure
+assert_true({actual} [, {msg}]) Number assert {actual} is true
asin({expr}) Float arc sine of {expr}
atan({expr}) Float arc tangent of {expr}
atan2({expr1}, {expr2}) Float arc tangent of {expr1} / {expr2}
@@ -2108,6 +2110,8 @@ cursor({lnum}, {col} [, {off}])
cursor({list}) Number move cursor to position in {list}
deepcopy({expr} [, {noref}]) any make a full copy of {expr}
delete({fname} [, {flags}]) Number delete the file or directory {fname}
+deletebufline({expr}, {first}[, {last}])
+ Number delete lines from buffer {expr}
did_filetype() Number |TRUE| if FileType autocmd event used
diff_filler({lnum}) Number diff filler lines about {lnum}
diff_hlID({lnum}, {col}) Number diff highlighting at {lnum}/{col}
@@ -2286,14 +2290,16 @@ mode([expr]) String current editing mode
mzeval({expr}) any evaluate |MzScheme| expression
nextnonblank({lnum}) Number line nr of non-blank line >= {lnum}
nr2char({expr} [, {utf8}]) String single char with ASCII/UTF8 value {expr}
-option_restore({list}) none restore options saved by option_save()
-option_save({list}) List save options values
or({expr}, {expr}) Number bitwise OR
pathshorten({expr}) String shorten directory names in a path
perleval({expr}) any evaluate |Perl| expression
pow({x}, {y}) Float {x} to the power of {y}
prevnonblank({lnum}) Number line nr of non-blank line <= {lnum}
printf({fmt}, {expr1}...) String format text
+prompt_addtext({buf}, {expr}) none add text to a prompt buffer
+prompt_setcallback({buf}, {expr}) none set prompt callback function
+prompt_setinterrupt({buf}, {text}) none set prompt interrupt function
+prompt_setprompt({buf}, {text}) none set prompt text
pumvisible() Number whether popup menu is visible
pyeval({expr}) any evaluate |Python| expression
py3eval({expr}) any evaluate |python3| expression
@@ -2302,6 +2308,8 @@ range({expr} [, {max} [, {stride}]])
List items from {expr} to {max}
readfile({fname} [, {binary} [, {max}]])
List get list of lines from file {fname}
+reg_executing() String get the executing register name
+reg_recording() String get the recording register name
reltime([{start} [, {end}]]) List get time value
reltimefloat({time}) Float turn the time value into a Float
reltimestr({time}) String turn time value into a String
@@ -2555,6 +2563,21 @@ append({lnum}, {expr}) *append()*
0 for success. Example: >
:let failed = append(line('$'), "# THE END")
:let failed = append(0, ["Chapter 1", "the beginning"])
+
+appendbufline({expr}, {lnum}, {text}) *appendbufline()*
+ Like |append()| but append the text in buffer {expr}.
+
+ For the use of {expr}, see |bufname()|.
+
+ {lnum} is used like with |append()|. Note that using |line()|
+ would use the current buffer, not the one appending to.
+ Use "$" to append at the end of the buffer.
+
+ On success 0 is returned, on failure 1 is returned.
+
+ If {expr} is not a valid buffer or {lnum} is not valid, an
+ error message is given. Example: >
+ :let failed = appendbufline(13, 0, "# THE START")
<
*argc()*
argc() The result is the number of files in the argument list of the
@@ -2593,12 +2616,13 @@ argv([{nr}]) The result is the {nr}th file in the argument list of the
assert_beeps({cmd}) *assert_beeps()*
Run {cmd} and add an error message to |v:errors| if it does
NOT produce a beep or visual bell.
- Also see |assert_fails()|.
+ Also see |assert_fails()| and |assert-return|.
*assert_equal()*
assert_equal({expected}, {actual} [, {msg}])
When {expected} and {actual} are not equal an error message is
- added to |v:errors|.
+ added to |v:errors| and 1 is returned. Otherwise zero is
+ returned |assert-return|.
There is no automatic conversion, the String "4" is different
from the Number 4. And the number 4 is different from the
Float 4.0. The value of 'ignorecase' is not used here, case
@@ -2614,13 +2638,14 @@ assert_equal({expected}, {actual} [, {msg}])
assert_equalfile({fname-one}, {fname-two})
When the files {fname-one} and {fname-two} do not contain
exactly the same text an error message is added to |v:errors|.
+ Also see |assert-return|.
When {fname-one} or {fname-two} does not exist the error will
mention that.
Mainly useful with |terminal-diff|.
assert_exception({error} [, {msg}]) *assert_exception()*
When v:exception does not contain the string {error} an error
- message is added to |v:errors|.
+ message is added to |v:errors|. Also see |assert-return|.
This can be used to assert that a command throws an exception.
Using the error number, followed by a colon, avoids problems
with translations: >
@@ -2633,14 +2658,15 @@ assert_exception({error} [, {msg}]) *assert_exception()*
assert_fails({cmd} [, {error}]) *assert_fails()*
Run {cmd} and add an error message to |v:errors| if it does
- NOT produce an error.
+ NOT produce an error. Also see |assert-return|.
When {error} is given it must match in |v:errmsg|.
Note that beeping is not considered an error, and some failing
commands only beep. Use |assert_beeps()| for those.
assert_false({actual} [, {msg}]) *assert_false()*
When {actual} is not false an error message is added to
- |v:errors|, like with |assert_equal()|.
+ |v:errors|, like with |assert_equal()|.
+ Also see |assert-return|.
A value is false when it is zero. When {actual} is not a
number the assert fails.
When {msg} is omitted an error in the form
@@ -2649,7 +2675,7 @@ assert_false({actual} [, {msg}]) *assert_false()*
assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()*
This asserts number values. When {actual} is lower than
{lower} or higher than {upper} an error message is added to
- |v:errors|.
+ |v:errors|. Also see |assert-return|.
When {msg} is omitted an error in the form
"Expected range {lower} - {upper}, but got {actual}" is
produced.
@@ -2657,7 +2683,7 @@ assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()*
*assert_match()*
assert_match({pattern}, {actual} [, {msg}])
When {pattern} does not match {actual} an error message is
- added to |v:errors|.
+ added to |v:errors|. Also see |assert-return|.
{pattern} is used as with |=~|: The matching is always done
like 'magic' was set and 'cpoptions' is empty, no matter what
@@ -2678,18 +2704,22 @@ assert_match({pattern}, {actual} [, {msg}])
assert_notequal({expected}, {actual} [, {msg}])
The opposite of `assert_equal()`: add an error message to
|v:errors| when {expected} and {actual} are equal.
+ Also see |assert-return|.
*assert_notmatch()*
assert_notmatch({pattern}, {actual} [, {msg}])
The opposite of `assert_match()`: add an error message to
|v:errors| when {pattern} matches {actual}.
+ Also see |assert-return|.
assert_report({msg}) *assert_report()*
Report a test failure directly, using {msg}.
+ Always returns one.
assert_true({actual} [, {msg}]) *assert_true()*
When {actual} is not true an error message is added to
|v:errors|, like with |assert_equal()|.
+ Also see |assert-return|.
A value is TRUE when it is a non-zero number. When {actual}
is not a number the assert fails.
When {msg} is omitted an error in the form "Expected True but
@@ -3490,8 +3520,19 @@ delete({fname} [, {flags}]) *delete()*
successful and -1 when the deletion failed or partly failed.
Use |remove()| to delete an item from a |List|.
- To delete a line from the buffer use |:delete|. Use |:exe|
- when the line number is in a variable.
+ To delete a line from the buffer use |:delete| or
+ |deletebufline()|.
+
+deletebufline({expr}, {first}[, {last}]) *deletebufline()*
+ Delete lines {first} to {last} (inclusive) from buffer {expr}.
+ If {last} is omitted then delete line {first} only.
+ On success 0 is returned, on failure 1 is returned.
+
+ For the use of {expr}, see |bufname()| above.
+
+ {first} and {last} are used like with |setline()|. Note that
+ when using |line()| this refers to the current buffer. Use "$"
+ to refer to the last line in buffer {expr}.
*did_filetype()*
did_filetype() Returns |TRUE| when autocommands are being executed and the
@@ -4641,7 +4682,7 @@ getline({lnum} [, {end}])
from the current buffer. Example: >
getline(1)
< When {lnum} is a String that doesn't start with a
- digit, line() is called to translate the String into a Number.
+ digit, |line()| is called to translate the String into a Number.
To get the line under the cursor: >
getline(".")
< When {lnum} is smaller than 1 or bigger than the number of
@@ -4728,6 +4769,7 @@ getqflist([{what}]) *getqflist()*
list item is a dictionary with these entries:
bufnr number of buffer that has the file name, use
bufname() to get the name
+ module module name
lnum line number in the buffer (first line is 1)
col column number (first column is 1)
vcol |TRUE|: "col" is visual column
@@ -4753,8 +4795,8 @@ getqflist([{what}]) *getqflist()*
returns only the items listed in {what} as a dictionary. The
following string items are supported in {what}:
changedtick get the total number of changes made
- to the list
- context get the context stored with |setqflist()|
+ to the list |quickfix-changedtick|
+ context get the |quickfix-context|
efm errorformat to use when parsing "lines". If
not present, then the 'errorformat' option
value is used.
@@ -4763,15 +4805,15 @@ getqflist([{what}]) *getqflist()*
current list or the list specified by "nr"
idx index of the current entry in the list
items quickfix list entries
- lines use 'errorformat' to extract items from a list
- of lines and return the resulting entries.
- Only a |List| type is accepted. The current
- quickfix list is not modified.
+ lines parse a list of lines using 'efm' and return
+ the resulting entries. Only a |List| type is
+ accepted. The current quickfix list is not
+ modified. See |quickfix-parse|.
nr get information for this quickfix list; zero
means the current quickfix list and "$" means
the last quickfix list
size number of entries in the quickfix list
- title get the list title
+ title get the list title |quickfix-title|
winid get the quickfix |window-ID|
all all of the above quickfix properties
Non-string items in {what} are ignored. To get the value of a
@@ -4789,7 +4831,7 @@ getqflist([{what}]) *getqflist()*
The returned dictionary contains the following entries:
changedtick total number of changes made to the
list |quickfix-changedtick|
- context context information stored with |setqflist()|.
+ context quickfix list context. See |quickfix-context|
If not present, set to "".
id quickfix list ID |quickfix-ID|. If not
present, set to 0.
@@ -4804,12 +4846,11 @@ getqflist([{what}]) *getqflist()*
to "".
winid quickfix |window-ID|. If not present, set to 0
- Examples: >
+ Examples (See also |getqflist-examples|): >
:echo getqflist({'all': 1})
:echo getqflist({'nr': 2, 'title': 1})
:echo getqflist({'lines' : ["F1:10:L10"]})
<
-
getreg([{regname} [, 1 [, {list}]]]) *getreg()*
The result is a String, which is the contents of register
{regname}. Example: >
@@ -5392,10 +5433,11 @@ job_getchannel({job}) *job_getchannel()*
<
{only available when compiled with the |+job| feature}
-job_info({job}) *job_info()*
+job_info([{job}]) *job_info()*
Returns a Dictionary with information about {job}:
"status" what |job_status()| returns
"channel" what |job_getchannel()| returns
+ "cmd" List of command arguments used to start the job
"process" process ID
"tty_in" terminal input name, empty when none
"tty_out" terminal output name, empty when none
@@ -5403,6 +5445,8 @@ job_info({job}) *job_info()*
"exit_cb" function to be called on exit
"stoponexit" |job-stoponexit|
+ Without any arguments, returns a List with all Job objects.
+
job_setoptions({job}, {options}) *job_setoptions()*
Change options for {job}. Supported are:
"stoponexit" |job-stoponexit|
@@ -5444,6 +5488,20 @@ job_start({command} [, {options}]) *job_start()*
The returned Job object can be used to get the status with
|job_status()| and stop the job with |job_stop()|.
+ Note that the job object will be deleted if there are no
+ references to it. This closes the stdin and stderr, which may
+ cause the job to fail with an error. To avoid this keep a
+ reference to the job. Thus instead of: >
+ call job_start('my-command')
+< use: >
+ let myjob = job_start('my-command')
+< and unlet "myjob" once the job is not needed or is past the
+ point where it would fail (e.g. when it prints a message on
+ startup). Keep in mind that variables local to a function
+ will cease to exist if the function returns. Use a
+ script-local variable if needed: >
+ let s:myjob = job_start('my-command')
+<
{options} must be a Dictionary. It can contain many optional
items, see |job-options|.
@@ -5810,7 +5868,8 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
listing.
When there is no mapping for {name}, an empty String is
- returned.
+ returned. When the mapping for {name} is empty, then "<Nop>"
+ is returned.
The {name} can have special key names, like in the ":map"
command.
@@ -5877,9 +5936,10 @@ mapcheck({name} [, {mode} [, {abbr}]]) *mapcheck()*
mapping that matches with {name}, while maparg() only finds a
mapping for {name} exactly.
When there is no mapping that starts with {name}, an empty
- String is returned. If there is one, the rhs of that mapping
+ String is returned. If there is one, the RHS of that mapping
is returned. If there are several mappings that start with
- {name}, the rhs of one of them is returned.
+ {name}, the RHS of one of them is returned. This will be
+ "<Nop>" if the RHS is empty.
The mappings local to the current buffer are checked first,
then the global mappings.
This function can be used to check if a mapping can be added
@@ -6461,6 +6521,52 @@ printf({fmt}, {expr1} ...) *printf()*
arguments an error is given. Up to 18 arguments can be used.
+prompt_setcallback({buf}, {expr}) *prompt_setcallback()*
+ Set prompt callback for buffer {buf} to {expr}. When {expr}
+ is an empty string the callback is removed. This has only
+ effect if {buf} has 'buftype' set to "prompt".
+
+ The callback is invoked when pressing Enter. The current
+ buffer will always be the prompt buffer. A new line for a
+ prompt is added before invoking the callback, thus the prompt
+ for which the callback was invoked will be in the last but one
+ line.
+ If the callback wants to add text to the buffer, it must
+ insert it above the last line, since that is where the current
+ prompt is. This can also be done asynchronously.
+ The callback is invoked with one argument, which is the text
+ that was entered at the prompt. This can be an empty string
+ if the user only typed Enter.
+ Example: >
+ call prompt_setcallback(bufnr(''), function('s:TextEntered'))
+ func s:TextEntered(text)
+ if a:text == 'exit' || a:text == 'quit'
+ stopinsert
+ close
+ else
+ call append(line('$') - 1, 'Entered: "' . a:text . '"')
+ " Reset 'modified' to allow the buffer to be closed.
+ set nomodified
+ endif
+ endfunc
+
+prompt_setinterrupt({buf}, {expr}) *prompt_setinterrupt()*
+ Set a callback for buffer {buf} to {expr}. When {expr} is an
+ empty string the callback is removed. This has only effect if
+ {buf} has 'buftype' set to "prompt".
+
+ This callback will be invoked when pressing CTRL-C in Insert
+ mode. Without setting a callback Vim will exit Insert mode,
+ as in any buffer.
+
+prompt_setprompt({buf}, {text}) *prompt_setprompt()*
+ Set prompt for buffer {buf} to {text}. You most likely want
+ {text} to end in a space.
+ The result is only visible if {buf} has 'buftype' set to
+ "prompt". Example: >
+ call prompt_setprompt(bufnr(''), 'command: ')
+
+
pumvisible() *pumvisible()*
Returns non-zero when the popup menu is visible, zero
otherwise. See |ins-completion-menu|.
@@ -6548,6 +6654,15 @@ readfile({fname} [, {binary} [, {max}]])
the result is an empty list.
Also see |writefile()|.
+reg_executing() *reg_executing()*
+ Returns the single letter name of the register being executed.
+ Returns an empty string when no register is being executed.
+ See |@|.
+
+reg_recording() *reg_recording()*
+ Returns the single letter name of the register being recorded.
+ Returns an empty string string when not recording. See |q|.
+
reltime([{start} [, {end}]]) *reltime()*
Return an item that represents a time value. The format of
the item depends on the system. It can be passed to
@@ -7210,6 +7325,8 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
buffer
filename name of a file; only used when "bufnr" is not
present or it is invalid.
+ module name of a module; if given it will be used in
+ quickfix error window instead of the filename.
lnum line number in the file
pattern search pattern used to locate the error
col column number
@@ -7258,7 +7375,7 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
only the items listed in {what} are set. The first {list}
argument is ignored. The following items can be specified in
{what}:
- context any Vim type can be stored as a context
+ context quickfix list context. See |quickfix-context|
efm errorformat to use when parsing text from
"lines". If this is not present, then the
'errorformat' option value is used.
@@ -7280,10 +7397,10 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
list is modified, "id" should be used instead of "nr" to
specify the list.
- Examples: >
+ Examples (See also |setqflist-examples|): >
:call setqflist([], 'r', {'title': 'My search'})
:call setqflist([], 'r', {'nr': 2, 'title': 'Errors'})
- :call setqflist([], 'a', {'id':myid, 'lines':["F1:10:L10"]})
+ :call setqflist([], 'a', {'id':qfid, 'lines':["F1:10:L10"]})
<
Returns zero for success, -1 for failure.
@@ -8471,7 +8588,9 @@ term_start({cmd}, {options}) *term_start()*
instead of using 'termwinsize'
"term_cols" horizontal size to use for the terminal,
instead of using 'termwinsize'
- "vertical" split the window vertically
+ "vertical" split the window vertically; note that
+ other window position can be defined with
+ command modifiers, such as |:belowright|.
"curwin" use the current window, do not split the
window; fails if the current buffer
cannot be |abandon|ed
@@ -9109,22 +9228,16 @@ There are four types of features:
Example: >
:if has("gui_running")
< *has-patch*
-3. Included patches. The "patch123" feature means that patch 123 has been
- included. Note that this form does not check the version of Vim, you need
- to inspect |v:version| for that.
- Example (checking version 6.2.148 or later): >
- :if v:version > 602 || v:version == 602 && has("patch148")
-< Note that it's possible for patch 147 to be omitted even though 148 is
- included.
-
-4. Beyond a certain version or at a certain version and including a specific
- patch. The "patch-7.4.237" feature means that the Vim version is 7.5 or
- later, or it is version 7.4 and patch 237 was included.
- Note that this only works for patch 7.4.237 and later, before that you
- need to use the example above that checks v:version. Example: >
+3. Beyond a certain version or at a certain version and including a specific
+ patch. The "patch-7.4.248" feature means that the Vim version is 7.5 or
+ later, or it is version 7.4 and patch 248 was included. Example: >
:if has("patch-7.4.248")
-< Note that it's possible for patch 147 to be omitted even though 148 is
- included.
+< Note that it's possible for patch 248 to be omitted even though 249 is
+ included. Only happens when cherry-picking patches.
+ Note that this form only works for patch 7.4.237 and later, before that
+ you need to check for the patch and the v:version. Example (checking
+ version 6.2.148 or later): >
+ :if v:version > 602 || (v:version == 602 && has("patch148"))
Hint: To find out if Vim supports backslashes in a file name (MS-Windows),
use: `if exists('+shellslash')`
@@ -9306,11 +9419,12 @@ vtp Compiled for vcon support |+vtp| (check vcon to find
out if it works in the current console).
wildignore Compiled with 'wildignore' option.
wildmenu Compiled with 'wildmenu' option.
+win16 old version for MS-Windows 3.1 (always False)
win32 Win32 version of Vim (MS-Windows 95 and later, 32 or
64 bits)
win32unix Win32 version of Vim, using Unix files (Cygwin)
win64 Win64 version of Vim (MS-Windows 64 bit).
-win95 Win32 version for MS-Windows 95/98/ME.
+win95 Win32 version for MS-Windows 95/98/ME (always False)
winaltkeys Compiled with 'winaltkeys' option.
windows Compiled with support for more than one window.
writebackup Compiled with 'writebackup' default on.
@@ -9925,6 +10039,14 @@ This does NOT work: >
variables are automatically deleted when the function
ends.
+:unl[et] ${env-name} ... *:unlet-environment* *:unlet-$*
+ Remove environment variable {env-name}.
+ Can mix {name} and ${env-name} in one :unlet command.
+ No error message is given for a non-existing
+ variable, also without !.
+ If the system does not support deleting an environment
+ variable, it is made emtpy.
+
:lockv[ar][!] [depth] {name} ... *:lockvar* *:lockv*
Lock the internal variable {name}. Locking means that
it can no longer be changed (until it is unlocked).
diff --git a/runtime/doc/farsi.txt b/runtime/doc/farsi.txt
index a5b1de1..1bb9f20 100644
--- a/runtime/doc/farsi.txt
+++ b/runtime/doc/farsi.txt
@@ -1,4 +1,4 @@
-*farsi.txt* For Vim version 8.0. Last change: 2015 Aug 29
+*farsi.txt* For Vim version 8.1. Last change: 2015 Aug 29
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt
index a5f2a1c..f41dc70 100644
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -1,4 +1,4 @@
-*filetype.txt* For Vim version 8.0. Last change: 2018 Apr 18
+*filetype.txt* For Vim version 8.1. Last change: 2018 Apr 18
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/fold.txt b/runtime/doc/fold.txt
index bdf4a48..ad3f514 100644
--- a/runtime/doc/fold.txt
+++ b/runtime/doc/fold.txt
@@ -1,4 +1,4 @@
-*fold.txt* For Vim version 8.0. Last change: 2017 Mar 18
+*fold.txt* For Vim version 8.1. Last change: 2017 Mar 18
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/ft_ada.txt b/runtime/doc/ft_ada.txt
index 5f1b78e..1d08bbb 100644
--- a/runtime/doc/ft_ada.txt
+++ b/runtime/doc/ft_ada.txt
@@ -1,4 +1,4 @@
-*ft_ada.txt* For Vim version 8.0. Last change: 2010 Jul 20
+*ft_ada.txt* For Vim version 8.1. Last change: 2010 Jul 20
ADA FILE TYPE PLUG-INS REFERENCE MANUAL~
@@ -249,7 +249,7 @@ g:decada.Make_Command string
External command used for |g:decada.Make()| (|'makeprg'|).
*g:decada.Error_Format*
-g:decada.Error_Format| string
+g:decada.Error_Format string
Error format (|'errorformat'|).
==============================================================================
diff --git a/runtime/doc/ft_rust.txt b/runtime/doc/ft_rust.txt
index 750ba76..b94e1f8 100644
--- a/runtime/doc/ft_rust.txt
+++ b/runtime/doc/ft_rust.txt
@@ -1,4 +1,6 @@
-*ft_rust.txt* Filetype plugin for Rust
+*ft_rust.txt* For Vim version 8.1. Last change: 2017 Nov 02
+
+This is documentation for the Rust filetype plugin.
==============================================================================
CONTENTS *rust*
diff --git a/runtime/doc/ft_sql.txt b/runtime/doc/ft_sql.txt
index d870168..9819c06 100644
--- a/runtime/doc/ft_sql.txt
+++ b/runtime/doc/ft_sql.txt
@@ -1,4 +1,4 @@
-*ft_sql.txt* For Vim version 8.0. Last change: 2013 May 15
+*ft_sql.txt* For Vim version 8.1. Last change: 2013 May 15
by David Fishburn
diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt
index 9cb116b..c30aa33 100644
--- a/runtime/doc/gui.txt
+++ b/runtime/doc/gui.txt
@@ -1,4 +1,4 @@
-*gui.txt* For Vim version 8.0. Last change: 2018 Mar 06
+*gui.txt* For Vim version 8.1. Last change: 2018 Mar 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -999,7 +999,7 @@ it behaves in a strange way.
pointer instead of the cursor.
In the terminal this is the last known
position, which is usually at the last click
- or release (mouse movement is irrelevalt).
+ or release (mouse movement is irrelevant).
Example: >
:popup File
diff --git a/runtime/doc/gui_w32.txt b/runtime/doc/gui_w32.txt
index d8052fe..9d676ea 100644
--- a/runtime/doc/gui_w32.txt
+++ b/runtime/doc/gui_w32.txt
@@ -1,4 +1,4 @@
-*gui_w32.txt* For Vim version 8.0. Last change: 2017 Oct 27
+*gui_w32.txt* For Vim version 8.1. Last change: 2017 Oct 27
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/gui_x11.txt b/runtime/doc/gui_x11.txt
index 2bf7302..8a5e9bf 100644
--- a/runtime/doc/gui_x11.txt
+++ b/runtime/doc/gui_x11.txt
@@ -1,4 +1,4 @@
-*gui_x11.txt* For Vim version 8.0. Last change: 2017 Jul 28
+*gui_x11.txt* For Vim version 8.1. Last change: 2018 May 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -53,6 +53,9 @@ When using "gvim -f" and then ":gui", Vim will run in the foreground. The
":gui -b".
"gvim --nofork" does the same as "gvim -f".
+
+When there are running jobs Vim will not fork, because the processes would no
+longer be child processes.
*E851* *E852*
When starting the GUI fails Vim will try to continue running in the terminal.
diff --git a/runtime/doc/hangulin.txt b/runtime/doc/hangulin.txt
index 08fb612..56f188b 100644
--- a/runtime/doc/hangulin.txt
+++ b/runtime/doc/hangulin.txt
@@ -1,4 +1,4 @@
-*hangulin.txt* For Vim version 8.0. Last change: 2015 Nov 24
+*hangulin.txt* For Vim version 8.1. Last change: 2015 Nov 24
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam
diff --git a/runtime/doc/hebrew.txt b/runtime/doc/hebrew.txt
index 1659912..5400b49 100644
--- a/runtime/doc/hebrew.txt
+++ b/runtime/doc/hebrew.txt
@@ -1,4 +1,4 @@
-*hebrew.txt* For Vim version 8.0. Last change: 2007 Jun 14
+*hebrew.txt* For Vim version 8.1. Last change: 2007 Jun 14
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 527b8f7..4c8eb94 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -1,4 +1,4 @@
-*help.txt* For Vim version 8.0. Last change: 2017 Oct 28
+*help.txt* For Vim version 8.1. Last change: 2017 Oct 28
VIM - main help file
k
diff --git a/runtime/doc/helphelp.txt b/runtime/doc/helphelp.txt
index 80fc70c..29941c1 100644
--- a/runtime/doc/helphelp.txt
+++ b/runtime/doc/helphelp.txt
@@ -1,4 +1,4 @@
-*helphelp.txt* For Vim version 8.0. Last change: 2017 Mar 19
+*helphelp.txt* For Vim version 8.1. Last change: 2017 Mar 19
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/howto.txt b/runtime/doc/howto.txt
index a1b2578..f697310 100644
--- a/runtime/doc/howto.txt
+++ b/runtime/doc/howto.txt
@@ -1,4 +1,4 @@
-*howto.txt* For Vim version 8.0. Last change: 2006 Apr 02
+*howto.txt* For Vim version 8.1. Last change: 2006 Apr 02
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/if_cscop.txt b/runtime/doc/if_cscop.txt
index 6662717..cf2aff2 100644
--- a/runtime/doc/if_cscop.txt
+++ b/runtime/doc/if_cscop.txt
@@ -1,4 +1,4 @@
-*if_cscop.txt* For Vim version 8.0. Last change: 2018 Jan 21
+*if_cscop.txt* For Vim version 8.1. Last change: 2018 Jan 21
VIM REFERENCE MANUAL by Andy Kahn
diff --git a/runtime/doc/if_lua.txt b/runtime/doc/if_lua.txt
index 2d6dcfc..51e332d 100644
--- a/runtime/doc/if_lua.txt
+++ b/runtime/doc/if_lua.txt
@@ -1,4 +1,4 @@
-*if_lua.txt* For Vim version 8.0. Last change: 2015 Oct 16
+*if_lua.txt* For Vim version 8.1. Last change: 2015 Oct 16
VIM REFERENCE MANUAL by Luis Carvalho
diff --git a/runtime/doc/if_mzsch.txt b/runtime/doc/if_mzsch.txt
index a9a0313..f118b17 100644
--- a/runtime/doc/if_mzsch.txt
+++ b/runtime/doc/if_mzsch.txt
@@ -1,4 +1,4 @@
-*if_mzsch.txt* For Vim version 8.0. Last change: 2017 Oct 08
+*if_mzsch.txt* For Vim version 8.1. Last change: 2017 Oct 08
VIM REFERENCE MANUAL by Sergey Khorev
diff --git a/runtime/doc/if_ole.txt b/runtime/doc/if_ole.txt
index be84f43..4ec9ac5 100644
--- a/runtime/doc/if_ole.txt
+++ b/runtime/doc/if_ole.txt
@@ -1,4 +1,4 @@
-*if_ole.txt* For Vim version 8.0. Last change: 2008 Aug 16
+*if_ole.txt* For Vim version 8.1. Last change: 2008 Aug 16
VIM REFERENCE MANUAL by Paul Moore
diff --git a/runtime/doc/if_perl.txt b/runtime/doc/if_perl.txt
index 11b1440..a06954e 100644
--- a/runtime/doc/if_perl.txt
+++ b/runtime/doc/if_perl.txt
@@ -1,4 +1,4 @@
-*if_perl.txt* For Vim version 8.0. Last change: 2017 Nov 24
+*if_perl.txt* For Vim version 8.1. Last change: 2017 Nov 24
VIM REFERENCE MANUAL by Sven Verdoolaege
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index 50e93ba..89baef4 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt* For Vim version 8.0. Last change: 2018 Jan 30
+*if_pyth.txt* For Vim version 8.1. Last change: 2018 Jan 30
VIM REFERENCE MANUAL by Paul Moore
diff --git a/runtime/doc/if_ruby.txt b/runtime/doc/if_ruby.txt
index 0977397..1b4fd40 100644
--- a/runtime/doc/if_ruby.txt
+++ b/runtime/doc/if_ruby.txt
@@ -1,4 +1,4 @@
-*if_ruby.txt* For Vim version 8.0. Last change: 2018 Mar 15
+*if_ruby.txt* For Vim version 8.1. Last change: 2018 Mar 15
VIM REFERENCE MANUAL by Shugo Maeda
diff --git a/runtime/doc/if_sniff.txt b/runtime/doc/if_sniff.txt
index d4488c9..cf6ed1c 100644
--- a/runtime/doc/if_sniff.txt
+++ b/runtime/doc/if_sniff.txt
@@ -1,4 +1,4 @@
-*if_sniff.txt* For Vim version 8.0. Last change: 2016 Feb 27
+*if_sniff.txt* For Vim version 8.1. Last change: 2016 Feb 27
VIM REFERENCE MANUAL
diff --git a/runtime/doc/if_tcl.txt b/runtime/doc/if_tcl.txt
index fb4e3c3..979a19b 100644
--- a/runtime/doc/if_tcl.txt
+++ b/runtime/doc/if_tcl.txt
@@ -1,4 +1,4 @@
-*if_tcl.txt* For Vim version 8.0. Last change: 2016 Jan 01
+*if_tcl.txt* For Vim version 8.1. Last change: 2016 Jan 01
VIM REFERENCE MANUAL by Ingo Wilken
diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt
index 5918300..180d932 100644
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -1,4 +1,4 @@
-*indent.txt* For Vim version 8.0. Last change: 2018 Apr 04
+*indent.txt* For Vim version 8.1. Last change: 2018 Apr 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -907,6 +907,25 @@ In PHP braces are not required inside 'case/default' blocks therefore 'case:'
and 'default:' are indented at the same level than the 'switch()' to avoid
meaningless indentation. You can use the above option to return to the
traditional way.
+-------------
+
+ *PHP_noArrowMatching*
+By default the indent script will indent multi-line chained calls by matching
+the position of the '->': >
+
+ $user_name_very_long->name()
+ ->age()
+ ->info();
+
+You can revert to the classic way of indenting by setting this option to 1: >
+ :let g:PHP_noArrowMatching = 1
+
+You will obtain the following result: >
+
+ $user_name_very_long->name()
+ ->age()
+ ->info();
+
PYTHON *ft-python-indent*
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 1157e15..f569ec5 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt* For Vim version 8.0. Last change: 2018 Apr 19
+*index.txt* For Vim version 8.1. Last change: 2018 Apr 19
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 2f48510..0aeac14 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt* For Vim version 8.0. Last change: 2018 Feb 10
+*insert.txt* For Vim version 8.1. Last change: 2018 Feb 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -434,11 +434,11 @@ An example for using CTRL-G U: >
This makes it possible to use the cursor keys in Insert mode, without breaking
the undo sequence and therefore using |.| (redo) will work as expected.
-Also entering a text like (with the "(" mapping from above): >
+Also entering a text like (with the "(" mapping from above):
Lorem ipsum (dolor
-will be repeatable by the |.|to the expected
+will be repeatable by using |.| to the expected
Lorem ipsum (dolor)
diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt
index 0f84934..8325bb3 100644
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt* For Vim version 8.0. Last change: 2018 Jan 24
+*intro.txt* For Vim version 8.1. Last change: 2018 Jan 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 18763f4..18b61df 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt* For Vim version 8.0. Last change: 2017 Sep 23
+*map.txt* For Vim version 8.1. Last change: 2018 May 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -542,9 +542,9 @@ scenario: >
:imap <M-C> foo
:set encoding=utf-8
The mapping for <M-C> is defined with the latin1 encoding, resulting in a 0xc3
-byte. If you type the character (0xe1 <M-a>) in UTF-8 encoding this is the
+byte. If you type the character á (0xe1 <M-a>) in UTF-8 encoding this is the
two bytes 0xc3 0xa1. You don't want the 0xc3 byte to be mapped then or
-otherwise it would be impossible to type the character.
+otherwise it would be impossible to type the á character.
*<Leader>* *mapleader*
To define a mapping which uses the "mapleader" variable, the special string
@@ -917,7 +917,9 @@ an additional rule:
full-id In front of the match is a non-keyword character, or this is where
the line or insertion starts. Exception: When the abbreviation is
only one character, it is not recognized if there is a non-keyword
- character in front of it, other than a space or a tab.
+ character in front of it, other than a space or a tab. However, for
+ the command line "'<,'>" (or any other marks) is ignored, as if the
+ command line starts after it.
end-id In front of the match is a keyword character, or a space or a tab,
or this is where the line or insertion starts.
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt
index c25eb64..99ce10f 100644
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -1,4 +1,4 @@
-*mbyte.txt* For Vim version 8.0. Last change: 2018 Jan 21
+*mbyte.txt* For Vim version 8.1. Last change: 2018 Jan 21
VIM REFERENCE MANUAL by Bram Moolenaar et al.
diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt
index 4d51a84..b4a72ff 100644
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -1,4 +1,4 @@
-*message.txt* For Vim version 8.0. Last change: 2018 Feb 04
+*message.txt* For Vim version 8.1. Last change: 2018 Feb 04
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/mlang.txt b/runtime/doc/mlang.txt
index 2d27912..3d590e0 100644
--- a/runtime/doc/mlang.txt
+++ b/runtime/doc/mlang.txt
@@ -1,4 +1,4 @@
-*mlang.txt* For Vim version 8.0. Last change: 2017 Mar 04
+*mlang.txt* For Vim version 8.1. Last change: 2018 May 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -190,8 +190,8 @@ you can do it without restarting Vim: >
:source $VIMRUNTIME/menu.vim
Each part of a menu path is translated separately. The result is that when
-"Help" is translated to "Hilfe" and "Overview" to "berblick" then
-"Help.Overview" will be translated to "Hilfe.berblick".
+"Help" is translated to "Hilfe" and "Overview" to "Überblick" then
+"Help.Overview" will be translated to "Hilfe.Überblick".
==============================================================================
3. Scripts *multilang-scripts*
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index 329b099..25d87cf 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt* For Vim version 8.0. Last change: 2017 Oct 15
+*motion.txt* For Vim version 8.1. Last change: 2017 Oct 15
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/netbeans.txt b/runtime/doc/netbeans.txt
index 722cec6..3e99f8b 100644
--- a/runtime/doc/netbeans.txt
+++ b/runtime/doc/netbeans.txt
@@ -1,4 +1,4 @@
-*netbeans.txt* For Vim version 8.0. Last change: 2016 Jul 15
+*netbeans.txt* For Vim version 8.1. Last change: 2016 Jul 15
VIM REFERENCE MANUAL by Gordon Prieur et al.
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index b7f9869..d37fa64 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 8.0. Last change: 2018 Apr 21
+*options.txt* For Vim version 8.1. Last change: 2018 May 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1394,6 +1394,9 @@ A jump table for the options with a short description can be found at |Q_op|.
manually)
terminal buffer for a |terminal| (you are not supposed to set
this manually)
+ prompt buffer where only the last line can be edited, meant
+ to be used by a plugin, see |prompt-buffer|
+ {only when compiled with the |+channel| feature}
This option is used together with 'bufhidden' and 'swapfile' to
specify special kinds of buffers. See |special-buffers|.
@@ -2117,7 +2120,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*cpo-E*
E It is an error when using "y", "d", "c", "g~", "gu" or
"gU" on an Empty region. The operators only work when
- at least one character is to be operate on. Example:
+ at least one character is to be operated on. Example:
This makes "y0" fail in the first column.
*cpo-f*
f When included, a ":read" command with a file name
@@ -2561,8 +2564,11 @@ A jump table for the options with a short description can be found at |Q_op|.
contain a list of words. This can be one word per line, or several
words per line, separated by non-keyword characters (white space is
preferred). Maximum line length is 510 bytes.
- When this option is empty, or an entry "spell" is present, spell
- checking is enabled the currently active spelling is used. |spell|
+
+ When this option is empty or an entry "spell" is present, and spell
+ checking is enabled, words in the word lists for the currently active
+ 'spelllang' are used. See |spell|.
+
To include a comma in a file name precede it with a backslash. Spaces
after a comma are ignored, otherwise spaces are included in the file
name. See |option-backslash| about using backslashes.
@@ -4261,7 +4267,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'imactivatefunc' 'imaf' string (default "")
global
{not in Vi}
- {only available when compiled with |+mbyte|}
+ {only available when compiled with the |+multi_byte|
+ feature}
This option specifies a function that will be called to
activate or deactivate the Input Method.
It is not used in the GUI.
@@ -4313,7 +4320,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'imcmdline' 'imc' boolean (default off)
global
{not in Vi}
- {only available when compiled with |+mbyte|}
+ {only available when compiled with the |+multi_byte|
+ feature}
When set the Input Method is always on when starting to edit a command
line, unless entering a search pattern (see 'imsearch' for that).
Setting this option is useful when your input method allows entering
@@ -4324,7 +4332,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'imdisable' 'imd' boolean (default off, on for some systems (SGI))
global
{not in Vi}
- {only available when compiled with |+mbyte|}
+ {only available when compiled with the |+multi_byte|
+ feature}
When set the Input Method is never used. This is useful to disable
the IM when it doesn't work properly.
Currently this option is on by default for SGI/IRIX machines. This
@@ -4377,7 +4386,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'imstatusfunc' 'imsf' string (default "")
global
{not in Vi}
- {only available when compiled with |+mbyte|}
+ {only available when compiled with the |+multi_byte|
+ feature}
This option specifies a function that is called to obtain the status
of Input Method. It must return a positive number when IME is active.
It is not used in the GUI.
@@ -5184,7 +5194,7 @@ A jump table for the options with a short description can be found at |Q_op|.
more depth, set 'maxfuncdepth' to a bigger number. But this will use
more memory, there is the danger of failing when memory is exhausted.
Increasing this limit above 200 also changes the maximum for Ex
- command resursion, see |E169|.
+ command recursion, see |E169|.
See also |:function|.
*'maxmapdepth'* *'mmd'* *E223*
@@ -6084,7 +6094,7 @@ A jump table for the options with a short description can be found at |Q_op|.
{only available when compiled with the |+reltime|
feature}
The time in milliseconds for redrawing the display. This applies to
- searching for patterns for 'hlsearch', |:match| highlighting an syntax
+ searching for patterns for 'hlsearch', |:match| highlighting and syntax
highlighting.
When redrawing takes more than this many milliseconds no further
matches will be highlighted.
diff --git a/runtime/doc/os_390.txt b/runtime/doc/os_390.txt
index 118df6f..5b4b9f7 100644
--- a/runtime/doc/os_390.txt
+++ b/runtime/doc/os_390.txt
@@ -1,4 +1,4 @@
-*os_390.txt* For Vim version 8.0. Last change: 2016 Feb 27
+*os_390.txt* For Vim version 8.1. Last change: 2016 Feb 27
VIM REFERENCE MANUAL by Ralf Schandl
diff --git a/runtime/doc/os_amiga.txt b/runtime/doc/os_amiga.txt
index 2d9d2fc..ad083b5 100644
--- a/runtime/doc/os_amiga.txt
+++ b/runtime/doc/os_amiga.txt
@@ -1,4 +1,4 @@
-*os_amiga.txt* For Vim version 8.0. Last change: 2010 Aug 14
+*os_amiga.txt* For Vim version 8.1. Last change: 2010 Aug 14
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/os_beos.txt b/runtime/doc/os_beos.txt
index 06749be..148f5fe 100644
--- a/runtime/doc/os_beos.txt
+++ b/runtime/doc/os_beos.txt
@@ -1,4 +1,4 @@
-*os_beos.txt* For Vim version 8.0. Last change: 2016 Mar 28
+*os_beos.txt* For Vim version 8.1. Last change: 2016 Mar 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -144,7 +144,7 @@ The default value for $VIM is set at compile time and can be determined with >
:version
The normal value is /boot/home/config/share/vim. If you don't like it you can
-set the Vim environment variable to override this, or set 'helpfile' in your
+set the VIM environment variable to override this, or set 'helpfile' in your
.vimrc: >
:if version >= 500
diff --git a/runtime/doc/os_dos.txt b/runtime/doc/os_dos.txt
index 1167e2a..b950953 100644
--- a/runtime/doc/os_dos.txt
+++ b/runtime/doc/os_dos.txt
@@ -1,4 +1,4 @@
-*os_dos.txt* For Vim version 8.0. Last change: 2006 Mar 30
+*os_dos.txt* For Vim version 8.1. Last change: 2006 Mar 30
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/os_mac.txt b/runtime/doc/os_mac.txt
index 226d3ba..72c0c16 100644
--- a/runtime/doc/os_mac.txt
+++ b/runtime/doc/os_mac.txt
@@ -1,4 +1,4 @@
-*os_mac.txt* For Vim version 8.0. Last change: 2018 Jan 21
+*os_mac.txt* For Vim version 8.1. Last change: 2018 Jan 21
VIM REFERENCE MANUAL by Bram Moolenaar et al.
diff --git a/runtime/doc/os_mint.txt b/runtime/doc/os_mint.txt
index 06984b4..96e139d 100644
--- a/runtime/doc/os_mint.txt
+++ b/runtime/doc/os_mint.txt
@@ -1,4 +1,4 @@
-*os_mint.txt* For Vim version 8.0. Last change: 2005 Mar 29
+*os_mint.txt* For Vim version 8.1. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Jens M. Felderhoff
diff --git a/runtime/doc/os_msdos.txt b/runtime/doc/os_msdos.txt
index 6206ac8..50fb4e8 100644
--- a/runtime/doc/os_msdos.txt
+++ b/runtime/doc/os_msdos.txt
@@ -1,4 +1,4 @@
-*os_msdos.txt* For Vim version 8.0. Last change: 2016 Feb 26
+*os_msdos.txt* For Vim version 8.1. Last change: 2016 Feb 26
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/os_os2.txt b/runtime/doc/os_os2.txt
index cb6358e..7891756 100644
--- a/runtime/doc/os_os2.txt
+++ b/runtime/doc/os_os2.txt
@@ -1,4 +1,4 @@
-*os_os2.txt* For Vim version 8.0. Last change: 2015 Dec 31
+*os_os2.txt* For Vim version 8.1. Last change: 2015 Dec 31
VIM REFERENCE MANUAL by Paul Slootman
diff --git a/runtime/doc/os_qnx.txt b/runtime/doc/os_qnx.txt
index 952ccf9..466699f 100644
--- a/runtime/doc/os_qnx.txt
+++ b/runtime/doc/os_qnx.txt
@@ -1,4 +1,4 @@
-*os_qnx.txt* For Vim version 8.0. Last change: 2005 Mar 29
+*os_qnx.txt* For Vim version 8.1. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Julian Kinraid
diff --git a/runtime/doc/os_risc.txt b/runtime/doc/os_risc.txt
index 2b12d20..095d5a9 100644
--- a/runtime/doc/os_risc.txt
+++ b/runtime/doc/os_risc.txt
@@ -1,4 +1,4 @@
-*os_risc.txt* For Vim version 8.0. Last change: 2011 May 10
+*os_risc.txt* For Vim version 8.1. Last change: 2011 May 10
VIM REFERENCE MANUAL by Thomas Leonard
diff --git a/runtime/doc/os_unix.txt b/runtime/doc/os_unix.txt
index 8050422..4b69af5 100644
--- a/runtime/doc/os_unix.txt
+++ b/runtime/doc/os_unix.txt
@@ -1,4 +1,4 @@
-*os_unix.txt* For Vim version 8.0. Last change: 2005 Mar 29
+*os_unix.txt* For Vim version 8.1. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/os_vms.txt b/runtime/doc/os_vms.txt
index 5cf2378..3e723b6 100644
--- a/runtime/doc/os_vms.txt
+++ b/runtime/doc/os_vms.txt
@@ -1,4 +1,4 @@
-*os_vms.txt* For Vim version 8.0. Last change: 2014 Aug 29
+*os_vms.txt* For Vim version 8.1. Last change: 2018 May 06
VIM REFERENCE MANUAL
@@ -702,13 +702,13 @@ In a cluster that contains nodes with different architectures like below:
$show cluster
View of Cluster from system ID 11655 node: TOR 18-AUG-2008 11:58:31
+---------------------------------+
- SYSTEMS MEMBERS
-+-----------------------+---------
- NODE SOFTWARE STATUS
-+--------+--------------+---------
- TOR VMS V7.3-2 MEMBER
- TITAN2 VMS V8.3 MEMBER
- ODIN VMS V7.3-2 MEMBER
+| SYSTEMS | MEMBERS |
++-----------------------+---------|
+| NODE | SOFTWARE | STATUS |
++--------+--------------+---------|
+| TOR | VMS V7.3-2 | MEMBER |
+| TITAN2 | VMS V8.3 | MEMBER |
+| ODIN | VMS V7.3-2 | MEMBER |
+---------------------------------+
It is convenient to have a common VIM directory but execute different
diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt
index bb1dbdc..e995333 100644
--- a/runtime/doc/os_win32.txt
+++ b/runtime/doc/os_win32.txt
@@ -1,4 +1,4 @@
-*os_win32.txt* For Vim version 8.0. Last change: 2017 Mar 21
+*os_win32.txt* For Vim version 8.1. Last change: 2017 Mar 21
VIM REFERENCE MANUAL by George Reilly
@@ -169,7 +169,7 @@ you will need to get a version older than that.
==============================================================================
6. Running under Windows 3.1 *win32-win3.1*
- *win32s* *windows-3.1* *gui-w32s*
+ *win32s* *windows-3.1* *gui-w32s* *win16*
There was a special version of gvim that runs under Windows 3.1 and 3.11.
Support was removed in patch 7.4.1363.
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index ead319c..337cbf7 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt* For Vim version 8.0. Last change: 2018 Mar 13
+*pattern.txt* For Vim version 8.1. Last change: 2018 Mar 13
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/pi_getscript.txt b/runtime/doc/pi_getscript.txt
index 1629a91..4190706 100644
--- a/runtime/doc/pi_getscript.txt
+++ b/runtime/doc/pi_getscript.txt
@@ -1,4 +1,4 @@
-*pi_getscript.txt* For Vim version 7.0. Last change: 2017 Aug 01
+*pi_getscript.txt* For Vim version 8.1. Last change: 2017 Aug 01
>
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell
<
diff --git a/runtime/doc/pi_gzip.txt b/runtime/doc/pi_gzip.txt
index d8f63ac..21b6520 100644
--- a/runtime/doc/pi_gzip.txt
+++ b/runtime/doc/pi_gzip.txt
@@ -1,4 +1,4 @@
-*pi_gzip.txt* For Vim version 8.0. Last change: 2016 Nov 06
+*pi_gzip.txt* For Vim version 8.1. Last change: 2016 Nov 06
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index e7cfdec..b4f2f26 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt* For Vim version 8.0. Last change: 2017 Nov 03
+*pi_netrw.txt* For Vim version 8.1. Last change: 2017 Nov 03
------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell
diff --git a/runtime/doc/pi_paren.txt b/runtime/doc/pi_paren.txt
index 1726ae6..d4ab4a0 100644
--- a/runtime/doc/pi_paren.txt
+++ b/runtime/doc/pi_paren.txt
@@ -1,4 +1,4 @@
-*pi_paren.txt* For Vim version 8.0. Last change: 2013 May 08
+*pi_paren.txt* For Vim version 8.1. Last change: 2013 May 08
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/pi_spec.txt b/runtime/doc/pi_spec.txt
index 7921371..abe5f11 100644
--- a/runtime/doc/pi_spec.txt
+++ b/runtime/doc/pi_spec.txt
@@ -1,4 +1,4 @@
-*pi_spec.txt* For Vim version 8.0. Last change: 2006 Apr 24
+*pi_spec.txt* For Vim version 8.1. Last change: 2006 Apr 24
by Gustavo Niemeyer ~
diff --git a/runtime/doc/pi_tar.txt b/runtime/doc/pi_tar.txt
index 1b03d31..7a6faf1 100644
--- a/runtime/doc/pi_tar.txt
+++ b/runtime/doc/pi_tar.txt
@@ -1,4 +1,4 @@
-*pi_tar.txt* For Vim version 8.0. Last change: 2013 Apr 17
+*pi_tar.txt* For Vim version 8.1. Last change: 2013 Apr 17
+====================+
| Tar File Interface |
diff --git a/runtime/doc/pi_vimball.txt b/runtime/doc/pi_vimball.txt
index 1996ddd..563b12a 100644
--- a/runtime/doc/pi_vimball.txt
+++ b/runtime/doc/pi_vimball.txt
@@ -1,4 +1,4 @@
-*pi_vimball.txt* For Vim version 8.0. Last change: 2016 Apr 11
+*pi_vimball.txt* For Vim version 8.1. Last change: 2016 Apr 11
----------------
Vimball Archiver
diff --git a/runtime/doc/pi_zip.txt b/runtime/doc/pi_zip.txt
index 3a536a7..c5fa391 100644
--- a/runtime/doc/pi_zip.txt
+++ b/runtime/doc/pi_zip.txt
@@ -1,4 +1,4 @@
-*pi_zip.txt* For Vim version 8.0. Last change: 2016 Sep 13
+*pi_zip.txt* For Vim version 8.1. Last change: 2016 Sep 13
+====================+
| Zip File Interface |
diff --git a/runtime/doc/print.txt b/runtime/doc/print.txt
index 62c37cf..b93a230 100644
--- a/runtime/doc/print.txt
+++ b/runtime/doc/print.txt
@@ -1,4 +1,4 @@
-*print.txt* For Vim version 8.0. Last change: 2010 Jul 20
+*print.txt* For Vim version 8.1. Last change: 2010 Jul 20
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index e627686..c3f8504 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt* For Vim version 8.0. Last change: 2018 Mar 29
+*quickfix.txt* For Vim version 8.1. Last change: 2018 May 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -597,6 +597,110 @@ present). Examples: >
echo getqflist({'winid' : 1}).winid
echo getloclist(2, {'winid' : 1}).winid
<
+ *getqflist-examples*
+The getqflist() and getloclist() functions can be used to get the various
+attributes of a quickfix and location list respectively. Some examples for
+using these functions are below:
+>
+ " get the title of the current quickfix list
+ :echo getqflist({'title' : 0}).title
+
+ " get the identifier of the current quickfix list
+ :let qfid = getqflist({'id' : 0}).id
+
+ " get the identifier of the fourth quickfix list in the stack
+ :let qfid = getqflist({'nr' : 4, 'id' : 0}).id
+
+ " check whether a quickfix list with a specific identifier exists
+ :if getqflist({'id' : qfid}).id == qfid
+
+ " get the index of the current quickfix list in the stack
+ :let qfnum = getqflist({'nr' : 0}).nr
+
+ " get the items of a quickfix list specified by an identifier
+ :echo getqflist({'id' : qfid, 'items' : 0}).items
+
+ " get the number of entries in a quickfix list specified by an id
+ :echo getqflist({'id' : qfid, 'size' : 0}).size
+
+ " get the context of the third quickfix list in the stack
+ :echo getqflist({'nr' : 3, 'context' : 0}).context
+
+ " get the number of quickfix lists in the stack
+ :echo getqflist({'nr' : '$'}).nr
+
+ " get the number of times the current quickfix list is changed
+ :echo getqflist({'changedtick' : 0}).changedtick
+
+ " get the current entry in a quickfix list specified by an identifier
+ :echo getqflist({'id' : qfid, 'idx' : 0}).idx
+
+ " get all the quickfix list attributes using an identifier
+ :echo getqflist({'id' : qfid, 'all' : 0})
+
+ " parse text from a List of lines and return a quickfix list
+ :let myList = ["a.java:10:L10", "b.java:20:L20"]
+ :echo getqflist({'lines' : myList}).items
+
+ " parse text using a custom 'efm' and return a quickfix list
+ :echo getqflist({'lines' : ['a.c#10#Line 10'], 'efm':'%f#%l#%m'}).items
+
+ " get the quickfix list window id
+ :echo getqflist({'winid' : 0}).winid
+
+ " get the context of the current location list
+ :echo getloclist(0, {'context' : 0}).context
+
+ " get the location list window id of the third window
+ :echo getloclist(3, {'winid' : 0}).winid
+<
+ *setqflist-examples*
+The setqflist() and setloclist() functions can be used to set the various
+attributes of a quickfix and location list respectively. Some examples for
+using these functions are below:
+>
+ " create an empty quickfix list with a title and a context
+ :let t = 'Search results'
+ :let c = {'cmd' : 'grep'}
+ :call setqflist([], ' ', {'title' : t, 'context' : c})
+
+ " set the title of the current quickfix list
+ :call setqflist([], 'a', {'title' : 'Mytitle'})
+
+ " set the context of a quickfix list specified by an identifier
+ :call setqflist([], 'a', {'id' : qfid, 'context' : {'val' : 100}})
+
+ " create a new quickfix list from a command output
+ :call setqflist([], ' ', {'lines' : systemlist('grep -Hn main *.c')})
+
+ " parse text using a custom efm and add to a particular quickfix list
+ :call setqflist([], 'a', {'id' : qfid,
+ \ 'lines' : ["a.c#10#L10", "b.c#20#L20"], 'efm':'%f#%l#%m'})
+
+ " add items to the quickfix list specified by an identifier
+ :let newItems = [{'filename' : 'a.txt', 'lnum' : 10, 'text' : "Apple"},
+ \ {'filename' : 'b.txt', 'lnum' : 20, 'text' : "Orange"}]
+ :call setqflist([], 'a', {'id' : qfid, 'items' : newItems})
+
+ " empty a quickfix list specified by an identifier
+ :call setqflist([], 'r', {'id' : qfid, 'items' : []})
+
+ " free all the quickfix lists in the stack
+ :call setqflist([], 'f')
+
+ " set the title of the fourth quickfix list
+ :call setqflist([], 'a', {'nr' : 4, 'title' : 'SomeTitle'})
+
+ " create a new quickfix list at the end of the stack
+ :call setqflist([], ' ', {'nr' : '$',
+ \ 'lines' : systemlist('grep -Hn class *.java')})
+
+ " create a new location list from a command output
+ :call setloclist(0, [], ' ', {'lines' : systemlist('grep -Hn main *.c')})
+
+ " replace the location list entries for the third window
+ :call setloclist(3, [], 'r', {'items' : newItems})
+<
=============================================================================
3. Using more than one list of errors *quickfix-error-lists*
@@ -1130,6 +1234,7 @@ you want to match case, add "\C" to the pattern |/\C|.
Basic items
%f file name (finds a string)
+ %o module name (finds a string)
%l line number (finds a number)
%c column number (finds a number representing character
column of the error, (1 <tab> == 1 character column))
@@ -1166,7 +1271,7 @@ or >
to indicate the column of the error. This is to be used in a multi-line error
message. See |errorformat-javac| for a useful example.
-The "%s" conversion specifies the text to search for to locate the error line.
+The "%s" conversion specifies the text to search for, to locate the error line.
The text is used as a literal string. The anchors "^" and "$" are added to
the text to locate the error line exactly matching the search text and the
text is prefixed with the "\V" atom to make it "very nomagic". The "%s"
@@ -1174,6 +1279,11 @@ conversion can be used to locate lines without a line number in the error
output. Like the output of the "grep" shell command.
When the pattern is present the line number will not be used.
+The "%o" conversion specifies the module name in quickfix entry. If present
+it will be used in quickfix error window instead of the filename. The module
+name is used only for displaying purposes, the file name is used when jumping
+to the file.
+
Changing directory
The following uppercase conversion characters specify the type of special
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index 8ec74e0..6f43022 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt* For Vim version 8.0. Last change: 2018 Apr 18
+*quickref.txt* For Vim version 8.1. Last change: 2018 Apr 18
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/quotes.txt b/runtime/doc/quotes.txt
index 0ecce32..063a314 100644
--- a/runtime/doc/quotes.txt
+++ b/runtime/doc/quotes.txt
@@ -1,4 +1,4 @@
-*quotes.txt* For Vim version 8.0. Last change: 2018 Mar 29
+*quotes.txt* For Vim version 8.1. Last change: 2018 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/recover.txt b/runtime/doc/recover.txt
index e99ce87..89703fd 100644
--- a/runtime/doc/recover.txt
+++ b/runtime/doc/recover.txt
@@ -1,4 +1,4 @@
-*recover.txt* For Vim version 8.0. Last change: 2014 Mar 27
+*recover.txt* For Vim version 8.1. Last change: 2014 Mar 27
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/remote.txt b/runtime/doc/remote.txt
index 6b0d9dd..f856c98 100644
--- a/runtime/doc/remote.txt
+++ b/runtime/doc/remote.txt
@@ -1,4 +1,4 @@
-*remote.txt* For Vim version 8.0. Last change: 2017 Nov 12
+*remote.txt* For Vim version 8.1. Last change: 2017 Nov 12
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index 6281040..6246478 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt* For Vim version 8.0. Last change: 2018 Mar 04
+*repeat.txt* For Vim version 8.1. Last change: 2018 Mar 04
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/rileft.txt b/runtime/doc/rileft.txt
index 962b890..17bfdba 100644
--- a/runtime/doc/rileft.txt
+++ b/runtime/doc/rileft.txt
@@ -1,4 +1,4 @@
-*rileft.txt* For Vim version 8.0. Last change: 2006 Apr 24
+*rileft.txt* For Vim version 8.1. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Avner Lottem
diff --git a/runtime/doc/russian.txt b/runtime/doc/russian.txt
index 04efdf2..cf64873 100644
--- a/runtime/doc/russian.txt
+++ b/runtime/doc/russian.txt
@@ -1,4 +1,4 @@
-*russian.txt* For Vim version 8.0. Last change: 2006 Apr 24
+*russian.txt* For Vim version 8.1. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Vassily Ragosin
diff --git a/runtime/doc/scroll.txt b/runtime/doc/scroll.txt
index 35301f6..971fec8 100644
--- a/runtime/doc/scroll.txt
+++ b/runtime/doc/scroll.txt
@@ -1,4 +1,4 @@
-*scroll.txt* For Vim version 8.0. Last change: 2016 Nov 10
+*scroll.txt* For Vim version 8.1. Last change: 2018 Apr 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -32,6 +32,7 @@ seen):
*CTRL-E*
CTRL-E Scroll window [count] lines downwards in the buffer.
+ The text moves upwards on the screen.
Mnemonic: Extra lines.
*CTRL-D*
@@ -70,6 +71,7 @@ seen):
*CTRL-Y*
CTRL-Y Scroll window [count] lines upwards in the buffer.
+ The text moves downwards on the screen.
Note: When using the MS-Windows key bindings CTRL-Y is
remapped to redo.
diff --git a/runtime/doc/sign.txt b/runtime/doc/sign.txt
index b61e4f1..dab63b1 100644
--- a/runtime/doc/sign.txt
+++ b/runtime/doc/sign.txt
@@ -1,4 +1,4 @@
-*sign.txt* For Vim version 8.0. Last change: 2016 Aug 17
+*sign.txt* For Vim version 8.1. Last change: 2016 Aug 17
VIM REFERENCE MANUAL by Gordon Prieur
diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt
index cac65ae..6f42eb3 100644
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -1,4 +1,4 @@
-*spell.txt* For Vim version 8.0. Last change: 2018 Mar 29
+*spell.txt* For Vim version 8.1. Last change: 2018 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/sponsor.txt b/runtime/doc/sponsor.txt
index d427dc0..6e42d15 100644
--- a/runtime/doc/sponsor.txt
+++ b/runtime/doc/sponsor.txt
@@ -1,4 +1,4 @@
-*sponsor.txt* For Vim version 8.0. Last change: 2008 Jun 21
+*sponsor.txt* For Vim version 8.1. Last change: 2008 Jun 21
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index 8256152..0c15a1e 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt* For Vim version 8.0. Last change: 2018 Mar 14
+*starting.txt* For Vim version 8.1. Last change: 2018 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -127,7 +127,8 @@ argument.
On VMS all option arguments are assumed to be lowercase, unless preceded with
a slash. Thus "-R" means recovery and "-/R" readonly.
---help *-h* *--help*
+--help *-h* *--help* *-?*
+-?
-h Give usage (help) message and exit. {not in Vi}
See |info-message| about capturing the text.
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 04387f7..526231f 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt* For Vim version 8.0. Last change: 2018 Jan 31
+*syntax.txt* For Vim version 8.1. Last change: 2018 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1977,7 +1977,7 @@ set "lite_minlines" to the value you desire. Example: >
LPC *lpc.vim* *ft-lpc-syntax*
-LPC stands for a simple, memory-efficient language: Lars Pensj| C. The
+LPC stands for a simple, memory-efficient language: Lars Pensjö C. The
file name of LPC is usually *.c. Recognizing these files as LPC would bother
users writing only C programs. If you want to use LPC syntax in Vim, you
should set a variable in your .vimrc file: >
@@ -4627,7 +4627,9 @@ in their own color.
runtime colors/evening.vim
hi Statement ctermfg=Blue guifg=Blue
-< After the color scheme has been loaded the
+< Before the color scheme will be loaded the
+ |ColorSchemePre| autocommand event is triggered.
+ After the color scheme has been loaded the
|ColorScheme| autocommand event is triggered.
For info about writing a colorscheme file: >
:edit $VIMRUNTIME/colors/README.txt
diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt
index 56d58eb..31fcc43 100644
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -1,4 +1,4 @@
-*tabpage.txt* For Vim version 8.0. Last change: 2018 Mar 29
+*tabpage.txt* For Vim version 8.1. Last change: 2018 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -213,7 +213,8 @@ gT Go to the previous tab page. Wraps around from the first one
:tabN[ext] {count}
{count}<C-PageUp>
{count}gT Go {count} tab pages back. Wraps around from the first one
- to the last one.
+ to the last one. Note that the use of {count} is different
+ from |:tabnext|, where it is used as the tab page number.
:tabr[ewind] *:tabfir* *:tabfirst* *:tabr* *:tabrewind*
:tabfir[st] Go to the first tab page.
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 5895c05..cd14b3f 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1408,6 +1408,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
--ttyfail starting.txt /*--ttyfail*
--version starting.txt /*--version*
--windowid starting.txt /*--windowid*
+-? starting.txt /*-?*
-A starting.txt /*-A*
-C starting.txt /*-C*
-D starting.txt /*-D*
@@ -3200,6 +3201,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:unhide windows.txt /*:unhide*
:unl eval.txt /*:unl*
:unlet eval.txt /*:unlet*
+:unlet-$ eval.txt /*:unlet-$*
+:unlet-environment eval.txt /*:unlet-environment*
:unlo eval.txt /*:unlo*
:unlockvar eval.txt /*:unlockvar*
:unm map.txt /*:unm*
@@ -3529,6 +3532,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
@r eval.txt /*@r*
A insert.txt /*A*
ACL editing.txt /*ACL*
+ANSI-C develop.txt /*ANSI-C*
ATTENTION usr_11.txt /*ATTENTION*
Abbreviations map.txt /*Abbreviations*
Aleph options.txt /*Aleph*
@@ -3565,6 +3569,8 @@ BufWritePre autocmd.txt /*BufWritePre*
C change.txt /*C*
C-editing tips.txt /*C-editing*
C-indenting indent.txt /*C-indenting*
+C89 develop.txt /*C89*
+C99 develop.txt /*C99*
COMSPEC starting.txt /*COMSPEC*
CR-used-for-NL pattern.txt /*CR-used-for-NL*
CTRL-6 editing.txt /*CTRL-6*
@@ -3693,6 +3699,7 @@ CmdlineLeave autocmd.txt /*CmdlineLeave*
CmdwinEnter autocmd.txt /*CmdwinEnter*
CmdwinLeave autocmd.txt /*CmdwinLeave*
ColorScheme autocmd.txt /*ColorScheme*
+ColorSchemePre autocmd.txt /*ColorSchemePre*
Command-line cmdline.txt /*Command-line*
Command-line-mode cmdline.txt /*Command-line-mode*
CompleteDone autocmd.txt /*CompleteDone*
@@ -4742,6 +4749,7 @@ PEP8 filetype.txt /*PEP8*
PHP_BracesAtCodeLevel indent.txt /*PHP_BracesAtCodeLevel*
PHP_autoformatcomment indent.txt /*PHP_autoformatcomment*
PHP_default_indenting indent.txt /*PHP_default_indenting*
+PHP_noArrowMatching indent.txt /*PHP_noArrowMatching*
PHP_outdentSLComments indent.txt /*PHP_outdentSLComments*
PHP_outdentphpescape indent.txt /*PHP_outdentphpescape*
PHP_removeCRwhenUnix indent.txt /*PHP_removeCRwhenUnix*
@@ -5077,6 +5085,7 @@ added-7.1 version7.txt /*added-7.1*
added-7.2 version7.txt /*added-7.2*
added-7.3 version7.txt /*added-7.3*
added-7.4 version7.txt /*added-7.4*
+added-8.1 version8.txt /*added-8.1*
added-BeOS version5.txt /*added-BeOS*
added-Mac version5.txt /*added-Mac*
added-VMS version5.txt /*added-VMS*
@@ -5098,6 +5107,7 @@ ant.vim syntax.txt /*ant.vim*
ap motion.txt /*ap*
apache.vim syntax.txt /*apache.vim*
append() eval.txt /*append()*
+appendbufline() eval.txt /*appendbufline()*
aquote motion.txt /*aquote*
arabic.txt arabic.txt /*arabic.txt*
arabicfonts arabic.txt /*arabicfonts*
@@ -5116,6 +5126,7 @@ asin() eval.txt /*asin()*
asm.vim syntax.txt /*asm.vim*
asm68k syntax.txt /*asm68k*
asmh8300.vim syntax.txt /*asmh8300.vim*
+assert-return eval.txt /*assert-return*
assert_beeps() eval.txt /*assert_beeps()*
assert_equal() eval.txt /*assert_equal()*
assert_equalfile() eval.txt /*assert_equalfile()*
@@ -5280,6 +5291,7 @@ c_<C-Left> cmdline.txt /*c_<C-Left>*
c_<C-R> cmdline.txt /*c_<C-R>*
c_<C-R>_<C-A> cmdline.txt /*c_<C-R>_<C-A>*
c_<C-R>_<C-F> cmdline.txt /*c_<C-R>_<C-F>*
+c_<C-R>_<C-L> cmdline.txt /*c_<C-R>_<C-L>*
c_<C-R>_<C-O> cmdline.txt /*c_<C-R>_<C-O>*
c_<C-R>_<C-P> cmdline.txt /*c_<C-R>_<C-P>*
c_<C-R>_<C-R> cmdline.txt /*c_<C-R>_<C-R>*
@@ -5328,6 +5340,7 @@ c_CTRL-R cmdline.txt /*c_CTRL-R*
c_CTRL-R_= cmdline.txt /*c_CTRL-R_=*
c_CTRL-R_CTRL-A cmdline.txt /*c_CTRL-R_CTRL-A*
c_CTRL-R_CTRL-F cmdline.txt /*c_CTRL-R_CTRL-F*
+c_CTRL-R_CTRL-L cmdline.txt /*c_CTRL-R_CTRL-L*
c_CTRL-R_CTRL-O cmdline.txt /*c_CTRL-R_CTRL-O*
c_CTRL-R_CTRL-P cmdline.txt /*c_CTRL-R_CTRL-P*
c_CTRL-R_CTRL-R cmdline.txt /*c_CTRL-R_CTRL-R*
@@ -5421,6 +5434,7 @@ changed-7.1 version7.txt /*changed-7.1*
changed-7.2 version7.txt /*changed-7.2*
changed-7.3 version7.txt /*changed-7.3*
changed-7.4 version7.txt /*changed-7.4*
+changed-8.1 version8.txt /*changed-8.1*
changelist motion.txt /*changelist*
changelog.vim syntax.txt /*changelog.vim*
changenr() eval.txt /*changenr()*
@@ -5757,6 +5771,7 @@ definitions intro.txt /*definitions*
delete() eval.txt /*delete()*
delete-insert change.txt /*delete-insert*
delete-menus gui.txt /*delete-menus*
+deletebufline() eval.txt /*deletebufline()*
deleting change.txt /*deleting*
demoserver.py channel.txt /*demoserver.py*
design-assumptions develop.txt /*design-assumptions*
@@ -6129,6 +6144,7 @@ fork os_unix.txt /*fork*
form.vim syntax.txt /*form.vim*
format-bullet-list tips.txt /*format-bullet-list*
format-comments change.txt /*format-comments*
+format-formatexpr change.txt /*format-formatexpr*
formatting change.txt /*formatting*
formfeed intro.txt /*formfeed*
fortran.vim syntax.txt /*fortran.vim*
@@ -6618,6 +6634,7 @@ getmatches() eval.txt /*getmatches()*
getpid() eval.txt /*getpid()*
getpos() eval.txt /*getpos()*
getqflist() eval.txt /*getqflist()*
+getqflist-examples quickfix.txt /*getqflist-examples*
getreg() eval.txt /*getreg()*
getregtype() eval.txt /*getregtype()*
getscript pi_getscript.txt /*getscript*
@@ -7811,6 +7828,7 @@ new-session-files version5.txt /*new-session-files*
new-spell version7.txt /*new-spell*
new-style-testing eval.txt /*new-style-testing*
new-tab-pages version7.txt /*new-tab-pages*
+new-terminal-window version8.txt /*new-terminal-window*
new-undo-branches version7.txt /*new-undo-branches*
new-unlisted-buffers version6.txt /*new-unlisted-buffers*
new-user-defined version5.txt /*new-user-defined*
@@ -7924,6 +7942,7 @@ papp.vim syntax.txt /*papp.vim*
paragraph motion.txt /*paragraph*
pascal.vim syntax.txt /*pascal.vim*
patches-8 version8.txt /*patches-8*
+patches-8.1 version8.txt /*patches-8.1*
pathshorten() eval.txt /*pathshorten()*
pattern pattern.txt /*pattern*
pattern-atoms pattern.txt /*pattern-atoms*
@@ -8042,6 +8061,10 @@ profiling-variable eval.txt /*profiling-variable*
progname-variable eval.txt /*progname-variable*
progpath-variable eval.txt /*progpath-variable*
progress.vim syntax.txt /*progress.vim*
+prompt-buffer channel.txt /*prompt-buffer*
+prompt_setcallback() eval.txt /*prompt_setcallback()*
+prompt_setinterrupt() eval.txt /*prompt_setinterrupt()*
+prompt_setprompt() eval.txt /*prompt_setprompt()*
pronounce intro.txt /*pronounce*
psql ft_sql.txt /*psql*
ptcap.vim syntax.txt /*ptcap.vim*
@@ -8182,6 +8205,8 @@ redo-register undo.txt /*redo-register*
ref intro.txt /*ref*
reference intro.txt /*reference*
reference_toc help.txt /*reference_toc*
+reg_executing() eval.txt /*reg_executing()*
+reg_recording() eval.txt /*reg_recording()*
regexp pattern.txt /*regexp*
regexp-changes-5.4 version5.txt /*regexp-changes-5.4*
register sponsor.txt /*register*
@@ -8356,6 +8381,7 @@ setloclist() eval.txt /*setloclist()*
setmatches() eval.txt /*setmatches()*
setpos() eval.txt /*setpos()*
setqflist() eval.txt /*setqflist()*
+setqflist-examples quickfix.txt /*setqflist-examples*
setreg() eval.txt /*setreg()*
settabvar() eval.txt /*settabvar()*
settabwinvar() eval.txt /*settabwinvar()*
@@ -8970,10 +8996,13 @@ termdebug-commands terminal.txt /*termdebug-commands*
termdebug-communication terminal.txt /*termdebug-communication*
termdebug-customizing terminal.txt /*termdebug-customizing*
termdebug-example terminal.txt /*termdebug-example*
+termdebug-prompt terminal.txt /*termdebug-prompt*
termdebug-starting terminal.txt /*termdebug-starting*
termdebug-stepping terminal.txt /*termdebug-stepping*
termdebug-variables terminal.txt /*termdebug-variables*
termdebug_popup terminal.txt /*termdebug_popup*
+termdebug_shortcuts terminal.txt /*termdebug_shortcuts*
+termdebug_use_prompt terminal.txt /*termdebug_use_prompt*
termdebug_wide terminal.txt /*termdebug_wide*
terminal terminal.txt /*terminal*
terminal-api terminal.txt /*terminal-api*
@@ -8982,6 +9011,7 @@ terminal-colors os_unix.txt /*terminal-colors*
terminal-communication terminal.txt /*terminal-communication*
terminal-cursor-style terminal.txt /*terminal-cursor-style*
terminal-debug terminal.txt /*terminal-debug*
+terminal-debugger terminal.txt /*terminal-debugger*
terminal-diff terminal.txt /*terminal-diff*
terminal-diffscreendump terminal.txt /*terminal-diffscreendump*
terminal-dumptest terminal.txt /*terminal-dumptest*
@@ -9001,6 +9031,7 @@ terminal-to-job terminal.txt /*terminal-to-job*
terminal-typing terminal.txt /*terminal-typing*
terminal-unix terminal.txt /*terminal-unix*
terminal-use terminal.txt /*terminal-use*
+terminal-window terminal.txt /*terminal-window*
terminal.txt terminal.txt /*terminal.txt*
terminfo term.txt /*terminfo*
termresponse-variable eval.txt /*termresponse-variable*
@@ -9393,6 +9424,7 @@ version-7.2 version7.txt /*version-7.2*
version-7.3 version7.txt /*version-7.3*
version-7.4 version7.txt /*version-7.4*
version-8.0 version8.txt /*version-8.0*
+version-8.1 version8.txt /*version-8.1*
version-variable eval.txt /*version-variable*
version4.txt version4.txt /*version4.txt*
version5.txt version5.txt /*version5.txt*
@@ -9404,6 +9436,7 @@ version7.3 version7.txt /*version7.3*
version7.4 version7.txt /*version7.4*
version7.txt version7.txt /*version7.txt*
version8.0 version8.txt /*version8.0*
+version8.1 version8.txt /*version8.1*
version8.txt version8.txt /*version8.txt*
vi intro.txt /*vi*
vi-differences vi_diff.txt /*vi-differences*
@@ -9416,6 +9449,7 @@ view-file starting.txt /*view-file*
views-sessions starting.txt /*views-sessions*
vim-7.4 version7.txt /*vim-7.4*
vim-8 version8.txt /*vim-8*
+vim-8.1 version8.txt /*vim-8.1*
vim-additions vi_diff.txt /*vim-additions*
vim-announce intro.txt /*vim-announce*
vim-arguments starting.txt /*vim-arguments*
@@ -9521,6 +9555,7 @@ whitespace pattern.txt /*whitespace*
wildcard editing.txt /*wildcard*
wildcards editing.txt /*wildcards*
wildmenumode() eval.txt /*wildmenumode()*
+win16 os_win32.txt /*win16*
win32 os_win32.txt /*win32*
win32-!start gui_w32.txt /*win32-!start*
win32-PATH os_win32.txt /*win32-PATH*
@@ -9730,6 +9765,7 @@ zz scroll.txt /*zz*
{Visual} intro.txt /*{Visual}*
{address} cmdline.txt /*{address}*
{arglist} editing.txt /*{arglist}*
+{bufname} windows.txt /*{bufname}*
{char1-char2} intro.txt /*{char1-char2}*
{event} autocmd.txt /*{event}*
{file} editing.txt /*{file}*
diff --git a/runtime/doc/tagsrch.txt b/runtime/doc/tagsrch.txt
index c3da90d..555beb5 100644
--- a/runtime/doc/tagsrch.txt
+++ b/runtime/doc/tagsrch.txt
@@ -1,4 +1,4 @@
-*tagsrch.txt* For Vim version 8.0. Last change: 2017 Oct 20
+*tagsrch.txt* For Vim version 8.1. Last change: 2018 May 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -36,12 +36,12 @@ An easy way back is with the CTRL-T command. Also read about the tag stack
below.
*:ta* *:tag* *E426* *E429*
-:[count]ta[g][!] {ident}
- Jump to the definition of {ident}, using the
- information in the tags file(s). Put {ident} in the
+:[count]ta[g][!] {name}
+ Jump to the definition of {name}, using the
+ information in the tags file(s). Put {name} in the
tag stack. See |tag-!| for [!].
- {ident} can be a regexp pattern, see |tag-regexp|.
- When there are several matching tags for {ident}, jump
+ {name} can be a regexp pattern, see |tag-regexp|.
+ When there are several matching tags for {name}, jump
to the [count] one. When [count] is omitted the
first one is jumped to. See |tag-matchlist| for
jumping to other matching tags.
@@ -49,16 +49,16 @@ below.
g<LeftMouse> *g<LeftMouse>*
<C-LeftMouse> *<C-LeftMouse>* *CTRL-]*
CTRL-] Jump to the definition of the keyword under the
- cursor. Same as ":tag {ident}", where {ident} is the
+ cursor. Same as ":tag {name}", where {name} is the
keyword under or after cursor.
- When there are several matching tags for {ident}, jump
+ When there are several matching tags for {name}, jump
to the [count] one. When no [count] is given the
first one is jumped to. See |tag-matchlist| for
jumping to other matching tags.
{Vi: identifier after the cursor}
*v_CTRL-]*
-{Visual}CTRL-] Same as ":tag {ident}", where {ident} is the text that
+{Visual}CTRL-] Same as ":tag {name}", where {name} is the text that
is highlighted. {not in Vi}
*telnet-CTRL-]*
@@ -82,7 +82,7 @@ When there are multiple matches for a tag, this priority is used:
Note that when the current file changes, the priority list is mostly not
changed, to avoid confusion when using ":tnext". It is changed when using
-":tag {ident}".
+":tag {name}".
The ignore-case matches are not found for a ":tag" command when:
- the 'ignorecase' option is off and 'tagcase' is "followic"
@@ -167,7 +167,7 @@ You can get from main to FuncA by using CTRL-] on the call to FuncA. Then
you can CTRL-] to get to FuncC. If you now want to go back to main you can
use CTRL-T twice. Then you can CTRL-] to FuncB.
-If you issue a ":ta {ident}" or CTRL-] command, this tag is inserted at the
+If you issue a ":ta {name}" or CTRL-] command, this tag is inserted at the
current position in the stack. If the stack was full (it can hold up to 20
entries), the oldest entry is deleted and the older entries shift one
position up (their index number is decremented by one). If the last used
@@ -191,14 +191,14 @@ between them. Note that these commands don't change the tag stack, they keep
the same entry.
*:ts* *:tselect*
-:ts[elect][!] [ident] List the tags that match [ident], using the
+:ts[elect][!] [name] List the tags that match [name], using the
information in the tags file(s).
- When [ident] is not given, the last tag name from the
+ When [name] is not given, the last tag name from the
tag stack is used.
See |tag-!| for [!].
With a '>' in the first column is indicated which is
the current position in the list (if there is one).
- [ident] can be a regexp pattern, see |tag-regexp|.
+ [name] can be a regexp pattern, see |tag-regexp|.
See |tag-priority| for the priorities used in the
listing. {not in Vi}
Example output:
@@ -226,7 +226,7 @@ the same entry.
type 'q' and enter the number.
*:sts* *:stselect*
-:sts[elect][!] [ident] Does ":tselect[!] [ident]" and splits the window for
+:sts[elect][!] [name] Does ":tselect[!] [name]" and splits the window for
the selected tag. {not in Vi}
*g]*
@@ -238,11 +238,11 @@ g] Like CTRL-], but use ":tselect" instead of ":tag".
identifier. {not in Vi}
*:tj* *:tjump*
-:tj[ump][!] [ident] Like ":tselect", but jump to the tag directly when
+:tj[ump][!] [name] Like ":tselect", but jump to the tag directly when
there is only one match. {not in Vi}
*:stj* *:stjump*
-:stj[ump][!] [ident] Does ":tjump[!] [ident]" and splits the window for the
+:stj[ump][!] [name] Does ":tjump[!] [name]" and splits the window for the
selected tag. {not in Vi}
*g_CTRL-]*
@@ -277,9 +277,9 @@ g CTRL-] Like CTRL-], but use ":tjump" instead of ":tag".
in Vi}
*:lt* *:ltag*
-:lt[ag][!] [ident] Jump to tag [ident] and add the matching tags to a new
- location list for the current window. [ident] can be
- a regexp pattern, see |tag-regexp|. When [ident] is
+:lt[ag][!] [name] Jump to tag [name] and add the matching tags to a new
+ location list for the current window. [name] can be
+ a regexp pattern, see |tag-regexp|. When [name] is
not given, the last tag name from the tag stack is
used. The search pattern to locate the tag line is
prefixed with "\V" to escape all the special
@@ -311,12 +311,12 @@ the same as above, with a "p" prepended.
{not available when compiled without the |+quickfix| feature}
*:pts* *:ptselect*
-:pts[elect][!] [ident] Does ":tselect[!] [ident]" and shows the new tag in a
+:pts[elect][!] [name] Does ":tselect[!] [name]" and shows the new tag in a
"Preview" window. See |:ptag| for more info.
{not in Vi}
*:ptj* *:ptjump*
-:ptj[ump][!] [ident] Does ":tjump[!] [ident]" and shows the new tag in a
+:ptj[ump][!] [name] Does ":tjump[!] [name]" and shows the new tag in a
"Preview" window. See |:ptag| for more info.
{not in Vi}
diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt
index 61dfb4b..dbf7e64 100644
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -1,4 +1,4 @@
-*term.txt* For Vim version 8.0. Last change: 2017 Oct 14
+*term.txt* For Vim version 8.1. Last change: 2017 Oct 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -111,6 +111,16 @@ have a problem with this, disable bracketed paste by putting this in your
If this is done while Vim is running the 't_BD' will be sent to the terminal
to disable bracketed paste.
+If your terminal supports bracketed paste, but the options are not set
+automatically, you can try using something like this: >
+
+ if &term =~ "screen"
+ let &t_BE = "\e[?2004h"
+ let &t_BD = "\e[?2004l"
+ exec "set t_PS=\e[200~"
+ exec "set t_PE=\e[201~"
+ endif
+<
*cs7-problem*
Note: If the terminal settings are changed after running Vim, you might have
an illegal combination of settings. This has been reported on Solaris 2.5
diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt
index 59aeb97..262b162 100644
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -1,10 +1,10 @@
-*terminal.txt* For Vim version 8.0. Last change: 2018 Apr 20
+*terminal.txt* For Vim version 8.1. Last change: 2018 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
-Terminal window support *terminal*
+Terminal window support *terminal* *terminal-window*
The terminal feature is optional, use this to check if your Vim has it: >
@@ -19,8 +19,8 @@ If the result is "1" you have it.
Resizing |terminal-resizing|
Terminal Modes |Terminal-mode|
Cursor style |terminal-cursor-style|
- Special keys |terminal-special-keys|
Session |terminal-session|
+ Special keys |terminal-special-keys|
Unix |terminal-unix|
MS-Windows |terminal-ms-windows|
2. Terminal communication |terminal-communication|
@@ -38,6 +38,7 @@ If the result is "1" you have it.
Stepping through code |termdebug-stepping|
Inspecting variables |termdebug-variables|
Other commands |termdebug-commands|
+ Prompt mode |termdebug-prompt|
Communication |termdebug-communication|
Customizing |termdebug-customizing|
@@ -86,7 +87,8 @@ to the job. For example:
'termwinkey' CTRL-W move focus to the next window
'termwinkey' : enter an Ex command
'termwinkey' 'termwinkey' send 'termwinkey' to the job in the terminal
- 'termwinkey' . send a CTRL-W to the job in the terminal
+ 'termwinkey' . send 'termwinkey' to the job in the terminal
+ 'termwinkey' CTRL-\ send a CTRL-\ to the job in the terminal
'termwinkey' N go to terminal Normal mode, see below
'termwinkey' CTRL-N same as CTRL-W N
'termwinkey' CTRL-C same as |t_CTRL-W_CTRL-C|
@@ -114,9 +116,12 @@ break: >
< *options-in-terminal*
After opening the terminal window and setting 'buftype' to "terminal" the
-BufWinEnter autocommand event is triggered. This makes it possible to set
+TerminalOpen autocommand event is triggered. This makes it possible to set
options specifically for the window and buffer. Example: >
- au BufWinEnter * if &buftype == 'terminal' | setlocal bufhidden=hide | endif
+ au TerminalOpen * if &buftype == 'terminal' | setlocal bufhidden=hide | endif
+The <abuf> is set to the terminal buffer, but if there is no window (hidden
+terminal) then setting options will happen in the wrong buffer, therefore the
+check for &buftype in the example.
Mouse events (click and drag) are passed to the terminal. Mouse move events
are only passed when Vim itself is receiving them. For a terminal that is
@@ -204,7 +209,7 @@ Syntax ~
++rows={height} Use {height} for the terminal window
height. If the terminal uses the full
Vim height (no window above or below
- th terminal window) the command line
+ the terminal window) the command line
height will be reduced as needed.
++cols={width} Use {width} for the terminal window
width. If the terminal uses the full
@@ -243,7 +248,7 @@ Trying to close the window with `CTRL-W :close` also fails. Using
You can use `CTRL-W :hide` to close the terminal window and make the buffer
hidden, the job keeps running. The `:buffer` command can be used to turn the
current window into a terminal window. If there are unsaved changes this
-fails, use ! to force, as usual.
+fails, use ! to force, as usual.
To have a background job run without a window, and open the window when it's
done, use options like this: >
@@ -317,7 +322,7 @@ the job ends while in Terminal-Normal mode this changes to
When the job outputs lines in the terminal, such that the contents scrolls off
the top, those lines are remembered and can be seen in Terminal-Normal mode.
The number of lines is limited by the 'termwinscroll' option. When going over
-this limit, the first 10% of the scrolled lins are deleted and are lost.
+this limit, the first 10% of the scrolled lines are deleted and are lost.
Cursor style ~
@@ -376,6 +381,7 @@ Environment variables are used to pass information to the running job:
COLUMNS number of columns in the terminal initially
COLORS number of colors, 't_Co' (256*256*256 in the GUI)
VIM_SERVERNAME v:servername
+ VIM_TERMINAL v:version
MS-Windows ~
@@ -446,7 +452,7 @@ Currently supported commands:
of the terminal and {argument}, the decoded JSON argument.
The function name must start with "Tapi_" to avoid
accidentally calling a function not meant to be used for the
- terminal API
+ terminal API.
The user function should sanity check the argument.
The function can use |term_sendkeys()| to send back a reply.
Example in JSON: >
@@ -466,6 +472,8 @@ Currently supported commands:
Let Vim open a file, like the `:drop` command. If {filename}
is already open in a window, switch to that window. Otherwise
open a new window to edit {filename}.
+ Note that both the job and Vim may change the current
+ directory, thus it's best to use the full path.
[options] is only used when opening a new window. If present,
it must be a Dict. Similarly to |++opt|, These entries are recognized:
@@ -611,12 +619,16 @@ Alternatively, press "s" to swap the first and second dump. Do this several
times so that you can spot the difference in the context of the text.
==============================================================================
-5. Debugging *terminal-debug*
+5. Debugging *terminal-debug* *terminal-debugger*
The Terminal debugging plugin can be used to debug a program with gdb and view
the source code in a Vim window. Since this is completely contained inside
Vim this also works remotely over an ssh connection.
+When the |+terminal| feature is missing, the plugin will use the "prompt"
+buffer type, if possible. The running program will then use a newly opened
+terminal window. See |termdebug-prompt| below for details.
+
Starting ~
*termdebug-starting*
@@ -693,11 +705,11 @@ Put focus on the gdb window and type: >
Vim will start running in the program window. Put focus there and type: >
:help gui
Gdb will run into the ex_help breakpoint. The source window now shows the
-ex_cmds.c file. A ">>" marker will appear where the breakpoint was set. The
-line where the debugger stopped is highlighted. You can now step through the
-program. Let's use the mouse: click on the "Next" button in the window
-toolbar. You will see the highlighting move as the debugger executes a line
-of source code.
+ex_cmds.c file. A red "1 " marker will appear in the signcolumn where the
+breakpoint was set. The line where the debugger stopped is highlighted. You
+can now step through the program. Let's use the mouse: click on the "Next"
+button in the window toolbar. You will see the highlighting move as the
+debugger executes a line of source code.
Click "Next" a few times until the for loop is highlighted. Put the cursor on
the end of "eap->arg", then click "Eval" in the toolbar. You will see this
@@ -776,6 +788,13 @@ source code, a new window will be created for the source code. This also
happens if the buffer in the source code window has been modified and can't be
abandoned.
+Gdb gives each breakpoint a number. In Vim the number shows up in the sign
+column, with a red background. You can use these gdb commands:
+- info break list breakpoints
+- delete N delete breakpoint N
+You can also use the `:Clear` command if the cursor is in the line with the
+breakpoint, or use the "Clear breakpoint" right-click menu entry.
+
Inspecting variables ~
*termdebug-variables* *:Evaluate*
@@ -796,12 +815,36 @@ Other commands ~
isn't one
+Prompt mode ~
+ *termdebug-prompt*
+When the |+terminal| feature is not supported and on MS-Windows, gdb will run
+in a buffer with 'buftype' set to "prompt". This works slightly differently:
+- The gdb window will be in Insert mode while typing commands. Go to Normal
+ mode with <Esc>, then you can move around in the buffer, copy/paste, etc.
+ Go back to editing the gdb command with any command that starts Insert mode,
+ such as `a` or `i`.
+- The program being debugged will run in a separate window. On MS-Windows
+ this is a new console window. On Unix, if the |+terminal| feature is
+ available a Terminal window will be opened to run the debugged program in.
+
+ *termdebug_use_prompt*
+Prompt mode can be used even when the |+terminal| feature is present with: >
+ let g:termdebug_use_prompt = 1
+
+
Communication ~
*termdebug-communication*
There is another, hidden, buffer, which is used for Vim to communicate with
gdb. The buffer name is "gdb communication". Do not delete this buffer, it
will break the debugger.
+Gdb has some weird behavior, the plugin does its best to work around that.
+For example, after typing "continue" in the gdb window a CTRL-C can be used to
+interrupt the running program. But after using the MI command
+"-exec-continue" pressing CTRL-C does not interrupt. Therefore you will see
+"continue" being used for the `:Continue` command, instead of using the
+communication channel.
+
Customizing ~
@@ -833,6 +876,14 @@ When 'background' is "dark":
hi debugBreakpoint term=reverse ctermbg=red guibg=red
+Shorcuts *termdebug_shortcuts*
+
+You can define your own shortcuts (mappings) to control gdb, that can work in
+any window, using the TermDebugSendCommand() function. Example: >
+ map ,w :call TermDebugSendCommand('where')<CR>
+The argument is the gdb command.
+
+
Popup menu *termdebug_popup*
By default the Termdebug plugin sets 'mousemodel' to "popup_setpos" and adds
@@ -851,7 +902,7 @@ vertical split: >
let g:termdebug_wide = 163
This will set &columns to 163 when :Termdebug is used. The value is restored
when quitting the debugger.
-If g:termdebug_wide is set and &Columns is already larger than
+If g:termdebug_wide is set and &columns is already larger than
g:termdebug_wide then a vertical split will be used without changing &columns.
Set it to 1 to get a vertical split without every changing &columns (useful
for when the terminal can't be resized by Vim).
diff --git a/runtime/doc/tips.txt b/runtime/doc/tips.txt
index d15b4bc..3698348 100644
--- a/runtime/doc/tips.txt
+++ b/runtime/doc/tips.txt
@@ -1,4 +1,4 @@
-*tips.txt* For Vim version 8.0. Last change: 2009 Nov 07
+*tips.txt* For Vim version 8.1. Last change: 2009 Nov 07
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 9c26255..c338513 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 8.0. Last change: 2018 Apr 20
+*todo.txt* For Vim version 8.1. Last change: 2018 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -32,43 +32,119 @@ Only use this for bug reports, not for questions! Those belong on the
maillist. Updates will be forwarded to the |vim_dev| maillist. Issues
entered there will not be repeated below, unless there is extra information.
+The #1234 numbers refer to an issue or pull request on github. To see it in a
+browser use: https://github.com/vim/vim/issues/1234
+
*known-bugs*
-------------------- Known bugs and current work -----------------------
-Terminal emulator window:
-- Still some stuff to implement and bugs to fix, see src/terminal.c
+Prompt buffer:
+- Add a command line history.
+- delay next prompt until plugin gives OK?
+
+Terminal debugger:
+- Using terminal window: after "cont" in gdb window CTRL-C interrupts, but
+ after :Continue it does not. Mode of UI is changed? :Stop does work.
+- patch from Christian to handle changing 'background'
+ and a patch to show breakpoint nr in sign. (June 14)
+- Make prompt-buffer variant work better.
+- Termdebug does not work when Vim was build with mzscheme: gdb hangs just
+ after "run". Everything else works, including communication channel. Not
+ initializing mzscheme avoid the problem, thus it's not some #ifdef.
+- Show breakpoint number in the sign? (Uri Moszkowicz, 2018 Jun 13, #3007)
+- Allow for users to create their own gdb mappings. Perhaps by making the gdb
+ buffer global? (Uri Moszkowicz, #3012) Or with a function to send a command
+ to gdb.
-Problem with sudo. #2758
+Terminal emulator window:
+- With a vertical split only one window is updated. (Linwei, 2018 Jun 2,
+ #2977)
+- When typing : at the more prompt, instead of entering a new Vim command, the
+ : is inserted in the terminal window. Should skip terminal_loop here.
+ ()
+- When pasting should call vterm_keyboard_start_paste(), e.g. when using
+ K_MIDDLEMOUSE, calling insert_reg().
+- Users expect parsing the :term argument like a shell does, also support
+ single quotes. E.g. with: :term grep 'alice says "hello"' (#1999)
+- When running a shell in a terminal to run Vim tests, CTRL-W : the command
+ line keeps getting cleard. Doing the same in another window is OK. (Jason
+ Franklin, 2018 Jun 17)
+- How to access selection in Terminal running a shell? (damnskippy, 2018 May
+ 27, #29620 When terminal doesn't use the mouse, use modeless selection.
+- Win32: Redirecting input does not work, half of Test_terminal_redir_file()
+ is disabled.
+- Win32: Redirecting output works but includes escape sequences.
+- Win32: Make terminal used for :!cmd in the GUI work better. Allow for
+ redirection.
+- Terminal API: Add more functionality? (Ozaki Kiichi 2018 May 13, #2907)
+- When the job only outputs lines, we could handle resizing the terminal
+ better: store lines separated by line breaks, instead of screen lines,
+ then when the window is resized redraw those lines.
+- Redrawing is slow with Athena and Motif. (Ramel Eshed)
+- For the GUI fill termios with default values, perhaps like pangoterm:
+ http://bazaar.launchpad.net/~leonerd/pangoterm/trunk/view/head:/main.c#L134
+- When 'encoding' is not utf-8, or the job is using another encoding, setup
+ conversions.
+
+Does not build with MinGW out of the box:
+- _stat64 is not defined, need to use "struct stat" in vim.h
+- WINVER conflict, should use 0x0600 by default?
+
+Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
+13, #2910) Can't reproduce?
+
+On Win32 when not in the console and t_Co >= 256, allow using 'tgc'.
+(Nobuhiro Takasaki, #2833) Also check t_Co.
Errors found with random data:
heap-buffer-overflow in alist_add (#2472)
-Patch to avoid bad highlighting caused by #if. (ichizok, #2731)
+More warnings from static analysis:
+https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
+
+Patch to make "is" and "as" work better. (Jason Franklin, 2018 May 19)
+
+Patch to add tests for user and language completion. (Dominique Pelle, 2018
+Jun 2, #2978) typo wk -> we
+Patch to support user name completion on MS-Windows. (Yasuhiro Matsumoto, 2012
+Aug 16)
+
+Patch to add tests for libcall() and libcallnr(). (Dominique Pelle, #2982)
+
+Patch to fix that v:shell_error is always zero when using terminal for shell
+command. (Ichizok, 2018 Jun 8, #2994)
+
+Patch to make test for terminal out&error more reliable. (Ichizok, 2018 Jun 8,
+#2991)
+
+Patch to fix duplicate entry in tagfiles() and add a test. (Dominique Pelle,
+#2979)
-Patch to refactor qf_set_properties(). (Yegappan, Apr 17, #2812)
+Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
+Related to bracketed paste.
-Patch for static analysis warnings. (Christian Brabandt, 2018 Apr 1, #2770)
-Ther are more here: https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
+Using ":file" in quickfix window during an autocommand doesn't work.
+(Jason Franklin, 2018 May 23) Allow for using it when there is no argument.
-Patch to refactor ex_helpgrep. (Yegappan, #2766, 2018 Mar 30)
-Also in email, take the one with a test.
+Pull request #2967: Allow white space in sign text. (Ben Jackson)
-Allow for C99 features, decide which ones are OK:
-- "inline"
-- "long long"
-- flexible array members (change code to avoid FORTIFY_SOURCE problems)
+Patch for xterm and vt320 builtin termcap. (Kouichi Iwamoto, 2018 May 31,
+#2973)
-Looks like an error for inserting register makes ":file other" not work.
-(Tom M, 2018 Mar 28) Reset did_emsg after inserting a register.
-Or at the top of the loop? (Apr 4)
+Patch to add more testing for :cd command. (Dominique Pelle, 2018 May 30,
+#2972)
-Patch to fix mouse pointer after :tselect. (Hirohito Higashi, #2709)
-How to reproduce the problem? Remarks by Hirohito, Apr 8.
+Patch to make mode() return something different for Normal mode when coming
+from Insert mode with CTRL-O. (#3000)
-Patch to avoid job killed when I/O is disconnected. (ichizok, #2734)
+Script generated by :mksession does not work well if there are windows with
+modified buffers
+ change "silent only" into "silent only!"
+ change "edit fname" of first buffer to "hide edit fname"
+ skip "badd fname" if "fname" is already in the buffer list
+ remove remark about unloading buffers from documentation
-When opening foo/x.txt and bar/x.txt get swap file warning. Should check the
-file name. (Juergen Weigert)
+Patch to make :help work for tags with a ?. (Hirohito Higashi, 2018 May 28)
Compiler warnings (geeknik, 2017 Oct 26):
- signed integer overflow in do_sub() (#2249)
@@ -76,14 +152,15 @@ Compiler warnings (geeknik, 2017 Oct 26):
- signed integer overflow in getdecchrs() (#2254)
- undefined left shift in get_string_tv() (#2250)
+Patch for more quickfix refactoring. (Yegappan Lakshmanan, #2950)
+
Tests failing for "make testgui" with GTK:
- Test_setbufvar_options()
- Test_exit_callback_interval()
-Mouse pointer sticks to stop shape. Only on Windows GUI? #2709
-
-Patch to make log_tr() use variable arguments. (Ichizok, 2018 Mar 20, #2730)
-
+Make balloon_show() work outside of 'balloonexpr'? Users expect it to work:
+#2948. (related to #1512?)
+On Win32 it stops showing, because showState is already ShS_SHOWING.
balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec
20, #2481)
Also see #2352, want better control over balloon, perhaps set the position.
@@ -96,26 +173,51 @@ or asyncmake:
Add a ModeChanged autocommand that has an argument indicating the old and new
mode. Also used for switching Terminal mode.
-Cursor in status line after search. (#2530)
-
Add an option with file patterns, to be used when unloading a buffer: If there
is a match, remove entries for the buffer from marks, jumplist, etc. To be
used for git temp files.
-Patch to fix that an empty buffer remains when using :argedit. (Christian,
-#2713) Updated patch.
-
-Patch to fix interaction between 'virtualedit' and i_CTRL-G_j. (Christian
-Brabandt, #2743)
-
Cursor in wrong position when line wraps. (#2540)
+Patch for Lua support. (Kazunobu Kuriyama, 2018 May 26)
+
Add an option similar to 'lazyredraw' to skip redrawing while executing a
script or function.
+MS-Windows: write may fail if another program is reading the file.
+If 'readonly' is not set but the file appears to be readonly later, try again
+(wait a little while).
+CreateFile() returns ERROR_SHARING_VIOLATION (Linwei, 2018 May 5)
+
+Should add a test for every command line argument. Check coverage for what is
+missing: --nofork, -A , -b, -h, etc.
+
+":au * * command" should not be allowed, only use * for event when listing or
+deleting autocmds, not when adding them.
+
+Quickfix window height is not kept with a vertical split. (Lifepillar, 2018
+Jun 10, #2998)
+
+Patch for variable tabstops. On github (Christian Brabandt, 2014 May 15)
+Update 2018 March 12, #2711
+
+Improve the installer for MS-Windows. There are a few alternatives:
+- Add silent install option. (Shane Lee, #751)
+- Installer from Cream (Steve Hall).
+- Modern UI 2.0 for the Nsis installer. (Guopeng Wen)
+ https://github.com/gpwen/vim-installer-mui2
+- make it possible to do a silent install, see
+ http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
+ Version from Guopeng Wen does this.
+- MSI installer: https://github.com/petrkle/vim-msi/
+- The one on Issue 279.
+Problem: they all work slightly different (e.g. don't install vimrun.exe).
+How to test that it works well for all Vim users?
+
Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
-Patch to add more flags to :ls. (Marcin Szamotulski, #2751)
+Patch to use NGETTEXT() in many more places. (Sergey Alyoshin, 2018 May 25)
+Updated ptach May 27.
Does setting 'cursorline' cause syntax highlighting to slow down? Perhaps is
mess up the cache? (Mike Lee Williams, 2018 Jan 27, #2539)
@@ -124,6 +226,9 @@ Also: 'foldtext' is evaluated too often. (Daniel Hahler, #2773)
When using :packadd files under "later" are not used, which is inconsistent
with packages under "start". (xtal8, #1994)
+Patch to support "xxd -ps". (Erik Auerswald, 2018 May 1)
+Lacks a test.
+
Column number is wrong when using 'linebreak' and 'wrap'. (Keith Smiley, 2018
Jan 15, #2555)
@@ -131,14 +236,9 @@ Jan 15, #2555)
Check argument of systemlist(). (Pavlov)
-Patch to add reg_executing() and reg_recording(). (Hirohito Higashi, #2745)
-
No maintainer for Vietnamese translations.
No maintainer for Simplified Chinese translations.
-When 'inchsearch' and 'hlsearch' are set /\v highlights everything.
-Also see #2337
-
Python indenting: alternative way to indent arguments:
http://orchistro.tistory.com/236
Should be supported with a flag.
@@ -146,23 +246,25 @@ Should be supported with a flag.
Starting job with cwd option, when the directory does not exist, gives a
confusing error message. (Wang Shidong, 2018 Jan 2, #2519)
-Patch to add "module" to quickfix entries. (Marcin Szamotulski, Coot, 2017 Jun
-8, #1757) Now part of #2322. Or #2327? #1757 was re-opened, include that
-first.
-
Add the debug command line history to viminfo.
Avoid that "sign unplace id" does a redraw right away, esp. when there is a
sequence of these commands. (Andy Stewart, 2018 Mar 16)
-ch_sendraw() with long string does not try to read inbetween, which may cause
+ch_sendraw() with long string does not try to read in between, which may cause
a deadlock if the reading side is waiting for the write to finish. (Nate
Bosch, 2018 Jan 13, #2548)
+Patch to include a cfilter plugin to filter quickfix/location lists.
+(Yegappan Lakshmanan, 2018 May 12)
+
Add Makefiles to the runtime/spell directory tree, since nobody uses Aap.
Will have to explain the manual steps (downloading the .aff and .dic files,
applying the diff, etc.
+Pasting a register in Visual mode cannot be repeated. (Mahmoud Al-Qudsi, 2018
+Apr 26, #2849)
+
User dictionary ~/.vim/spell/lang.utf-8.add not used for spell checking until a
word is re-added to it. (Matej Cepl, 2018 Feb 6)
@@ -174,8 +276,10 @@ With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
Using 'wildignore' also applies to literally entered file name. Also with
:drop (remote commands).
-Patch to use the xdiff library instead of external diff. (Christian Brabandt,
-2018 Mar 20, #2732)
+Patch to support ":tag <tagkind> <tagname". (emmrk, 2018 May 7, #2871)
+
+Inserting a line in a CompleteDone autocommand may confuse undo. (micbou,
+2018 Jun 18, #3027)
Implement option_save() and option_restore():
option_restore({list}) *option_restore()*
@@ -205,7 +309,7 @@ option_save({list}) *option_save()*
directory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266)
Also see #1689.
-ml_get error when using a Python. (Yggdroot, 2017 Jun 1, #1737)
+ml_get error when using a Python script. (Yggdroot, 2017 Jun 1, #1737)
Lemonboy can reproduce (2017 Jun 5)
crash when removing an element while inside map(). (Nikolai Pavlov, 2018 Feb
@@ -229,12 +333,6 @@ CTRL-X on zero gets stuck on 0xfffffffffffffffe. (Hengyang Zhao, #2746)
A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
-Patch to fix E806. (Dominique, 2017 Nov 22, #2368)
-Kazunobu Kuriyama: caused by XtSetLanguageProc().
-
-Patch to fix GUI find/replace dialog. (kiloliter, 2017 Dec 11, report in
-#2418, fix in #2435)
-
Invalid range error when using BufWinLeave for closing terminal.
(Gabriel Barta, 2017 Nov 15, #2339)
@@ -246,21 +344,12 @@ Olaf Dabrunz is working on this. (10 Jan 2016)
found here: http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
It's complicated and badly documented.
Alternative: use the xdiff library. Patch from Christian Brabandt, 2018 Mar
-2018, #2732)
+20, #2732)
ml_get errors with buggy script. (Dominique, 2017 Apr 30)
Error in emsg with buggy script. (Dominique, 2017 Apr 30)
-Using CTRL-G j in insert mode in combination with 'virtualedit' doesn't work
-as expected. (Rich, 2018 March 23, #2743)
-
-Patch to fix encoding in print document name (Yasuhiro Matsumoto, 2017 Dec 20,
-#2478)
-
-Patch to copy buffer-local options before buffer leaves the window. (Bjorn
-Linse, 2017 Nov 14, #2336)
-
Join truncates xml comment. (Dmitrii Tcyganok, 2017 Dec 24, #2494)
Requires 'formatoptions' to include "j". (Gary Johnson, 2017 Dec 24)
@@ -280,9 +369,6 @@ In an optional package the "after" directory is not scanned?
Universal solution to detect if t_RS is working, using cursor position.
Koichi Iwamoto, #2126
-Patch to fix cmdline abbreviation after '<,'>. (Christian Brabandt, 2017 Nov
-13, on issue #2320)
-
Patch for Neovim concerning restoring when closing help window. (glacambre
neovim #7431)
@@ -292,6 +378,13 @@ Ask whether to use Windows or Vim key behavior?
Patch for improving detecting Ruby on Mac in configure. (Ilya Mikhaltsou, 2017
Nov 21)
+When t_Co is changed from termresponse, the OptionSet autocmmand event isn't
+triggered. Use the code from the end of set_num_option() in
+set_color_count().
+
+Add another autocommand like TermResponse that is fired for the other terminal
+responses, such as bg and fg. Use "bg", "fg", "blink", etc. for the name.
+
When using command line window, CmdlineLeave is triggered without
CmdlineEnter. (xtal8, 2017 Oct 30, #2263)
Add some way to get the nested state. Although CmdwinEnter is obviously
@@ -315,10 +408,6 @@ Start with filetype detection: testdir/test_filetype.vim
Window not closed when deleting buffer. (Harm te Hennepe, 2017 Aug 27, #2029)
-Duplication of completion suggestions for ":!hom". Issue #539.
-Patch by Christian, 2016 Jan 29
-Another patch in #2733.
->
Add options_default() / options_restore() to set several options to Vim
defaults for a plugin. Comments from Zyx, 2017 May 10.
Perhaps use a vimcontext / endvimcontext command block.
@@ -457,8 +546,6 @@ Or is this not an actual problem?
Better TeX indent file. (Christian Brabandt, 2017 May 3)
-Openhab syntax file (mueller, #1678)
-
Patch to use a separate code for BS on Windows. (Linwei, #1823)
Use gvimext.dll from the nightly build? (Issue #249)
@@ -638,6 +725,8 @@ Does this also fix #1408 ?
Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)
+Patch to fix profiling condition lines. (Ozaki Kiichi,, 2017 Dec 26, #2499)
+
Patch to be able to separately map CTRL-H and BS on Windows.
(Linwei, 2017 Jul 11, #1833)
@@ -883,7 +972,7 @@ Possibly include the needed code so that it can be build everywhere.
Add a way to restart a timer. It's similar to timer_stop() and timer_start(),
but the reference remains valid.
-Need to try out instructions in INSSTALLpc.txt about how to install all
+Need to try out instructions in INSTALLpc.txt about how to install all
interfaces and how to build Vim with them.
Appveyor build with self-installing executable, includes getting most
interfaces: https://github.com/k-takata/vim/tree/chrisbra-appveyor-build
@@ -996,10 +1085,6 @@ github with a URL like this:
https://github.com/vim/vim/compare/v7.4.920%5E...v7.4.920.diff
Diff for version.c contains more context, can't skip a patch.
-When t_Co is changed from termresponse, the OptionSet autocmmand event isn't
-triggered. Use the code from the end of set_num_option() in
-set_color_count().
-
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
Comparing nested structures with "==" uses a different comparator than when
@@ -1176,9 +1261,6 @@ Patch for building a 32bit Vim with 64bit MingW compiler.
Patch: On MS-Windows shellescape() may have to triple double quotes.
(Ingo Karkat, 2015 Jan 16)
-Patch for variable tabstops. On github (Christian Brabandt, 2014 May 15)
-Update 2018 March 12, #2711
-
Redo only remembers the last change. Could use "{count}g." to redo an older
change. How does the user know which change? At least have a way to list
them: ":repeats".
@@ -1231,9 +1313,6 @@ Idea: For a window in the middle (has window above and below it), use
right-mouse-drag on the status line to move a window up/down without changing
its height? It's like dragging the status bar above it at the same time.
-Can we make ":unlet $VAR" use unsetenv() to delete the env var?
-What for systems that don't have unsetenv()? (Issue #1116)
-
Patch to add a :domodeline command. (Christian Brabandt, 2014 Oct 21)
This does not give an error: (Andre Sihera, 2014 Mar 21)
@@ -1346,7 +1425,7 @@ When evaluating expression in backticks, autoload doesn't work.
(Andy Wokula, 2013 Dec 14)
Using <nr>ifoobar<esc> can slow down Vim. Patch by Christian Brabandt, 2013
-Dec 13.
+Dec 13. Only helps a bit, 10000ii<Esc> is still too slow.
GTK: problem with 'L' in 'guioptions' changing the window width.
(Aaron Cornelius, 2012 Feb 6)
@@ -1398,19 +1477,6 @@ optional. (2013 Jul 12)
Dialog is too big on Linux too. (David Fishburn, 2013 Sep 2)
-Improve the installer for MS-Windows. There are a few alternatives:
-- Add silent install option. (Shane Lee, #751)
-- Installer from Cream (Steve Hall).
-- Modern UI 2.0 for the Nsis installer. (Guopeng Wen)
- https://github.com/gpwen/vim-installer-mui2
-- make it possible to do a silent install, see
- http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
- Version from Guopeng Wen does this.
-- MSI installer: https://github.com/petrkle/vim-msi/
-- The one on Issue 279.
-Problem: they all work slightly different (e.g. don't install vimrun.exe).
-How to test that it works well for all Vim users?
-
Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
- Add regex for 'paragraphs' and 'sections': 'parare' and 'sectre'. Combine
@@ -1484,9 +1550,6 @@ The input map for CTRL-O in mswin.vim causes problems after CTRL-X CTRL-O.
Suggestion for another map. (Philip Mat, 2012 Jun 18)
But use "gi" instead of "a". Or use CTRL-\ CTRL-O.
-Patch to support user name completion on MS-Windows. (Yasuhiro Matsumoto, 2012
-Aug 16)
-
When there are no command line arguments ":next" and ":argu" give E163, which
is confusing. Should say "the argument list is empty".
@@ -4141,8 +4204,6 @@ Vim script language:
virtualmode() add argument to obtain whether "$" was used in
Visual block mode.
getacp() Win32: get codepage (Glenn Maynard)
- deletebufline() delete line in any buffer
- appendbufline() append line in any buffer
libcall() Allow more than one argument.
libcallext() Like libcall(), but using a callback function
to allow the library to execute a command or
@@ -4260,7 +4321,6 @@ Performance:
- Have a look at how pdksh does memory allocation (alloc.c). (Dalecki)
- Do profiling on:
- :g/pat/normal cmd
- - 1000ii<Esc>
- deleting 10Mbyte worth of lines (netscape binary)
- "[i" and "[d" (Yegappan Lakshmanan)
- ":g/^/m0" on a 450Kbyte file. And the "u".
@@ -4279,8 +4339,6 @@ Performance:
- Executing a register, e.g. "10000@@" is slow, because ins_typebuf has to
move the previous commands forward each time. Pass count from
normal_cmd() down to do_execreg().
-- Repeating insert "1000i-<Esc>" displays --INSERT-- all the time, because of
- the <Esc> at the end. Make this work faster (disable redrawing).
- Avoid calls to plines() for cursor line, use w_cline_height.
- After ":set nowrap" remove superfluous redraw with wrong hor. offset if
cursor is right of the screen.
diff --git a/runtime/doc/uganda.txt b/runtime/doc/uganda.txt
index 64026a3..befb9f3 100644
--- a/runtime/doc/uganda.txt
+++ b/runtime/doc/uganda.txt
@@ -1,4 +1,4 @@
-*uganda.txt* For Vim version 8.0. Last change: 2013 Jul 06
+*uganda.txt* For Vim version 8.1. Last change: 2018 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt
index 77ecf91..d271222 100644
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -1,4 +1,4 @@
-*undo.txt* For Vim version 8.0. Last change: 2014 May 24
+*undo.txt* For Vim version 8.1. Last change: 2014 May 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/usr_01.txt b/runtime/doc/usr_01.txt
index b450c4e..040bcd9 100644
--- a/runtime/doc/usr_01.txt
+++ b/runtime/doc/usr_01.txt
@@ -1,4 +1,4 @@
-*usr_01.txt* For Vim version 8.0. Last change: 2017 Jul 15
+*usr_01.txt* For Vim version 8.1. Last change: 2017 Jul 15
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_02.txt b/runtime/doc/usr_02.txt
index 2ccde79..2f976ba 100644
--- a/runtime/doc/usr_02.txt
+++ b/runtime/doc/usr_02.txt
@@ -1,4 +1,4 @@
-*usr_02.txt* For Vim version 8.0. Last change: 2017 Mar 14
+*usr_02.txt* For Vim version 8.1. Last change: 2017 Mar 14
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_03.txt b/runtime/doc/usr_03.txt
index bd219fa..ba51aa2 100644
--- a/runtime/doc/usr_03.txt
+++ b/runtime/doc/usr_03.txt
@@ -1,4 +1,4 @@
-*usr_03.txt* For Vim version 8.0. Last change: 2017 Jul 21
+*usr_03.txt* For Vim version 8.1. Last change: 2017 Jul 21
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_04.txt b/runtime/doc/usr_04.txt
index 5b08263..1b4f579 100644
--- a/runtime/doc/usr_04.txt
+++ b/runtime/doc/usr_04.txt
@@ -1,4 +1,4 @@
-*usr_04.txt* For Vim version 8.0. Last change: 2014 Aug 29
+*usr_04.txt* For Vim version 8.1. Last change: 2014 Aug 29
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_05.txt b/runtime/doc/usr_05.txt
index ee40463..368551a 100644
--- a/runtime/doc/usr_05.txt
+++ b/runtime/doc/usr_05.txt
@@ -1,4 +1,4 @@
-*usr_05.txt* For Vim version 8.0. Last change: 2018 Feb 20
+*usr_05.txt* For Vim version 8.1. Last change: 2018 Feb 20
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_06.txt b/runtime/doc/usr_06.txt
index 2c4b64d..e2750ae 100644
--- a/runtime/doc/usr_06.txt
+++ b/runtime/doc/usr_06.txt
@@ -1,4 +1,4 @@
-*usr_06.txt* For Vim version 8.0. Last change: 2009 Oct 28
+*usr_06.txt* For Vim version 8.1. Last change: 2009 Oct 28
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_07.txt b/runtime/doc/usr_07.txt
index 50fe4e9..a163006 100644
--- a/runtime/doc/usr_07.txt
+++ b/runtime/doc/usr_07.txt
@@ -1,4 +1,4 @@
-*usr_07.txt* For Vim version 8.0. Last change: 2017 Sep 18
+*usr_07.txt* For Vim version 8.1. Last change: 2017 Sep 18
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_08.txt b/runtime/doc/usr_08.txt
index 6b3db9b..5253856 100644
--- a/runtime/doc/usr_08.txt
+++ b/runtime/doc/usr_08.txt
@@ -1,4 +1,4 @@
-*usr_08.txt* For Vim version 8.0. Last change: 2017 Aug 11
+*usr_08.txt* For Vim version 8.1. Last change: 2017 Aug 11
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_09.txt b/runtime/doc/usr_09.txt
index ac14636..ee33f94 100644
--- a/runtime/doc/usr_09.txt
+++ b/runtime/doc/usr_09.txt
@@ -1,4 +1,4 @@
-*usr_09.txt* For Vim version 8.0. Last change: 2017 Aug 11
+*usr_09.txt* For Vim version 8.1. Last change: 2017 Aug 11
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_10.txt b/runtime/doc/usr_10.txt
index dfa4630..46f7677 100644
--- a/runtime/doc/usr_10.txt
+++ b/runtime/doc/usr_10.txt
@@ -1,4 +1,4 @@
-*usr_10.txt* For Vim version 8.0. Last change: 2006 Nov 05
+*usr_10.txt* For Vim version 8.1. Last change: 2006 Nov 05
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_11.txt b/runtime/doc/usr_11.txt
index 31a53c0..13c08f9 100644
--- a/runtime/doc/usr_11.txt
+++ b/runtime/doc/usr_11.txt
@@ -1,4 +1,4 @@
-*usr_11.txt* For Vim version 8.0. Last change: 2018 Apr 13
+*usr_11.txt* For Vim version 8.1. Last change: 2018 Apr 13
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_12.txt b/runtime/doc/usr_12.txt
index 078d187..13401b1 100644
--- a/runtime/doc/usr_12.txt
+++ b/runtime/doc/usr_12.txt
@@ -1,4 +1,4 @@
-*usr_12.txt* For Vim version 8.0. Last change: 2017 Aug 11
+*usr_12.txt* For Vim version 8.1. Last change: 2017 Aug 11
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_20.txt b/runtime/doc/usr_20.txt
index b685b10..afeb713 100644
--- a/runtime/doc/usr_20.txt
+++ b/runtime/doc/usr_20.txt
@@ -1,4 +1,4 @@
-*usr_20.txt* For Vim version 8.0. Last change: 2006 Apr 24
+*usr_20.txt* For Vim version 8.1. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_21.txt b/runtime/doc/usr_21.txt
index 9bde608..40388ee 100644
--- a/runtime/doc/usr_21.txt
+++ b/runtime/doc/usr_21.txt
@@ -1,4 +1,4 @@
-*usr_21.txt* For Vim version 8.0. Last change: 2012 Nov 02
+*usr_21.txt* For Vim version 8.1. Last change: 2012 Nov 02
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_22.txt b/runtime/doc/usr_22.txt
index 68352da..1720997 100644
--- a/runtime/doc/usr_22.txt
+++ b/runtime/doc/usr_22.txt
@@ -1,4 +1,4 @@
-*usr_22.txt* For Vim version 8.0. Last change: 2016 Dec 13
+*usr_22.txt* For Vim version 8.1. Last change: 2016 Dec 13
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_23.txt b/runtime/doc/usr_23.txt
index d9c113c..049ca20 100644
--- a/runtime/doc/usr_23.txt
+++ b/runtime/doc/usr_23.txt
@@ -1,4 +1,4 @@
-*usr_23.txt* For Vim version 8.0. Last change: 2006 Apr 24
+*usr_23.txt* For Vim version 8.1. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_24.txt b/runtime/doc/usr_24.txt
index daf291d..a5e3344 100644
--- a/runtime/doc/usr_24.txt
+++ b/runtime/doc/usr_24.txt
@@ -1,4 +1,4 @@
-*usr_24.txt* For Vim version 8.0. Last change: 2018 Mar 18
+*usr_24.txt* For Vim version 8.1. Last change: 2018 Mar 18
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_25.txt b/runtime/doc/usr_25.txt
index c193d54..f5be3e0 100644
--- a/runtime/doc/usr_25.txt
+++ b/runtime/doc/usr_25.txt
@@ -1,4 +1,4 @@
-*usr_25.txt* For Vim version 8.0. Last change: 2016 Mar 28
+*usr_25.txt* For Vim version 8.1. Last change: 2016 Mar 28
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_26.txt b/runtime/doc/usr_26.txt
index 22d2eb7..f3afe9b 100644
--- a/runtime/doc/usr_26.txt
+++ b/runtime/doc/usr_26.txt
@@ -1,4 +1,4 @@
-*usr_26.txt* For Vim version 8.0. Last change: 2006 Apr 24
+*usr_26.txt* For Vim version 8.1. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_27.txt b/runtime/doc/usr_27.txt
index 653ee43..7098c07 100644
--- a/runtime/doc/usr_27.txt
+++ b/runtime/doc/usr_27.txt
@@ -1,4 +1,4 @@
-*usr_27.txt* For Vim version 8.0. Last change: 2018 Jan 26
+*usr_27.txt* For Vim version 8.1. Last change: 2018 Jan 26
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_28.txt b/runtime/doc/usr_28.txt
index bfb170a..e2565b0 100644
--- a/runtime/doc/usr_28.txt
+++ b/runtime/doc/usr_28.txt
@@ -1,4 +1,4 @@
-*usr_28.txt* For Vim version 8.0. Last change: 2008 Jun 14
+*usr_28.txt* For Vim version 8.1. Last change: 2008 Jun 14
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_29.txt b/runtime/doc/usr_29.txt
index 87c39c7..996046e 100644
--- a/runtime/doc/usr_29.txt
+++ b/runtime/doc/usr_29.txt
@@ -1,4 +1,4 @@
-*usr_29.txt* For Vim version 8.0. Last change: 2016 Feb 27
+*usr_29.txt* For Vim version 8.1. Last change: 2016 Feb 27
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_30.txt b/runtime/doc/usr_30.txt
index 67f4659..fa39dbf 100644
--- a/runtime/doc/usr_30.txt
+++ b/runtime/doc/usr_30.txt
@@ -1,4 +1,4 @@
-*usr_30.txt* For Vim version 8.0. Last change: 2007 Nov 10
+*usr_30.txt* For Vim version 8.1. Last change: 2007 Nov 10
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_31.txt b/runtime/doc/usr_31.txt
index 2344a98..13de489 100644
--- a/runtime/doc/usr_31.txt
+++ b/runtime/doc/usr_31.txt
@@ -1,4 +1,4 @@
-*usr_31.txt* For Vim version 8.0. Last change: 2007 May 08
+*usr_31.txt* For Vim version 8.1. Last change: 2007 May 08
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_32.txt b/runtime/doc/usr_32.txt
index 86c2ddb..9e48d53 100644
--- a/runtime/doc/usr_32.txt
+++ b/runtime/doc/usr_32.txt
@@ -1,4 +1,4 @@
-*usr_32.txt* For Vim version 8.0. Last change: 2010 Jul 20
+*usr_32.txt* For Vim version 8.1. Last change: 2010 Jul 20
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_40.txt b/runtime/doc/usr_40.txt
index b865cbe..151c4e6 100644
--- a/runtime/doc/usr_40.txt
+++ b/runtime/doc/usr_40.txt
@@ -1,4 +1,4 @@
-*usr_40.txt* For Vim version 8.0. Last change: 2013 Aug 05
+*usr_40.txt* For Vim version 8.1. Last change: 2013 Aug 05
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index bf324e6..f891f44 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt* For Vim version 8.0. Last change: 2018 Apr 11
+*usr_41.txt* For Vim version 8.1. Last change: 2018 Apr 11
VIM USER MANUAL - by Bram Moolenaar
@@ -1018,6 +1018,8 @@ Various: *various-functions*
getreg() get contents of a register
getregtype() get type of a register
setreg() set contents and type of a register
+ reg_executing() return the name of the register being executed
+ reg_recording() return the name of the register being recorded
shiftwidth() effective value of 'shiftwidth'
diff --git a/runtime/doc/usr_42.txt b/runtime/doc/usr_42.txt
index a440d68..1e187e9 100644
--- a/runtime/doc/usr_42.txt
+++ b/runtime/doc/usr_42.txt
@@ -1,4 +1,4 @@
-*usr_42.txt* For Vim version 8.0. Last change: 2008 May 05
+*usr_42.txt* For Vim version 8.1. Last change: 2008 May 05
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_43.txt b/runtime/doc/usr_43.txt
index 9e29226..331f5b8 100644
--- a/runtime/doc/usr_43.txt
+++ b/runtime/doc/usr_43.txt
@@ -1,4 +1,4 @@
-*usr_43.txt* For Vim version 8.0. Last change: 2015 Oct 23
+*usr_43.txt* For Vim version 8.1. Last change: 2015 Oct 23
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_44.txt b/runtime/doc/usr_44.txt
index 09de577..b6f37e2 100644
--- a/runtime/doc/usr_44.txt
+++ b/runtime/doc/usr_44.txt
@@ -1,4 +1,4 @@
-*usr_44.txt* For Vim version 8.0. Last change: 2017 May 06
+*usr_44.txt* For Vim version 8.1. Last change: 2017 May 06
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_45.txt b/runtime/doc/usr_45.txt
index 04466b7..e7844a8 100644
--- a/runtime/doc/usr_45.txt
+++ b/runtime/doc/usr_45.txt
@@ -1,4 +1,4 @@
-*usr_45.txt* For Vim version 8.0. Last change: 2008 Nov 15
+*usr_45.txt* For Vim version 8.1. Last change: 2008 Nov 15
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_90.txt b/runtime/doc/usr_90.txt
index 28d0c32..5ecba60 100644
--- a/runtime/doc/usr_90.txt
+++ b/runtime/doc/usr_90.txt
@@ -1,4 +1,4 @@
-*usr_90.txt* For Vim version 8.0. Last change: 2008 Sep 10
+*usr_90.txt* For Vim version 8.1. Last change: 2008 Sep 10
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_toc.txt b/runtime/doc/usr_toc.txt
index d3aa77f..6a6543d 100644
--- a/runtime/doc/usr_toc.txt
+++ b/runtime/doc/usr_toc.txt
@@ -1,4 +1,4 @@
-*usr_toc.txt* For Vim version 8.0. Last change: 2016 Mar 25
+*usr_toc.txt* For Vim version 8.1. Last change: 2016 Mar 25
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index a044d45..7c8f311 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt* For Vim version 8.0. Last change: 2018 Mar 29
+*various.txt* For Vim version 8.1. Last change: 2018 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/version4.txt b/runtime/doc/version4.txt
index c2b0f9c..3990a4b 100644
--- a/runtime/doc/version4.txt
+++ b/runtime/doc/version4.txt
@@ -1,4 +1,4 @@
-*version4.txt* For Vim version 8.0. Last change: 2006 Apr 24
+*version4.txt* For Vim version 8.1. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/version5.txt b/runtime/doc/version5.txt
index b1b71ef..f87d904 100644
--- a/runtime/doc/version5.txt
+++ b/runtime/doc/version5.txt
@@ -1,4 +1,4 @@
-*version5.txt* For Vim version 8.0. Last change: 2016 Feb 27
+*version5.txt* For Vim version 8.1. Last change: 2016 Feb 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -221,8 +221,8 @@ The most obvious side effect of this change is that when you source a vimrc
file twice, the autocommands in it will be defined twice. To avoid this, do
one of these:
-- Remove any autocommands that might potentially defined twice before
- defining them. Example: >
+- Remove any autocommands that might already be defined before defining
+ them. Example: >
:au! * *.ext
:au BufEnter *.ext ...
diff --git a/runtime/doc/version6.txt b/runtime/doc/version6.txt
index 37f8dc5..5335895 100644
--- a/runtime/doc/version6.txt
+++ b/runtime/doc/version6.txt
@@ -1,4 +1,4 @@
-*version6.txt* For Vim version 8.0. Last change: 2018 Mar 18
+*version6.txt* For Vim version 8.1. Last change: 2018 Mar 18
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index d05871e..045bd30 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt* For Vim version 8.0. Last change: 2016 Jul 17
+*version7.txt* For Vim version 8.1. Last change: 2016 Jul 17
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt
index c8df5cd..90784a0 100644
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -1,4 +1,4 @@
-*version8.txt* For Vim version 8.0. Last change: 2017 Nov 24
+*version8.txt* For Vim version 8.1. Last change: 2018 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -26,6 +26,11 @@ COMPILE TIME CHANGES |compile-changes-8|
PATCHES |patches-8|
+VERSION 8.1 |version-8.1|
+Changed |changed-8.1|
+Added |added-8.1|
+Patches |patches-8.1|
+
See |vi_diff.txt| for an overview of differences between Vi and Vim 8.0.
See |version4.txt|, |version5.txt|, |version6.txt| and |version7.txt| for
@@ -1410,7 +1415,7 @@ Files: src/os_win32.c
Patch 7.4.161
Problem: Crash in Python exception handling.
Solution: Only use exception variables if did_throw is set. (ZyX)
-Files: if_py_both.h
+Files: src/if_py_both.h
Patch 7.4.162
Problem: Running tests in shadow dir doesn't work.
@@ -1799,7 +1804,7 @@ Solution: Always use the stubs. (Danek Duvall, Yukihiro Nakadaira)
Files: src/if_ruby.c
Patch 7.4.226 (after 7.4.219)
-Problem: Cursurline highlighting not redrawn when scrolling. (John
+Problem: Cursorline highlighting not redrawn when scrolling. (John
Marriott)
Solution: Check for required redraw in two places.
Files: src/move.c
@@ -4274,7 +4279,7 @@ Files: src/normal.c
Patch 7.4.642
Problem: When using "gf" escaped spaces are not handled.
Solution: Recognize escaped spaces.
-Files: src/vim.h, src/normal.h, src/window.c, src/misc2.c
+Files: src/vim.h, src/window.c, src/misc2.c
Patch 7.4.643
Problem: Using the default file format for Mac files. (Issue 77)
@@ -6694,7 +6699,7 @@ Files: .travis.yml
Patch 7.4.1046
Problem: No test coverage for menus.
Solution: Load the standard menus and check there is no error.
-Files: testdir/test_menu.vim, testdir/test_alot.vim
+Files: src/testdir/test_menu.vim, src/testdir/test_alot.vim
Patch 7.4.1047 (after patch 7.4.1042)
Problem: Tests fail on MS-Windows.
@@ -7107,7 +7112,7 @@ Files: src/misc1.c, src/fileio.c, src/vim.h
Patch 7.4.1117 (after 7.4.1116)
Problem: No longer get "." and ".." in directory list.
Solution: Do not skip "." and ".." unless EW_DODOT is set.
-Files: src/mics1.c
+Files: src/misc1.c
Patch 7.4.1118
Problem: Tests hang in 24 line terminal.
@@ -14514,6 +14519,129 @@ Problem: Test runner misses a comma.
Solution: Add the comma.
Files: src/testdir/runtest.vim
+
+==============================================================================
+VERSION 8.1 *version-8.1* *version8.1* *vim-8.1*
+
+This section is about improvements made between version 8.0 and 8.1.
+
+This release has hundreds of bug fixes, there is a new feature and there are
+many minor improvements.
+
+
+The terminal window *new-terminal-window*
+-------------------
+
+You can now open a window which functions as a terminal. You can use it for:
+- Running a command, such as "make", while editing in other windows
+- Running a shell and execute several commands
+- Use the terminal debugger plugin, see |terminal-debugger|
+
+All of this is especially useful when running Vim on a remote (ssh)
+connection, when you can't easily open more terminals.
+
+For more information see |terminal-window|.
+
+
+Changed *changed-8.1*
+-------
+
+Internal: A few C99 features are now allowed such as // comments and a
+comma after the last enum entry. See |style-compiler|.
+
+Since patch 8.0.0029 removed support for older MS-Windows systems, only
+MS-Windows XP and later are supported.
+
+
+Added *added-8.1*
+-----
+
+Various syntax, indent and other plugins were added.
+
+Quickfix improvements (by Yegappan Lakshmanan):
+ Added support for modifying any quickfix/location list in the quickfix
+ stack.
+ Added a unique identifier for every quickfix/location list.
+ Added support for associating any Vim type as a context information to
+ a quickfix/location list.
+ Enhanced the getqflist(), getloclist(), setqflist() and setloclist()
+ functions to get and set the various quickfix/location list attributes.
+ Added the QuickFixLine highlight group to highlight the current line
+ in the quickfix window.
+ The quickfix buffer b:changedtick variable is incremented for every
+ change to the contained quickfix list.
+ Added a changedtick variable to a quickfix/location list which is
+ incremented when the list is modified.
+ Added support for parsing text using 'errorformat' without creating a
+ new quickfix list.
+ Added support for the "module" item to a quickfix entry which can be
+ used for display purposes instead of a long file name.
+ Added support for freeing all the lists in the quickfix/location stack.
+ When opening a quickfix window using the :copen/:cwindow commands, the
+ supplied split modifiers are used.
+
+Functions:
+ All the term_ functions.
+
+ |assert_beeps()|
+ |assert_equalfile()|
+ |assert_report()|
+ |balloon_show()|
+ |balloon_split()|
+ |ch_canread()|
+ |getchangelist()|
+ |getjumplist()|
+ |getwinpos()|
+ |pyxeval()|
+ |remote_startserver()|
+ |setbufline()|
+ |test_ignore_error()|
+ |test_override()|
+ |trim()|
+ |win_screenpos()|
+
+Autocommands:
+ |CmdlineChanged|
+ |CmdlineEnter|
+ |CmdlineLeave|
+ |ColorSchemePre|
+ |DirChanged|
+ |ExitPre|
+ |TerminalOpen|
+ |TextChangedP|
+ |TextYankPost|
+
+Commands:
+ |:pyx|
+ |:pythonx|
+ |:pyxdo|
+ |:pyxfile|
+ |:terminal|
+ |:tmapclear|
+ |:tmap|
+ |:tnoremap|
+ |:tunmap|
+
+Options:
+ 'balloonevalterm'
+ 'imstyle'
+ 'mzschemedll'
+ 'mzschemegcdll'
+ 'makeencoding'
+ 'pumwidth'
+ 'pythonhome'
+ 'pythonthreehome'
+ 'pyxversion'
+ 'termwinkey'
+ 'termwinscroll'
+ 'termwinsize'
+ 'viminfofile'
+ 'winptydll'
+
+
+Patches *patches-8.1*
+-------
+
Patch 8.0.0001
Problem: Intro screen still mentions version7. (Paul)
Solution: Change it to version8.
@@ -15856,13 +15984,13 @@ Patch 8.0.0226
Problem: The test for patch 8.0.0224 misses the CR characters and passes
even without the fix. (Christian Brabandt)
Solution: Use double quotes and \<CR>.
-Files: src/testidr/test_fileformat.vim
+Files: src/testdir/test_fileformat.vim
Patch 8.0.0227
Problem: Crash when 'fileformat' is forced to "dos" and the first line in
the file is empty and does not have a CR character.
Solution: Don't check for CR before the start of the buffer.
-Files: src/fileio.c, src/testidr/test_fileformat.vim
+Files: src/fileio.c, src/testdir/test_fileformat.vim
Patch 8.0.0228 (after 8.0.0210)
Problem: When pasting test in an xterm on the command line it is surrounded
@@ -15985,7 +16113,7 @@ Files: src/edit.c, src/testdir/test_popup.vim
Patch 8.0.0248
Problem: vim_strcat() cannot handle overlapping arguments.
-Solution: Use mch_memmove() instead of strcpy(). (Justin M Keyes,
+Solution: Use mch_memmove() instead of strcpy(). (Justin M. Keyes,
closes #1415)
Files: src/misc2.c
@@ -16235,7 +16363,7 @@ Files: src/screen.c
Patch 8.0.0287
Problem: Cannot access the arguments of the current function in debug mode.
(Luc Hermitte)
-Solution: use get_funccal(). (Lemonboy, closes #1432, closes #1352)
+Solution: use get_funccal(). (LemonBoy, closes #1432, closes #1352)
Files: src/userfunc.c
Patch 8.0.0288 (after 8.0.0284)
@@ -16600,7 +16728,7 @@ Files: src/gui_gtk_x11.c
Patch 8.0.0350
Problem: Not enough test coverage for Perl.
-Solution: Add more Perl tests. (Dominique Perl, closes #1500)
+Solution: Add more Perl tests. (Dominique Pelle, closes #1500)
Files: src/testdir/test_perl.vim
Patch 8.0.0351
@@ -18037,4 +18165,7631 @@ Problem: No test for mapping timing out.
Solution: Add a test.
Files: src/testdir/test_mapping.vim
+Patch 8.0.0587
+Problem: Configure check for return value of tgetent is skipped.
+Solution: Always perform the check. (Marvin Schmidt, closes #1664)
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.0588
+Problem: job_stop() often assumes the channel will be closed, while the job
+ may not actually be stopped. (Martin Gammelsæter)
+Solution: Only assume the job stops on "kill". Don't send a signal if the
+ job has already ended. (closes #1632)
+Files: src/channel.c
+
+Patch 8.0.0589 (after 8.0.0578)
+Problem: :simalt still does not work.
+Solution: Use K_NOP instead of K_IGNORE. (Christian Brabandt)
+Files: src/gui_w32.c
+
+Patch 8.0.0590
+Problem: Cannot add a context to locations.
+Solution: Add the "context" entry in location entries. (Yegappan Lakshmanan,
+ closes #1012)
+Files: src/eval.c, src/proto/quickfix.pro, src/quickfix.c,
+ src/testdir/test_quickfix.vim
+
+Patch 8.0.0591
+Problem: Changes to eval functionality not documented.
+Solution: Include all the changes.
+Files: runtime/doc/eval.txt
+
+Patch 8.0.0592
+Problem: If a job writes to a buffer and the user is typing a command, the
+ screen isn't updated. When a message is displayed the changed
+ buffer may cause it to be cleared. (Ramel Eshed)
+Solution: Update the screen and then the command line if the screen didn't
+ scroll. Avoid inserting screen lines, as it clears any message.
+ Update the status line when the buffer changed.
+Files: src/channel.c, src/screen.c, src/ex_getln.c, src/globals.h,
+ src/vim.h, src/proto/ex_getln.pro, src/proto/screen.pro
+
+Patch 8.0.0593
+Problem: Duplication of code for adding a list or dict return value.
+Solution: Add rettv_dict_set() and rettv_list_set(). (Yegappan Lakshmanan)
+Files: src/dict.c, src/eval.c, src/evalfunc.c, src/if_perl.xs, src/list.c,
+ src/proto/dict.pro, src/proto/list.pro
+
+Patch 8.0.0594 (after 8.0.0592)
+Problem: Build failure when windows feature is missing.
+Solution: Add #ifdef.
+Files: src/screen.c
+
+Patch 8.0.0595 (after 8.0.0590)
+Problem: Coverity warning for not checking return value of dict_add().
+Solution: Check the return value for FAIL.
+Files: src/quickfix.c
+
+Patch 8.0.0596
+Problem: Crash when complete() is called after complete_add() in
+ 'completefunc'. (Lifepillar)
+Solution: Bail out if compl_pattern is NULL. (closes #1668)
+ Also avoid using freed memory.
+Files: src/edit.c, src/testdir/test_popup.vim
+
+Patch 8.0.0597
+Problem: Off-by-one error in buffer size computation.
+Solution: Use ">=" instead of ">". (LemonBoy, closes #1694)
+Files: src/quickfix.c
+
+Patch 8.0.0598
+Problem: Building with gcc 7.1 yields new warnings.
+Solution: Initialize result. (John Marriott)
+Files: src/ex_docmd.c
+
+Patch 8.0.0599
+Problem: diff mode is insufficiently tested
+Solution: Add more test cases. (Dominique Pelle, closes #1685)
+Files: src/diff.c, src/testdir/test_diffmode.vim
+
+Patch 8.0.0600
+Problem: test_recover fails on some systems.
+Solution: Explicitly check if "/" is writable. (Ken Takata)
+Files: src/testdir/test_recover.vim
+
+Patch 8.0.0601
+Problem: No test coverage for :spellrepall.
+Solution: Add a test. (Dominique Pelle, closes #1717)
+Files: src/testdir/test_spell.vim
+
+Patch 8.0.0602
+Problem: When gF fails to edit the file the cursor still moves to the found
+ line number.
+Solution: Check the return value of do_ecmd(). (Michael Hwang)
+Files: src/normal.c, src/testdir/test_gf.vim
+
+Patch 8.0.0603 (after 8.0.0602)
+Problem: gF test fails on MS-Windows.
+Solution: Use @ instead of : before the line number
+Files: src/testdir/test_gf.vim
+
+Patch 8.0.0604 (after 8.0.0603)
+Problem: gF test still fails on MS-Windows.
+Solution: Use : before the line number and remove it from 'isfname'.
+Files: src/testdir/test_gf.vim
+
+Patch 8.0.0605
+Problem: The buffer that quickfix caches for performance may become
+ invalid. (Daniel Hahler)
+Solution: Reset qf_last_bufref in qf_init_ext(). (Daniel Hahler,
+ closes #1728, closes #1676)
+Files: src/quickfix.c
+
+Patch 8.0.0606
+Problem: Cannot set the context for a specified quickfix list.
+Solution: Use the list index instead of the current list. (Yegappan
+ Lakshmanan)
+Files: src/quickfix.c, src/testdir/test_quickfix.vim
+
+Patch 8.0.0607
+Problem: When creating a bufref, then using :bwipe and :new it might get
+ the same memory and bufref_valid() returns true.
+Solution: Add br_fnum to check the buffer number didn't change.
+Files: src/structs.h, src/buffer.c, src/globals.h, src/if_py_both.h,
+ src/quickfix.c
+
+Patch 8.0.0608
+Problem: Cannot manipulate other than the current quickfix list.
+Solution: Pass the list index to quickfix functions. (Yegappan Lakshmanan)
+Files: src/quickfix.c
+
+Patch 8.0.0609
+Problem: For some people the hint about quitting is not sufficient.
+Solution: Put <Enter> separately. Also use ":qa!" to get out even when
+ there are changes.
+Files: src/normal.c
+
+Patch 8.0.0610
+Problem: The screen is redrawn when t_BG is set and used to detect the
+ value for 'background'.
+Solution: Don't redraw when the value of 'background' didn't change.
+Files: src/term.c.
+
+Patch 8.0.0611
+Problem: When t_u7 is sent a few characters in the second screen line are
+ overwritten and not redrawn later. (Rastislav Barlik)
+Solution: Move redrawing the screen to after overwriting the characters.
+Files: src/main.c, src/term.c.
+
+Patch 8.0.0612
+Problem: Package directories are added to 'runtimepath' only after loading
+ non-package plugins.
+Solution: Split off the code to add package directories to 'runtimepath'.
+ (Ingo Karkat, closes #1680)
+Files: src/ex_cmds2.c, src/globals.h, src/main.c, src/proto/ex_cmds2.pro,
+ src/testdir/test_startup.vim
+
+Patch 8.0.0613
+Problem: The conf filetype detection is done before ftdetect scripts from
+ packages that are added later.
+Solution: Add the FALLBACK argument to :setfiletype. (closes #1679,
+ closes #1693)
+Files: src/ex_docmd.c, runtime/filetype.vim, src/Makefile,
+ src/testdir/test_filetype.vim, src/testdir/test_alot.vim
+
+Patch 8.0.0614
+Problem: float2nr() is not exactly right.
+Solution: Make float2nr() more accurate. Turn test65 into a new style test.
+ (Hirohito Higashi, closes #1688)
+Files: src/Makefile, src/evalfunc.c, src/testdir/Make_all.mak,
+ src/testdir/Make_vms.mms, src/testdir/test65.in,
+ src/testdir/test65.ok, src/testdir/test_float_func.vim,
+ src/testdir/test_vimscript.vim, src/macros.h
+
+Patch 8.0.0615
+Problem: Using % with :hardcopy wrongly escapes spaces. (Alexey Muranov)
+Solution: Expand % differently. (Christian Brabandt, closes #1682)
+Files: src/ex_docmd.c, src/testdir/test_hardcopy.vim
+
+
+Patch 8.0.0616
+Problem: When setting the cterm background with ":hi Normal" the value of
+ 'background' may be set wrongly.
+Solution: Check that the color is less than 16. Don't set 'background' when
+ it was set explicitly. (LemonBoy, closes #1710)
+Files: src/syntax.c, src/testdir/test_syntax.vim
+
+Patch 8.0.0617 (after 8.0.0615)
+Problem: Hardcopy test hangs on MS-Windows.
+Solution: Check the postscript feature is supported.
+Files: src/testdir/test_hardcopy.vim
+
+Patch 8.0.0618
+Problem: NFA regex engine handles [0-z] incorrectly.
+Solution: Return at the right point. (James McCoy, closes #1703)
+Files: src/regexp_nfa.c, src/testdir/test36.in, src/testdir/test36.ok
+
+Patch 8.0.0619
+Problem: In the GUI, when a timer uses feedkeys(), it still waits for an
+ event. (Raymond Ko)
+Solution: Check tb_change_cnt in one more place.
+Files: src/gui.c
+
+Patch 8.0.0620
+Problem: Since we only support GTK versions that have it, the check for
+ HAVE_GTK_MULTIHEAD is no longer needed.
+Solution: Remove HAVE_GTK_MULTIHEAD. (Kazunobu Kuriyama)
+Files: src/config.h.in, src/configure.ac, src/auto/configure,
+ src/gui_beval.c, src/gui_gtk_x11.c, src/mbyte.c
+
+Patch 8.0.0621
+Problem: The ":stag" command does not respect 'switchbuf'.
+Solution: Check 'switchbuf' for tag commands that may open a new window.
+ (Ingo Karkat, closes #1681) Define macros for the return values
+ of getfile().
+Files: src/tag.c, src/testdir/test_tagjump.vim, src/vim.h, src/buffer.c,
+ src/ex_cmds.c, src/search.c,
+
+Patch 8.0.0622
+Problem: Using a text object to select quoted text fails when 'selection'
+ is set to "exclusive". (Guraga)
+Solution: Swap cursor and visual start position. (Christian Brabandt,
+ closes #1687)
+Files: src/search.c, src/testdir/test_textobjects.vim
+
+Patch 8.0.0623
+Problem: The message "Invalid range" is used for multiple errors.
+Solution: Add two more specific error messages. (Itchyny, Ken Hamada)
+Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test_regexp_utf8.vim
+
+Patch 8.0.0624 (after 8.0.0623)
+Problem: Warning for unused variable in tiny build. (Tony Mechelynck)
+Solution: Add an #ifdef.
+Files: src/regexp.c
+
+Patch 8.0.0625
+Problem: shellescape() always escapes a newline, which does not work with
+ some shells. (Harm te Hennepe)
+Solution: Only escape a newline when the "special" argument is non-zero.
+ (Christian Brabandt, closes #1590)
+Files: src/evalfunc.c, src/testdir/test_functions.vim
+
+Patch 8.0.0626
+Problem: In the GUI the cursor may flicker.
+Solution: Check the cmd_silent flag before updating the cursor shape.
+ (Hirohito Higashi, closes #1637)
+Files: src/getchar.c
+
+Patch 8.0.0627
+Problem: When 'wrapscan' is off "gn" does not select the whole pattern when
+ it's the last one in the text. (KeyboardFire)
+Solution: Check if the search fails. (Christian Brabandt, closes #1683)
+Files: src/search.c, src/testdir/test_gn.vim
+
+Patch 8.0.0628 (after 8.0.0626
+Problem: Cursor disappears after silent mapping. (Ramel Eshed)
+Solution: Do restore the cursor when it was changed, but don't change it in
+ the first place for a silent mapping.
+Files: src/getchar.c
+
+
+Patch 8.0.0629 (after 8.0.0611)
+Problem: Checking for ambiguous width is not working. (Hirohito Higashi)
+Solution: Reset "starting" earlier.
+Files: src/main.c
+
+Patch 8.0.0630
+Problem: The :global command does not work recursively, which makes it
+ difficult to execute a command on a line where one pattern matches
+ and another does not match. (Miles Cranmer)
+Solution: Allow for recursion if it is for only one line. (closes #1760)
+Files: src/ex_cmds.c, src/testdir/test_global.vim, runtime/doc/repeat.txt
+
+Patch 8.0.0631
+Problem: Perl 5.26 also needs S_TOPMARK and S_POPMARK defined.
+Solution: Define the functions when needed. (Jesin, closes #1748)
+Files: src/if_perl.xs
+
+Patch 8.0.0632
+Problem: The quotestar test is still a bit flaky.
+Solution: Kill any existing server to make the retry work. Wait for the
+ register to be filled.
+Files: src/testdir/test_quotestar.vim
+
+Patch 8.0.0633
+Problem: The client-server test is still a bit flaky.
+Solution: Wait a bit for the GUI to start. Check that the version number
+ can be obtained.
+Files: src/testdir/test_clientserver.vim
+
+Patch 8.0.0634
+Problem: Cannot easily get to the last quickfix list.
+Solution: Add "$" as a value for the "nr" argument of getqflist() and
+ setqflist(). (Yegappan Lakshmanan)
+Files: runtime/doc/eval.txt, src/quickfix.c,
+ src/testdir/test_quickfix.vim
+
+Patch 8.0.0635
+Problem: When 'ignorecase' is set script detection is inaccurate.
+Solution: Enforce matching case for text. (closes #1753)
+Files: runtime/scripts.vim
+
+Patch 8.0.0636
+Problem: When reading the undo file fails may use uninitialized data.
+Solution: Always clear the buffer on failure.
+Files: src/undo.c
+
+Patch 8.0.0637
+Problem: Crash when using some version of GTK 3.
+Solution: Add #ifdefs around incrementing the menu index. (Kazunobu
+ Kuriyama)
+Files: src/gui_gtk.c
+
+Patch 8.0.0638
+Problem: Cannot build with new MSVC version VS2017.
+Solution: Change the compiler arguments. (Leonardo Valeri Manera,
+ closes #1731, closes #1747)
+Files: src/GvimExt/Makefile, src/Make_mvc.mak
+
+Patch 8.0.0639
+Problem: The cursor position is set to the last position in a new commit
+ message.
+Solution: Don't set the position if the filetype matches "commit".
+ (Christian Brabandt)
+Files: runtime/defaults.vim
+
+Patch 8.0.0640
+Problem: Mismatch between help and actual message for ":syn conceal".
+Solution: Change the message to match the help. (Ken Takata)
+Files: src/syntax.c
+
+Patch 8.0.0641
+Problem: Cannot set a separate highlighting for the current line in the
+ quickfix window.
+Solution: Add QuickFixLine. (anishsane, closes #1755)
+Files: src/option.c, src/quickfix.c, src/screen.c, src/syntax.c,
+ src/vim.h, runtime/doc/options.txt, runtime/doc/quickfix.txt
+
+Patch 8.0.0642
+Problem: writefile() continues after detecting an error.
+Solution: Bail out as soon as an error is detected. (suggestions by Nikolai
+ Pavlov, closes #1476)
+Files: src/evalfunc.c, src/testdir/test_writefile.vim
+
+Patch 8.0.0643
+Problem: When 'hlsearch' is set and matching with the last search pattern
+ is very slow, Vim becomes unusable. Cannot quit search by
+ pressing CTRL-C.
+Solution: When the search times out set a flag and don't try again. Check
+ for timeout and CTRL-C in NFA loop that adds states.
+Files: src/screen.c, src/ex_cmds.c, src/quickfix.c, src/regexp.c,
+ src/proto/regexp.pro, src/regexp.h, src/search.c,
+ src/proto/search.pro, src/syntax.c, src/regexp_nfa.c, src/spell.c,
+ src/tag.c, src/gui.c, src/edit.c, src/evalfunc.c, src/ex_docmd.c,
+ src/ex_getln.c, src/normal.c
+
+Patch 8.0.0644
+Problem: There is no test for 'hlsearch' timing out.
+Solution: Add a test.
+Files: src/testdir/test_hlsearch.vim
+
+Patch 8.0.0645
+Problem: The new regexp engine does not give an error for using a back
+ reference where it is not allowed. (Dominique Pelle)
+Solution: Check the back reference like the old engine. (closes #1774)
+Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test_hlsearch.vim,
+ src/testdir/test_statusline.vim,
+ src/testdir/test_regexp_latin1.vim
+
+Patch 8.0.0646
+Problem: The hlsearch test fails on fast systems.
+Solution: Make the search pattern slower. Fix that the old regexp engine
+ doesn't timeout properly.
+Files: src/regexp.c, src/testdir/test_hlsearch.vim
+
+Patch 8.0.0647
+Problem: Syntax highlighting can cause a freeze.
+Solution: Apply 'redrawtime' to syntax highlighting, per window.
+Files: src/structs.h, src/screen.c, src/syntax.c, src/normal.c,
+ src/regexp.c, src/proto/syntax.pro, src/testdir/test_syntax.vim,
+ runtime/doc/options.txt
+
+Patch 8.0.0648
+Problem: Possible use of NULL pointer if buflist_new() returns NULL.
+ (Coverity)
+Solution: Check for NULL pointer in set_bufref().
+Files: src/buffer.c
+
+Patch 8.0.0649
+Problem: When opening a help file the filetype is set several times.
+Solution: When setting the filetype to the same value from a modeline, don't
+ trigger FileType autocommands. Don't set the filetype to "help"
+ when it's already set correctly.
+Files: src/ex_cmds.c, src/option.c, runtime/filetype.vim
+
+Patch 8.0.0650
+Problem: For extra help files the filetype is set more than once.
+Solution: In *.txt files check that there is no help file modline.
+Files: runtime/filetype.vim
+
+Patch 8.0.0651 (after 8.0.0649)
+Problem: Build failure without the auto command feature.
+Solution: Add #ifdef. (closes #1782)
+Files: src/ex_cmds.c
+
+Patch 8.0.0652
+Problem: Unicode information is outdated.
+Solution: Update to Unicode 10. (Christian Brabandt)
+Files: runtime/tools/unicode.vim, src/mbyte.c
+
+Patch 8.0.0653
+Problem: The default highlight for QuickFixLine does not work for several
+ color schemes. (Manas Thakur)
+Solution: Make the default use the old color. (closes #1780)
+Files: src/syntax.c
+
+Patch 8.0.0654
+Problem: Text found after :endfunction is silently ignored.
+Solution: Give a warning if 'verbose' is set. When | or \n are used,
+ execute the text as a command.
+Files: src/testdir/test_vimscript.vim, src/userfunc.c,
+ runtime/doc/eval.txt
+
+Patch 8.0.0655
+Problem: Not easy to make sure a function does not exist.
+Solution: Add ! as an optional argument to :delfunc.
+Files: src/userfunc.c, src/ex_cmds.h, src/testdir/test_vimscript.vim
+
+Patch 8.0.0656
+Problem: Cannot use ! after some user commands.
+Solution: Properly check for existing command. (Hirohito Higashi)
+Files: src/ex_docmd.c, src/testdir/test_vimscript.vim
+
+Patch 8.0.0657
+Problem: Cannot get and set quickfix list items.
+Solution: Add the "items" argument to getqflist() and setqflist(). (Yegappan
+ Lakshmanan)
+Files: runtime/doc/eval.txt, src/quickfix.c,
+ src/testdir/test_quickfix.vim
+
+Patch 8.0.0658
+Problem: Spell test is old style.
+Solution: Turn the spell test into a new style test (pschuh, closes #1778)
+Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
+ src/testdir/test58.in, src/testdir/test58.ok,
+ src/testdir/test_spell.vim
+
+Patch 8.0.0659
+Problem: No test for conceal mode.
+Solution: Add a conceal mode test. (Dominique Pelle, closes #1783)
+Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_syntax.vim
+
+Patch 8.0.0660
+Problem: Silent install on MS-Windows does show a dialog.
+Solution: Add /SD to the default choice. (allburov, closes #1772)
+Files: nsis/gvim.nsi
+
+Patch 8.0.0661
+Problem: Recognizing urxvt mouse codes does not work well.
+Solution: Recognize "Esc[*M" and "Esc[*m". (Maurice Bos, closes #1486)
+Files: src/keymap.h, src/misc2.c, src/os_unix.c, src/term.c
+
+Patch 8.0.0662 (after 8.0.0659)
+Problem: Stray FIXME for fixed problem.
+Solution: Remove the comment. (Dominique Pelle)
+Files: src/testdir/test_syntax.vim
+
+Patch 8.0.0663
+Problem: Giving an error message only when 'verbose' set is unexpected.
+Solution: Give a warning message instead.
+Files: src/message.c, src/proto/message.pro, src/userfunc.c,
+ src/testdir/test_vimscript.vim, runtime/doc/eval.txt
+
+Patch 8.0.0664 (after 8.0.0661)
+Problem: Mouse does not work in tmux. (lilydjwg)
+Solution: Add flag for SGR release being present.
+Files: src/term.c
+
+Patch 8.0.0665 (after 8.0.0661)
+Problem: Warning for uninitialized variable. (Tony Mechelynck)
+Solution: Initialize it.
+Files: src/term.c
+
+Patch 8.0.0666
+Problem: Dead for loop. (Coverity)
+Solution: Remove the for loop.
+Files: src/term.c
+
+Patch 8.0.0667
+Problem: Memory access error when command follows :endfunction. (Nikolai
+ Pavlov)
+Solution: Make memory handling in :function straightforward. (closes #1793)
+Files: src/userfunc.c, src/testdir/test_vimscript.vim
+
+Patch 8.0.0668 (after 8.0.0660)
+Problem: Nsis installer script does not work. (Christian Brabandt)
+Solution: Fix the syntax of /SD.
+Files: nsis/gvim.nsi
+
+Patch 8.0.0669
+Problem: In Insert mode, CTRL-N at start of the buffer does not work
+ correctly. (zuloloxi)
+Solution: Wrap around the start of the buffer. (Christian Brabandt)
+Files: src/edit.c, src/testdir/test_popup.vim
+
+Patch 8.0.0670
+Problem: Can't use input() in a timer callback. (Cosmin Popescu)
+Solution: Reset vgetc_busy and set timer_busy. (Ozaki Kiichi, closes #1790,
+ closes #1129)
+Files: src/evalfunc.c, src/ex_cmds2.c, src/globals.h,
+ src/testdir/test_timers.vim
+
+Patch 8.0.0671
+Problem: When a function invoked from a timer calls confirm() and the user
+ types CTRL-C then Vim hangs.
+Solution: Reset typebuf_was_filled. (Ozaki Kiichi, closes #1791)
+Files: src/getchar.c
+
+Patch 8.0.0672
+Problem: Third item of synconcealed() changes too often. (Dominique Pelle)
+Solution: Reset the sequence number at the start of each line.
+Files: src/syntax.c, src/testdir/test_syntax.vim, runtime/doc/eval.txt
+
+Patch 8.0.0673 (after 8.0.0673)
+Problem: Build failure without conceal feature.
+Solution: Add #ifdef.
+Files: src/syntax.c
+
+Patch 8.0.0674 (after 8.0.0670)
+Problem: Cannot build with eval but without timers.
+Solution: Add #ifdef (John Marriott)
+Files: src/evalfunc.c
+
+Patch 8.0.0675
+Problem: 'colorcolumn' has a higher priority than 'hlsearch', it should be
+ the other way around. (Nazri Ramliy)
+Solution: Change the priorities. (LemonBoy, closes #1794)
+Files: src/screen.c, src/testdir/test_listlbr_utf8.vim
+
+Patch 8.0.0676
+Problem: Crash when closing the quickfix window in a FileType autocommand
+ that triggers when the quickfix window is opened.
+Solution: Save the new value before triggering the OptionSet autocommand.
+ Add the "starting" flag to test_override() to make the text work.
+Files: src/evalfunc.c, src/option.c, runtime/doc/eval.txt
+
+Patch 8.0.0677
+Problem: Setting 'filetype' internally may cause the current buffer and
+ window to change unexpectedly.
+Solution: Set curbuf_lock. (closes #1734)
+Files: src/quickfix.c, src/ex_cmds.c, src/ex_getln.c,
+ src/testdir/test_quickfix.vim
+
+Patch 8.0.0678
+Problem: When 'equalalways' is set and closing a window in a separate
+ frame, not all window sizes are adjusted. (Glacambre)
+Solution: Resize all windows if the new current window is not in the same
+ frame as the closed window. (closes #1707)
+Files: src/window.c, src/testdir/test_window_cmd.vim
+
+Patch 8.0.0679 (after 8.0.0678)
+Problem: Using freed memory.
+Solution: Get the parent frame pointer earlier.
+Files: src/window.c
+
+Patch 8.0.0680 (after 8.0.0612)
+Problem: Plugins in start packages are sourced twice. (mseplowitz)
+Solution: Use the unmodified runtime path when loading plugins (test by Ingo
+ Karkat, closes #1801)
+Files: src/testdir/test_startup.vim, src/main.c, src/ex_cmds2.c,
+ src/proto/ex_cmds2.pro
+
+Patch 8.0.0681
+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)
+Files: src/ops.c, src/testdir/test_put.vim
+
+Patch 8.0.0682
+Problem: No test for synIDtrans().
+Solution: Add a test. (Dominique Pelle, closes #1796)
+Files: src/testdir/test_syntax.vim
+
+Patch 8.0.0683
+Problem: When using a visual bell there is no delay, causing the flash to
+ be very short, possibly unnoticeable. Also, the flash and the
+ beep can lockup the UI when repeated often.
+Solution: Do the delay in Vim or flush the output before the delay. Limit the
+ bell to once per half a second. (Ozaki Kiichi, closes #1789)
+Files: src/misc1.c, src/proto/term.pro, src/term.c
+
+Patch 8.0.0684
+Problem: Old style tests are not nice.
+Solution: Turn two tests into new style. (pschuh, closes #1797)
+Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
+ src/testdir/test82.in, src/testdir/test82.ok,
+ src/testdir/test90.in, src/testdir/test90.ok,
+ src/testdir/test_sha256.vim, src/testdir/test_utf8_comparisons.vim
+
+Patch 8.0.0685
+Problem: When making backups is disabled and conversion with iconv fails
+ the written file is truncated. (Luo Chen)
+Solution: First try converting the file and write the file only when it did
+ not fail. (partly by Christian Brabandt)
+Files: src/fileio.c, src/testdir/test_writefile.vim
+
+Patch 8.0.0686
+Problem: When typing CTRL-L in a window that's not the first one, another
+ redraw will happen later. (Christian Brabandt)
+Solution: Reset must_redraw after calling screenclear().
+Files: src/screen.c
+
+Patch 8.0.0687
+Problem: Minor issues related to quickfix.
+Solution: Set the proper return status for all cases in setqflist() and at
+ test cases for this. Move the "adding" flag outside of
+ FEAT_WINDOWS. Minor update to the setqflist() help text. (Yegappan
+ Lakshmanan)
+Files: runtime/doc/eval.txt, src/quickfix.c,
+ src/testdir/test_quickfix.vim
+
+Patch 8.0.0688
+Problem: Cannot resize the window in a FileType autocommand. (Ingo Karkat)
+Solution: Add the CMDWIN flag to :resize. (test by Ingo Karkat,
+ closes #1804)
+Files: src/ex_cmds.h, src/testdir/test_quickfix.vim
+
+Patch 8.0.0689
+Problem: The ~ character is not escaped when adding to the search pattern
+ with CTRL-L. (Ramel Eshed)
+Solution: Escape the character. (Christian Brabandt)
+Files: src/ex_getln.c, src/testdir/test_search.vim
+
+Patch 8.0.0690
+Problem: Compiler warning on non-Unix system.
+Solution: Add #ifdef. (John Marriott)
+Files: src/term.c
+
+Patch 8.0.0691
+Problem: Compiler warning without the linebreak feature.
+Solution: Add #ifdef. (John Marriott)
+Files: src/edit.c
+
+Patch 8.0.0692
+Problem: Using CTRL-G with 'incsearch' and ? goes in the wrong direction.
+ (Ramel Eshed)
+Solution: Adjust search_start. (Christian Brabandt)
+Files: src/ex_getln.c, src/testdir/test_search.vim
+
+Patch 8.0.0693
+Problem: No terminal emulator support. Cannot properly run commands in the
+ GUI. Cannot run a job interactively with an ssh connection.
+Solution: Very early implementation of the :terminal command. Includes
+ libvterm converted to ANSI C. Many parts still missing.
+Files: src/feature.h, src/Makefile, src/configure.ac, src/auto/configure,
+ src/config.mk.in, src/config.h.in, src/terminal.c, src/structs.h,
+ src/ex_cmdidxs.h, src/ex_docmd.c, src/option.c, src/option.h,
+ src/evalfunc.c, src/proto/terminal.pro, src/proto.h,
+ runtime/doc/terminal.txt, runtime/doc/Makefile, Filelist,
+ src/libvterm/.bzrignore, src/libvterm/.gitignore,
+ src/libvterm/LICENSE, src/libvterm/README, src/libvterm/Makefile,
+ src/libvterm/tbl2inc_c.pl, src/libvterm/vterm.pc.in,
+ src/libvterm/bin/unterm.c, src/libvterm/bin/vterm-ctrl.c,
+ src/libvterm/bin/vterm-dump.c, src/libvterm/doc/URLs,
+ src/libvterm/doc/seqs.txt, src/libvterm/include/vterm.h,
+ src/libvterm/include/vterm_keycodes.h,
+ src/libvterm/src/encoding.c,
+ src/libvterm/src/encoding/DECdrawing.inc,
+ src/libvterm/src/encoding/DECdrawing.tbl,
+ src/libvterm/src/encoding/uk.inc,
+ src/libvterm/src/encoding/uk.tbl, src/libvterm/src/keyboard.c,
+ src/libvterm/src/mouse.c, src/libvterm/src/parser.c,
+ src/libvterm/src/pen.c, src/libvterm/src/rect.h,
+ src/libvterm/src/screen.c, src/libvterm/src/state.c,
+ src/libvterm/src/unicode.c, src/libvterm/src/utf8.h,
+ src/libvterm/src/vterm.c, src/libvterm/src/vterm_internal.h,
+ src/libvterm/t/02parser.test, src/libvterm/t/03encoding_utf8.test,
+ src/libvterm/t/10state_putglyph.test,
+ src/libvterm/t/11state_movecursor.test,
+ src/libvterm/t/12state_scroll.test,
+ src/libvterm/t/13state_edit.test,
+ src/libvterm/t/14state_encoding.test,
+ src/libvterm/t/15state_mode.test,
+ src/libvterm/t/16state_resize.test,
+ src/libvterm/t/17state_mouse.test,
+ src/libvterm/t/18state_termprops.test,
+ src/libvterm/t/20state_wrapping.test,
+ src/libvterm/t/21state_tabstops.test,
+ src/libvterm/t/22state_save.test,
+ src/libvterm/t/25state_input.test,
+ src/libvterm/t/26state_query.test,
+ src/libvterm/t/27state_reset.test,
+ src/libvterm/t/28state_dbl_wh.test,
+ src/libvterm/t/29state_fallback.test, src/libvterm/t/30pen.test,
+ src/libvterm/t/40screen_ascii.test,
+ src/libvterm/t/41screen_unicode.test,
+ src/libvterm/t/42screen_damage.test,
+ src/libvterm/t/43screen_resize.test,
+ src/libvterm/t/44screen_pen.test,
+ src/libvterm/t/45screen_protect.test,
+ src/libvterm/t/46screen_extent.test,
+ src/libvterm/t/47screen_dbl_wh.test,
+ src/libvterm/t/48screen_termprops.test,
+ src/libvterm/t/90vttest_01-movement-1.test,
+ src/libvterm/t/90vttest_01-movement-2.test,
+ src/libvterm/t/90vttest_01-movement-3.test,
+ src/libvterm/t/90vttest_01-movement-4.test,
+ src/libvterm/t/90vttest_02-screen-1.test,
+ src/libvterm/t/90vttest_02-screen-2.test,
+ src/libvterm/t/90vttest_02-screen-3.test,
+ src/libvterm/t/90vttest_02-screen-4.test,
+ src/libvterm/t/92lp1640917.test, src/libvterm/t/harness.c,
+ src/libvterm/t/run-test.pl
+
+Patch 8.0.0694
+Problem: Building in shadow directory does not work. Running Vim fails.
+Solution: Add the new libvterm directory. Add missing change in command
+ list.
+Files: src/Makefile, src/ex_cmds.h
+
+Patch 8.0.0695
+Problem: Missing dependencies breaks parallel make.
+Solution: Add dependencies for terminal.o.
+Files: src/Makefile
+
+Patch 8.0.0696
+Problem: The .inc files are missing in git. (Nazri Ramliy)
+Solution: Remove the .inc line from .gitignore.
+Files: src/libvterm/.gitignore
+
+Patch 8.0.0697
+Problem: Recorded key sequences may become invalid.
+Solution: Add back KE_SNIFF removed in 7.4.1433. Use fixed numbers for the
+ key_extra enum.
+Files: src/keymap.h
+
+Patch 8.0.0698
+Problem: When a timer uses ":pyeval" or another Python command and it
+ happens to be triggered while exiting a Crash may happen.
+ (Ricky Zhou)
+Solution: Avoid running a Python command after python_end() was called.
+ Do not trigger timers while exiting. (closes #1824)
+Files: src/if_python.c, src/if_python3.c, src/ex_cmds2.c
+
+Patch 8.0.0699
+Problem: Checksum tests are not actually run.
+Solution: Add the tests to the list. (Dominique Pelle, closes #1819)
+Files: src/testdir/test_alot.vim, src/testdir/test_alot_utf8.vim
+
+Patch 8.0.0700
+Problem: Segfault with QuitPre autocommand closes the window. (Marek)
+Solution: Check that the window pointer is still valid. (Christian Brabandt,
+ closes #1817)
+Files: src/testdir/test_tabpage.vim, src/ex_docmd.c
+
+Patch 8.0.0701
+Problem: System test failing when using X11 forwarding.
+Solution: Set $XAUTHORITY before changing $HOME. (closes #1812)
+ Also use a better check for the exit value.
+Files: src/testdir/setup.vim, src/testdir/test_system.vim
+
+Patch 8.0.0702
+Problem: An error in a timer can make Vim unusable.
+Solution: Don't set the error flag or exception from a timer. Stop a timer
+ if it causes an error 3 out of 3 times. Discard an exception
+ caused inside a timer.
+Files: src/ex_cmds2.c, src/structs.h, src/testdir/test_timers.vim,
+ runtime/doc/eval.txt
+
+Patch 8.0.0703
+Problem: Illegal memory access with empty :doau command.
+Solution: Check the event for being out of range. (James McCoy)
+Files: src/testdir/test_autocmd.vim, src/fileio.c
+
+Patch 8.0.0704
+Problem: Problems with autocommands when opening help.
+Solution: Avoid using invalid "varp" value. Allow using :wincmd if buffer
+ is locked. (closes #1806, closes #1804)
+Files: src/option.c, src/ex_cmds.h
+
+Patch 8.0.0705 (after 8.0.0702)
+Problem: Crash when there is an error in a timer callback. (Aron Griffis,
+ Ozaki Kiichi)
+Solution: Check did_throw before discarding an exception. NULLify
+ current_exception when no longer valid.
+Files: src/ex_eval.c, src/ex_cmds2.c
+
+Patch 8.0.0706
+Problem: Crash when cancelling the cmdline window in Ex mode. (James McCoy)
+Solution: Do not set cmdbuff to NULL, make it empty.
+Files: src/ex_getln.c
+
+Patch 8.0.0707
+Problem: Freeing wrong memory when manipulating buffers in autocommands.
+ (James McCoy)
+Solution: Also set the w_s pointer if w_buffer was NULL.
+Files: src/ex_cmds.c
+
+Patch 8.0.0708
+Problem: Some tests are old style.
+Solution: Change a few tests from old style to new style. (pschuh,
+ closes #1813)
+Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_ming.mak,
+ src/testdir/Make_vms.mms, src/testdir/main.aap,
+ src/testdir/test23.in, src/testdir/test23.ok,
+ src/testdir/test24.in, src/testdir/test24.ok,
+ src/testdir/test26.in, src/testdir/test26.ok,
+ src/testdir/test67.in, src/testdir/test67.ok,
+ src/testdir/test75.in, src/testdir/test75.ok,
+ src/testdir/test97.in, src/testdir/test97.ok,
+ src/testdir/test_comparators.in, src/testdir/test_comparators.ok,
+ src/testdir/test_comparators.vim,
+ src/testdir/test_escaped_glob.vim,
+ src/testdir/test_exec_while_if.vim,
+ src/testdir/test_exists_autocmd.vim, src/testdir/test_getcwd.in,
+ src/testdir/test_getcwd.ok, src/testdir/test_getcwd.vim,
+ src/testdir/test_maparg.vim, src/testdir/test_plus_arg_edit.vim,
+ src/testdir/test_regex_char_classes.vim
+
+Patch 8.0.0709
+Problem: Libvterm cannot use vsnprintf(), it does not exist in C90.
+Solution: Use vim_vsnprintf() instead.
+Files: src/message.c, src/Makefile, src/proto.h, src/evalfunc.c,
+ src/netbeans.c, src/libvterm/src/vterm.c
+
+Patch 8.0.0710
+Problem: A job that writes to a buffer clears command line completion.
+ (Ramel Eshed)
+Solution: Do not redraw while showing the completion menu.
+Files: src/screen.c
+
+Patch 8.0.0711 (after 8.0.0710)
+Problem: Cannot build without the wildmenu feature.
+Solution: Add #ifdef
+Files: src/screen.c
+
+Patch 8.0.0712
+Problem: The terminal implementation is incomplete.
+Solution: Add the 'termkey' option.
+Files: src/option.c, src/option.h, src/structs.h
+
+Patch 8.0.0713 (after 8.0.0712)
+Problem: 'termkey' option not fully implemented.
+Solution: Add initialisation.
+Files: src/option.c
+
+Patch 8.0.0714
+Problem: When a timer causes a command line redraw the " that is displayed
+ for CTRL-R goes missing.
+Solution: Remember an extra character to display.
+Files: src/ex_getln.c
+
+Patch 8.0.0715
+Problem: Writing to the wrong buffer if the buffer that a channel writes to
+ was closed.
+Solution: Do not write to a buffer that was unloaded.
+Files: src/channel.c, src/testdir/test_channel.vim,
+ src/testdir/test_channel_write.py
+
+Patch 8.0.0716
+Problem: Not easy to start Vim cleanly without changing the viminfo file.
+ Not possible to know whether the -i command line flag was used.
+Solution: Add the --clean command line argument. Add the 'viminfofile'
+ option. Add "-u DEFAULTS".
+Files: src/main.c, runtime/doc/starting.txt, src/option.c, src/option.h,
+ src/ex_cmds.c, src/globals.h, runtime/doc/options.txt
+
+Patch 8.0.0717
+Problem: Terminal feature not included in :version output.
+Solution: Add +terminal or -terminal.
+Files: src/version.c, src/terminal.c
+
+Patch 8.0.0718
+Problem: Output of job in terminal is not displayed.
+Solution: Connect the job output to the terminal.
+Files: src/channel.c, src/proto/channel.pro, src/terminal.c,
+ src/proto/terminal.pro, src/channel.c, src/proto/channel.pro,
+ src/evalfunc.c, src/screen.c, src/proto/screen.pro
+
+Patch 8.0.0719
+Problem: Build failure without +terminal feature.
+Solution: Add #ifdefs.
+Files: src/screen.c, src/channel.c
+
+Patch 8.0.0720
+Problem: Unfinished mapping not displayed when running timer.
+Solution: Also use the extra_char while waiting for a mapping and digraph.
+ (closes #1844)
+Files: src/ex_getln.c
+
+Patch 8.0.0721
+Problem: :argedit can only have one argument.
+Solution: Allow for multiple arguments. (Christian Brabandt)
+Files: runtime/doc/editing.txt, src/ex_cmds.h, src/ex_cmds2.c,
+ src/testdir/test_arglist.vim
+
+Patch 8.0.0722
+Problem: Screen is messed by timer up at inputlist() prompt.
+Solution: Set state to ASKMORE. (closes #1843)
+Files: src/misc1.c
+
+Patch 8.0.0723 (after 8.0.0721)
+Problem: Arglist test fails if file name case is ignored.
+Solution: Wipe existing buffers, check for fname_case property.
+Files: src/testdir/test_arglist.vim
+
+Patch 8.0.0724
+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)
+Files: src/ops.c, src/Makefile, src/testdir/test_registers.vim,
+ src/testdir/Make_all.mak
+
+Patch 8.0.0725
+Problem: A terminal window does not handle keyboard input.
+Solution: Add terminal_loop(). ":term bash -i" sort of works now.
+Files: src/main.c, src/terminal.c, src/proto/terminal.pro, src/normal.c
+
+Patch 8.0.0726
+Problem: Translations cleanup script is too conservative.
+Solution: Also delete untranslated messages.
+Files: src/po/cleanup.vim
+
+Patch 8.0.0727
+Problem: Message about what register to yank into is not translated.
+ (LemonBoy)
+Solution: Add _().
+Files: src/ops.c
+
+Patch 8.0.0728
+Problem: The terminal structure is never freed.
+Solution: Free the structure and unreference what it contains.
+Files: src/terminal.c, src/buffer.c, src/proto/terminal.pro,
+ src/channel.c, src/proto/channel.pro, src/evalfunc.c
+
+Patch 8.0.0729
+Problem: The help for the terminal configure option is wrong.
+Solution: Change "Disable" to "Enable". (E Kawashima, closes #1849)
+ Improve alignment.
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.0730
+Problem: Terminal feature only supports Unix-like systems.
+Solution: Prepare for adding an MS-Windows implementation.
+Files: src/terminal.c
+
+Patch 8.0.0731
+Problem: Cannot build the terminal feature on MS-Windows.
+Solution: Add the Makefile changes. (Yasuhiro Matsumoto, closes #1851)
+Files: src/Make_cyg_ming.mak, src/Make_mvc.mak
+
+Patch 8.0.0732
+Problem: When updating a buffer for a callback the modeless selection is
+ lost.
+Solution: Do not insert or delete screen lines when redrawing for a callback
+ and there is a modeless selection.
+Files: src/screen.c
+
+Patch 8.0.0733
+Problem: Can only add entries to one list in the quickfix stack.
+Solution: Move state variables from qf_list_T to qf_list_T. (Yegappan
+ Lakshmanan)
+Files: src/quickfix.c
+
+Patch 8.0.0734
+Problem: The script to check translations can be improved.
+Solution: Restore the view when no errors are found. Check for matching
+ line break at the end of the message. (Christian Brabandt)
+Files: src/po/check.vim
+
+Patch 8.0.0735
+Problem: There is no way to notice that the quickfix window contents has
+ changed.
+Solution: Increment b:changedtick when updating the quickfix window.
+ (Yegappan Lakshmanan)
+Files: runtime/doc/quickfix.txt, src/quickfix.c,
+ src/testdir/test_quickfix.vim
+
+Patch 8.0.0736
+Problem: The OptionSet autocommand event is not triggered when entering
+ diff mode.
+Solution: use set_option_value() instead of setting the option directly.
+ Change the tests from old to new style. (Christian Brabandt)
+Files: src/diff.c, src/testdir/Make_all.mak, src/Makefile,
+ src/testdir/test_autocmd.vim, src/testdir/test_autocmd_option.in,
+ src/testdir/test_autocmd_option.ok
+
+Patch 8.0.0737
+Problem: Crash when X11 selection is very big.
+Solution: Use static items instead of allocating them. Add callbacks.
+ (Ozaki Kiichi)
+Files: src/testdir/shared.vim, src/testdir/test_quotestar.vim,
+ src/ui.c
+
+Patch 8.0.0738
+Problem: Cannot use the mouse to resize window while the focus is in a
+ terminal window.
+Solution: Recognize nice mouse events in the terminal window. A few more
+ fixes for the terminal window.
+Files: src/terminal.c
+
+Patch 8.0.0739
+Problem: Terminal resizing doesn't work well.
+Solution: Resize the terminal to the Vim window and the other way around.
+ Avoid mapping typed keys. Set the environment properly.
+Files: src/terminal.c, src/os_unix.c, src/structs.h
+
+Patch 8.0.0740
+Problem: Cannot resize a terminal window by the command running in it.
+Solution: Add support for the window size escape sequence. Make BS work.
+Files: src/terminal.c, src/libvterm/src/state.c
+
+Patch 8.0.0741
+Problem: Cannot build with HPUX.
+Solution: Rename envbuf_TERM to envbuf_Term. (John Marriott)
+Files: src/os_unix.c
+
+Patch 8.0.0742
+Problem: Terminal feature does not work on MS-Windows.
+Solution: Use libvterm and libwinpty on MS-Windows. (Yasuhiro Matsumoto)
+Files: src/INSTALLpc.txt, src/Make_cyg_ming.mak, src/channel.c,
+ src/proto/channel.pro, src/terminal.c
+
+Patch 8.0.0743
+Problem: The 'termsize' option can be set to an invalid value.
+Solution: Check the 'termsize' option to be valid.
+Files: src/option.c, src/testdir/gen_opt_test.vim
+
+Patch 8.0.0744
+Problem: A terminal window uses pipes instead of a pty.
+Solution: Add pty support.
+Files: src/structs.h, src/os_unix.c, src/terminal.c, src/channel.c,
+ src/proto/os_unix.pro, src/os_win32.c, src/proto/os_win32.pro
+
+Patch 8.0.0745
+Problem: multi-byte characters in a terminal window are not displayed
+ properly.
+Solution: Set the unused screen characters. (Yasuhiro Matsumoto, closes
+ #1857)
+Files: src/terminal.c
+
+Patch 8.0.0746
+Problem: When :term fails the job is not properly cleaned up.
+Solution: Free the terminal. Handle a job that failed to start. (closes
+ #1858)
+Files: src/os_unix.c, src/channel.c, src/terminal.c
+
+Patch 8.0.0747
+Problem: :terminal without an argument doesn't work.
+Solution: Use the 'shell' option. (Yasuhiro Matsumoto, closes #1860)
+Files: src/terminal.c
+
+Patch 8.0.0748
+Problem: When running Vim in a terminal window it does not detect the right
+ number of colors available.
+Solution: Detect the version string that libvterm returns. Pass the number
+ of colors in $COLORS.
+Files: src/term.c, src/os_unix.c
+
+Patch 8.0.0749
+Problem: Some unicode digraphs are hard to remember.
+Solution: Add alternatives with a backtick. (Chris Harding, closes #1861)
+Files: src/digraph.c
+
+Patch 8.0.0750
+Problem: OpenPTY missing in non-GUI build.
+Solution: Always include pty.c, add an #ifdef to skip over the contents.
+Files: src/pty.c, src/Makefile
+
+Patch 8.0.0751 (after 8.0.0750)
+Problem: OpenPTY missing with some combination of features. (Kazunobu
+ Kuriyama)
+Solution: Adjust #ifdef. Also include pty.pro when needed.
+Files: src/pty.c, src/misc2.c, src/proto.h
+
+Patch 8.0.0752
+Problem: Build fails on MS-Windows.
+Solution: Change #ifdef for set_color_count().
+Files: src/term.c
+
+Patch 8.0.0753
+Problem: A job running in a terminal does not get notified of changes in
+ the terminal size.
+Solution: Use ioctl() and SIGWINCH to report the terminal size.
+Files: src/terminal.c, src/os_unix.c, src/proto/os_unix.pro
+
+Patch 8.0.0754
+Problem: Terminal window does not support colors.
+Solution: Lookup the color attribute.
+Files: src/terminal.c, src/syntax.c, src/proto/syntax.pro
+
+Patch 8.0.0755
+Problem: Terminal window does not have colors in the GUI.
+Solution: Lookup the GUI color.
+Files: src/terminal.c, src/syntax.c, src/proto/syntax.pro, src/term.c,
+ src/proto/term.pro, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro,
+ src/gui_x11.c, src/proto/gui_x11.pro, src/gui_mac.c,
+ src/proto/gui_mac.pro, src/gui_photon.c, src/proto/gui_photon.pro,
+ src/gui_w32.c, src/proto/gui_w32.pro,
+
+Patch 8.0.0756
+Problem: Cannot build libvterm with MSVC.
+Solution: Add an MSVC Makefile to libvterm. (Yasuhiro Matsumoto, closes
+ #1865)
+Files: src/INSTALLpc.txt, src/Make_mvc.mak, src/libvterm/Makefile.msc
+
+Patch 8.0.0757
+Problem: Libvterm MSVC Makefile not included in the distribution.
+Solution: Add the file to the list.
+Files: Filelist
+
+Patch 8.0.0758
+Problem: Possible crash when using a terminal window.
+Solution: Check for NULL pointers. (Yasuhiro Matsumoto, closes #1864)
+Files: src/terminal.c
+
+Patch 8.0.0759
+Problem: MS-Windows: terminal does not adjust size to the Vim window size.
+Solution: Add a call to winpty_set_size(). (Yasuhiro Matsumoto, closes #1863)
+Files: src/terminal.c
+
+Patch 8.0.0760
+Problem: Terminal window colors wrong with 'termguicolors'.
+Solution: Add 'termguicolors' support.
+Files: src/terminal.c, src/syntax.c, src/proto/syntax.pro
+
+Patch 8.0.0761
+Problem: Options of a buffer for a terminal window are not set properly.
+Solution: Add "terminal" value for 'buftype'. Make 'buftype' and
+ 'bufhidden' not depend on the quickfix feature.
+ Also set the buffer name and show "running" or "finished" in the
+ window title.
+Files: src/option.c, src/terminal.c, src/proto/terminal.pro,
+ runtime/doc/options.txt, src/quickfix.c, src/proto/quickfix.pro,
+ src/structs.h, src/buffer.c, src/ex_docmd.c, src/fileio.c,
+ src/channel.c
+
+Patch 8.0.0762
+Problem: ml_get error with :psearch in buffer without a name. (Dominique
+ Pelle)
+Solution: Use the buffer number instead of the file name. Check the cursor
+ position.
+Files: src/search.c, src/testdir/test_preview.vim, src/Makefile,
+ src/testdir/Make_all.mak
+
+Patch 8.0.0763
+Problem: Libvterm can be improved.
+Solution: Various small improvements, more comments.
+Files: src/libvterm/README, src/libvterm/include/vterm.h,
+ src/libvterm/include/vterm_keycodes.h,
+ src/libvterm/src/keyboard.c, src/libvterm/src/parser.c,
+ src/libvterm/src/screen.c, src/libvterm/src/state.c
+
+Patch 8.0.0764
+Problem: 'termkey' does not work yet.
+Solution: Implement 'termkey'.
+Files: src/terminal.c, src/option.c, src/proto/option.pro
+
+Patch 8.0.0765
+Problem: Build fails with tiny features.
+Solution: Adjust #ifdef. (John Marriott)
+Files: src/option.c, src/option.h
+
+Patch 8.0.0766
+Problem: Option test fails with +terminal feature.
+Solution: Fix using the right option when checking the value.
+Files: src/option.c
+
+Patch 8.0.0767
+Problem: Build failure with Athena and Motif.
+Solution: Move local variable declarations. (Kazunobu Kuriyama)
+Files: src/gui_x11.c
+
+Patch 8.0.0768
+Problem: Terminal window status shows "[Scratch]".
+Solution: Show "[Terminal]" when no title was set. (Yasuhiro Matsumoto)
+ Store the terminal title that vterm sends and use it. Update the
+ special buffer name. (closes #1869)
+Files: src/terminal.c, src/proto/terminal.pro, src/buffer.c
+
+Patch 8.0.0769
+Problem: Build problems with terminal on MS-Windows using MSVC.
+Solution: Remove stdbool.h dependency. Only use ScreenLinesUC when it was
+ allocated. Fix typos. (Ken Takata)
+Files: src/libvterm/bin/vterm-ctrl.c, runtime/doc/terminal.txt,
+ src/INSTALLpc.txt, src/Make_cyg_ming.mak, src/Make_mvc.mak,
+ src/libvterm/Makefile.msc, src/terminal.c
+
+Patch 8.0.0770
+Problem: Compiler warning for missing field initializer.
+Solution: Add two more values. (Yegappan Lakshmanan)
+Files: src/libvterm/src/encoding.c
+
+Patch 8.0.0771
+Problem: Cursor in a terminal window not always updated in the GUI.
+Solution: Call gui_update_cursor(). (Yasuhiro Matsumoto, closes #1868)
+Files: src/terminal.c
+
+Patch 8.0.0772
+Problem: Other stdbool.h dependencies in libvterm.
+Solution: Remove the dependency and use TRUE/FALSE/int. (Ken Takata)
+Files: src/libvterm/include/vterm.h, src/libvterm/src/mouse.c,
+ src/libvterm/src/pen.c, src/libvterm/t/harness.c,
+ src/libvterm/bin/unterm.c
+
+Patch 8.0.0773
+Problem: Mixing 32 and 64 bit libvterm builds fails.
+Solution: Use OUTDIR. (Ken Takata)
+Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/libvterm/Makefile.msc
+
+Patch 8.0.0774
+Problem: Build failure without the multi-byte feature on HPUX.
+Solution: Move #ifdefs. (John Marriott)
+Files: src/term.c
+
+Patch 8.0.0775
+Problem: In a terminal the cursor is updated too often.
+Solution: Only flush when needed. (Yasuhiro Matsumoto). Remember whether the
+ cursor is visible. (closes #1873)
+Files: src/terminal.c
+
+Patch 8.0.0776
+Problem: Function prototypes missing without the quickfix feature. (Tony
+ Mechelynck)
+Solution: Move non-quickfix functions to buffer.c.
+Files: src/buffer.c, src/proto/buffer.pro, src/quickfix.c,
+ src/proto/quickfix.pro
+
+Patch 8.0.0777
+Problem: Compiler warnings with 64 bit compiler.
+Solution: Add type casts. (Mike Williams)
+Files: src/libvterm/src/pen.c, src/libvterm/src/state.c, src/terminal.c
+
+Patch 8.0.0778
+Problem: In a terminal the cursor may be hidden and screen updating lags
+ behind. (Nazri Ramliy)
+Solution: Switch the cursor on and flush output when needed. (Ozaki Kiichi)
+Files: src/terminal.c
+
+Patch 8.0.0779
+Problem: :term without an argument uses empty buffer name but runs the
+ shell.
+Solution: Change the command to the shell earlier.
+Files: src/terminal.c
+
+Patch 8.0.0780
+Problem: Build failure on Travis.
+Solution: Set distribution explicitly. Use Lua and Ruby dev. (Ken Takata,
+ closes #1884)
+Files: .travis.yml
+
+Patch 8.0.0781
+Problem: MS-Windows: Memory leak when using :terminal.
+Solution: Handle failures properly. (Ken Takata)
+Files: src/terminal.c
+
+Patch 8.0.0782
+Problem: Using freed memory in quickfix code. (Dominique Pelle)
+Solution: Handle a help window differently. (Yegappan Lakshmanan)
+Files: src/buffer.c, src/proto/buffer.pro, src/quickfix.c,
+ src/testdir/test_quickfix.vim, src/ex_cmds.c, src/window.c
+
+Patch 8.0.0783
+Problem: Job of terminal may be freed too early.
+Solution: Increment job refcount. (Yasuhiro Matsumoto)
+Files: src/terminal.c
+
+Patch 8.0.0784
+Problem: Job of terminal may be garbage collected.
+Solution: Set copyID on job in terminal. (Ozaki Kiichi)
+Files: src/terminal.c, src/eval.c, src/proto/terminal.pro
+
+Patch 8.0.0785
+Problem: Wildcards are not expanded for :terminal.
+Solution: Add FILES to the command flags. (Yasuhiro Matsumoto, closes #1883)
+ Also complete commands.
+Files: src/ex_cmds.h, src/ex_docmd.c
+
+Patch 8.0.0786
+Problem: Build failures on Travis.
+Solution: Go back to precise temporarily. Disable coverage with clang.
+Files: .travis.yml
+
+Patch 8.0.0787
+Problem: Cannot send CTRL-W command to terminal job.
+Solution: Make CTRL-W . a prefix for sending a key to the job.
+Files: src/terminal.c, runtime/doc/terminal.txt, src/option.c
+
+Patch 8.0.0788
+Problem: MS-Windows: cannot build with terminal feature.
+Solution: Move set_ref_in_term(). (Ozaki Kiichi)
+Files: src/terminal.c
+
+Patch 8.0.0789
+Problem: When splitting a terminal window where the terminal follows the
+ size of the window doesn't work.
+Solution: Use the size of the smallest window. (Yasuhiro Matsumoto, closes
+ #1885)
+Files: src/terminal.c
+
+Patch 8.0.0790
+Problem: MSVC compiler warning for strncpy in libvterm.
+Solution: Add a define to stop the warnings. (Mike Williams)
+Files: src/Make_mvc.mak
+
+Patch 8.0.0791
+Problem: Terminal colors depend on the system.
+Solution: Use the highlight color lookup tables.
+Files: src/syntax.c, src/proto/syntax.pro, src/terminal.c
+
+Patch 8.0.0792
+Problem: Spell test leaves files behind.
+Solution: Delete the files.
+Files: src/testdir/test_spell.vim
+
+Patch 8.0.0793
+Problem: Using wrong terminal name for terminal window.
+Solution: When 'term' starts with "xterm" use it for $TERM in a terminal
+ window.
+Files: src/os_unix.c
+
+Patch 8.0.0794
+Problem: The script to check translations fails if there is more than one
+ NL in one line.
+Solution: Count the number of NL characters. Make count() accept a string.
+Files: src/po/check.vim, src/evalfunc.c, runtime/doc/eval.txt,
+ src/testdir/test_functions.vim
+
+Patch 8.0.0795
+Problem: Terminal feature does not build with older MSVC.
+Solution: Do not use stdint.h.
+Files: src/libvterm/include/vterm.h
+
+Patch 8.0.0796
+Problem: No coverage on Travis with clang.
+Solution: Use a specific coveralls version. (Ozaki Kiichi, closes #1888)
+Files: .travis.yml
+
+Patch 8.0.0797
+Problem: Finished job in terminal window is not handled.
+Solution: Add the scrollback buffer. Use it to fill the buffer when the job
+ has ended.
+Files: src/terminal.c, src/screen.c, src/proto/terminal.pro,
+ src/channel.c, src/os_unix.c, src/buffer.c
+
+Patch 8.0.0798
+Problem: No highlighting in a terminal window with a finished job.
+Solution: Highlight the text.
+Files: src/terminal.c, src/proto/terminal.pro, src/screen.c, src/undo.c
+
+Patch 8.0.0799
+Problem: Missing semicolon.
+Solution: Add it.
+Files: src/terminal.c
+
+Patch 8.0.0800
+Problem: Terminal window scrollback contents is wrong.
+Solution: Fix handling of multi-byte characters (Yasuhiro Matsumoto) Handle
+ empty lines correctly. (closes #1891)
+Files: src/terminal.c
+
+Patch 8.0.0801
+Problem: The terminal window title sometimes still says "running" even
+ though the job has finished.
+Solution: Also consider the job finished when the channel has been closed.
+Files: src/terminal.c
+
+Patch 8.0.0802
+Problem: After a job exits the last line in the terminal window does not
+ get color attributes.
+Solution: Fix off-by-one error.
+Files: src/terminal.c
+
+Patch 8.0.0803
+Problem: Terminal window functions not yet implemented.
+Solution: Implement several functions. Add a first test. (Yasuhiro
+ Matsumoto, closes #1871)
+Files: runtime/doc/eval.txt, src/Makefile, src/evalfunc.c,
+ src/proto/evalfunc.pro, src/proto/terminal.pro, src/terminal.c,
+ src/testdir/Make_all.mak, src/testdir/test_terminal.vim
+
+Patch 8.0.0804
+Problem: Running tests fails when stdin is /dev/null. (James McCoy)
+Solution: Do not bail out from getting input if the --not-a-term argument
+ was given. (closes #1460)
+Files: src/eval.c, src/evalfunc.c
+
+Patch 8.0.0805
+Problem: GUI test fails with gnome2.
+Solution: Set $HOME to an existing directory.
+Files: src/testdir/setup.vim, src/testdir/runtest.vim
+
+Patch 8.0.0806
+Problem: Tests may try to create XfakeHOME twice.
+Solution: Avoid loading setup.vim twice.
+Files: src/testdir/setup.vim
+
+Patch 8.0.0807
+Problem: Terminal window can't handle mouse buttons. (Hirohito Higashi)
+Solution: Implement mouse buttons and many other keys. Ignore the ones that
+ are not implemented.
+Files: src/terminal.c
+
+Patch 8.0.0808
+Problem: Cannot build with terminal feature and DEBUG defined. (Christian
+ Brabandt)
+Solution: Use DEBUG_LOG3().
+Files: src/libvterm/src/pen.c
+
+Patch 8.0.0809
+Problem: MS-Windows: tests hang.
+Solution: Delete the XfakeHOME directory.
+Files: src/testdir/Make_dos.mak, src/testdir/Make_ming.mak
+
+Patch 8.0.0810
+Problem: MS-Windows: tests still hang.
+Solution: Only create the XfakeHOME directory if it does not exist yet.
+Files: src/testdir/setup.vim
+
+Patch 8.0.0811
+Problem: MS-Windows: test_expand_dllpath fails.
+Solution: Change backslashes to forward slashes
+Files: src/testdir/test_expand_dllpath.vim
+
+Patch 8.0.0812
+Problem: Terminal window colors shift when 'number' is set. (Nazri Ramliy)
+Solution: Use vcol instead of col.
+Files: src/screen.c
+
+Patch 8.0.0813
+Problem: Cannot use Vim commands in a terminal window while the job is
+ running.
+Solution: Implement Terminal Normal mode.
+Files: src/terminal.c, src/proto/terminal.pro, src/main.c, src/screen.c,
+ src/normal.c, src/option.c, runtime/doc/terminal.txt
+
+Patch 8.0.0814 (after 8.0.0757)
+Problem: File in Filelist does not exist.
+Solution: Remove the line.
+Files: Filelist
+
+Patch 8.0.0815
+Problem: Terminal window not correctly updated when 'statusline' invokes
+ ":sleep". (NIkolay Pavlov)
+Solution: Clear got_int. Repeat redrawing when needed.
+Files: src/terminal.c
+
+Patch 8.0.0816
+Problem: Crash when using invalid buffer number.
+Solution: Check for NULL buffer. (Yasuhiro Matsumoto, closes #1899)
+Files: src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.0817
+Problem: Cannot get the line of a terminal window at the cursor.
+Solution: Make the row argument optional. (Yasuhiro Matsumoto, closes #1898)
+Files: runtime/doc/eval.txt, src/evalfunc.c, src/terminal.c
+
+Patch 8.0.0818
+Problem: Cannot get the cursor position of a terminal.
+Solution: Add term_getcursor().
+Files: runtime/doc/eval.txt, src/evalfunc.c, src/terminal.c,
+ src/proto/terminal.pro
+
+Patch 8.0.0819
+Problem: After changing current window the cursor position in the terminal
+ window is not updated.
+Solution: Set w_wrow, w_wcol and w_valid.
+Files: src/terminal.c
+
+Patch 8.0.0820
+Problem: GUI: cursor in terminal window lags behind.
+Solution: call gui_update_cursor() under different conditions. (Ozaki
+ Kiichi, closes #1893)
+Files: src/terminal.c
+
+Patch 8.0.0821
+Problem: Cannot get the title and status of a terminal window.
+Solution: Implement term_gettitle() and term_getstatus().
+Files: src/evalfunc.c, src/terminal.c, src/proto/terminal.pro,
+ runtime/doc/eval.txt
+
+Patch 8.0.0822
+Problem: Test_with_partial_callback is a tiny bit flaky.
+Solution: Add it to the list of flaky tests.
+Files: src/testdir/runtest.vim
+
+Patch 8.0.0823
+Problem: Cannot paste text into a terminal window.
+Solution: Make CTRL-W " work.
+Files: src/terminal.c
+
+Patch 8.0.0824
+Problem: In Terminal mode the cursor and screen gets redrawn when the job
+ produces output.
+Solution: Check for tl_terminal_mode. (partly by Yasuhiro Matsumoto, closes
+ #1904)
+Files: src/terminal.c
+
+Patch 8.0.0825
+Problem: Not easy to see that a window is a terminal window.
+Solution: Add StatusLineTerm highlighting.
+Files: src/option.c, src/vim.h, src/screen.c, src/syntax.c
+
+Patch 8.0.0826
+Problem: Cannot use text objects in Terminal mode.
+Solution: Check for pending operator and Visual mode first. (Yasuhiro
+ Matsumoto, closes #1906)
+Files: src/normal.c
+
+Patch 8.0.0827
+Problem: Coverity: could leak pty file descriptor, theoretically.
+Solution: If channel is NULL, free the file descriptors.
+Files: src/os_unix.c
+
+Patch 8.0.0828
+Problem: Coverity: may dereference NULL pointer.
+Solution: Bail out if calloc_state() returns NULL.
+Files: src/regexp_nfa.c
+
+Patch 8.0.0829
+Problem: A job running in a terminal window cannot easily communicate with
+ the Vim it is running in.
+Solution: Pass v:servername in an environment variable. (closes #1908)
+Files: src/os_unix.c
+
+Patch 8.0.0830
+Problem: Translating messages is not ideal.
+Solution: Add a remark about obsolete messages. Use msgfmt in the check
+ script. (Christian Brabandt)
+Files: src/po/README.txt, src/po/check.vim
+
+Patch 8.0.0831 (after 8.0.0791)
+Problem: With 8 colors the bold attribute is not set properly.
+Solution: Move setting HL_TABLE() out of lookup_color. (closes #1901)
+Files: src/syntax.c, src/proto/syntax.pro, src/terminal.c
+
+Patch 8.0.0832
+Problem: Terminal function arguments are not consistent.
+Solution: Use one-based instead of zero-based rows and cols. Use "." for
+ the current row.
+Files: src/terminal.c, runtime/doc/eval.txt
+
+Patch 8.0.0833
+Problem: Terminal test fails.
+Solution: Update the row argument to one based.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.0834
+Problem: Can't build without the client-server feature.
+Solution: Add #ifdef.
+Files: src/os_unix.c
+
+Patch 8.0.0835
+Problem: Translations check with msgfmt does not work.
+Solution: Add a space before the file name.
+Files: src/po/check.vim
+
+Patch 8.0.0836
+Problem: When a terminal buffer is changed it can still be accidentally
+ abandoned.
+Solution: When making a change reset the 'buftype' option.
+Files: src/terminal.c, src/testdir/test_terminal.vim, src/option.c
+
+Patch 8.0.0837
+Problem: Signs can be drawn on top of console messages.
+Solution: don't redraw at a prompt or when scrolled up. (Christian Brabandt,
+ closes #1907)
+Files: src/screen.c
+
+Patch 8.0.0838
+Problem: Buffer hangs around when terminal window is closed.
+Solution: When the job has ended wipe out a terminal buffer when the window
+ is closed.
+Files: src/buffer.c, src/terminal.c, src/proto/terminal.pro,
+ src/testdir/test_terminal.vim
+
+Patch 8.0.0839
+Problem: Cannot kill a job in a terminal with CTRL-C.
+Solution: Set the controlling tty and send SIGINT. (closes #1910)
+Files: src/os_unix.c, src/terminal.c, src/proto/os_unix.pro
+
+Patch 8.0.0840
+Problem: MS-Windows: fopen() and open() prototypes do not match the ones in
+ the system header file. Can't build without FEAT_MBYTE.
+Solution: Add "const". Move macro to after including protoo.h.
+Files: src/os_win32.c, src/proto/os_win32.pro, src/macros.h, src/vim.h
+
+Patch 8.0.0841
+Problem: term_getline() may cause a crash.
+Solution: Check that the row is valid. (Hirohito Higashi)
+Files: src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.0842
+Problem: Using slave pty after closing it.
+Solution: Do the ioctl() before dup'ing it.
+Files: src/os_unix.c
+
+Patch 8.0.0843
+Problem: MS-Windows: compiler warning for signed/unsigned.
+Solution: Add type cast. (Yasuhiro Matsumoto, closes #1912)
+Files: src/terminal.c
+
+Patch 8.0.0844
+Problem: Wrong function prototype because of missing static.
+Solution: Add "static".
+Files: src/os_win32.c, src/proto/os_win32.pro
+
+Patch 8.0.0845
+Problem: MS-Windows: missing semicolon in terminal code.
+Solution: Add it. (Naruhiko Nishino, closes #1923)
+Files: src/terminal.c
+
+Patch 8.0.0846
+Problem: Cannot get the name of the pty of a job.
+Solution: Add the "tty" entry to the job info. (Ozaki Kiichi, closes #1920)
+ Add the term_gettty() function.
+Files: runtime/doc/eval.txt, src/channel.c, src/os_unix.c, src/structs.h,
+ src/terminal.c, src/proto/terminal.pro, src/evalfunc.c,
+ src/testdir/test_terminal.vim
+
+Patch 8.0.0847
+Problem: :argadd without argument can't handle space in file name. (Harm te
+ Hennepe)
+Solution: Escape the space. (Yasuhiro Matsumoto, closes #1917)
+Files: src/ex_cmds2.c, src/proto/ex_cmds2.pro,
+ src/testdir/test_arglist.vim
+
+Patch 8.0.0848
+Problem: Using multiple ch_log functions is clumsy.
+Solution: Use variable arguments. (Ozaki Kiichi, closes #1919)
+Files: src/channel.c, src/message.c, src/proto/channel.pro,
+ src/terminal.c
+
+Patch 8.0.0849
+Problem: Crash when job exit callback wipes the terminal.
+Solution: Check for b_term to be NULL. (Yasuhiro Matsumoto, closes #1922)
+ Implement options for term_start() to be able to test.
+ Make term_wait() more reliable.
+Files: src/terminal.c, src/testdir/test_terminal.vim, src/channel.c
+
+Patch 8.0.0850
+Problem: MS-Windows: Depending on the console encoding, an error message
+ that is given during startup may be broken.
+Solution: Convert the message to the console codepage. (Yasuhiro Matsumoto,
+ closes #1927)
+Files: src/message.c
+
+Patch 8.0.0851
+Problem: 'smartindent' is used even when 'indentexpr' is set.
+Solution: Ignore 'smartindent' when 'indentexpr' is set. (Hirohito Higashi)
+Files: src/misc1.c, src/testdir/test_smartindent.vim
+
+Patch 8.0.0852 (after 8.0.0850)
+Problem: MS-Windows: possible crash when giving a message on startup.
+Solution: Initialize length. (Yasuhiro Matsumoto, closes #1931)
+Files: src/message.c
+
+Patch 8.0.0853
+Problem: Crash when running terminal with unknown command.
+Solution: Check "term" not to be NULL. (Yasuhiro Matsumoto, closes #1932)
+Files: src/terminal.c
+
+Patch 8.0.0854
+Problem: No redraw after terminal was closed.
+Solution: Set typebuf_was_filled. (Yasuhiro Matsumoto, closes #1925, closes
+ #1924) Add function to check for messages even when input is
+ available.
+Files: src/terminal.c, src/os_unix.c, src/proto/os_unix.pro,
+ src/os_win32.c, src/proto/os_win32.pro, src/os_mswin.c
+
+Patch 8.0.0855
+Problem: MS-Windows: can't get tty name of terminal.
+Solution: Use the winpty process number. (Yasuhiro Matsumoto, closes #1929)
+Files: src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.0856
+Problem: MS-Windows: terminal job doesn't take options.
+Solution: Call job_set_options(). (Yasuhiro Matsumoto)
+Files: src/terminal.c
+
+Patch 8.0.0857
+Problem: Terminal test fails on MS-Windows.
+Solution: Sleep a fraction of a second.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.0858
+Problem: Can exit while a terminal is still running a job.
+Solution: Consider a buffer with a running job like a changed file.
+Files: src/undo.c, src/terminal.c, src/option.h, src/buffer.c,
+ src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/normal.c,
+ src/window.c, src/testdir/test_terminal.vim
+
+Patch 8.0.0859
+Problem: NULL pointer access when term_free_vterm called twice.
+Solution: Return when tl_vterm is NULL. (Yasuhiro Matsumoto, closes #1934)
+Files: src/terminal.c
+
+Patch 8.0.0860
+Problem: There may be side effects when a channel appends to a buffer that
+ is not the current buffer.
+Solution: Properly switch to another buffer before appending. (Yasuhiro
+ Matsumoto, closes #1926, closes #1937)
+Files: src/channel.c, src/buffer.c, src/proto/buffer.pro,
+ src/if_py_both.h
+
+Patch 8.0.0861
+Problem: Still many old style tests.
+Solution: Convert several tests to new style. (Yegappan Lakshmanan)
+Files: src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
+ src/testdir/main.aap, src/testdir/test104.in,
+ src/testdir/test104.ok, src/testdir/test22.in,
+ src/testdir/test22.ok, src/testdir/test77.in,
+ src/testdir/test77.ok, src/testdir/test84.in,
+ src/testdir/test84.ok, src/testdir/test9.in, src/testdir/test9.ok,
+ src/testdir/test98.in, src/testdir/test98.ok,
+ src/testdir/test_autocmd.vim, src/testdir/test_curswant.vim,
+ src/testdir/test_file_size.vim, src/testdir/test_let.vim,
+ src/testdir/test_lineending.vim, src/testdir/test_scrollbind.vim,
+ src/Makefile
+
+Patch 8.0.0862 (after 8.0.0862)
+Problem: File size test fails on MS-Windows.
+Solution: Set fileformat after opening new buffer. Strip CR.
+Files: src/testdir/test_file_size.vim
+
+Patch 8.0.0863
+Problem: A remote command starting with CTRL-\ CTRL-N does not work in the
+ terminal window. (Christian J. Robinson)
+Solution: Use CTRL-\ CTRL-N as a prefix or a Normal mode command.
+Files: src/terminal.c, runtime/doc/terminal.txt
+
+Patch 8.0.0864
+Problem: Cannot specify the name of a terminal.
+Solution: Add the "term_name" option. (Yasuhiro Matsumoto, closes #1936)
+Files: src/channel.c, src/structs.h, src/terminal.c, runtime/doc/eval.txt
+
+Patch 8.0.0865
+Problem: Cannot build with channel but without terminal feature.
+Solution: Add #ifdef
+Files: src/channel.c
+
+Patch 8.0.0866
+Problem: Solaris also doesn't have MIN and MAX.
+Solution: Define MIN and MAX whenever they are not defined. (Ozaki Kiichi,
+ closes #1939)
+Files: src/terminal.c
+
+Patch 8.0.0867
+Problem: When using a job or channel value as a dict value, when turning it
+ into a string the quotes are missing.
+Solution: Add quotes to the job and channel values. (Yasuhiro Matsumoto,
+ closes #1930)
+Files: src/list.c, src/eval.c, src/testdir/test_terminal.vim
+
+Patch 8.0.0868
+Problem: Cannot specify the terminal size on the command line.
+Solution: Use the address range for the terminal size. (Yasuhiro Matsumoto,
+ closes #1941)
+Files: src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.0869
+Problem: Job output is sometimes not displayed in a terminal.
+Solution: Flush output before closing the channel.
+Files: src/channel.c, src/terminal.c
+
+Patch 8.0.0870
+Problem: Mouse escape codes sent to terminal unintentionally.
+Solution: Fix libvterm to send mouse codes only when enabled.
+Files: src/terminal.c, src/libvterm/src/mouse.c
+
+Patch 8.0.0871
+Problem: The status line for a terminal window always has "[+]".
+Solution: Do make the status line include "[+]" for a terminal window.
+Files: src/screen.c
+
+Patch 8.0.0872
+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 and the mouse pointer is over a terminal
+ window.
+Solution: Send the scroll action to the right window.
+Files: src/terminal.c, src/normal.c, src/proto/terminal.pro
+
+Patch 8.0.0873
+Problem: In a terminal window cannot use CTRL-\ CTRL-N to start Visual
+ mode.
+Solution: After CTRL-\ CTRL-N enter Terminal-Normal mode for one command.
+Files: src/main.c, src/terminal.c, src/proto/terminal.pro
+
+Patch 8.0.0874 (after 8.0.0873)
+Problem: Can't build with terminal feature.
+Solution: Include change to term_use_loop(). (Dominique Pelle)
+Files: src/normal.c
+
+Patch 8.0.0875
+Problem: Crash with weird command sequence. (Dominique Pelle)
+Solution: Use vim_snprintf() instead of STRCPY().
+Files: src/misc1.c
+
+Patch 8.0.0876
+Problem: MS-Windows: Backslashes and wildcards in backticks don't work.
+Solution: Do not handle backslashes inside backticks in the wrong place.
+ (Yasuhiro Matsumoto, closes #1942)
+Files: src/os_mswin.c, src/os_win32.c
+
+Patch 8.0.0877
+Problem: Using CTRL-\ CTRL-N in terminal is inconsistent.
+Solution: Stay in Normal mode.
+Files: src/terminal.c, src/proto/terminal.pro, src/main.c, src/normal.c,
+ src/option.c
+
+Patch 8.0.0878
+Problem: No completion for :mapclear.
+Solution: Add completion (Nobuhiro Takasaki et al. closes #1943)
+Files: runtime/doc/eval.txt, runtime/doc/map.txt, src/ex_docmd.c,
+ src/ex_getln.c, src/proto/ex_docmd.pro,
+ src/testdir/test_cmdline.vim, src/vim.h
+
+Patch 8.0.0879
+Problem: Crash when shifting with huge number.
+Solution: Check for overflow. (Dominique Pelle, closes #1945)
+Files: src/ops.c, src/testdir/test_visual.vim
+
+Patch 8.0.0880
+Problem: Travis uses an old Ubuntu version.
+Solution: Switch from precise to trusty. (Ken Takata, closes #1897)
+Files: .travis.yml, Filelist, src/testdir/if_ver-1.vim,
+ src/testdir/if_ver-2.vim, src/testdir/lsan-suppress.txt
+
+Patch 8.0.0881
+Problem: win32.mak no longer included in Windows SDK.
+Solution: Do not include win32.mak. (Ken Takata)
+Files: src/GvimExt/Makefile, src/Make_mvc.mak
+
+Patch 8.0.0882
+Problem: term_scrape() and term_getline() require two arguments but it is
+ not enforced.
+Solution: Correct minimal number of arguments. (Hirohito Higashi) Update
+ documentation. (Ken Takata)
+Files: src/evalfunc.c, runtime/doc/eval.txt
+
+Patch 8.0.0883
+Problem: Invalid memory access with nonsensical script.
+Solution: Check "dstlen" being positive. (Dominique Pelle)
+Files: src/misc1.c
+
+Patch 8.0.0884
+Problem: Can't specify the wait time for term_wait().
+Solution: Add an optional second argument.
+Files: src/evalfunc.c, src/terminal.c, runtime/doc/eval.txt
+
+Patch 8.0.0885
+Problem: Terminal window scrollback is stored inefficiently.
+Solution: Store the text in the Vim buffer.
+Files: src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.0886
+Problem: Crash when using ":term ls".
+Solution: Fix line number computation. Add a test for this.
+Files: src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.0887
+Problem: Can create a logfile in the sandbox.
+Solution: Disable ch_logfile() in the sandbox. (Yasuhiro Matsumoto)
+Files: src/evalfunc.c
+
+Patch 8.0.0888
+Problem: Compiler warnings with 64 bit build.
+Solution: Add type cast of change the type. (Mike Williams)
+Files: src/message.c, src/os_mswin.c, src/os_win32.c
+
+Patch 8.0.0889
+Problem: Gcc gives warnings for uninitialized variables. (Tony Mechelynck)
+Solution: Initialize variables even though they are not used.
+Files: src/terminal.c
+
+Patch 8.0.0890
+Problem: Still many old style tests.
+Solution: Convert several tests to new style. (Yegappan Lakshmanan)
+Files: src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
+ src/testdir/test103.in, src/testdir/test103.ok,
+ src/testdir/test107.in, src/testdir/test107.ok,
+ src/testdir/test51.in, src/testdir/test51.ok,
+ src/testdir/test91.in, src/testdir/test91.ok,
+ src/testdir/test_getvar.vim, src/testdir/test_highlight.vim,
+ src/testdir/test_visual.vim, src/testdir/test_window_cmd.vim,
+ src/Makefile
+
+Patch 8.0.0891
+Problem: Uninitialized memory use with empty line in terminal.
+Solution: Initialize growarray earlier. (Yasuhiro Matsumoto, closes #1949)
+Files: src/terminal.c
+
+Patch 8.0.0892
+Problem: When opening a terminal the pty size doesn't always match.
+Solution: Update the pty size after opening the terminal. (Ken Takata)
+Files: src/terminal.c
+
+Patch 8.0.0893
+Problem: Cannot get the scroll count of a terminal window.
+Solution: Add term_getscrolled().
+Files: src/terminal.c, src/proto/terminal.pro, src/evalfunc.c,
+ runtime/doc/eval.txt, src/testdir/test_terminal.vim
+
+Patch 8.0.0894
+Problem: There is no test for runtime filetype detection.
+Solution: Test a list of filetypes from patterns.
+Files: src/testdir/test_filetype.vim, runtime/filetype.vim
+
+Patch 8.0.0895 (after 8.0.0894)
+Problem: Filetype test fails on MS-Windows.
+Solution: Fix file names.
+Files: src/testdir/test_filetype.vim
+
+Patch 8.0.0896
+Problem: Cannot automatically close a terminal window when the job ends.
+Solution: Add the ++close argument to :term. Add the term_finish option to
+ term_start(). (Yasuhiro Matsumoto, closes #1950) Also add
+ ++open.
+Files: runtime/doc/eval.txt, runtime/doc/terminal.txt, src/channel.c,
+ src/structs.h, src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.0897 (after 8.0.0896)
+Problem: Wrong error message for invalid term_finish value
+Solution: Pass the right argument to emsg().
+Files: src/channel.c
+
+Patch 8.0.0898
+Problem: Can't use the alternate screen in a terminal window.
+Solution: Initialize the alternate screen. (Yasuhiro Matsumoto, closes
+ #1957) Add term_getaltscreen().
+Files: src/libvterm/include/vterm.h, src/terminal.c,
+ src/proto/terminal.pro, src/evalfunc.c, runtime/doc/eval.txt
+
+Patch 8.0.0899
+Problem: Function name mch_stop_job() is confusing.
+Solution: Rename to mch_signal_job().
+Files: src/channel.c, src/os_unix.c, src/proto/os_unix.pro,
+ src/os_win32.c, src/proto/os_win32.pro, src/terminal.c
+
+Patch 8.0.0900
+Problem: :tab options doesn't open a new tab page. (Aviany)
+Solution: Support the :tab modifier. (closes #1960)
+Files: src/ex_cmds2.c, runtime/optwin.vim
+
+Patch 8.0.0901
+Problem: Asan suppress file missing from distribution.
+Solution: Add the file.
+Files: Filelist
+
+Patch 8.0.0902
+Problem: Cannot specify directory or environment for a job.
+Solution: Add the "cwd" and "env" arguments to job options. (Yasuhiro
+ Matsumoto, closes #1160)
+Files: runtime/doc/channel.txt, src/channel.c, src/terminal.c,
+ src/os_unix.c, src/os_win32.c, src/structs.h,
+ src/testdir/test_channel.vim, src/testdir/test_terminal.vim
+
+Patch 8.0.0903 (after 8.0.0902)
+Problem: Early return from test function.
+Solution: Remove the return.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.0904
+Problem: Cannot set a location list from text.
+Solution: Add the "text" argument to setqflist(). (Yegappan Lakshmanan)
+Files: runtime/doc/eval.txt, src/quickfix.c,
+ src/testdir/test_quickfix.vim
+
+Patch 8.0.0905
+Problem: MS-Windows: broken multi-byte characters in the console.
+Solution: Restore all regions of the console buffer. (Ken Takata)
+Files: src/os_win32.c
+
+Patch 8.0.0906
+Problem: Don't recognize Couchbase files.
+Solution: Add filetype detection. (Eugene Ciurana, closes #1951)
+Files: runtime/filetype.vim, src/testdir/test_filetype.vim
+
+Patch 8.0.0907
+Problem: With cp932 font names might be misinterpreted.
+Solution: Do not see "_" as a space when it is the second byte of a double
+ byte character. (Ken Takata)
+Files: src/os_win32.c
+
+Patch 8.0.0908
+Problem: Cannot set terminal size with options.
+Solution: Add "term_rows", "term_cols" and "vertical".
+Files: src/terminal.c, runtime/doc/eval.txt, src/channel.c,
+ src/proto/channel.pro, src/structs.h, src/evalfunc.c,
+ src/testdir/test_terminal.vim
+
+Patch 8.0.0909
+Problem: Channel test fails.
+Solution: Allow for "cwd" and "env" arguments.
+Files: src/channel.c
+
+Patch 8.0.0910
+Problem: Cannot create a terminal in the current window.
+Solution: Add option "curwin" and ++curwin.
+Files: src/terminal.c, runtime/doc/eval.txt, src/channel.c,
+ src/structs.h, src/ex_cmds.h, src/testdir/test_terminal.vim
+
+Patch 8.0.0911
+Problem: Terminal test takes too long.
+Solution: Instead of "sleep 1" use a Python program to briefly sleep.
+Files: src/testdir/test_terminal.vim, src/testdir/test_short_sleep.py
+
+Patch 8.0.0912
+Problem: Cannot run a job in a hidden terminal.
+Solution: Add option "hidden" and ++hidden.
+Files: src/terminal.c, src/structs.h, src/channel.c, src/fileio.c,
+ runtime/doc/terminal.txt, src/testdir/test_terminal.vim
+
+Patch 8.0.0913
+Problem: MS-Windows: CTRL-C kills shell in terminal window instead of the
+ command running in the shell.
+Solution: Make CTRL-C only send a CTRL_C_EVENT and have CTRL-BREAK kill the
+ job. (partly by Yasuhiro Matsumoto, closes #1962)
+Files: src/os_win32.c, src/gui_w32.c, src/terminal.c, src/globals.h
+
+Patch 8.0.0914
+Problem: Highlight attributes are always combined.
+Solution: Add the 'nocombine' value to replace attributes instead of
+ combining them. (scauligi, closes #1963)
+Files: runtime/doc/syntax.txt, src/syntax.c, src/vim.h
+
+Patch 8.0.0915
+Problem: Wrong initialisation of global.
+Solution: Use INIT().
+Files: src/globals.h
+
+Patch 8.0.0916
+Problem: Cannot specify properties of window for when opening a window for
+ a finished terminal job.
+Solution: Add "term_opencmd".
+Files: src/channel.c, src/structs.h, src/terminal.c,
+ runtime/doc/eval.txt, src/testdir/test_terminal.vim
+
+Patch 8.0.0917
+Problem: MS-Windows:CTRL-C handling in terminal window is wrong
+Solution: Pass CTRL-C as a key. Turn CTRL-BREAK into a key stroke. (Yasuhiro
+ Matsumoto, closes #1965)
+Files: src/os_win32.c, src/terminal.c
+
+Patch 8.0.0918
+Problem: Cannot get terminal window cursor shape or attributes.
+Solution: Support cursor shape, attributes and color.
+Files: src/terminal.c, runtime/doc/eval.txt,
+ src/libvterm/include/vterm.h, src/libvterm/src/state.c,
+ src/libvterm/src/vterm.c, src/feature.h, src/ui.c,
+ src/proto/ui.pro, src/term.c, src/proto/term.pro,
+ src/option.c, src/term.h
+
+Patch 8.0.0919
+Problem: Cursor color isn't set on startup.
+Solution: Initialize showing_mode to invalid value.
+Files: src/term.c
+
+Patch 8.0.0920
+Problem: The cursor shape is wrong after switch back from an alternate
+ screen in a terminal window. (Marius Gedminas)
+Solution: Change bitfield to unsigned. Set flag that cursor shape was set.
+Files: src/terminal.c, src/libvterm/src/vterm_internal.h
+
+Patch 8.0.0921
+Problem: Terminal window cursor shape not supported in the GUI.
+Solution: Use the terminal window cursor shape in the GUI.
+Files: src/terminal.c, src/proto/terminal.pro, src/gui.c, src/syntax.c,
+ src/proto/syntax.pro
+
+Patch 8.0.0922
+Problem: Quickfix list always added after current one.
+Solution: Make it possible to add a quickfix list after the last one.
+ (Yegappan Lakshmanan)
+Files: runtime/doc/eval.txt, src/quickfix.c,
+ src/testdir/test_quickfix.vim
+
+Patch 8.0.0923
+Problem: Crash in GUI when terminal job exits. (Kazunobu Kuriyama)
+Solution: reset in_terminal_loop when a terminal is freed.
+Files: src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.0924
+Problem: Terminal window not updated after using term_sendkeys().
+Solution: Call redraw_after_callback().
+Files: src/terminal.c
+
+Patch 8.0.0925
+Problem: MS-Windows GUI: channel I/O not handled right away.
+Solution: Don't call process_message() unless a message is available.
+ (Yasuhiro Matsumoto, closes #1969)
+Files: src/gui_w32.c
+
+Patch 8.0.0926
+Problem: When job in terminal window ends topline may be wrong.
+Solution: When the job ends adjust topline so that the active part of the
+ terminal is displayed.
+Files: src/terminal.c
+
+Patch 8.0.0927
+Problem: If a terminal job sends a blank title "running" is not shown.
+Solution: When the title is blank make it empty.
+Files: src/terminal.c
+
+Patch 8.0.0928
+Problem: MS-Windows: passing arglist to job has escaping problems.
+Solution: Improve escaping. (Yasuhiro Matsumoto, closes #1954)
+Files: src/testdir/test_channel.vim, src/testdir/test_terminal.vim,
+ src/channel.c, src/proto/channel.pro, src/terminal.c
+
+Patch 8.0.0929
+Problem: :term without argument does not work.
+Solution: Use shell for empty command. (Yasuhiro Matsumoto, closes #1970)
+Files: src/terminal.c
+
+Patch 8.0.0930
+Problem: Terminal buffers are stored in the viminfo file while they can't
+ be useful.
+Solution: Skip terminal buffers for file marks and buffer list
+Files: src/buffer.c, src/mark.c
+
+Patch 8.0.0931
+Problem: getwininfo() does not indicate a terminal window.
+Solution: Add "terminal" to the dictionary.
+Files: runtime/doc/eval.txt, src/evalfunc.c
+
+Patch 8.0.0932
+Problem: Terminal may not use right characters for BS and Enter.
+Solution: Get the characters from the tty.
+Files: src/os_unix.c, src/proto/os_unix.pro, src/terminal.c
+
+Patch 8.0.0933
+Problem: Terminal test tries to start GUI when it's not possible.
+Solution: Check if the GUI can run. (James McCoy, closes #1971)
+Files: src/testdir/shared.vim, src/testdir/test_terminal.vim,
+ src/testdir/test_gui.vim, src/testdir/test_gui_init.vim
+
+Patch 8.0.0934 (after 8.0.0932)
+Problem: Change to struts.h missing in patch.
+Solution: Include adding ttyinfo_T.
+Files: src/structs.h
+
+Patch 8.0.0935
+Problem: Cannot recognize a terminal buffer in :ls output.
+Solution: Use R for a running job and F for a finished job.
+Files: src/buffer.c
+
+Patch 8.0.0936
+Problem: Mode() returns wrong value for a terminal window.
+Solution: Return 't' when typed keys go to a job.
+Files: src/evalfunc.c, src/testdir/test_terminal.vim
+
+Patch 8.0.0937
+Problem: User highlight groups are not adjusted for StatusLineTerm.
+Solution: Combine attributes like for StatusLineNC.
+Files: src/syntax.c, src/globals.h, src/screen.c
+
+Patch 8.0.0938
+Problem: Scrolling in terminal window is inefficient.
+Solution: Use win_del_lines().
+Files: src/terminal.c
+
+Patch 8.0.0939
+Problem: Test_terminal_env is flaky. (James McCoy)
+Solution: Use WaitFor() instead of term_wait().
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.0940
+Problem: Test_terminal_scrape_multibyte is flaky. (James McCoy)
+Solution: Use WaitFor() instead of term_wait().
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.0941
+Problem: Existing color schemes don't work well with StatusLineTerm.
+Solution: Don't use "reverse", use fg and bg colors. Also add
+ StatusLineTermNC.
+Files: src/syntax.c, src/vim.h, src/screen.c, src/globals.h, src/option.c
+
+Patch 8.0.0942
+Problem: Using freed memory with ":terminal" if an autocommand changes
+ 'shell' when splitting the window. (Marius Gedminas)
+Solution: Make a copy of 'shell'. (closes #1974)
+Files: src/terminal.c
+
+Patch 8.0.0943
+Problem: Test_terminal_scrape_multibyte fails if the codepage is not utf-8.
+Solution: Start "cmd" with the utf-8 codepage. (micbou, closes #1975)
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.0944
+Problem: Test_profile is a little bit flaky.
+Solution: Accept a match when self and total time are the same. (James
+ McCoy, closes #1972)
+Files: src/testdir/test_profile.vim
+
+Patch 8.0.0945
+Problem: 64-bit compiler warnings.
+Solution: Use "size_t" instead of "int". (Mike Williams)
+Files: src/os_win32.c
+
+Patch 8.0.0946
+Problem: Using PATH_MAX does not work well on some systems.
+Solution: use MAXPATHL instead. (James McCoy, closes #1973)
+Files: src/main.c
+
+Patch 8.0.0947
+Problem: When in Insert mode and using CTRL-O CTRL-W CTRL-W to move to a
+ terminal window, get in a weird Insert mode.
+Solution: Don't go to Insert mode in a terminal window. (closes #1977)
+Files: src/normal.c
+
+Patch 8.0.0948
+Problem: Crash if timer closes window while dragging status line.
+Solution: Check if the window still exists. (Yasuhiro Matsumoto, closes
+ #1979)
+Files: src/edit.c, src/evalfunc.c, src/gui.c, src/normal.c, src/ui.c
+
+Patch 8.0.0949
+Problem: winpty.dll name is fixed.
+Solution: Add the 'winptydll' option. Make the default name depend on
+ whether it is a 32-bit or 64-bit build. (idea by Yasuhiro
+ Matsumoto, closes #1978)
+Files: src/option.c, src/option.h, src/terminal.c,
+ runtime/doc/options.txt
+
+Patch 8.0.0950
+Problem: MS-Windows: wrong #ifdef, compiler warnings for signed/unsigned.
+Solution: Change variable type. Change TERMINAL to FEAT_TERMINAL.
+Files: src/os_win32.c, src/option.h
+
+Patch 8.0.0951
+Problem: Another wrong #ifdef.
+Solution: Change TERMINAL to FEAT_TERMINAL. (closes #1981)
+Files: src/option.c
+
+Patch 8.0.0952
+Problem: MS-Windows: has('terminal') does not check existence of dll file.
+Solution: Check if the winpty dll file can be loaded. (Ken Takata)
+Files: src/evalfunc.c, src/proto/terminal.pro, src/terminal.c
+
+Patch 8.0.0953
+Problem: Get "no write since last change" error in terminal window.
+Solution: Use another message when closing a terminal window. Make ":quit!"
+ also end the job.
+Files: src/globals.h, src/buffer.c, src/proto/buffer.pro, src/ex_cmds.c,
+ src/ex_cmds2.c, src/ex_docmd.c, src/quickfix.c, src/terminal.c
+
+Patch 8.0.0954
+Problem: /proc/self/exe might be a relative path.
+Solution: Make the path a full path. (James McCoy, closes #1983)
+Files: src/main.c
+
+Patch 8.0.0955
+Problem: Test_existent_file() fails on some file systems.
+Solution: Run the test again with a sleep when the test fails without a
+ sleep. (James McCoy, closes #1984)
+Files: src/testdir/test_stat.vim
+
+Patch 8.0.0956
+Problem: Scrolling in a terminal hwindow as flicker when the Normal
+ background differs from the terminal window background.
+Solution: Set the attribute to clear with.
+Files: src/terminal.c, src/screen.c, src/proto/screen.pro, src/message.c,
+ src/move.c
+
+Patch 8.0.0957
+Problem: When term_sendkeys() sends many keys it may get stuck in writing
+ to the job.
+Solution: Make the write non-blocking, buffer keys to be sent.
+Files: src/terminal.c, src/channel.c, src/proto/channel.pro,
+ src/structs.h src/testdir/test_terminal.vim
+
+Patch 8.0.0958
+Problem: The terminal test fails on MS-Windows when compiled with the
+ terminal feature but the winpty DLL is missing.
+Solution: Check if the terminal feature works. (Ken Takata)
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.0959
+Problem: Build failure on MS-Windows.
+Solution: Use ioctlsocket() instead of fcntl().
+Files: src/channel.c
+
+Patch 8.0.0960
+Problem: Job in terminal does not get CTRL-C, we send a SIGINT instead.
+Solution: Don't call may_send_sigint() on CTRL-C. Make CTRL-W CTRL-C end
+ the job.
+Files: src/terminal.c, runtime/doc/terminal.txt
+
+Patch 8.0.0961
+Problem: The script to build the installer does not include winpty.
+Solution: Add winpty32.dll and winpty-agent.exe like diff.exe
+Files: nsis/gvim.nsi
+
+Patch 8.0.0962
+Problem: Crash with virtualedit and joining lines. (Joshua T Corbin, Neovim
+ #6726)
+Solution: When using a mark check that coladd is valid.
+Files: src/normal.c, src/misc2.c, src/Makefile,
+ src/testdir/test_virtualedit.vim, src/testdir/test_alot.vim
+
+Patch 8.0.0963
+Problem: Terminal test fails on MacOS. (chdiza)
+Solution: Wait for the shell to echo the characters. (closes #1991)
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.0964
+Problem: Channel write buffer does not work with poll().
+Solution: Use the same mechanism as with select().
+Files: src/channel.c
+
+Patch 8.0.0965
+Problem: The cursor shape is not reset after it was changed in a terminal.
+Solution: Request the original cursor shape and restore it. Add t_RS.
+ Do not add t_SH for now, it does not work properly.
+Files: src/term.c, src/term.h, src/option.c, src/terminal.c
+
+Patch 8.0.0966 (after 8.0.0965)
+Problem: Build failure without terminal feature.
+Solution: Move #endif.
+Files: src/term.c
+
+Patch 8.0.0967
+Problem: Using a terminal may cause the cursor to blink.
+Solution: Do not set t_vs, since we cannot restore the old blink state.
+Files: src/term.c
+
+Patch 8.0.0968
+Problem: Crash when switching terminal modes. (Nikolai Pavlov)
+Solution: Check that there are scrollback lines.
+Files: src/terminal.c
+
+Patch 8.0.0969
+Problem: Coverity warning for unused return value.
+Solution: Add (void) to avoid the warning.
+Files: src/channel.c
+
+Patch 8.0.0970
+Problem: if there is no StatusLine highlighting and there is StatusLineNC
+ or StatusLineTermNC highlighting then an invalid highlight id is
+ passed to combine_stl_hlt(). (Coverity)
+Solution: Check id_S to be -1 instead of zero.
+Files: src/syntax.c
+
+Patch 8.0.0971
+Problem: 'winptydll' missing from :options.
+Solution: Add the entry.
+Files: runtime/optwin.vim
+
+Patch 8.0.0972
+Problem: Compiler warnings for unused variables. (Tony Mechelynck)
+Solution: Add #ifdefs.
+Files: src/term.c
+
+Patch 8.0.0973
+Problem: initial info about blinking cursor is wrong
+Solution: Invert the blink flag. Add t_VS to stop a blinking cursor.
+Files: src/term.c, src/proto/term.pro, src/term.h, src/option.c,
+ src/terminal.c
+
+Patch 8.0.0974
+Problem: Resetting a string option does not trigger OptionSet. (Rick Howe)
+Solution: Set the origval.
+Files: src/option.c, src/testdir/test_autocmd.vim
+
+Patch 8.0.0975
+Problem: Using freed memory when setting 'backspace'.
+Solution: When changing oldval also change origval.
+Files: src/option.c
+
+Patch 8.0.0976
+Problem: Cannot send lines to a terminal job.
+Solution: Make [range]terminal send selected lines to the job.
+ Use ++rows and ++cols for the terminal size.
+Files: src/ex_cmds.h, src/terminal.c, src/os_unix.c,
+ src/testdir/test_terminal.vim
+
+Patch 8.0.0977
+Problem: Cannot send lines to a terminal job on MS-Windows.
+Solution: Set jv_in_buf. Command doesn't get EOF yet though.
+Files: src/terminal.c
+
+Patch 8.0.0978
+Problem: Writing to terminal job is not tested.
+Solution: Add a test.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.0979
+Problem: Terminal noblock test fails on MS-Windows. (Christian Brabandt)
+Solution: Ignore empty line below "done".
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.0980
+Problem: Coverity warning for failing to open /dev/null.
+Solution: When /dev/null can't be opened exit the child.
+Files: src/os_unix.c
+
+Patch 8.0.0981
+Problem: Cursor in terminal window blinks by default, while in a real xterm
+ it does not blink, unless the -bc argument is used.
+Solution: Do not use a blinking cursor by default.
+Files: src/terminal.c
+
+Patch 8.0.0982
+Problem: When 'encoding' is set to a multi-byte encoding other than utf-8
+ the characters from their terminal are messed up.
+Solution: Convert displayed text from utf-8 to 'encoding' for MS-Windows.
+ (Yasuhiro Matsumoto, close #2000)
+Files: src/terminal.c
+
+Patch 8.0.0983
+Problem: Unnecessary check for NULL pointer.
+Solution: Remove the NULL check in dialog_changed(), it already happens in
+ dialog_msg(). (Ken Takata)
+Files: src/ex_cmds2.c
+
+Patch 8.0.0984
+Problem: Terminal blinking cursor not correct in the GUI.
+Solution: Set blinkoff correctly. Also make the cursor blink on MS-Windows
+ by default. (Ken Takata)
+Files: src/terminal.c
+
+Patch 8.0.0985
+Problem: Libvterm has its own idea of character width.
+Solution: Use the Vim functions for character width and composing to avoid a
+ mismatch. (idea by Yasuhiro Matsumoto)
+Files: src/Makefile, src/libvterm/src/unicode.c, src/mbyte.c,
+ src/proto/mbyte.pro, src/Make_cyg_ming.mak, src/Make_mvc.mak
+
+Patch 8.0.0986
+Problem: Terminal feature always requires multi-byte feature.
+Solution: Remove #ifdef FEAT_MBYTE, disable terminal without multi-byte.
+Files: src/terminal.c, src/feature.h
+
+Patch 8.0.0987
+Problem: terminal: second byte of double-byte char wrong
+Solution: Set the second byte to NUL only for utf-8 and non-multibyte.
+Files: src/terminal.c
+
+Patch 8.0.0988
+Problem: Warning from Covscan about using NULL pointer.
+Solution: Add extra check for NULL. (zdohnal)
+Files: src/fileio.c, src/undo.c
+
+Patch 8.0.0989
+Problem: ActiveTcl dll name has changed in 8.6.6.
+Solution: Adjust the makefile. (Ken Takata)
+Files: src/INSTALLpc.txt, src/Make_cyg_ming.mak, src/Make_mvc.mak
+
+Patch 8.0.0990
+Problem: When 'encoding' is a double-byte encoding, pasting a register into
+ a terminal ends up with the wrong characters.
+Solution: Convert from 'encoding' to utf-8. (Yasuhiro Matsumoto, closes
+ #2007)
+Files: src/terminal.c
+
+Patch 8.0.0991
+Problem: Using wrong character conversion for DBCS.
+Solution: Use utf_char2bytes instead of mb_char2bytes. (Yasuhiro Matsumoto,
+ closes #2012)
+Files: src/terminal.c
+
+Patch 8.0.0992
+Problem: Terminal title is wrong when 'encoding' is DBCS.
+Solution: Convert the title from DBCS to utf-8. (Yasuhiro Matsumoto, closes
+ #2009)
+Files: src/terminal.c
+
+Patch 8.0.0993
+Problem: Sometimes an xterm sends an extra CTRL-X after the response for
+ the background color. Related to t_RS.
+Solution: Check for the CTRL-X after the terminating 0x7.
+Files: src/term.c
+
+Patch 8.0.0994
+Problem: MS-Windows: cursor in terminal blinks even though the blinking
+ cursor was disabled on the system.
+Solution: Use GetCaretBlinkTime(). (Ken Takata)
+Files: src/terminal.c
+
+Patch 8.0.0995
+Problem: Terminal tests fail on Mac.
+Solution: Add workaround: sleep a moment in between sending keys.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.0996
+Problem: Mac: t_RS is echoed on the screen in Terminal.app. Even though
+ $TERM is set to "xterm-256colors" it cannot handle this xterm
+ escape sequence.
+Solution: Recognize Terminal.app from the termresponse and skip sending t_RS
+ if it looks like Terminal.app.
+Files: src/term.c
+
+Patch 8.0.0997 (after 8.0.0996)
+Problem: Libvterm and Terminal.app not recognized from termresponse.
+Solution: Adjust string compare.
+Files: src/term.c
+
+Patch 8.0.0998
+Problem: Strange error when using K while only spaces are selected.
+ (Christian J. Robinson)
+Solution: Check for blank argument.
+Files: src/normal.c, src/testdir/test_help.vim
+
+Patch 8.0.0999
+Problem: Indenting raw C++ strings is wrong.
+Solution: Add special handling of raw strings. (Christian Brabandt)
+Files: src/misc1.c, src/testdir/test_cindent.vim
+
+Patch 8.0.1000
+Problem: Cannot open a terminal without running a job in it.
+Solution: Make ":terminal NONE" open a terminal with a pty.
+Files: src/terminal.c, src/os_unix.c, src/proto/os_unix.pro,
+ src/channel.c, src/proto/channel.pro, src/structs.h,
+ src/testdir/test_terminal.c, src/misc2.c, src/gui_gtk_x11.c
+
+Patch 8.0.1001
+Problem: Setting 'encoding' makes 'printheader' invalid.
+Solution: Do not translate the default value of 'printheader'. (Yasuhiro
+ Matsumoto, closes #2026)
+Files: src/option.c
+
+Patch 8.0.1002
+Problem: Unnecessarily updating screen after timer callback.
+Solution: Check if calling the timer sets must_redraw.
+Files: src/ex_cmds2.c, src/channel.c, src/screen.c, src/proto/screen.pro,
+ src/terminal.c
+
+Patch 8.0.1003
+Problem: 64 bit compiler warning
+Solution: Add type cast. (Mike Williams)
+Files: src/channel.c
+
+Patch 8.0.1004
+Problem: Matchstrpos() without a match returns too many items.
+Solution: Also remove the second item when the position is beyond the end of
+ the string. (Hirohito Higashi) Use an enum for the type.
+Files: src/evalfunc.c, src/testdir/test_match.vim
+
+Patch 8.0.1005
+Problem: Terminal without job updates slowly in GUI.
+Solution: Poll for input when a channel has the keep_open flag.
+Files: src/channel.c, src/proto/channel.pro, src/gui_gtk_x11.c
+
+Patch 8.0.1006
+Problem: Cannot parse text with 'errorformat' without changing a quickfix
+ list.
+Solution: Add the "text" argument to getqflist(). (Yegappan Lakshmanan)
+Files: runtime/doc/eval.txt, src/evalfunc.c, src/proto/quickfix.pro,
+ src/quickfix.c, src/testdir/test_quickfix.vim
+
+Patch 8.0.1007
+Problem: No test for filetype detection for scripts.
+Solution: Add a first test file script filetype detection.
+Files: src/testdir/test_filetype.vim, runtime/scripts.vim
+
+Patch 8.0.1008
+Problem: Slow updating of terminal window in Motif.
+Solution: Add a timeout to the wait-for-character loop.
+Files: src/gui_x11.c
+
+Patch 8.0.1009
+Problem: Xterm cursor blinking status may be inverted.
+Solution: Use another request to get the blink status and compare with the
+ cursor style report
+Files: src/term.c, src/proto/term.pro, src/term.h, src/option.c,
+ src/terminal.c
+
+Patch 8.0.1010 (after 8.0.1009)
+Problem: Build failure without termresponse feature.
+Solution: Add #ifdef.
+Files: src/term.c
+
+Patch 8.0.1011
+Problem: Terminal test fails with Athena and Motif.
+Solution: Ignore the error for the input context. (Kazunobu Kuriyama)
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1012
+Problem: MS-Windows: Problem with $HOME when it was set internally.
+Solution: Only use the $HOME default internally. (Yasuhiro Matsumoto, closes
+ #2013)
+Files: src/misc1.c, src/testdir/Make_all.mak, src/Makefile,
+ src/testdir/test_windows_home.vim
+
+Patch 8.0.1013
+Problem: A terminal window with a running job behaves different from a
+ window containing a changed buffer.
+Solution: Do not set 'bufhidden' to "hide". Fix that a buffer where a
+ terminal used to run is listed as "[Scratch]".
+Files: src/terminal.c, runtime/doc/terminal.txt, src/buffer.c
+
+Patch 8.0.1014
+Problem: Old compiler doesn't know uint32_t. Warning for using NULL instead
+ of NUL.
+Solution: Use UINT32_T. Use NUL instead of NULL.
+Files: src/mbyte.c, src/proto/mbyte.pro, src/misc1.c
+
+Patch 8.0.1015 (after 8.0.1013)
+Problem: Missing update to terminal test.
+Solution: Add the changes to the test.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1016
+Problem: Gnome terminal echoes t_RC.
+Solution: Detect Gnome terminal by the version string. Add v: variables for
+ all the term responses.
+Files: src/term.c, src/eval.c, src/vim.h, runtime/doc/eval.txt
+
+Patch 8.0.1017
+Problem: Test for MS-Windows $HOME always passes.
+Solution: Rename the test function. Make the test pass.
+Files: src/testdir/test_windows_home.vim
+
+Patch 8.0.1018
+Problem: Warnings from 64-bit compiler. (Christian Brabandt)
+Solution: Add type casts.
+Files: src/terminal.c
+
+Patch 8.0.1019
+Problem: Pasting in virtual edit happens in the wrong place.
+Solution: Do not adjust coladd when after the end of the line (closes #2015)
+Files: src/testdir/test_virtualedit.vim, src/misc2.c
+
+Patch 8.0.1020
+Problem: When a timer calls getchar(1) input is overwritten.
+Solution: Increment tb_change_cnt in inchar(). (closes #1940)
+Files: src/getchar.c
+
+Patch 8.0.1021
+Problem: Older Gnome terminal still echoes t_RC. (François Ingelrest)
+Solution: Check for version > 3000 instead of 4000.
+Files: src/term.c
+
+Patch 8.0.1022
+Problem: Test 80 is old style.
+Solution: Turn it into a new style test. (Yegappan Lakshmanan)
+Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
+ src/testdir/test80.in, src/testdir/test80.ok,
+ src/testdir/test_substitute.vim
+
+Patch 8.0.1023
+Problem: It is not easy to identify a quickfix list.
+Solution: Add the "id" field. (Yegappan Lakshmanan)
+Files: runtime/doc/eval.txt, runtime/doc/quickfix.txt, src/quickfix.c,
+ src/testdir/test_quickfix.vim
+
+Patch 8.0.1024
+Problem: Manual folds are lost when a session file has the same buffer in
+ two windows. (Jeansen)
+Solution: Use ":edit" only once. (Christian Brabandt, closes #1958)
+Files: src/ex_docmd.c, src/testdir/test_mksession.vim
+
+Patch 8.0.1025
+Problem: Stray copy command in test.
+Solution: Remove the copy command.
+Files: src/testdir/test_mksession.vim
+
+Patch 8.0.1026
+Problem: GTK on-the-spot input has problems. (Gerd Wachsmuth)
+Solution: Support over-the-spot. (Yukihiro Nakadaira, Ken Takata, closes
+ #1215)
+Files: runtime/doc/mbyte.txt, runtime/doc/options.txt, src/edit.c,
+ src/ex_getln.c, src/mbyte.c, src/misc1.c, src/option.c,
+ src/option.h, src/screen.c, src/undo.c,
+ src/testdir/gen_opt_test.vim
+
+Patch 8.0.1027
+Problem: More terminals can't handle requesting cursor mode.
+Solution: Recognize Putty. (Hirohito Higashi) Also include Xfce in the
+ version check. (Dominique Pelle) Recognize Konsole.
+Files: src/term.c
+
+Patch 8.0.1028
+Problem: MS-Windows: viminfo uses $VIM/_viminfo if $HOME not set. (Yongwei
+ Wu)
+Solution: Use vim_getenv() but check it's returning the default "C:/".
+Files: src/ex_cmds.c
+
+Patch 8.0.1029
+Problem: Return value of getqflist() is inconsistent. (Lcd47)
+Solution: Always return an "items" entry.
+Files: src/quickfix.c, src/testdir/test_quickfix.vim
+
+Patch 8.0.1030
+Problem: MS-Windows: wrong size computation in is_cygpty().
+Solution: Compute the size properly. (Ken Takata)
+Files: src/iscygpty.c, src/iscygpty.h
+
+Patch 8.0.1031
+Problem: "text" argument for getqflist() is confusing. (Lcd47)
+Solution: Use "lines" instead. (Yegappan Lakshmanan)
+Files: runtime/doc/eval.txt, src/quickfix.c,
+ src/testdir/test_quickfix.vim
+
+Patch 8.0.1032
+Problem: "make tags" doesn't work well on MS-Windows.
+Solution: Add or fix tags target. (Ken Takata)
+Files: src/Make_cyg_ming.mak, src/Make_mvc.mak
+
+Patch 8.0.1033
+Problem: Detecting background color does not work in screen, even when it
+ is working like an xterm.
+Solution: Make "screen.xterm" use termcap entries like an xterm. (Lubomir
+ Rintel, closes #2048) When termresponse version is huge also
+ recognize as not being an xterm.
+Files: src/os_unix.c, src/term.c
+
+Patch 8.0.1034
+Problem: Sending buffer lines to terminal doesn't work on MS-Windows.
+Solution: Send CTRL-D to mark the end of the text. (Yasuhiro Matsumoto,
+ closes #2043) Add the "eof_chars" option.
+Files: src/channel.c, src/proto/terminal.pro, src/terminal.c,
+ src/testdir/test_terminal.vim, src/structs.h
+
+Patch 8.0.1035
+Problem: Sending buffer lines to terminal doesn't work on MS-Windows.
+Solution: Use CR instead of NL after every line. Make the EOF text work
+ properly. Add the ++eof argument to :terminal.
+Files: src/structs.h, src/channel.c, src/terminal.c,
+ runtime/doc/terminal.txt, runtime/doc/eval.txt
+
+Patch 8.0.1036
+Problem: ++eof argument for terminal only available on MS-Windows.
+Solution: Also support ++eof on Unix. Add a test.
+Files: src/channel.c, src/terminal.c, src/structs.h,
+ src/testdir/test_terminal.vim
+
+Patch 8.0.1037
+Problem: "icase" of 'diffopt' is not used for highlighting differences.
+Solution: Also use "icase". (Rick Howe)
+Files: src/diff.c, src/testdir/test_diffmode.vim
+
+Patch 8.0.1038
+Problem: Strike-through text not supported.
+Solution: Add support for the "strikethrough" attribute. (Christian
+ Brabandt, Ken Takata)
+Files: runtime/doc/eval.txt, runtime/doc/options.txt,
+ runtime/doc/syntax.txt, runtime/doc/term.txt, src/evalfunc.c,
+ src/gui.c, src/gui.h, src/gui_gtk_x11.c, src/gui_mac.c,
+ src/gui_w32.c, src/gui_x11.c, src/option.c, src/screen.c,
+ src/syntax.c, src/term.c, src/term.h, src/terminal.c, src/vim.h
+
+Patch 8.0.1039
+Problem: Cannot change a line in a buffer other than the current one.
+Solution: Add setbufline(). (Yasuhiro Matsumoto, Ozaki Kiichi, closes #1953)
+Files: src/evalfunc.c, runtime/doc/eval.txt, src/Makefile,
+ src/testdir/test_bufline.vim, src/testdir/test_alot.vim
+
+
+Patch 8.0.1040
+Problem: Cannot use another error format in getqflist().
+Solution: Add the "efm" argument to getqflist(). (Yegappan Lakshmanan)
+Files: runtime/doc/eval.txt, src/quickfix.c,
+ src/testdir/test_quickfix.vim
+
+Patch 8.0.1041
+Problem: Bogus characters appear when indenting kicks in while doing a
+ visual-block append.
+Solution: Recompute when indenting is done. (Christian Brabandt)
+Files: runtime/doc/visual.txt, src/charset.c, src/edit.c, src/misc1.c,
+ src/ops.c, src/proto/charset.pro, src/proto/misc1.pro,
+ src/screen.c, src/spell.c, src/testdir/test_cindent.vim
+
+Patch 8.0.1042 (after 8.0.1038)
+Problem: Without the syntax feature highlighting doesn't work.
+Solution: Always use unsigned short to store attributes.
+Files: src/vim.h
+
+Patch 8.0.1043
+Problem: Warning for uninitialized variable. (John Marriott)
+Solution: Move code to check indent inside "if".
+Files: src/ops.c
+
+Patch 8.0.1044
+Problem: Warning for uninitialized variable. (John Marriott)
+Solution: Initialize ind_pre.
+Files: src/ops.c
+
+Patch 8.0.1045
+Problem: Running tests may pollute shell history. (Manuel Ortega)
+Solution: Make $HISTFILE empty.
+Files: src/testdir/setup.vim
+
+Patch 8.0.1046
+Problem: Code duplication in diff mode.
+Solution: Use diff_equal_char() also in diff_cmp(). (Rick Howe)
+Files: src/diff.c
+
+Patch 8.0.1047
+Problem: Buffer overflow in Ruby.
+Solution: Allocate one more byte. (Dominique Pelle)
+Files: src/if_ruby.c
+
+Patch 8.0.1048
+Problem: No test for what 8.0.1020 fixes.
+Solution: Add test_feedinput(). Add a test. (Ozaki Kiichi, closes #2046)
+Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_timers.vim,
+ src/ui.c
+
+Patch 8.0.1049
+Problem: Shell on Mac can't handle long text, making terminal test fail.
+Solution: Only write 1000 characters instead of 5000.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1050
+Problem: Terminal window feature not included by default.
+Solution: Include the terminal feature for the "huge" build.
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.1051
+Problem: Cannot run terminal with spaces in argument.
+Solution: Accept backslash to escape space and other characters. (closes
+ #1999)
+Files: src/os_unix.c, src/testdir/test_terminal.vim
+
+Patch 8.0.1052
+Problem: term_start() does not allow in_io, out_io and err_io options.
+Solution: Add JO_OUT_IO to get_job_options().
+Files: src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.1053
+Problem: setline() does not work on startup. (Manuel Ortega)
+Solution: Do not check for ml_mfp to be set for the current buffer.
+ (Christian Brabandt)
+Files: src/testdir/shared.vim, src/testdir/test_alot.vim,
+ src/testdir/test_bufline.vim, src/testdir/test_timers.vim,
+ src/evalfunc.c
+
+Patch 8.0.1054
+Problem: Terminal test fails on MS-Windows.
+Solution: Disable the redirection test for now. Improve scrape test to make
+ it less flaky.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1055
+Problem: Bufline test hangs on MS-Windows.
+Solution: Avoid message for writing file. Source shared.vim when running
+ test individually.
+Files: src/testdir/test_bufline.vim, src/testdir/test_timers.vim
+
+Patch 8.0.1056
+Problem: Cannot build with the diff feature but without the multi-byte
+ feature.
+Solution: Remove #ifdefs. (John Marriott)
+Files: src/diff.c
+
+Patch 8.0.1057
+Problem: Terminal scrape test waits too long, it checks for one instead of
+ three.
+Solution: Check there are three characters. (micbou)
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1058
+Problem: Terminal redirection test is flaky.
+Solution: Wait for job to finish.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1059
+Problem: older Gnome terminal returns smaller version number. (antarestrue)
+Solution: Lower version limit from 2800 to 2500. (#2032)
+Files: src/term.c
+
+Patch 8.0.1060
+Problem: When imstyle is zero, mapping <Left> breaks preediting.
+Solution: Pass though preediting key-events. (Yasuhiro Matsumoto, closes
+ #2064, closes #2063)
+Files: src/getchar.c, src/mbyte.c
+
+Patch 8.0.1061
+Problem: Coverity: no check for NULL command.
+Solution: Check for NULL list item.
+Files: src/terminal.c
+
+Patch 8.0.1062
+Problem: Coverity warnings in libvterm.
+Solution: Add (void) to avoid warning for not checking return value.
+ Add "break" before "case".
+Files: src/libvterm/src/screen.c, src/libvterm/src/state.c
+
+Patch 8.0.1063
+Problem: Coverity warns for NULL check and using variable pointer as an
+ array.
+Solution: Remove the NULL check. Make "argvar" an array.
+Files: src/terminal.c
+
+Patch 8.0.1064
+Problem: Coverity warns for leaking resource.
+Solution: Free pty_master_fd on failure.
+Files: src/os_unix.c
+
+Patch 8.0.1065
+Problem: Not all macro examples are included in the self-installing
+ executable. (lkintact)
+Solution: Add the directories to the NSIS script. (closes #2065)
+Files: nsis/gvim.nsi
+
+Patch 8.0.1066
+Problem: Some terminals can't handle requesting cursor mode. (Steven
+ Hartland)
+Solution: Recognize vandyke SecureCRT. (closes #2008)
+Files: src/term.c
+
+Patch 8.0.1067
+Problem: Using try/catch in timer does not prevent it from being stopped.
+Solution: Reset the exception context and use did_emsg instead of
+ called_emsg.
+Files: src/ex_cmds2.c, src/testdir/test_timers.vim, src/globals.h,
+ src/message.c
+
+Patch 8.0.1068 (after 8.0.1066)
+Problem: Vandyke SecureCRT terminal can't handle cursor mode request.
+ (Steven Hartland)
+Solution: Fix pointer computation. (closes #2008)
+Files: src/term.c
+
+Patch 8.0.1069
+Problem: Still get CTRL-X sometimes for t_RS request.
+Solution: Also skip 0x18 after a key code response.
+Files: src/term.c
+
+Patch 8.0.1070
+Problem: Terminal test is flaky on Mac.
+Solution: Add Test_terminal_noblock() to list of flaky tests.
+Files: src/testdir/runtest.vim
+
+Patch 8.0.1071
+Problem: $TERM names starting with "putty" and "cygwin" are likely to have
+ a dark background, but are not recognized.
+Solution: Only check the first few characters of $TERM to match "putty" or
+ "cygwin". (Christian Brabandt)
+Files: src/option.c
+
+Patch 8.0.1072
+Problem: The :highlight command causes a redraw even when nothing changed.
+Solution: Only set "need_highlight_changed" when an attribute changed.
+Files: src/syntax.c
+
+Patch 8.0.1073
+Problem: May get an endless loop if 'statusline' changes a highlight.
+Solution: Do not let evaluating 'statusline' trigger a redraw.
+Files: src/buffer.c
+
+Patch 8.0.1074
+Problem: ":term NONE" does not work on MS-Windows.
+Solution: Make it work. Split "pty" into "pty_in" and "pty_out". (Yasuhiro
+ Matsumoto, closes #2058, closes #2045)
+Files: runtime/doc/eval.txt,
+ runtime/pack/dist/opt/termdebug/plugin/termdebug.vim,
+ src/channel.c, src/evalfunc.c, src/os_unix.c, src/structs.h,
+ src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.1075
+Problem: MS-Windows: mouse does not work in terminal.
+Solution: Force the winpty mouse on. (Yasuhiro Matsumoto, closes #2072)
+Files: src/terminal.c
+
+Patch 8.0.1076
+Problem: term_start() does not take callbacks. When using two terminals
+ without a job only one is read from. A terminal without a window
+ returns the wrong pty.
+Solution: Support "callback", "out_cb" and "err_cb". Fix terminal without a
+ window. Fix reading from multiple channels.
+Files: src/terminal.c, src/proto/terminal.pro, src/channel.c,
+
+Patch 8.0.1077
+Problem: No debugger making use of the terminal window.
+Solution: Add the term debugger plugin. So far only displays the current
+ line when stopped.
+Files: Filelist, runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+
+Patch 8.0.1078
+Problem: Using freed memory with ":hi Normal".
+Solution: Get "item" again after updating the table.
+Files: src/syntax.c
+
+Patch 8.0.1079
+Problem: Memory leak when remote_foreground() fails.
+Solution: Free the error message.
+Files: src/evalfunc.c, src/if_xcmdsrv.c
+
+Patch 8.0.1080
+Problem: Memory leak for eof_chars terminal option and buffer name.
+Solution: Free job options. Free the buffer name
+Files: src/terminal.c
+
+Patch 8.0.1081
+Problem: Memory leak for the channel write queue.
+Solution: Free the write queue when clearing a channel.
+Files: src/channel.c
+
+Patch 8.0.1082
+Problem: Tests fail when run under valgrind.
+Solution: Increase waiting times.
+Files: src/testdir/test_clientserver.vim, src/testdir/test_terminal.vim
+
+Patch 8.0.1083
+Problem: Leaking memory in input part of channel.
+Solution: Clear the input part of channel. Free the entry. Move failing
+ command test to a separate file to avoid bogus leak reports
+ clouding tests that should not leak.
+Files: src/channel.c, src/testdir/test_terminal.vim, src/Makefile,
+ src/testdir/test_terminal_fail.vim, src/testdir/Make_all.mak
+
+Patch 8.0.1084
+Problem: GTK build has compiler warnings. (Christian Brabandt)
+Solution: Get screen size with a different function. (Ken Takata, Yasuhiro
+ Matsumoto)
+Files: src/mbyte.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro,
+ src/gui_beval.c
+
+Patch 8.0.1085
+Problem: The terminal debugger can't set breakpoints.
+Solution: Add :Break and :Delete commands. Also commands for stepping
+ through code.
+Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim,
+ runtime/doc/terminal.txt
+
+Patch 8.0.1086 (after 8.0.1084)
+Problem: Can't build with GTK 3.
+Solution: Rename function argument. (Kazunobu Kuriyama)
+Files: src/gui_gtk_x11.c
+
+Patch 8.0.1087
+Problem: Test_terminal_cwd is flaky. MS-Windows: term_start() "cwd"
+ argument does not work.
+Solution: Wait for the condition to be true instead of using a sleep.
+ Pass the directory to winpty.
+Files: src/testdir/test_terminal.vim, src/terminal.c
+
+Patch 8.0.1088
+Problem: Occasional memory use after free.
+Solution: Use the highlight table directly, don't keep a pointer.
+Files: src/syntax.c
+
+Patch 8.0.1089
+Problem: Cannot get range count in user command.
+Solution: Add <range> argument.
+Files: src/ex_docmd.c, runtime/doc/map.txt
+
+Patch 8.0.1090
+Problem: cannot get the text under the cursor like v:beval_text
+Solution: Add <cexpr>.
+Files: src/ex_docmd.c, src/testdir/test_normal.vim,
+ runtime/doc/cmdline.txt
+
+Patch 8.0.1091 (after 8.0.1090)
+Problem: Test for <cexpr> fails without +balloon_eval feature.
+Solution: Remove #ifdefs.
+Files: src/normal.c
+
+Patch 8.0.1092
+Problem: Terminal debugger can't evaluate expressions.
+Solution: Add :Evaluate and K. Various other improvements.
+Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim,
+ runtime/doc/terminal.txt
+
+Patch 8.0.1093
+Problem: Various small quickfix issues.
+Solution: Remove ":" prefix from title set by a user. Add the qf_id2nr().
+ function. Add a couple more tests. Update documentation.
+ (Yegappan Lakshmanan)
+Files: runtime/doc/eval.txt, runtime/doc/quickfix.txt, src/evalfunc.c,
+ src/proto/quickfix.pro, src/quickfix.c,
+ src/testdir/test_quickfix.vim
+
+Patch 8.0.1094
+Problem: Using ssh from Terminal.app runs into xterm incompatibility.
+Solution: Also detect Terminal.app on non-Mac systems.
+Files: src/term.c
+
+Patch 8.0.1095
+Problem: Terminal multibyte scrape test is flaky.
+Solution: Add another condition to wait for.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1096
+Problem: Terminal window in Normal mode has wrong background.
+Solution: Store the default background and use it for clearing until the
+ end of the line. Not for below the last line, since there is no
+ text there.
+Files: src/screen.c, src/terminal.c
+
+Patch 8.0.1097 (after 8.0.1096)
+Problem: Background color wrong if job changes background color.
+Solution: Get the background color from vterm.
+Files: src/terminal.c, src/screen.c
+
+Patch 8.0.1098
+Problem: Build failure if libvterm installed on the system. (Oleh
+ Hushchenkov)
+Solution: Change the CCCTERM argument order. (Ken Takata, closes #2080)
+Files: src/Makefile
+
+Patch 8.0.1099
+Problem: Warnings for GDK calls.
+Solution: Use other calls for GTK 3 and fix a few problems. (Kazunobu
+ Kuriyama)
+Files: src/mbyte.c
+
+Patch 8.0.1100
+Problem: Stuck in redraw loop when 'lazyredraw' is set.
+Solution: Don't loop on update_screen() when not redrawing. (Yasuhiro
+ Matsumoto, closes #2082)
+Files: src/terminal.c, src/screen.c, src/proto/screen.pro
+
+Patch 8.0.1101
+Problem: Channel write fails if writing to log fails.
+Solution: Ignore return value of fwrite(). (Ozaki Kiichi, closes #2081)
+Files: src/channel.c
+
+Patch 8.0.1102
+Problem: Terminal window does not use Normal colors.
+Solution: For the GUI and when 'termguicolors' is enabled, use the actual
+ foreground and background colors for the terminal. (Yasuhiro
+ Matsumoto, closes #2067)
+ Use the "Terminal" highlight group if defined.
+Files: src/terminal.c, src/syntax.c, src/proto/syntax.pro
+
+Patch 8.0.1103 (after 8.0.1102)
+Problem: Converting cterm color fails for grey ramp.
+Solution: Use index instead of number.
+Files: src/terminal.c
+
+Patch 8.0.1104
+Problem: The qf_jump() function is too long.
+Solution: Split of parts to separate functions. (Yegappan Lakshmanan)
+Files: src/quickfix.c
+
+Patch 8.0.1105
+Problem: match() and matchend() are not tested.
+Solution: Add tests. (Ozaki Kiichi, closes #2088)
+Files: src/testdir/test_functions.vim, src/testdir/test_match.vim
+
+Patch 8.0.1106
+Problem: Terminal colors on an MS-Windows console are not matching the
+ normal colors.
+Solution: Use the normal colors for the terminal. (Yasuhiro Matsumoto,
+ closes #2087)
+Files: src/terminal.c
+
+Patch 8.0.1107
+Problem: Terminal debugger jumps to non-existing file.
+Solution: Check that the file exists. Add an option to make the Vim width
+ wide. Fix removing highlight groups.
+Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim,
+ runtime/doc/terminal.txt
+
+Patch 8.0.1108
+Problem: Cannot specify mappings for the terminal window.
+Solution: Add the :tmap command and associated code. (Jacob Askeland,
+ closes #2073)
+Files: runtime/doc/map.txt, runtime/doc/terminal.txt, src/ex_cmdidxs.h,
+ src/ex_cmds.h, src/ex_docmd.c, src/getchar.c, src/gui.c,
+ src/terminal.c, src/testdir/test_terminal.vim, src/vim.h,
+ src/proto/terminal.pro, src/main.c, src/evalfunc.c
+
+Patch 8.0.1109
+Problem: Timer causes error on exit from Ex mode. (xtal8)
+Solution: save and restore the ex_pressedreturn flag. (Christian Brabandt,
+ closes #2079)
+Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/ex_cmds2.c,
+ src/testdir/test_timers.vim
+
+Patch 8.0.1110
+Problem: FORTIFY_SOURCE from Perl causes problems. (Scott Baker)
+Solution: Filter out the flag. (Christian Brabandt, closes #2068)
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.1111
+Problem: Syntax error in configure when using Perl.
+Solution: Add missing quote
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.1112
+Problem: Can't get size or current index from quickfix list.
+Solution: Add "idx" and "size" options. (Yegappan Lakshmanan)
+Files: runtime/doc/eval.txt, src/quickfix.c,
+ src/testdir/test_quickfix.vim
+
+Patch 8.0.1113
+Problem: Can go to Insert mode from Terminal-Normal mode.
+Solution: Prevent :startinsert and "VA" to enter Insert mode. (Yasuhiro
+ Matsumoto, closes #2092)
+Files: src/normal.c
+
+Patch 8.0.1114
+Problem: Default for 'iminsert' is annoying.
+Solution: Make the default always zero. (Yasuhiro Matsumoto, closes #2071)
+Files: src/option.c, runtime/doc/options.txt
+
+Patch 8.0.1115
+Problem: Crash when using foldtextresult() recursively.
+Solution: Avoid recursive calls. (Yasuhiro Matsumoto, closes #2098)
+Files: src/evalfunc.c, src/testdir/test_fold.vim
+
+Patch 8.0.1116
+Problem: Terminal test fails on MS-Windows.
+Solution: Wait for the text to appear. (micbou, closes #2097)
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1117
+Problem: Test_terminal_no_cmd hangs on MS-Windows with GUI. (Christian
+ Brabandt)
+Solution: Run the command with "start" and wait for the text to appear.
+ (micbou, closes #2096)
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1118
+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.
+Files: src/feature.h, src/window.c, src/vim.h, src/structs.h,
+ src/globals.h, src/gui.h, src/if_py_both.h, src/option.h,
+ src/term.h, src/buffer.c, src/charset.c, src/digraph.c,
+ src/edit.c, src/eval.c, src/evalfunc.c, src/ex_cmds.c,
+ src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, src/fileio.c,
+ src/fold.c, src/getchar.c, src/gui.c, src/gui_athena.c,
+ src/gui_beval.c, src/gui_gtk.c, src/gui_motif.c, src/gui_w32.c,
+ src/if_cscope.c, src/if_lua.c, src/if_mzsch.c, src/if_python.c,
+ src/if_python3.c, src/if_ruby.c, src/if_tcl.c, src/main.c,
+ src/mark.c, src/memline.c, src/misc1.c, src/misc2.c, src/move.c,
+ src/netbeans.c, src/normal.c, src/option.c, src/popupmnu.c,
+ src/quickfix.c, src/screen.c, src/search.c, src/spell.c,
+ src/syntax.c, src/tag.c, src/term.c, src/ui.c, src/version.c,
+ src/workshop.c, src/if_perl.xs, src/testdir/test_normal.vim
+
+Patch 8.0.1119
+Problem: Quitting a split terminal window kills the job. (Yasuhiro
+ Matsumoto)
+Solution: Only stop terminal job if it is the last window.
+Files: src/buffer.c, src/testdir/test_terminal.vim
+
+Patch 8.0.1120 (after 8.0.1108)
+Problem: :tm means :tmap instead of :tmenu. (Taro Muraoka)
+Solution: Move the new entry below the old entry. (closes #2102)
+Files: src/ex_cmds.h, runtime/doc/map.txt
+
+Patch 8.0.1121
+Problem: Can uncheck executables in MS-Windows installer.
+Solution: Make the choice read-only. (Ken Takata, closes #2106)
+Files: nsis/gvim.nsi
+
+Patch 8.0.1122
+Problem: vimtutor.bat doesn't work well with vim.bat.
+Solution: Use "call vim". (Ken Takata, closes #2105)
+Files: vimtutor.bat
+
+Patch 8.0.1123
+Problem: Cannot define a toolbar for a window.
+Solution: Add a window-local toolbar.
+Files: src/syntax.c, src/proto/syntax.pro, src/structs.h, src/menu.c,
+ src/proto/menu.pro, src/testdir/test_winbar.vim, src/Makefile,
+ src/normal.c, src/testdir/Make_all.mak, src/if_perl.xs,
+ src/eval.c, src/evalfunc.c, src/window.c, src/ui.c,
+ src/terminal.c, src/screen.c,
+ runtime/pack/dist/opt/termdebug/plugin/termdebug.vim,
+ runtime/doc/gui.txt, runtime/doc/terminal.txt
+
+Patch 8.0.1124
+Problem: Use of MZSCHEME_VER is unclear.
+Solution: Add a comment. (Ken Takata)
+Files: src/Make_cyg_ming.mak, src/Make_mvc.mak
+
+Patch 8.0.1125
+Problem: Wrong window height when splitting window with window toolbar.
+Solution: Add or subtract the window toolbar height.
+Files: src/window.c
+
+Patch 8.0.1126
+Problem: Endless resize when terminal showing in two buffers. (Hirohito
+ Higashi)
+Solution: Set a flag to prevent resizing the window.
+Files: src/terminal.c
+
+Patch 8.0.1127
+Problem: Test_peek_and_get_char fails on 32 bit system. (Elimar
+ Riesebieter)
+Solution: Avoid an integer overflow. (James McCoy, closes #2116)
+Files: src/ex_cmds2.c
+
+Patch 8.0.1128
+Problem: Old xterm sends CTRL-X in response to t_RS.
+Solution: Only send t_RS for xterm 279 and later. Remove the workaround to
+ ignore CTRL-X.
+Files: src/term.c
+
+Patch 8.0.1129
+Problem: Window toolbar missing a part of the patch.
+Solution: Add change in vim.h.
+Files: src/vim.h
+
+Patch 8.0.1130
+Problem: The qf_jump() function is still too long.
+Solution: Split of parts to separate functions. (Yegappan Lakshmanan)
+Files: src/quickfix.c
+
+Patch 8.0.1131
+Problem: It is not easy to trigger an autocommand for new terminal window.
+ (Marco Restelli)
+Solution: Trigger BufWinEnter after setting 'buftype'.
+Files: src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.1132
+Problem: #if condition is not portable.
+Solution: Add defined(). (Zuloloxi, closes #2136)
+Files: src/libvterm/src/vterm.c
+
+Patch 8.0.1133
+Problem: Syntax timeout not used correctly.
+Solution: Do not pass the timeout to syntax_start() but set it explicitly.
+ (Yasuhiro Matsumoto, closes #2139)
+Files: src/proto/syntax.pro, src/screen.c, src/syntax.c
+
+Patch 8.0.1134
+Problem: Superfluous call to syn_get_final_id().
+Solution: Remove it. (Ken Takata)
+Files: src/syntax.c
+
+Patch 8.0.1135
+Problem: W_WINCOL() is always the same.
+Solution: Expand the macro.
+Files: src/edit.c, src/ex_docmd.c, src/gui_gtk.c, src/gui_w32.c,
+ src/netbeans.c, src/popupmnu.c, src/screen.c, src/term.c,
+ src/terminal.c, src/ui.c, src/window.c, src/if_py_both.h,
+ src/structs.h, src/vim.h
+
+Patch 8.0.1136
+Problem: W_WIDTH() is always the same.
+Solution: Expand the macro.
+Files: src/charset.c, src/edit.c, src/evalfunc.c, src/ex_cmds.c,
+ src/ex_docmd.c, src/getchar.c, src/gui.c, src/gui_beval.c,
+ src/gui_mac.c, src/if_lua.c, src/if_mzsch.c, src/if_py_both.h,
+ src/if_ruby.c, src/misc1.c, src/misc2.c, src/move.c, src/normal.c,
+ src/popupmnu.c, src/quickfix.c, src/screen.c, src/search.c,
+ src/structs.h, src/ui.c, src/vim.h, src/window.c
+
+Patch 8.0.1137 (after 8.0.1136)
+Problem: Cannot build with Ruby.
+Solution: Fix misplaced brace.
+Files: src/if_ruby.c
+
+Patch 8.0.1138
+Problem: Click in window toolbar starts Visual mode.
+Solution: Add the MOUSE_WINBAR flag.
+Files: src/ui.c, src/vim.h, src/normal.c
+
+Patch 8.0.1139
+Problem: Using window toolbar changes state.
+Solution: Always execute window toolbar actions in Normal mode.
+Files: runtime/doc/gui.txt, src/structs.h, src/ex_docmd.c,
+ src/proto/ex_docmd.pro, src/menu.c
+
+Patch 8.0.1140
+Problem: Still old style tests.
+Solution: Convert two tests to new style. (Yegappan Lakshmanan)
+Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
+ src/testdir/test56.in, src/testdir/test56.ok,
+ src/testdir/test57.in, src/testdir/test57.ok,
+ src/testdir/test_sort.vim, src/testdir/test_vimscript.vim
+
+Patch 8.0.1141
+Problem: MS-Windows build dependencies are incomplete.
+Solution: Fix the dependencies. (Ken Takata)
+Files: src/Make_cyg.mak, src/Make_cyg_ming.mak, src/Make_ming.mak,
+ src/Make_mvc.mak
+
+Patch 8.0.1142
+Problem: Window toolbar menu gets a tear-off item.
+Solution: Recognize the window toolbar.
+Files: src/menu.c
+
+Patch 8.0.1143
+Problem: Macros always expand to the same thing.
+Solution: Remove W_VSEP_WIDTH() and W_STATUS_HEIGHT().
+Files: src/vim.h, src/structs.h, src/gui.c, src/ex_getln.c, src/screen.c
+
+Patch 8.0.1144
+Problem: Using wrong #ifdef for computing length.
+Solution: use BACKSLASH_IN_FILENAME instead of COLON_IN_FILENAME. (Yasuhiro
+ Matsumoto, closes #2153)
+Files: src/quickfix.c
+
+Patch 8.0.1145
+Problem: Warning when compiling with Perl.
+Solution: Remove unused variable. (Ken Takata)
+Files: src/if_perl.xs
+
+Patch 8.0.1146
+Problem: Redraw when highlight is set with same names. (Ozaki Kiichi)
+Solution: Only free and save a name when it changed. (closes #2120)
+Files: src/syntax.c
+
+Patch 8.0.1147
+Problem: Fail to build with tiny features. (Tony Mechelynck)
+Solution: Move #ifdefs.
+Files: src/syntax.c
+
+Patch 8.0.1148
+Problem: "gN" doesn't work on last match with 'wrapscan' off. (fcpg)
+Solution: Adjust for searching backward. (Christian Brabandt)
+Files: src/search.c, src/testdir/test_gn.vim
+
+Patch 8.0.1149
+Problem: libvterm colors differ from xterm.
+Solution: Use the xterm colors for libvterm.
+Files: src/terminal.c, src/libvterm/src/pen.c,
+ src/testdir/xterm_ramp.vim, Filelist
+
+Patch 8.0.1150
+Problem: MS-Windows GUI: dialog font size is incorrect.
+Solution: Pass flag to indicate 'encoding' or active codepage. (Yasuhiro
+ Matsumoto, closes #2160)
+Files: src/gui_w32.c
+
+Patch 8.0.1151
+Problem: "vim -c startinsert!" doesn't append.
+Solution: Correct line number on startup. (Christian Brabandt, closes #2117)
+Files: src/ex_docmd.c, src/testdir/test_startup.vim
+
+Patch 8.0.1152
+Problem: Encoding of error message wrong in Cygwin terminal.
+Solution: Get locale from environment variables. (Ken Takata)
+Files: src/main.c, src/mbyte.c, src/proto/mbyte.pro
+
+Patch 8.0.1153
+Problem: No tests for diff_hlID() and diff_filler().
+Solution: Add tests. (Dominique Pelle, closes #2156)
+Files: src/testdir/test_diffmode.vim
+
+Patch 8.0.1154
+Problem: 'indentkeys' does not work properly. (Gary Johnson)
+Solution: Get the cursor line again. (Christian Brabandt, closes #2151)
+Files: src/edit.c, src/testdir/test_edit.vim
+
+Patch 8.0.1155
+Problem: Ruby command triggers a warning when RUBYOPT is set to "-w".
+Solution: use "-e_=0" instead of "-e0". (Masataka Pocke Kuwabara, closes
+ #2143)
+Files: src/if_ruby.c
+
+Patch 8.0.1156
+Problem: Removing one -W argument from Perl CFLAGS may cause trouble.
+Solution: Remove all -W flags. (Christian Brabandt)
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.1157
+Problem: Compiler warning on MS-Windows.
+Solution: Add type cast. (Yasuhiro Matsumoto)
+Files: src/main.c
+
+Patch 8.0.1158
+Problem: Still old style tests.
+Solution: Convert several tests to new style. (Yegappan Lakshmanan)
+Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
+ src/testdir/main.aap, src/testdir/test33.in,
+ src/testdir/test33.ok, src/testdir/test41.in,
+ src/testdir/test41.ok, src/testdir/test43.in,
+ src/testdir/test43.ok, src/testdir/test53.in,
+ src/testdir/test53.ok, src/testdir/test_file_size.vim,
+ src/testdir/test_lispwords.vim, src/testdir/test_search.vim,
+ src/testdir/test_textobjects.vim
+
+Patch 8.0.1159
+Problem: Typo in #ifdef.
+Solution: Change "PROT" to "PROTO". (Nobuhiro Takasaki, closes #2165)
+Files: src/syntax.c
+
+Patch 8.0.1160
+Problem: Getting tab-local variable fails after closing window.
+Solution: set tp_firstwin and tp_lastwin. (Jason Franklin, closes #2170)
+Files: src/window.c, src/evalfunc.c, src/testdir/test_getvar.vim
+
+Patch 8.0.1161
+Problem: Popup menu drawing problem when resizing terminal.
+Solution: Redraw after resizing also when a popup menu is visible. (Ozaki
+ Kiichi, closes #2110)
+Files: src/popupmnu.c, src/term.c, src/testdir/shared.vim,
+ src/testdir/test_popup.vim
+
+Patch 8.0.1162
+Problem: Shared script for tests cannot be included twice.
+Solution: Include it where needed, it will "finish" if loaded again.
+Files: src/testdir/test_alot.vim, src/testdir/test_bufline.vim,
+ src/testdir/test_timers.vim
+
+Patch 8.0.1163
+Problem: Popup test is flaky.
+Solution: Add a WaitFor() and fix another.
+Files: src/testdir/test_popup.vim
+
+Patch 8.0.1164
+Problem: Changing StatusLine highlight while evaluating 'statusline' may
+ not change the status line color.
+Solution: When changing highlighting while redrawing don't cause another
+ redraw. (suggested by Ozaki Kiichi, closes #2171, closes #2120)
+Files: src/buffer.c, src/syntax.c
+
+Patch 8.0.1165
+Problem: Popup test is still flaky.
+Solution: Add a term_wait() call. (Ozaki Kiichi)
+Files: src/testdir/test_popup.vim
+
+Patch 8.0.1166
+Problem: :terminal doesn't work on Mac High Sierra.
+Solution: Change #ifdef for OpenPTY(). (Ozaki Kiichi, Kazunobu Kuriyama,
+ closes #2162)
+Files: src/pty.c
+
+Patch 8.0.1167
+Problem: Motif: typing in terminal window is slow.
+Solution: Do not redraw the whole terminal window but only what was changed.
+Files: src/terminal.c
+
+Patch 8.0.1168
+Problem: wrong highlighting with combination of match and 'cursorline'.
+Solution: Use "line_attr" when appropriate. (Ozaki Kiichi, closes #2111)
+ But don't highlight more than one character.
+Files: src/screen.c, src/testdir/test_highlight.vim,
+ src/testdir/view_util.vim
+
+Patch 8.0.1169
+Problem: Highlighting one char too many with 'list' and 'cul'.
+Solution: Check for 'list' being active. (Ozaki Kiichi, closes #2177)
+Files: src/screen.c, src/testdir/test_highlight.vim
+
+Patch 8.0.1170
+Problem: Using termdebug results in 100% CPU time. (tomleb)
+Solution: Use polling instead of select().
+Files: src/os_unix.c, src/channel.c, src/proto/channel.pro
+
+Patch 8.0.1171
+Problem: Popup test is still a bit flaky.
+Solution: Change term_wait() calls. (Ozaki Kiichi)
+Files: src/testdir/test_popup.vim
+
+Patch 8.0.1172
+Problem: When E734 is given option is still set.
+Solution: Assign NULL to "s". (Christian Brabandt)
+Files: src/eval.c, src/testdir/test_assign.vim
+
+Patch 8.0.1173
+Problem: Terminal window is not redrawn after CTRL-L. (Marcin Szamotulski)
+Solution: Redraw the whole terminal when w_redr_type is NOT_VALID.
+Files: src/terminal.c
+
+Patch 8.0.1174
+Problem: Mac Terminal.app has wrong color for white.
+Solution: Use white from the color cube.
+Files: src/globals.h, src/term.c, src/syntax.c
+
+Patch 8.0.1175 (after 8.0.1174)
+Problem: Build failure without +termresponse.
+Solution: Add #ifdef.
+Files: src/syntax.c
+
+Patch 8.0.1176
+Problem: Job_start() does not handle quote and backslash correctly.
+Solution: Remove quotes, recognize and remove backslashes.
+Files: src/testdir/test_channel.vim, src/os_unix.c
+
+Patch 8.0.1177
+Problem: In a terminal window the popup menu is not cleared. (Gerry
+ Agbobada)
+Solution: Redraw when SOME_VALID is used instead of NOT_VALID. (closes
+ #2194)
+Files: src/terminal.c
+
+Patch 8.0.1178
+Problem: Using old compiler on MS-Windows.
+Solution: Switch default build on MS-Windows to use MSVC 2015. (Ken Takata)
+Files: src/msvc2015.bat, src/INSTALLpc.txt, src/GvimExt/Makefile,
+ src/Make_mvc.mak, src/tee/Make_mvc.mak, src/xxd/Make_mvc.mak
+
+Patch 8.0.1179
+Problem: Test_popup_and_window_resize() does not always pass.
+Solution: Do not use $VIMPROG, pass the Vim executable in the vimcmd file.
+ (Ozaki Kiichi, closes #2186)
+Files: src/testdir/Makefile, src/testdir/shared.vim,
+ src/testdir/test_popup.vim
+
+Patch 8.0.1180
+Problem: MS-Windows testclean target deletes the color script.
+Solution: Rename the script file.
+Files: src/testdir/xterm_ramp.vim, src/testdir/color_ramp.vim
+
+Patch 8.0.1181
+Problem: Tests using Vim command fail on MS-Windows.
+Solution: Do not add quotes around the Vim command.
+Files: src/testdir/Make_dos.mak, src/testdir/Make_ming.mak
+
+Patch 8.0.1182
+Problem: Cannot see or change mzscheme dll name.
+Solution: Add 'mzschemedll' and 'mzschemegcdll'.
+Files: src/if_mzsch.c, src/option.h, src/option.c,
+ runtime/doc/if_mzsch.txt
+
+Patch 8.0.1183
+Problem: MS-Windows build instructions are outdated.
+Solution: Update instructions for MSVC 2015. Update the build script.
+Files: Filelist, Makefile, src/INSTALLpc.txt, src/bigvim.bat
+
+Patch 8.0.1184
+Problem: The :marks command is not tested.
+Solution: Add a test. (Dominique Pelle, closes #2197)
+Files: src/testdir/test_marks.vim
+
+Patch 8.0.1185
+Problem: Ruby library includes minor version number.
+Solution: Only use the API version number. (Ben Boeckel, closes #2199)
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.1186
+Problem: Still quite a few old style tests.
+Solution: Convert old to new style tests. (Yegappan Lakshmanan)
+ Avoid ringing the bell while running tests.
+Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_ming.mak,
+ src/testdir/Make_vms.mms, src/testdir/main.aap,
+ src/testdir/test31.in, src/testdir/test31.ok,
+ src/testdir/test4.in, src/testdir/test4.ok, src/testdir/test5.in,
+ src/testdir/test5.ok, src/testdir/test60.in,
+ src/testdir/test60.ok, src/testdir/test60.vim,
+ src/testdir/test7.in, src/testdir/test7.ok, src/testdir/test78.in,
+ src/testdir/test78.ok, src/testdir/test_autocmd.vim,
+ src/testdir/test_exists.vim, src/testdir/test_recover.vim,
+ src/testdir/test_winbuf_close.vim, src/testdir/runtest.vim
+
+Patch 8.0.1187
+Problem: Building with lua fails for OSX on Travis.
+Solution: Separate brew-update and brew-install. (Ozaki Kiichi, closes #2203)
+Files: .travis.yml
+
+Patch 8.0.1188
+Problem: Autocmd test fails on MS-Windows.
+Solution: Give the buffer a name and find the buffer to be wiped out by
+ name.
+Files: src/testdir/test_autocmd.vim
+
+Patch 8.0.1189
+Problem: E172 is not actually useful, it's only on Unix anyway.
+Solution: Remove the check and the error.
+Files: src/ex_docmd.c, runtime/doc/message.txt
+
+Patch 8.0.1190
+Problem: Vim becomes unusable after opening new window in BufWritePre
+ event.
+Solution: Call not_exiting(). (Martin Tournoij, closes #2205)
+ Also for "2q" when a help window is open. Add a test.
+Files: src/ex_docmd.c, src/testdir/test_writefile.vim
+
+Patch 8.0.1191
+Problem: MS-Windows: missing 32 and 64 bit files in installer.
+Solution: Include both 32 and 64 bit GvimExt and related dll files. Remove
+ old Windows code from the installer. (Ken Takata, closes #2144)
+Files: nsis/README.txt, nsis/gvim.nsi, src/GvimExt/gvimext.cpp,
+ src/dosinst.c, src/dosinst.h, src/uninstal.c, Makefile
+
+Patch 8.0.1192
+Problem: MS-Windows: terminal feature not enabled by default.
+Solution: Enable it. (Ken Takata)
+Files: src/Make_cyg_ming.mak, src/Make_mvc.mak
+
+Patch 8.0.1193
+Problem: Crash when wiping out a buffer after using getbufinfo().
+ (Yegappan Lakshmanan)
+Solution: Remove b:changedtick from the buffer variables.
+Files: src/buffer.c, src/testdir/test_autocmd.vim
+
+Patch 8.0.1194
+Problem: Actual fg and bg colors of terminal are unknown.
+Solution: Add t_RF. Store response to t_RB and t_RF, use for terminal.
+Files: src/term.c, src/term.h, src/proto/term.pro, src/terminal.c,
+ src/vim.h, src/eval.c, runtime/doc/eval.txt
+
+Patch 8.0.1195 (after 8.0.1194)
+Problem: Can't build on MS-Windows.
+Solution: Adjust #ifdef and add #ifdefs.
+Files: src/term.c, src/terminal.c
+
+Patch 8.0.1196 (after 8.0.1194)
+Problem: Crash when t_RF is not set. (Brian Pina)
+Solution: Add t_RF to the list of terminal options. (Hirohito Higashi)
+Files: src/option.c
+
+Patch 8.0.1197
+Problem: MS-Windows build instructions are not up to date.
+Solution: Adjust the instructions. Fix the nsis script.
+Files: Makefile, nsis/gvim.nsi
+
+Patch 8.0.1198
+Problem: Older compilers don't know uint8_t.
+Solution: Use char_u instead.
+Files: src/term.c, src/proto/term.pro
+
+Patch 8.0.1199
+Problem: When 'clipboard' is "autoselectplus" the star register is also
+ set. (Gilles Moris)
+Solution: Don't set the star register in this situation.
+Files: src/ops.c
+
+Patch 8.0.1200
+Problem: Tests switch the bell off twice.
+Solution: Don't set 'belloff' in individual tests. (Christian Brabandt)
+Files: src/testdir/test_alot.vim, src/testdir/test_alot_utf8.vim,
+ src/testdir/test_autocmd.vim, src/testdir/test_cmdline.vim,
+ src/testdir/test_diffmode.vim, src/testdir/test_digraph.vim,
+ src/testdir/test_edit.vim, src/testdir/test_file_size.vim,
+ src/testdir/test_gn.vim, src/testdir/test_normal.vim,
+ src/testdir/test_packadd.vim, src/testdir/test_popup.vim,
+ src/testdir/test_recover.vim, src/testdir/test_search.vim,
+ src/testdir/test_textobjects.vim, src/testdir/test_undo.vim,
+ src/testdir/test_usercommands.vim, src/testdir/test_visual.vim
+
+Patch 8.0.1201
+Problem: "yL" is affected by 'scrolloff'. (Eli the Bearded)
+Solution: Don't use 'scrolloff' when an operator is pending.
+Files: src/normal.c, runtime/doc/motion.txt
+
+Patch 8.0.1202
+Problem: :wall gives an error for a terminal window. (Marius Gedminas)
+Solution: Don't try writing a buffer that can't be written. (Yasuhiro
+ Matsumoto, closes #2190)
+Files: src/ex_cmds.c, src/testdir/test_terminal.vim
+
+Patch 8.0.1203
+Problem: Terminal window mistreats composing characters.
+Solution: Count composing characters with the base character. (Ozaki Kiichi,
+ closes #2195)
+Files: src/mbyte.c, src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.1204
+Problem: A QuitPre autocommand may get the wrong file name.
+Solution: Pass the buffer being closed to apply_autocmds(). (Rich Howe)
+Files: src/ex_docmd.c, src/testdir/test_autocmd.vim
+
+Patch 8.0.1205
+Problem: Using "1q" it is possible to unload a changed buffer. (Rick Howe)
+Solution: Check the right window for changes.
+Files: src/testdir/test_edit.vim, src/ex_docmd.c
+
+Patch 8.0.1206
+Problem: No autocmd for entering or leaving the command line.
+Solution: Add CmdlineEnter and CmdlineLeave.
+Files: runtime/doc/autocmd.txt, src/ex_getln.c, src/fileio.c, src/vim.h,
+ src/testdir/test_autocmd.vim
+
+Patch 8.0.1207
+Problem: Profiling skips the first and last script line.
+Solution: Check for BOM after setting script ID. (LemonBoy, closes #2103,
+ closes #2112) Add a test. List the trailing script lines.
+Files: src/testdir/test_profile.vim, src/ex_cmds2.c
+
+Patch 8.0.1208
+Problem: 'statusline' drops empty group with highlight change.
+Solution: Do not drop an empty group if it changes highlighting. (Marius
+ Gedminas, closes #2228)
+Files: src/buffer.c, src/testdir/test_statusline.vim
+
+Patch 8.0.1209
+Problem: Still too many old style tests.
+Solution: Convert a few more tests to new style. (Yegappan Lakshmanan,
+ closes #2230)
+Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_ming.mak,
+ src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
+ src/testdir/Makefile, src/testdir/Make_vms.mms,
+ src/testdir/main.aap, src/testdir/test34.in,
+ src/testdir/test34.ok, src/testdir/test54.in,
+ src/testdir/test54.ok, src/testdir/test8.in, src/testdir/test8.ok,
+ src/testdir/test_autocmd.vim, src/testdir/test_autoformat_join.in,
+ src/testdir/test_autoformat_join.ok, src/testdir/test_join.vim,
+ src/testdir/test_user_func.vim
+
+Patch 8.0.1210
+Problem: When typing a search pattern CTRL-G and CTRL-T are ignored when
+ there is typeahead.
+Solution: Don't pass SEARCH_PEEK and don't call char_avail(). (haya14busa,
+ closes #2233)
+Files: src/ex_getln.c, src/testdir/test_search.vim
+
+Patch 8.0.1211
+Problem: Cannot reorder tab pages with drag & drop.
+Solution: Support drag & drop for GTK and MS-Windows. (Ken Takata, Masamichi
+ Abe)
+Files: src/gui_gtk_x11.c, src/gui_w32.c
+
+Patch 8.0.1212
+Problem: MS-Windows: tear-off menu does not work on 64 bit. (shaggyaxe)
+Solution: Change how the menu handle is looked up. (Ken Takata, closes
+ #1205)
+Files: src/gui_w32.c
+
+Patch 8.0.1213
+Problem: Setting 'mzschemedll' has no effect.
+Solution: Move loading .vimrc to before call to mzscheme_main().
+Files: src/main.c
+
+Patch 8.0.1214
+Problem: Accessing freed memory when EXITFREE is set and there is more than
+ one tab and window. (Dominique Pelle)
+Solution: Free options later. Skip redraw when exiting.
+Files: src/screen.c, src/misc2.c
+
+Patch 8.0.1215
+Problem: Newer gcc warns for implicit fallthrough.
+Solution: Consistently use a FALLTHROUGH comment. (Christian Brabandt)
+Files: src/buffer.c, src/edit.c, src/eval.c, src/ex_docmd.c,
+ src/ex_getln.c, src/main.c, src/message.c, src/normal.c,
+ src/regexp.c, src/regexp_nfa.c, src/spell.c, src/window.c,
+ src/if_perl.xs
+
+Patch 8.0.1216
+Problem: Tabline is not always updated for :file command. (Norio Takagi)
+Solution: Set redraw_tabline. (Hirohito Higashi)
+Files: src/ex_cmds.c
+
+Patch 8.0.1217
+Problem: Can't use remote eval to inspect vars in debug mode.
+Solution: Don't discard the call stack in debug mode. (closes #2237, #2247)
+Files: src/globals.h, src/ex_cmds2.c, src/main.c
+
+Patch 8.0.1218
+Problem: Writing to freed memory in autocmd.
+Solution: Make a copy of the tag line. (Dominique Pelle, closes #2245)
+Files: src/tag.c, src/testdir/test_autocmd.vim
+
+Patch 8.0.1219
+Problem: Terminal test is flaky.
+Solution: Add test function to list of flaky tests.
+Files: src/testdir/runtest.vim
+
+Patch 8.0.1220
+Problem: Skipping empty statusline groups is not correct.
+Solution: Also set group_end_userhl. (itchyny)
+Files: src/buffer.c, src/testdir/test_statusline.vim
+
+Patch 8.0.1221
+Problem: Still too many old style tests.
+Solution: Convert a few more tests to new style. (Yegappan Lakshmanan,
+ closes #2256)
+Files: src/Makefile, src/testdir/Make_all.mak,
+ src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
+ src/testdir/Make_ming.mak, src/testdir/Make_vms.mms,
+ src/testdir/main.aap, src/testdir/test19.in,
+ src/testdir/test19.ok, src/testdir/test20.in,
+ src/testdir/test20.ok, src/testdir/test25.in,
+ src/testdir/test25.ok, src/testdir/test28.in,
+ src/testdir/test28.ok, src/testdir/test32.in,
+ src/testdir/test32.ok, src/testdir/test38.in,
+ src/testdir/test38.ok, src/testdir/test66.in,
+ src/testdir/test66.ok, src/testdir/test79.in,
+ src/testdir/test79.ok, src/testdir/test_ins_complete.vim,
+ src/testdir/test_source_utf8.vim, src/testdir/test_substitute.vim,
+ src/testdir/test_tab.vim, src/testdir/test_tagjump.vim,
+ src/testdir/test_undo.vim, src/testdir/test_visual.vim,
+ src/testdir/test79.ok, src/testdir/test79.in,
+ src/testdir/test28.in
+
+Patch 8.0.1222
+Problem: Test functions interfere with each other.
+Solution: Cleanup tab pages, windows and buffers. Reset option.
+Files: src/testdir/runtest.vim, src/testdir/test_filetype.vim,
+ src/testdir/test_tabpage.vim, src/testdir/test_lispwords.vim
+
+Patch 8.0.1223
+Problem: Crash when using autocomplete and tab pages.
+Solution: Check if the current tab changed. (Christian Brabandt, closes
+ #2239)
+Files: src/popupmnu.c, src/testdir/test_popup.vim, src/misc1.c,
+
+Patch 8.0.1224
+Problem: Still interference between test functions.
+Solution: Clear autocommands. Wipe all buffers. Fix tests that depend on a
+ specific start context.
+Files: src/testdir/runtest.vim, src/testdir/test_autocmd.vim,
+ src/testdir/test_arglist.vim, src/testdir/test_bufwintabinfo.vim,
+ src/testdir/test_command_count.vim, src/testdir/test_quickfix.vim,
+ src/testdir/test_hardcopy.vim, src/testdir/test_ins_complete.vim,
+ src/testdir/test_packadd.vim, src/testdir/test_signs.vim,
+ src/testdir/test_autochdir.vim
+
+Patch 8.0.1225
+Problem: No check for spell region being zero. (geeknik)
+Solution: Check for zero. (closes #2252)
+Files: src/spellfile.c, src/testdir/test_spell.vim
+
+Patch 8.0.1226
+Problem: Edit and popup tests failing.
+Solution: Make the tests pass.
+Files: src/testdir/test_edit.vim, src/testdir/test_popup.vim
+
+Patch 8.0.1227
+Problem: Undefined left shift in readfile(). (Brian 'geeknik' Carpenter)
+Solution: Add cast to unsigned. (Dominique Pelle, closes #2253)
+Files: src/fileio.c
+
+Patch 8.0.1228
+Problem: Invalid memory access in GUI test.
+Solution: Check that the row is not outside of the screen.
+Files: src/screen.c
+
+Patch 8.0.1229
+Problem: Condition in vim_str2nr() is always true. (Nikolai Pavlov)
+Solution: Remove the condition. (Closes #2259)
+Files: src/charset.c
+
+Patch 8.0.1230
+Problem: CTRL-A in Visual mode uses character after selection. (Nikolai
+ Pavlov)
+Solution: Check the length before using a character.
+Files: src/charset.c
+
+Patch 8.0.1231
+Problem: Expanding file name drops dash. (stucki)
+Solution: Use the right position. (Christian Brabandt, closes #2184)
+Files: src/ex_docmd.c, src/testdir/test_cmdline.vim
+
+Patch 8.0.1232
+Problem: MS-Windows users are confused about default mappings.
+Solution: Don't map keys in the console where they don't work. Add a choice
+ in the installer to use MS-Windows key bindings or not. (Christian
+ Brabandt, Ken Takata, closes #2093)
+Files: Filelist, nsis/gvim.nsi, nsis/vimrc.ini, src/dosinst.c,
+ runtime/mswin.vim
+
+Patch 8.0.1233
+Problem: Typo in dos installer.
+Solution: Remove comma.
+Files: src/dosinst.c
+
+Patch 8.0.1234
+Problem: MS-Windows: composing characters are not shown properly.
+Solution: Pass base character and composing characters to the renderer at
+ once. (Ken Takata, closes #2206)
+Files: src/gui.c, src/gui_w32.c
+
+Patch 8.0.1235
+Problem: Cannot disable the terminal feature in a huge build. (lindhobe)
+Solution: Adjust the autoconf check. (Kazunobu Kuriyama, closes #2242)
+Files: src/configure.ac, src/auto/configure, src/Makefile
+
+Patch 8.0.1236
+Problem: Mac features are confusing.
+Solution: Make feature names more consistent, add "osxdarwin". Rename
+ feature flags, cleanup Mac code. (Kazunobu Kuriyama, closes #2178)
+ Also includes a fix for when Ruby throws an exception inside
+ :rubyfile. (ujihisa)
+Files: runtime/doc/eval.txt, runtime/doc/os_mac.txt, src/auto/configure,
+ src/config.h.in, src/configure.ac, src/digraph.c, src/edit.c,
+ src/evalfunc.c, src/feature.h, src/fileio.c, src/getchar.c,
+ src/globals.h, src/gui.c, src/gui_mac.c, src/if_python.c,
+ src/if_python3.c, src/if_ruby.c, src/keymap.h, src/macros.h,
+ src/main.c, src/mbyte.c, src/message.c, src/misc1.c, src/misc2.c,
+ src/option.c, src/os_mac.h, src/os_macosx.m, src/os_unix.c,
+ src/proto.h, src/pty.c, src/structs.h, src/term.c, src/termlib.c,
+ src/ui.c, src/undo.c, src/version.c, src/vim.h, src/window.c
+
+Patch 8.0.1237
+Problem: ":set scroll&" often gives an error.
+Solution: Don't use a fixed default value, use half the window height. Add a
+ test. (Ozaki Kiichi, closes #2104)
+Files: src/Makefile, src/option.c, src/testdir/test_alot.vim,
+ src/testdir/test_scroll_opt.vim
+
+Patch 8.0.1238
+Problem: Incremental search only shows one match.
+Solution: When 'incsearch' and 'hlsearch' are both set highlight all
+ matches. (haya14busa, itchyny, closes #2198)
+Files: runtime/doc/options.txt, src/ex_getln.c, src/proto/search.pro,
+ src/search.c, src/testdir/test_search.vim
+
+Patch 8.0.1239
+Problem: Cannot use a lambda for the skip argument to searchpair().
+Solution: Evaluate a partial, funcref and lambda. (LemonBoy, closes #1454,
+ closes #2265)
+Files: runtime/doc/eval.txt, src/evalfunc.c, src/proto/evalfunc.pro,
+ src/eval.c, src/proto/eval.pro, src/search.c,
+ src/testdir/test_search.vim
+
+Patch 8.0.1240
+Problem: MS-Windows: term_start() does not support environment.
+Solution: Implement the environment argument. (Yasuhiro Matsumoto, closes
+ #2264)
+Files: src/os_win32.c, src/proto/os_win32.pro, src/terminal.c,
+ src/testdir/test_terminal.vim
+
+Patch 8.0.1241
+Problem: Popup test is flaky. (James McCoy)
+Solution: Increase the wait time. (Dominique Pelle)
+Files: src/testdir/test_popup.vim
+
+Patch 8.0.1242
+Problem: Function argument with only dash is seen as number zero. (Wang
+ Shidong)
+Solution: See a dash as a string. (Christian Brabandt)
+Files: src/testdir/test_ins_complete.vim, src/Makefile, src/eval.c
+
+Patch 8.0.1243
+Problem: No test for what 8.0.1227 fixes.
+Solution: Add a test that triggers the problem. (Christian Brabandt)
+Files: src/testdir/test_normal.vim, src/testdir/test_search.vim
+
+Patch 8.0.1244
+Problem: Search test does not work correctly on MS-Windows.
+Solution: Put text in a file instead of sending it to the terminal.
+ (Christian Brabandt)
+Files: src/testdir/test_search.vim
+
+Patch 8.0.1245
+Problem: When WaitFor() has a wrong expression it just waits a second,
+ which goes unnoticed. (James McCoy)
+Solution: When WaitFor() times out throw an exception. Fix places where the
+ expression was wrong.
+Files: src/testdir/shared.vim, src/testdir/test_channel.vim,
+ src/testdir/test_netbeans.vim, src/testdir/test_terminal.vim
+
+Patch 8.0.1246
+Problem: Popup test has an arbitrary delay.
+Solution: Wait for the ruler to show. (James McCoy)
+Files: src/testdir/test_popup.vim
+
+Patch 8.0.1247
+Problem: Not easy to find Debian build info.
+Solution: Add a badge in the README file. (Dominique Pelle)
+Files: README.md
+
+Patch 8.0.1248 (after 8.0.1247)
+Problem: Stray + in README file.
+Solution: Remove the +. Add a line break.
+Files: README.md
+
+Patch 8.0.1249
+Problem: No error when WaitFor() gets an invalid wrong expression.
+Solution: Do not ignore errors in evaluation of the expression. Fix places
+ where the expression was wrong.
+Files: src/testdir/shared.vim, src/testdir/test_netbeans.vim
+
+Patch 8.0.1250
+Problem: 'hlsearch' highlighting not removed after incsearch (lacygoill)
+Solution: Redraw all windows. Start search at the end of the match. Improve
+ how CTRL-G works with incremental search. Add tests. (Christian
+ Brabandt, Hirohito Higashi, haya14busa, closes #2267)
+Files: runtime/doc/options.txt, src/ex_getln.c,
+ src/testdir/test_search.vim
+
+Patch 8.0.1251 (after 8.0.1249)
+Problem: Invalid expression passed to WaitFor().
+Solution: Check if the variable exists.
+Files: src/testdir/test_clientserver.vim
+
+Patch 8.0.1252
+Problem: Incomplete translations makefile for MinGW/Cygwin.
+Solution: Add missing source files. Make it work with msys2's bash. (Ken
+ Takata)
+Files: src/po/Make_cyg.mak, src/po/Make_ming.mak, src/po/Make_mvc.mak
+
+Patch 8.0.1253
+Problem: Still too many old style tests.
+Solution: Convert a few more tests to new style. (Yegappan Lakshmanan,
+ closes #2272)
+Files: src/Makefile, src/testdir/Make_all.mak,
+ src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
+ src/testdir/Make_ming.mak, src/testdir/Make_vms.mms,
+ src/testdir/main.aap, src/testdir/test12.in,
+ src/testdir/test12.ok, src/testdir/test40.in,
+ src/testdir/test40.ok, src/testdir/test45.in,
+ src/testdir/test45.ok, src/testdir/test83.in,
+ src/testdir/test83.ok, src/testdir/test_autocmd.vim,
+ src/testdir/test_fold.vim, src/testdir/test_swap.vim,
+ src/testdir/test_tagjump.vim
+
+Patch 8.0.1254
+Problem: Undefined left shift in gethexchrs(). (geeknik)
+Solution: Use unsigned long. (idea by Christian Brabandt, closes #2255)
+Files: src/regexp.c, src/regexp_nfa.c
+
+
+Patch 8.0.1255 (after 8.0.1248)
+Problem: duplicate badge README file.
+Solution: Remove one. (Dominique Pelle)
+Files: README.md
+
+Patch 8.0.1256
+Problem: Typo in configure variable vim_cv_tgent. (Matthieu Guillard)
+Solution: Rename the variable. (closes #2281)
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.1257 (after 8.0.1254)
+Problem: No test for fix of undefined behavior.
+Solution: Add a test. (closes #2255)
+Files: src/testdir/test_search.vim
+
+Patch 8.0.1258
+Problem: 'ttymouse' is set to "sgr" even though it's not supported. (Gary
+ Johnson)
+Solution: Adjust #ifdef
+Files: src/term.c
+
+Patch 8.0.1259
+Problem: Search test can be flaky.
+Solution: Use WaitFor() instead of a delay. Make it possible to pass a
+ funcref to WaitFor() to avoid the need for global variables.
+ (James McCoy, closes #2282)
+Files: src/testdir/shared.vim, src/testdir/test_search.vim
+
+Patch 8.0.1260 (after 8.0.1259)
+Problem: Using global variables for WaitFor().
+Solution: Use a lambda function instead. Don't check a condition if
+ WaitFor() already checked it.
+Files: src/testdir/test_popup.vim, src/testdir/test_terminal.vim,
+ src/testdir/test_channel.vim, src/testdir/test_clientserver.vim,
+ src/testdir/test_job_fails.vim, src/testdir/test_quotestar.vim
+
+Patch 8.0.1261
+Problem: Program in terminal window gets NL instead of CR. (Lifepillar)
+Solution: Check the tty setup more often. (closes #1998)
+Files: src/terminal.c
+
+Patch 8.0.1262
+Problem: Terminal redir test is flaky.
+Solution: Add it to the list of flaky tests.
+Files: src/testdir/runtest.vim
+
+Patch 8.0.1263
+Problem: Others can read the swap file if a user is careless with his
+ primary group.
+Solution: If the group permission allows for reading but the world
+ permissions doesn't, make sure the group is right.
+Files: src/fileio.c, src/testdir/test_swap.vim, src/Makefile
+
+Patch 8.0.1264
+Problem: Terminal debugger gets stuck in small window.
+Solution: Add "-quiet" to the gdb command. (Christian Brabandt, closes #2154)
+Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+
+Patch 8.0.1265 (after 8.0.1263)
+Problem: Swap test not skipped when there is one group.
+Solution: Convert list to string for the message.
+Files: src/testdir/test_swap.vim
+
+Patch 8.0.1266 (after 8.0.1263)
+Problem: Test_swap_directory was accidentally commented out.
+Solution: Uncomment the test.
+Files: src/testdir/test_swap.vim
+
+Patch 8.0.1267 (after 8.0.1263)
+Problem: Test_swap_group may leave file behind.
+Solution: Add a try/finally.
+Files: src/testdir/test_swap.vim, src/testdir/test_undo.vim
+
+Patch 8.0.1268
+Problem: PC install instructions are incomplete.
+Solution: Update the instructions. (Ken Takata)
+Files: src/INSTALLpc.txt
+
+Patch 8.0.1269
+Problem: Effect of autocommands on marks is not tested.
+Solution: Add a couple of tests. (James McCoy, closes #2271)
+Files: src/testdir/test_autocmd.vim
+
+Patch 8.0.1270
+Problem: Mismatching file name with Filelist.
+Solution: Rename color_ramp.vim to xterm_ramp.vim
+Files: src/testdir/color_ramp.vim, src/testdir/xterm_ramp.vim
+
+Patch 8.0.1271
+Problem: Still too many old style tests.
+Solution: Convert a few more tests to new style. (Yegappan Lakshmanan,
+ closes #2290)
+Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
+ src/testdir/sautest/autoload/footest.vim, src/testdir/test55.in,
+ src/testdir/test55.ok, src/testdir/test_changelist.in,
+ src/testdir/test_changelist.ok, src/testdir/test_fold.vim,
+ src/testdir/test_ins_complete.vim,
+ src/testdir/test_insertcount.in, src/testdir/test_insertcount.ok,
+ src/testdir/test_listdict.vim, src/testdir/test_normal.vim,
+ src/testdir/test_search.vim, src/testdir/test_search_mbyte.in
+
+Patch 8.0.1272
+Problem: Warnings for unused variables in tiny build.
+Solution: Add #ifdef. (Dominique Pelle, closes #2288)
+Files: src/term.c
+
+Patch 8.0.1273 (after 8.0.1271)
+Problem: Old test file remaining.
+Solution: Delete it.
+Files: src/testdir/test_search_mbyte.ok
+
+Patch 8.0.1274
+Problem: setbufline() fails when using folding.
+Solution: Set "curwin" if needed. (Ozaki Kiichi, closes #2293)
+Files: src/evalfunc.c, src/testdir/test_bufline.vim
+
+Patch 8.0.1275
+Problem: CmdlineLeave autocmd prevents fold from opening. (Waivek)
+Solution: Save and restore KeyTyped. (closes #2305)
+Files: src/fileio.c
+
+Patch 8.0.1276
+Problem: Typed key is lost when the terminal window is closed in exit
+ callback. (Gabriel Barta)
+Solution: When the current window changes bail out of the wait loop. (closes
+ #2302)
+Files: src/misc2.c, src/terminal.c
+
+Patch 8.0.1277
+Problem: Terminal window CR-NL conversions may cause problems.
+Solution: Avoid most conversions, only fetch the current backspace key value
+ from the tty. (mostly by Ozaki Kiichi, closes #2278)
+Files: src/terminal.c
+
+Patch 8.0.1278
+Problem: GUI window always resizes when adding/removing a scrollbar,
+ toolbar, etc.
+Solution: Add the 'k' flag in 'guioptions' to keep the GUI window size and
+ change the number of lines/columns instead. (Ychin, closes #703)
+Files: runtime/doc/options.txt, src/gui.c, src/gui_gtk_x11.c,
+ src/gui_w32.c, src/option.h
+
+Patch 8.0.1279
+Problem: Initializing menus can be slow, especially when there are many
+ keymaps, color schemes, etc.
+Solution: Do the globbing for runtime files lazily. (Ken Takata)
+Files: runtime/doc/gui.txt, runtime/menu.vim
+
+Patch 8.0.1280
+Problem: Python None cannot be converted to a Vim type.
+Solution: Convert it to v:none. (Ken Takata)
+Files: src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok,
+ runtime/doc/if_pyth.txt
+
+Patch 8.0.1281
+Problem: Loading file type detection slows down startup.
+Solution: Move functions to an autoload script.
+Files: runtime/filetype.vim, runtime/autoload/filetype.vim,
+ runtime/scripts.vim
+
+Patch 8.0.1282 (after 8.0.1281)
+Problem: script-local variable defined in the wrong script
+Solution: Move variable to autoload/filetype.vim.
+Files: runtime/filetype.vim, runtime/autoload/filetype.vim
+
+Patch 8.0.1283
+Problem: Test 86 fails under ASAN.
+Solution: Fix that an item was added to a dictionary twice.
+Files: src/if_py_both.h
+
+Patch 8.0.1284
+Problem: Loading file type detection slows down startup.
+Solution: Store the last pattern of an autocommand event to make appending
+ quicker.
+Files: src/fileio.c
+
+Patch 8.0.1285
+Problem: Distributed autoload files may clash with user files. (Andy
+ Wokula)
+Solution: Use the "autoload/dist" directory.
+Files: runtime/filetype.vim, runtime/autoload/filetype.vim,
+ runtime/autoload/dist/ft.vim, runtime/scripts.vim, Filelist,
+ src/Makefile, nsis/gvim.nsi
+
+Patch 8.0.1286
+Problem: Occasional crash when using a channel. (Marek)
+Solution: Decrement reference count later. (closes #2315)
+Files: src/channel.c
+
+Patch 8.0.1287
+Problem: The temp file used when updating the viminfo file may have the
+ wrong permissions if setting the group fails.
+Solution: Check if the group matches and reduce permissions if not.
+Files: src/ex_cmds.c
+
+Patch 8.0.1288
+Problem: GUI: cannot drag the statusline of a terminal window.
+Solution: Handle the TERMINAL state. (Hirohito Higashi)
+Files: src/gui.c
+
+Patch 8.0.1289
+Problem: Mkview always includes the local directory.
+Solution: Add the "curdir" value in 'viewoptions'. (Eric Roberts, closes
+ #2316)
+Files: runtime/doc/options.txt, runtime/doc/starting.txt, src/ex_docmd.c,
+ src/option.c
+
+Patch 8.0.1290
+Problem: seq_cur of undotree() wrong after undo.
+Solution: Get the actual sequence number instead of decrementing the current
+ one. (Ozaki Kiichi, closes #2319)
+Files: src/undo.c, src/testdir/test_undo.vim
+
+Patch 8.0.1291
+Problem: C indent wrong when * immediately follows comment. (John Bowler)
+Solution: Do not see "/*" after "*" as a comment start. (closes #2321)
+Files: src/search.c, src/testdir/test3.in, src/testdir/test3.ok
+
+Patch 8.0.1292
+Problem: Quick clicks in the WinBar start Visual mode.
+Solution: Use a double click in the WinBar like a normal click.
+Files: src/ui.c
+
+Patch 8.0.1293
+Problem: Setting a breakpoint in the terminal debugger sometimes fails.
+Solution: Interrupt the program if needed. Set the interface to async.
+Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim,
+ runtime/doc/terminal.txt
+
+Patch 8.0.1294
+Problem: GUI: get stuck when splitting a terminal window.
+Solution: Stop blinking when values become zero. (Hirohito Higashi)
+Files: src/gui.c
+
+Patch 8.0.1295
+Problem: Cannot automatically get a server name in a terminal.
+Solution: Add the --enable-autoservername flag to configure. (Cimbali,
+ closes #2317)
+Files: runtime/doc/eval.txt, runtime/doc/various.txt, src/config.h.in,
+ src/configure.ac, src/auto/configure, src/evalfunc.c,
+ src/feature.h, src/main.c, src/version.c, src/Makefile
+
+Patch 8.0.1296 (after 8.0.1294)
+Problem: Checking the same condition twice. (John Marriott)
+Solution: Check blinkwait.
+Files: src/gui.c
+
+Patch 8.0.1297
+Problem: +autoservername does not show enabled on MS-Windows.
+Solution: Always define the flag on MS-Windows. (Ken Takata)
+Files: src/feature.h
+
+Patch 8.0.1298
+Problem: Missing test file.
+Solution: Add samples/test000. (Christian Brabandt)
+Files: src/testdir/samples/test000, Filelist
+
+Patch 8.0.1299
+Problem: Bracketed paste does not work well in terminal window.
+Solution: Send translated string to job right away. (Ozaki Kiichi, closes
+ #2341)
+Files: src/terminal.c
+
+Patch 8.0.1300
+Problem: File permissions may end up wrong when writing.
+Solution: Use fchmod() instead of chmod() when possible. Don't truncate
+ until we know we can change the file.
+Files: src/os_unix.c, src/proto/os_unix.pro, src/configure.ac,
+ src/auto/configure, src/config.h.in, src/fileio.c
+
+Patch 8.0.1301
+Problem: Generated license file for NSIS has a modeline.
+Solution: Adjust the pattern for sed. (Ken Takata)
+Files: runtime/doc/Makefile
+
+Patch 8.0.1302
+Problem: Still too many old style tests.
+Solution: Convert a few more tests to new style. (Yegappan Lakshmanan,
+ closes #2326)
+Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_ming.mak,
+ src/testdir/Make_vms.mms, src/testdir/runtest.vim,
+ src/testdir/test68.in, src/testdir/test68.ok,
+ src/testdir/test73.in, src/testdir/test73.ok,
+ src/testdir/test_close_count.in, src/testdir/test_close_count.ok,
+ src/testdir/test_close_count.vim,
+ src/testdir/test_erasebackword.in,
+ src/testdir/test_erasebackword.ok,
+ src/testdir/test_erasebackword.vim,
+ src/testdir/test_find_complete.vim, src/testdir/test_fixeol.in,
+ src/testdir/test_fixeol.ok, src/testdir/test_fixeol.vim,
+ src/testdir/test_listchars.in, src/testdir/test_listchars.ok,
+ src/testdir/test_listchars.vim, src/testdir/test_textformat.vim
+
+Patch 8.0.1303
+Problem: 'ttymouse' is not set to "sgr" for Terminal.app and Iterm2.
+Solution: Recognize Iterm2 by the termresponse.
+Files: src/term.c
+
+Patch 8.0.1304
+Problem: CTRL-G/CTRL-T don't work with incsearch and empty pattern.
+Solution: Use the last search pattern. (Christian Brabandt, closes #2292)
+Files: src/ex_getln.c, src/proto/search.pro, src/search.c,
+ src/testdir/test_search.vim
+
+Patch 8.0.1305
+Problem: Writefile() never calls fsync().
+Solution: Follow the 'fsync' option with override to enable or disable.
+Files: src/fileio.c, src/evalfunc.c, runtime/doc/eval.txt, src/globals.h,
+ src/testdir/test_writefile.vim
+
+Patch 8.0.1306
+Problem: ASAN error stack trace is not useful.
+Solution: Add "asan_symbolize". (James McCoy, closes #2344)
+Files: .travis.yml
+
+Patch 8.0.1307 (after 8.0.1300)
+Problem: Compiler warning for ignoring return value of ftruncate(). (Tony
+ Mechelynck)
+Solution: Assign returned value to "ignore".
+Files: src/fileio.c
+
+Patch 8.0.1308
+Problem: The "Reading from stdin" message may be undesired and there is no
+ easy way to skip it.
+Solution: Don't show the message with --not-a-term was used.
+Files: src/fileio.c
+
+Patch 8.0.1309
+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.
+Files: src/option.c, src/option.h, src/os_unix.c, src/proto/os_unix.pro,
+ src/feature.h, src/misc2.c, src/keymap.h, src/edit.c,
+ src/ex_getln.c, src/message.c, src/misc1.c, src/normal.c,
+ src/terminal.c, src/getchar.c, src/ex_cmds2.c, src/gui_beval.c,
+ src/proto/gui_beval.pro, src/evalfunc.c, src/popupmnu.c,
+ src/proto/popupmnu.pro, src/version.c, src/globals.h, src/gui.c,
+ runtime/doc/options.txt, src/term.c,
+ runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+
+Patch 8.0.1310
+Problem: Cproto generates errors because of missing type.
+Solution: Define _Float128 when generating prototypes.
+Files: src/vim.h
+
+Patch 8.0.1311
+Problem: No test for strpart().
+Solution: Add a test. (Dominique Pelle, closes #2347)
+Files: src/testdir/test_functions.vim
+
+Patch 8.0.1312 (after 8.0.1309)
+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.
+Files: src/feature.h, src/evalfunc.c, src/gui.c, src/gui_athena.c,
+ src/gui_beval.c, src/proto/gui_beval.pro, src/beval.c,
+ src/proto/beval.pro, src/gui_motif.c, src/gui_w32.c,
+ src/gui_x11.c, src/integration.c, src/workshop.c, src/menu.c,
+ src/netbeans.c, src/option.c, src/os_unix.c, src/os_win32.c,
+ src/syntax.c, src/version.c, src/gui.h, src/gui_beval.h,
+ src/vim.h, src/beval.h, src/option.h, src/ex_cmds2.c, src/ui.c,
+ src/getchar.c, src/normal.c, src/popupmnu.c, src/globals.h,
+ src/Makefile, src/Make_cyg_ming.mak, src/Make_mvc.mak,
+ src/Make_vms.mms, Filelist
+
+Patch 8.0.1313 (after 8.0.1312)
+Problem: Missing dependencies cause parallel make to fail.
+Solution: Update dependencies.
+Files: src/Makefile
+
+Patch 8.0.1314 (after 8.0.1312)
+Problem: Build fails on Mac. (chdiza)
+Solution: Add #ifdef around GUI fields.
+Files: src/beval.h
+
+Patch 8.0.1315 (after 8.0.1312)
+Problem: Build still fails on Mac. (chdiza)
+Solution: Remove bogus typedef.
+Files: src/os_macosx.m
+
+Patch 8.0.1316 (after 8.0.1312)
+Problem: Build still still fails on Mac. (chdiza)
+Solution: Remove another bogus typedef.
+Files: src/os_mac_conv.c
+
+Patch 8.0.1317
+Problem: Accessing freed memory in term_wait(). (Dominique Pelle)
+Solution: Check that the buffer still exists.
+Files: src/terminal.c
+
+Patch 8.0.1318
+Problem: Terminal balloon only shows one line.
+Solution: Split into several lines in a clever way. Add balloon_split().
+ Make balloon_show() accept a list in the terminal.
+Files: src/popupmnu.c, src/proto/popupmnu.pro, src/evalfunc.c,
+ src/beval.c, src/proto/beval.pro, src/testdir/test_popup.vim,
+ runtime/doc/eval.txt,
+ runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+
+Patch 8.0.1319
+Problem: Can't build GUI on MS-Windows.
+Solution: Don't define the balloon_split() function in a GUI-only build.
+Files: src/evalfunc.c, runtime/doc/eval.txt
+
+Patch 8.0.1320
+Problem: Popup test fails on GUI-only build.
+Solution: Don't test balloon_split() when it's not available.
+Files: src/testdir/test_popup.vim
+
+Patch 8.0.1321
+Problem: Can't build huge version with Athena. (Mark Kelly)
+Solution: Move including beval.h to before structs.h. Include beval.pro like
+ other proto files.
+Files: src/vim.h, src/beval.h, src/proto.h
+
+Patch 8.0.1322
+Problem: Textformat test isn't run. (Yegappan Lakshmanan)
+Solution: Add target to the list of tests.
+Files: src/testdir/Make_all.mak
+
+Patch 8.0.1323
+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().
+Files: src/normal.c, src/terminal.c
+
+Patch 8.0.1324
+Problem: Some xterm sends different mouse move codes.
+Solution: Also accept 0x80 as a move event.
+Files: src/term.c
+
+Patch 8.0.1325
+Problem: More tests are not run.
+Solution: Add targets to the list of tests. (Yegappan Lakshmanan)
+Files: src/testdir/Make_all.mak
+
+Patch 8.0.1326
+Problem: Largefile test fails on CI, glob test on MS-Windows.
+Solution: Remove largefile test from list of all tests. Don't run
+ Test_glob() on non-unix systems. More cleanup. (Yegappan
+ Lakshmanan, closes #2354)
+Files: src/testdir/Make_all.mak, src/testdir/test_escaped_glob.vim,
+ src/testdir/test_plus_arg_edit.vim
+
+Patch 8.0.1327
+Problem: New proto file missing from distribution.
+Solution: Add it. (closes #2355)
+Files: Filelist
+
+Patch 8.0.1328
+Problem: Trouble when using ":term ++close" with autocmd. (Gabriel Barta)
+Solution: Use aucmd_prepbuf() and aucmd_restbuf() instead of setting curbuf.
+ (closes #2339)
+Files: src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.1329
+Problem: When a flaky test fails it also often fails the second time.
+Solution: Sleep a couple of seconds before the second try.
+Files: src/testdir/runtest.vim
+
+Patch 8.0.1330
+Problem: MS-Windows: job in terminal can't get back to Vim.
+Solution: set VIM_SERVERNAME in the environment. (Yasuhiro Matsumoto, closes
+ #2360)
+Files: runtime/doc/terminal.txt, src/os_win32.c, src/proto/os_win32.pro,
+ src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.1331
+Problem: Possible crash when window can be zero lines high. (Joseph
+ Dornisch)
+Solution: Only set w_fraction if the window is at least two lines high.
+Files: src/window.c
+
+Patch 8.0.1332
+Problem: Highlighting in quickfix window could be better. (Axel Bender)
+Solution: Use the qfSeparator highlight item. (Yegappan Lakshmanan)
+Files: src/quickfix.c
+
+Patch 8.0.1333
+Problem: Some tests are run twice.
+Solution: Invoked most utf8 tests only from test_alot_utf8. (Yegappan
+ Lakshmanan, closes #2369)
+Files: src/testdir/Make_all.mak, src/testdir/test_alot_utf8.vim,
+ src/testdir/test_mksession_utf8.vim
+
+Patch 8.0.1334
+Problem: Splitting a window with a WinBar damages window layout.
+ (Lifepillar)
+Solution: Take the winbar into account when computing the new window
+ position. Add WINBAR_HEIGHT().
+Files: src/vim.h, src/window.c
+
+Patch 8.0.1335
+Problem: Writefile() using fsync() may give an error for a device.
+ (Yasuhiro Matsumoto)
+Solution: Ignore fsync() failing. (closes #2373)
+Files: src/evalfunc.c
+
+Patch 8.0.1336
+Problem: Cannot use imactivatefunc() unless compiled with +xim.
+Solution: Allow using imactivatefunc() when not compiled with +xim.
+ (Yasuhiro Matsumoto, closes #2349)
+Files: runtime/doc/options.txt, runtime/doc/mbyte.txt, src/mbyte.c,
+ src/option.c, src/option.h, src/structs.h,
+ src/testdir/test_iminsert.vim, src/Makefile,
+ src/testdir/Make_all.mak, src/vim.h
+
+Patch 8.0.1337 (after 8.0.1336)
+Problem: Typo in #ifdef.
+Solution: Fix the #if line.
+Files: src/mbyte.c
+
+Patch 8.0.1338 (after 8.0.1337)
+Problem: USE_IM_CONTROL is confusing and incomplete.
+Solution: Just use FEAT_MBYTE. Call 'imactivatefunc' also without GUI.
+Files: src/vim.h, src/edit.c, src/ex_getln.c, src/getchar.c, src/gui.c,
+ src/gui_mac.c, src/gui_w32.c, src/mbyte.c, src/normal.c,
+ src/option.c, src/ui.c, src/globals.h, src/option.h
+
+Patch 8.0.1339
+Problem: No test for what 8.0.1335 fixes.
+Solution: Add a test. (Yasuhiro Matsumoto, closes #2373)
+Files: src/testdir/test_writefile.vim
+
+Patch 8.0.1340
+Problem: MS-Windows: cannot build GUI without IME.
+Solution: Define im_get_status() and im_set_active() when IME is not used.
+Files: src/mbyte.c
+
+Patch 8.0.1341
+Problem: 'imactivatefunc' test fails on MS-Windows.
+Solution: Skip the text.
+Files: src/testdir/test_iminsert.vim, runtime/doc/options.txt
+
+Patch 8.0.1342
+Problem: Cannot build with Motif and multi-byte. (Mohamed Boughaba)
+Solution: Use the right input method status flag. (closes #2374)
+Files: src/mbyte.c
+
+Patch 8.0.1343
+Problem: MS-Windows: does not show colored emojis.
+Solution: Implement colored emojis. Improve drawing speed. Make 'taamode'
+ work. (Taro Muraoka, Yasuhiro Matsumoto, Ken Takata, close #2375)
+Files: appveyor.yml, runtime/doc/options.txt, src/gui_dwrite.cpp,
+ src/gui_dwrite.h, src/gui_w32.c, src/proto/gui_w32.pro
+
+Patch 8.0.1344
+Problem: Using 'imactivatefunc' in the GUI does not work.
+Solution: Do not use 'imactivatefunc' and 'imstatusfunc' in the GUI.
+Files: runtime/doc/options.txt, src/mbyte.c,
+ src/testdir/test_iminsert.vim
+
+Patch 8.0.1345
+Problem: Race condition between stat() and open() for the viminfo temp
+ file. (Simon Ruderich)
+Solution: use open() with O_EXCL to atomically check if the file exists.
+ Don't try using a temp file, renaming it will fail anyway.
+Files: src/ex_cmds.c
+
+Patch 8.0.1346
+Problem: Crash when passing 50 char string to balloon_split().
+Solution: Fix off-by-one error.
+Files: src/testdir/test_popup.vim, src/popupmnu.c
+
+Patch 8.0.1347
+Problem: MS-Windows: build broken by misplaced curly.
+Solution: Move curly after #endif.
+Files: src/ex_cmds.c
+
+Patch 8.0.1348
+Problem: Make testclean deletes script file on MS-Windows.
+Solution: Rename file to avoid it starting with an "x".
+Files: src/testdir/xterm_ramp.vim, src/testdir/color_ramp.vim, Filelist
+
+Patch 8.0.1349
+Problem: Options test fails when using Motif or GTK GUI.
+Solution: Use "fixed" instead of "fixedsys" for Unix. Don't try "xxx" for
+ guifonteset. Don't set 'termencoding' to anything but "utf-8" for
+ GTK. Give an error if 'termencoding' can't be converted.
+Files: src/testdir/gen_opt_test.vim, src/option.c
+
+Patch 8.0.1350
+Problem: Cannot build with +eval and -multi_byte.
+Solution: Adjust #ifdefs. (John Marriott) Always include the multi_byte
+ feature when an input method feature is enabled.
+Files: src/mbyte.c, src/feature.h
+
+Patch 8.0.1351
+Problem: Warning for unused variables building with MinGW.
+Solution: Change a few #ifdefs (suggested by John Marriott). Remove
+ superfluous checks of FEAT_MBYTE.
+Files: src/gui_w32.c
+
+Patch 8.0.1352
+Problem: Dead URLs in the help go unnoticed.
+Solution: Add a script to check URLs in the help files. (Christian Brabandt)
+Files: runtime/doc/Makefile, runtime/doc/test_urls.vim, Filelist
+
+Patch 8.0.1353
+Problem: QuickFixCmdPost is not used consistently.
+Solution: Invoke QuickFixCmdPost consistently after QuickFixCmdPre.
+ (Yegappan Lakshmanan, closes #2377)
+Files: src/quickfix.c, src/testdir/test_quickfix.vim
+
+Patch 8.0.1354
+Problem: Shift-Insert doesn't always work in MS-Windows console.
+Solution: Handle K_NUL differently. (Yasuhiro Matsumoto, closes #2381)
+Files: src/os_win32.c
+
+Patch 8.0.1355 (after 8.0.1354)
+Problem: Cursor keys don't work in MS-Windows console.
+Solution: Revert the previous patch. Also delete dead code.
+Files: src/os_win32.c
+
+Patch 8.0.1356
+Problem: Using simalt in a GUIEnter autocommand inserts strange characters.
+ (Chih-Long Chang)
+Solution: Ignore K_NOP in Insert mode. (closes #2379)
+Files: src/edit.c, src/ex_getln.c
+
+Patch 8.0.1357
+Problem: Startup test fails on OpenBSD. (Edd Barrett)
+Solution: Check for "BSD" instead of "FreeBSD" being defined. (James McCoy,
+ closes #2376, closes #2378)
+Files: src/vim.h
+
+Patch 8.0.1358
+Problem: Undercurl is not used in the terminal. (Kovid Goyal)
+Solution: Only fall back to underline when undercurl highlighting is not
+ defined. (closes #1306)
+Files: src/screen.c
+
+Patch 8.0.1359
+Problem: Libvterm ANSI colors can not always be recognized from the RGB
+ values. The default color is wrong when t_RB is empty.
+Solution: Add the ANSI color index to VTermColor.
+Files: src/libvterm/include/vterm.h, src/libvterm/src/pen.c,
+ src/terminal.c
+
+Patch 8.0.1360
+Problem: The Terminal highlighting doesn't work in a terminal. (Ozaki
+ Kiichi)
+Solution: Use the Terminal highlighting when the cterm index is zero.
+Files: src/terminal.c
+
+Patch 8.0.1361
+Problem: Some users don't want to diff with hidden buffers.
+Solution: Add the "hiddenoff" item to 'diffopt'. (Alisue, closes #2394)
+Files: runtime/doc/options.txt, src/buffer.c, src/diff.c,
+ src/proto/diff.pro, src/testdir/test_diffmode.vim
+
+Patch 8.0.1362
+Problem: Terminal window colors wrong when using Terminal highlighting.
+Solution: Set ansi_index when setting the default color. Also cache the
+ color index for Terminal. (Ozaki Kiichi, closes #2393)
+Files: src/libvterm/src/pen.c, src/proto/terminal.pro, src/syntax.c,
+ src/terminal.c
+
+Patch 8.0.1363
+Problem: Recovering does not work when swap file ends in .stz.
+Solution: Check for all possible swap file names. (Elfling, closes #2395,
+ closes #2396)
+Files: src/memline.c
+
+Patch 8.0.1364
+Problem: There is no easy way to get the window position.
+Solution: Add win_screenpos().
+Files: src/evalfunc.c, src/testdir/test_window_cmd.vim,
+ runtime/doc/eval.txt
+
+Patch 8.0.1365
+Problem: When one channel test fails others fail as well.
+Solution: Stop the job after a failure. Also add a couple of tests to the
+ list of flaky tests.
+Files: src/testdir/test_channel.vim, src/testdir/runtest.vim
+
+Patch 8.0.1366
+Problem: Balloon shows when cursor is in WinBar.
+Solution: Don't show the balloon when row is negative.
+Files: src/beval.c
+
+Patch 8.0.1367
+Problem: terminal test hangs, executing abcde. (Stucki)
+Solution: Rename abcde to abxde.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1368
+Problem: Cannot drag status line or vertical separator of new terminal
+ window. (UncleBill)
+Solution: Adjust mouse row and column computation. (Yasuhiro Matsumoto,
+ closes #2410)
+Files: src/terminal.c
+
+Patch 8.0.1369
+Problem: MS-Windows: drawing underline, curl and strikethrough is slow,
+ mFallbackDC not properly updated.
+Solution: Several performance improvements. (Ken Takata, Taro Muraoka,
+ Yasuhiro Matsumoto, closes #2401)
+Files: runtime/doc/options.txt, src/gui_dwrite.cpp, src/gui_dwrite.h,
+ src/gui_w32.c
+
+Patch 8.0.1370
+Problem: Channel test for callback is flaky.
+Solution: Add the test to the list of flaky tests.
+Files: src/testdir/runtest.vim
+
+Patch 8.0.1371
+Problem: Shift-Insert doesn't always work in MS-Windows console.
+Solution: Handle K_NUL differently if the second character is more than one
+ byte. (Yasuhiro Matsumoto, closes #2381)
+Files: src/os_win32.c
+
+Patch 8.0.1372
+Problem: Profile log may be truncated halfway a character.
+Solution: Find the start of the character. (Ozaki Kiichi, closes #2385)
+Files: src/ex_cmds2.c, src/testdir/test_profile.vim
+
+Patch 8.0.1373
+Problem: No error when setting 'renderoptions' to an invalid value before
+ starting the GUI.
+Solution: Always check the value. (Ken Takata, closes #2413)
+Files: src/gui_w32.c, src/option.c
+
+Patch 8.0.1374
+Problem: CTRL-A does not work with an empty line. (Alex)
+Solution: Decrement the end only once. (Hirohito Higashi, closes #2387)
+Files: src/ops.c, src/testdir/test_increment.vim
+
+Patch 8.0.1375
+Problem: Window size wrong after maximizing with WinBar. (Lifepillar)
+Solution: Fix height computations. Redraw window when it is zero height but
+ has a WinBar. (closes #2356)
+Files: src/window.c, src/screen.c, src/vim.h
+
+Patch 8.0.1376
+Problem: Cursor in terminal not always updated.
+Solution: Call gui_mch_flush(). (Ken Takata)
+Files: src/terminal.c
+
+Patch 8.0.1377
+Problem: Cannot call a dict function in autoloaded dict.
+Solution: Call get_lval() passing the read-only flag.
+Files: src/userfunc.c, src/eval.c, src/testdir/sautest/autoload/foo.vim,
+ src/testdir/sautest/autoload/globone.vim,
+ src/testdir/sautest/autoload/globtwo.vim,
+ src/testdir/test_escaped_glob.vim, src/Makefile,
+ src/testdir/test_autoload.vim, src/Makefile,
+ src/testdir/Make_all.mak
+
+Patch 8.0.1378
+Problem: Autoload script sources itself when defining function.
+Solution: Pass TFN_NO_AUTOLOAD to trans_function_name(). (Yasuhiro
+ Matsumoto, closes #2423)
+Files: src/userfunc.c, src/testdir/test_autoload.vim,
+ src/testdir/sautest/autoload/sourced.vim
+
+Patch 8.0.1379
+Problem: Configure check for selinux does not check for header file.
+Solution: Add an AC_CHECK_HEADER(). (Benny Siegert)
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.1380
+Problem: When recovering a file with "vim -r swapfile" the hit-enter prompt
+ is at the top of the window.
+Solution: Invalidate the cursor position.
+Files: src/term.c
+
+Patch 8.0.1381
+Problem: ch_readraw() waits for NL if channel mode is NL.
+Solution: Pass a "raw" flag to channel_read_block(). (Yasuhiro Matsumoto)
+Files: src/channel.c, src/proto/channel.pro,
+ src/testdir/test_channel.vim, src/testdir/test_channel_pipe.py
+
+Patch 8.0.1382
+Problem: Get "no write since last change" message if a terminal is open.
+ (Fritz mehner)
+Solution: Don't consider a buffer changed if it's a terminal window.
+Files: src/ex_cmds.c, src/undo.c, src/proto/undo.pro
+
+Patch 8.0.1383
+Problem: Local additions in help skips some files. (joshklod)
+Solution: Check the base file name length equals.
+Files: src/ex_cmds.c, src/testdir/test_help.vim
+
+Patch 8.0.1384
+Problem: Not enough quickfix help; confusing winid.
+Solution: Add more examples in the help. When the quickfix window is not
+ present, return zero for getqflist() with 'winid'. Add more tests
+ for jumping to quickfix list entries. (Yegappan Lakshmanan, closes
+ #2427)
+Files: runtime/doc/eval.txt, runtime/doc/quickfix.txt, src/quickfix.c,
+ src/testdir/test_quickfix.vim
+
+Patch 8.0.1385
+Problem: Python 3.5 is getting old.
+Solution: Make Python 3.6 the default. (Ken Takata, closes #2429)
+Files: runtime/doc/if_pyth.txt, src/INSTALLpc.txt, src/Make_cyg_ming.mak,
+ src/Make_mvc.mak, src/bigvim.bat
+
+Patch 8.0.1386
+Problem: Cannot select modified buffers with getbufinfo().
+Solution: Add the "bufmodified" flag. (Yegappan Lakshmanan, closes #2431)
+Files: runtime/doc/eval.txt, src/evalfunc.c,
+ src/testdir/test_bufwintabinfo.vim
+
+Patch 8.0.1387
+Problem: Wordcount test is old style.
+Solution: Change into a new style test. (Yegappan Lakshmanan, closes #2434)
+Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_ming.mak,
+ src/testdir/Make_vms.mms, src/testdir/test_wordcount.in,
+ src/testdir/test_wordcount.ok, src/testdir/test_wordcount.vim
+
+Patch 8.0.1388
+Problem: Char not overwritten with ambiguous width char, if the ambiguous
+ char is single width but we reserve double-width space.
+Solution: First clear the screen cells. (Ozaki Kiichi, closes #2436)
+Files: src/screen.c
+
+Patch 8.0.1389
+Problem: getqflist() items are missing if not set, that makes it more
+ difficult to handle the values.
+Solution: When a value is not available return zero or another invalid
+ value. (Yegappan Lakshmanan, closes #2430)
+Files: runtime/doc/eval.txt, src/quickfix.c,
+ src/testdir/test_quickfix.vim
+
+Patch 8.0.1390
+Problem: DirectX scrolling can be slow, vertical positioning is off.
+Solution: Make scroll slightly faster when using "scrlines:1". Fix y
+ position of displayed text. Fix DirectX with non-utf8 encoding.
+ (Ken Takata, closes #2440)
+Files: src/INSTALLpc.txt, src/Make_cyg_ming.mak, src/Make_mvc.mak,
+ src/gui_dwrite.cpp, src/gui_w32.c
+
+Patch 8.0.1391
+Problem: Encoding empty string to JSON sometimes gives "null".
+Solution: Handle NULL string as empty string. (closes #2446)
+Files: src/testdir/test_json.vim, src/json.c
+
+Patch 8.0.1392
+Problem: Build fails with --with-features=huge --disable-channel.
+Solution: Don't enable the terminal feature when the channel feature is
+ missing. (Dominique Pelle, closes #2453)
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.1393
+Problem: Too much highlighting with 'hlsearch' and 'incsearch' set.
+Solution: Do not highlight matches when the pattern matches everything.
+Files: src/ex_getln.c
+
+Patch 8.0.1394
+Problem: Cannot intercept a yank command.
+Solution: Add the TextYankPost autocommand event. (Philippe Vaucher et al.,
+ closes #2333)
+Files: runtime/doc/autocmd.txt, runtime/doc/eval.txt, src/dict.c,
+ src/eval.c, src/fileio.c, src/ops.c, src/proto/dict.pro,
+ src/proto/eval.pro, src/proto/fileio.pro,
+ src/testdir/test_autocmd.vim, src/vim.h
+
+Patch 8.0.1395
+Problem: It is not easy to see if a colorscheme is well written.
+Solution: Add a script that checks for common mistakes. (Christian Brabandt)
+Files: runtime/colors/check_colors.vim, runtime/colors/README.txt
+
+Patch 8.0.1396
+Problem: Memory leak when CTRL-G in search command line fails.
+Solution: Move restore_last_search_pattern to after "if".
+Files: src/ex_getln.c
+
+Patch 8.0.1397
+Problem: Pattern with \& following nothing gives an error.
+Solution: Emit an empty node when needed.
+Files: src/regexp_nfa.c, src/testdir/test_search.vim
+
+Patch 8.0.1398
+Problem: :packadd does not load packages from the "start" directory.
+ (Alejandro Hernandez)
+Solution: Make :packadd look in the "start" directory if those packages were
+ not loaded on startup.
+Files: src/ex_cmds2.c, src/testdir/test_packadd.vim
+
+Patch 8.0.1399
+Problem: Warnings and errors when building tiny version. (Tony Mechelynck)
+Solution: Add #ifdefs.
+Files: src/ex_getln.c, src/ops.c
+
+Patch 8.0.1400
+Problem: Color scheme check script shows up as color scheme.
+Solution: Move it to the "tools" subdirectory. (closes #2457)
+Files: Filelist, runtime/colors/check_colors.vim,
+ runtime/colors/tools/check_colors.vim, runtime/colors/README.txt
+
+Patch 8.0.1401
+Problem: Cannot build with GTK but without XIM. (Guido)
+Solution: Adjust #ifdef. (closes #2461)
+Files: src/gui.c
+
+Patch 8.0.1402
+Problem: Crash with nasty autocommand. (gy741, Dominique Pelle)
+Solution: Check that the new current buffer isn't wiped out. (closes #2447)
+Files: src/buffer.c, src/testdir/test_autocmd.vim
+
+Patch 8.0.1403
+Problem: Using freed buffer in grep command. (gy741, Dominique Pelle)
+Solution: Lock the dummy buffer to avoid autocommands wiping it out.
+Files: src/quickfix.c, src/testdir/test_autocmd.vim
+
+Patch 8.0.1404
+Problem: Invalid memory access on exit when autocommands wipe out a buffer.
+ (gy741, Dominique Pelle)
+Solution: Check if the buffer is still valid. (closes #2449)
+Files: src/main.c
+
+Patch 8.0.1405
+Problem: Duplicated code for getting a typed character. CursorHold is
+ called too often in the GUI. (lilydjwg)
+Solution: Refactor code to move code up from mch_inchar(). Don't fire
+ CursorHold if feedkeys() was used. (closes #2451)
+Files: src/gui.c, src/proto/gui.pro, src/main.c, src/ui.c,
+ src/proto/ui.pro, src/os_unix.c
+
+Patch 8.0.1406
+Problem: Difficult to track changes to a quickfix list.
+Solution: Add a "changedtick" value. (Yegappan Lakshmanan, closes #2460)
+Files: runtime/doc/eval.txt, runtime/doc/quickfix.txt, src/quickfix.c,
+ src/testdir/test_quickfix.vim
+
+Patch 8.0.1407
+Problem: GUI: CursorHold may trigger before 'updatetime' when using timers.
+Solution: Check that 'updatetime' has passed.
+Files: src/gui.c
+
+Patch 8.0.1408
+Problem: Crash in setqflist().
+Solution: Check for string to be NULL. (Dominique Pelle, closes #2464)
+Files: src/quickfix.c, src/testdir/test_quickfix.vim
+
+Patch 8.0.1409
+Problem: Buffer overflow in :tags command.
+Solution: Use vim_snprintf(). (Dominique Pelle, closes #2471, closes #2475)
+ Add a test.
+Files: src/testdir/test_taglist.vim, src/tag.c
+
+Patch 8.0.1410
+Problem: Hang when using count() with an empty string.
+Solution: Return zero for an empty string. (Dominique Pelle, closes #2465)
+Files: runtime/doc/eval.txt, src/evalfunc.c,
+ src/testdir/test_functions.vim
+
+Patch 8.0.1411
+Problem: Reading invalid memory with CTRL-W :.
+Solution: Correct the command characters. (closes #2469)
+Files: src/normal.c, src/testdir/test_window_cmd.vim, src/ops.c
+
+Patch 8.0.1412
+Problem: Using free memory using setloclist(). (Dominique Pelle)
+Solution: Mark location list context as still in use when needed. (Yegappan
+ Lakshmanan, closes #2462)
+Files: src/quickfix.c, src/testdir/test_quickfix.vim
+
+Patch 8.0.1413
+Problem: Accessing freed memory in :cbuffer.
+Solution: Get quickfix list after executing autocmds. (closes #2470)
+Files: src/quickfix.c, src/testdir/test_autocmd.vim
+
+Patch 8.0.1414
+Problem: Accessing freed memory in :lfile.
+Solution: Get the current window after executing autocommands. (Yegappan
+ Lakshmanan, closes #2473)
+Files: src/quickfix.c, src/testdir/test_quickfix.vim
+
+Patch 8.0.1415
+Problem: Warning for unused function without timers feature.
+Solution: Add #ifdef. (John Marriott)
+Files: src/gui.c
+
+Patch 8.0.1416
+Problem: Crash when searching for a sentence.
+Solution: Return NUL when getting character at MAXCOL. (closes #2468)
+Files: src/misc1.c, src/misc2.c, src/testdir/test_search.vim,
+ src/ex_docmd.c
+
+Patch 8.0.1417
+Problem: Test doesn't search for a sentence. Still fails when searching for
+ start of sentence. (Dominique Pelle)
+Solution: Add paren. Check for MAXCOL in dec().
+Files: src/testdir/test_search.vim, src/misc2.c
+
+Patch 8.0.1418
+Problem: No test for expanding backticks.
+Solution: Add a test. (Dominique Pelle, closes #2479)
+Files: src/testdir/test_normal.vim
+
+Patch 8.0.1419
+Problem: Cursor column is not updated after ]s. (Gary Johnson)
+Solution: Set the curswant flag.
+Files: src/testdir/test_spell.vim, src/normal.c, src/evalfunc.c
+
+Patch 8.0.1420
+Problem: Accessing freed memory in vimgrep.
+Solution: Check that the quickfix list is still valid. (Yegappan Lakshmanan,
+ closes #2474)
+Files: src/quickfix.c, src/testdir/test_autocmd.vim,
+ src/testdir/test_quickfix.vim
+
+Patch 8.0.1421
+Problem: Accessing invalid memory with overlong byte sequence.
+Solution: Check for NUL character. (test by Dominique Pelle, closes #2485)
+Files: src/misc2.c, src/testdir/test_functions.vim
+
+Patch 8.0.1422
+Problem: No fallback to underline when undercurl is not set. (Ben Jackson)
+Solution: Check for the value to be empty instead of NULL. (closes #2424)
+Files: src/screen.c
+
+Patch 8.0.1423
+Problem: Error in return not caught by try/catch.
+Solution: Call update_force_abort(). (Yasuhiro Matsumoto, closes #2483)
+Files: src/testdir/test_eval.in, src/testdir/test_eval_stuff.vim,
+ src/Makefile, src/testdir/Make_all.mak, src/userfunc.c
+
+Patch 8.0.1424
+Problem: The timer_pause test is flaky on Travis.
+Solution: Accept a longer sleep time on Mac.
+Files: src/testdir/test_timers.vim
+
+Patch 8.0.1425
+Problem: execute() does not work in completion of user command. (thinca)
+Solution: Switch off redir_off and restore it. (Ozaki Kiichi, closes #2492)
+Files: src/evalfunc.c, src/testdir/test_usercommands.vim
+
+Patch 8.0.1426
+Problem: "gf" and <cfile> don't accept ? and & in URL. (Dmitrii Tcyganok)
+Solution: Check for a URL and allow for extra characters. (closes #2493)
+Files: src/window.c, src/testdir/test_gf.vim
+
+Patch 8.0.1427
+Problem: The :leftabove modifier doesn't work for :copen.
+Solution: Respect the split modifier. (Yegappan Lakshmanan, closes #2496)
+Files: src/quickfix.c, src/testdir/test_quickfix.vim
+
+Patch 8.0.1428
+Problem: Compiler warning on 64 bit MS-Windows system.
+Solution: Change type from "int" to "size_t". (Mike Williams)
+Files: src/ex_getln.c
+
+Patch 8.0.1429
+Problem: Crash when calling term_start() with empty argument.
+Solution: Check for invalid argument. (Yasuhiro Matsumoto, closes #2503)
+ Fix memory leak.
+Files: src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.1430 (after 8.0.1429)
+Problem: Crash when term_start() fails.
+Solution: Initialize winpty_err.
+Files: src/terminal.c
+
+Patch 8.0.1431
+Problem: MS-Windows: vimtutor fails if %TMP% has special chars.
+Solution: Add quotes. (Tamce, closes #2561)
+Files: vimtutor.bat
+
+Patch 8.0.1432
+Problem: After ":copen" can't get the window-ID of the quickfix window.
+ (FalacerSelene)
+Solution: Make it work without a quickfix list. Add a test. (Yegappan
+ Lakshmanan, closes #2541)
+Files: src/quickfix.c, src/testdir/test_quickfix.vim
+
+Patch 8.0.1433
+Problem: Illegal memory access after undo. (Dominique Pelle)
+Solution: Avoid the column becomes negative. (Christian Brabandt,
+ closes #2533)
+Files: src/mbyte.c, src/testdir/test_undo.vim
+
+Patch 8.0.1434
+Problem: GTK: :promtfind does not put focus on text input. (Adam Novak)
+Solution: When re-opening the dialog put focus on the text input. (Kazunobu
+ Kuriyama, closes #2563)
+Files: src/gui_gtk.c
+
+Patch 8.0.1435
+Problem: Memory leak in test_arabic.
+Solution: Free the from and to parts. (Christian Brabandt, closes #2569)
+Files: src/buffer.c, src/digraph.c, src/proto/digraph.pro
+
+Patch 8.0.1436
+Problem: Not enough information about what Python version may work.
+Solution: Add "python_compiled", "python3_compiled", "python_dynamic" and
+ "python3_dynamic" values for has().
+Files: src/evalfunc.c, runtime/doc/eval.txt
+
+Patch 8.0.1437
+Problem: Pkg-config doesn't work with cross compiling.
+Solution: Use AC_PATH_TOOL() instead of AC_PATH_PROG(). (James McCoy,
+ closes #2513)
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.1438
+Problem: Filetype detection test not updated for change.
+Solution: Update the test.
+Files: src/testdir/test_filetype.vim
+
+Patch 8.0.1439
+Problem: If cscope fails a search Vim may hang.
+Solution: Bail out when a search error is encountered. (Safouane Baroudi,
+ closes #2598)
+Files: src/if_cscope.c
+
+Patch 8.0.1440
+Problem: Terminal window: some vterm responses are delayed.
+Solution: After writing input. check if there is output to read. (Ozaki
+ Kiichi, closes #2594)
+Files: src/terminal.c, src/testdir/test_search.vim,
+ src/testdir/test_terminal.vim
+
+Patch 8.0.1441
+Problem: Using ":undo 0" leaves undo in wrong state.
+Solution: Instead of searching for state 1 and go above, just use the start.
+ (Ozaki Kiichi, closes #2595)
+Files: src/undo.c, src/testdir/test_undo.vim
+
+Patch 8.0.1442 (after 8.0.1439)
+Problem: Using pointer before it is set.
+Solution: Search in whole buffer instead of next token.
+Files: src/if_cscope.c
+
+Patch 8.0.1443 (after 8.0.1441)
+Problem: Compiler complains about uninitialized variable. (Tony Mechelynck)
+Solution: Assign a value to the variable.
+Files: src/undo.c
+
+Patch 8.0.1444
+Problem: Missing -D_FILE_OFFSET_BITS=64 may cause problems if a library is
+ compiled with it.
+Solution: Include -D_FILE_OFFSET_BITS if some CFLAGS has it. (James McCoy,
+ closes #2600)
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.1445
+Problem: Cannot act on edits in the command line.
+Solution: Add the CmdlineChanged autocommand event. (xtal8, closes #2603,
+ closes #2524)
+Files: runtime/doc/autocmd.txt, src/ex_getln.c, src/fileio.c,
+ src/testdir/test_autocmd.vim, src/vim.h
+
+Patch 8.0.1446
+Problem: Accessing freed memory after window command in auto command.
+ (gy741)
+Solution: Adjust the pointer in the parent frame. (Christian Brabandt,
+ closes #2467)
+Files: src/window.c, src/testdir/test_window_cmd.vim
+
+Patch 8.0.1447
+Problem: Still too many old style tests.
+Solution: Turn a few tests into new style. (Yegappan Lakshmanan,
+ closes #2509)
+Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
+ src/testdir/main.aap, src/testdir/test15.in,
+ src/testdir/test15.ok, src/testdir/test36.in,
+ src/testdir/test36.ok, src/testdir/test50.in,
+ src/testdir/test50.ok, src/testdir/test_regex_char_classes.vim,
+ src/testdir/test_shortpathname.vim,
+ src/testdir/test_textformat.vim
+
+Patch 8.0.1448
+Problem: Segmentation fault when Ruby throws an exception inside :rubyfile
+ command.
+Solution: Use rb_protect() instead of rb_load_protect(). (ujihisa,
+ closes #2147, greywolf, closes #2512, #2511)
+Files: src/if_ruby.c, src/testdir/test_ruby.vim
+
+Patch 8.0.1449
+Problem: Slow redrawing with DirectX.
+Solution: Avoid calling gui_mch_flush() unnecessarily, especially when
+ updating the cursor. (Ken Takata, closes #2560)
+Files: runtime/doc/options.txt, src/channel.c, src/edit.c, src/getchar.c,
+ src/gui.c, src/gui_dwrite.cpp, src/gui_dwrite.h, src/gui_w32.c,
+ src/macros.h, src/main.c, src/message.c, src/netbeans.c,
+ src/proto/gui.pro, src/proto/term.pro, src/screen.c, src/search.c,
+ src/term.c, src/ui.c
+
+Patch 8.0.1450
+Problem: Endless loop when gui_mch_stop_blink() is called while blink_state
+ is BLINK_OFF. (zdohnal)
+Solution: Avoid calling gui_update_cursor() recursively.
+Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro,
+ src/gui_mac.c, src/proto/gui_mac.pro, src/gui_photon.c,
+ src/proto/gui_photon.pro, src/gui_w32.c, src/proto/gui_w32.pro,
+ src/gui_x11.c, src/proto/gui_x11.pro
+
+Patch 8.0.1451
+Problem: It is difficult to set the python home directory properly for
+ Python 2.7 and 3.5 since both use $PYTHONHOME.
+Solution: Add the 'pythonhome' and 'pythonthreehome' options. (Kazuki
+ Sakamoto, closes #1266)
+Files: runtime/doc/options.txt, runtime/doc/quickref.txt,
+ runtime/optwin.vim, src/if_python.c, src/if_python3.c,
+ src/option.c, src/option.h
+
+Patch 8.0.1452
+Problem: Terminal test fails on some systems. (jonathonf)
+Solution: Use "cat" instead of Python to produce the input. Add a delay.
+ (closes #2607)
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1453
+Problem: Terminal test fails on some slow terminals.
+Solution: Increase timeout to 10 seconds.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1454
+Problem: When in silent mode too much output is buffered.
+Solution: Use line buffering instead of fully buffered. (Brian M. Carlson,
+ closes #2537)
+Files: src/main.c
+
+Patch 8.0.1455
+Problem: If $SHELL contains a space then the default value of 'shell' is
+ incorrect. (Matthew Horan)
+Solution: Escape spaces in $SHELL. (Christian Brabandt, closes #459)
+Files: src/option.c, runtime/doc/options.txt,
+ src/testdir/test_startup.vim
+
+Patch 8.0.1456
+Problem: Timer test on travis Mac is still flaky.
+Solution: Increase time range a bit more.
+Files: src/testdir/test_timers.vim
+
+Patch 8.0.1457
+Problem: Clojure now supports a shebang line.
+Solution: Detect clojure script from the shebang line. (David Burgin,
+ closes #2570)
+Files: runtime/scripts.vim
+
+Patch 8.0.1458
+Problem: Filetype detection test does not check all scripts.
+Solution: Add most scripts to the test
+Files: src/testdir/test_filetype.vim
+
+Patch 8.0.1459
+Problem: Cannot handle change of directory.
+Solution: Add the DirChanged autocommand event. (Andy Massimino,
+ closes #888) Avoid changing directory for 'autochdir' too often.
+Files: runtime/doc/autocmd.txt, src/buffer.c, src/ex_docmd.c,
+ src/fileio.c, src/main.c, src/vim.h, src/proto/misc2.pro,
+ src/gui_mac.c, src/netbeans.c, src/os_win32.c,
+ src/testdir/test_autocmd.vim
+
+Patch 8.0.1460 (after 8.0.1459)
+Problem: Missing file in patch.
+Solution: Add changes to missing file.
+Files: src/misc2.c
+
+Patch 8.0.1461 (after 8.0.1459)
+Problem: Missing another file in patch.
+Solution: Add changes to missing file.
+Files: src/ex_cmds.c
+
+Patch 8.0.1462 (after 8.0.1459)
+Problem: Missing yet another file in patch.
+Solution: Add changes to missing file.
+Files: src/gui.c
+
+Patch 8.0.1463
+Problem: Test fails without 'autochdir' option.
+Solution: Skip test if 'autochdir' is not supported.
+Files: src/testdir/test_autocmd.vim
+
+Patch 8.0.1464
+Problem: Completing directory after :find does not add slash.
+Solution: Adjust the flags for globpath(). (Genki Sky)
+Files: src/misc1.c, src/testdir/test_find_complete.vim
+
+Patch 8.0.1465
+Problem: Python2 and python3 detection not tested. (Matej Cepl)
+Solution: Add test for detecting python2 and python3. Also detect a script
+ using "js" as javascript.
+Files: runtime/scripts.vim, src/testdir/test_filetype.vim
+
+Patch 8.0.1466
+Problem: Older GTK versions don't have gtk_entry_get_text_length().
+Solution: Add a function with #ifdefs to take care of GTK version
+ differences. (Kazunobu Kuriyama, closes #2605)
+Files: src/gui_gtk.c
+
+Patch 8.0.1467
+Problem: Libvterm doesn't handle illegal byte sequence correctly.
+Solution: After the invalid code check if there is space to store another
+ character. Allocate one more character. (zhykzhykzhyk, closes
+ #2614, closes #2613)
+Files: src/libvterm/src/encoding.c, src/libvterm/src/state.c
+
+Patch 8.0.1468
+Problem: Illegal memory access in del_bytes().
+Solution: Check for negative byte count. (Christian Brabandt, closes #2466)
+Files: src/message.c, src/misc1.c
+
+Patch 8.0.1469
+Problem: When package path is a symlink adding it to 'runtimepath' happens
+ at the end.
+Solution: Do not resolve symlinks before locating the position in
+ 'runtimepath'. (Ozaki Kiichi, closes #2604)
+Files: src/ex_cmds2.c, src/testdir/test_packadd.vim
+
+Patch 8.0.1470
+Problem: Integer overflow when using regexp pattern. (geeknik)
+Solution: Use a long instead of int. (Christian Brabandt, closes #2251)
+Files: src/regexp_nfa.c
+
+Patch 8.0.1471 (after 8.0.1401)
+Problem: On MS-Windows CursorIM highlighting no longer works.
+Solution: Adjust #if statements. (Ken Takata)
+Files: src/gui.c
+
+Patch 8.0.1472
+Problem: MS-Windows: nsis installer is a bit slow.
+Solution: Use ReserveFile for vimrc.ini. (Ken Takata, closes #2522)
+Files: nsis/gvim.nsi
+
+Patch 8.0.1473
+Problem: MS-Windows: D&D fails between 32 and 64 bit apps.
+Solution: Add the /HIGHENTROPYVA:NO linker option. (Ken Takata, closes #2504)
+Files: src/Make_mvc.mak
+
+Patch 8.0.1474
+Problem: Visual C 2017 has multiple MSVCVER numbers.
+Solution: Assume the 2017 version if MSVCVER >= 1910. (Leonardo Valeri
+ Manera, closes #2619)
+Files: src/Make_mvc.mak
+
+Patch 8.0.1475
+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)
+Files: src/testdir/test_undo.vim, src/normal.c, src/vim.h, src/ops.c
+
+Patch 8.0.1476
+Problem: Screen isn't always updated right away.
+Solution: Adjust #ifdef: Call out_flush() when not running the GUI.
+Files: src/screen.c
+
+Patch 8.0.1477
+Problem: Redraw flicker when moving the mouse outside of terminal window.
+Solution: Instead of updating the cursor color and shape every time leaving
+ and entering a terminal window, only update when different from
+ the previously used cursor.
+Files: src/terminal.c
+
+Patch 8.0.1478
+Problem: Unnecessary condition for "len" being zero.
+Solution: Remove the condition. (Dominique Pelle)
+Files: src/regexp_nfa.c
+
+Patch 8.0.1479
+Problem: Insert mode completion state is confusing.
+Solution: Move ctrl_x_mode into edit.c. Add CTRL_X_NORMAL for zero.
+Files: src/edit.c, src/globals.h, src/proto/edit.pro, src/search.c,
+ src/getchar.c
+
+Patch 8.0.1480 (after 8.0.1479)
+Problem: Patch missing change.
+Solution: Add missing change.
+Files: src/evalfunc.c
+
+Patch 8.0.1481
+Problem: Clearing a pointer takes two lines.
+Solution: Add vim_clear() to free and clear the pointer.
+Files: src/misc2.c, src/proto/misc2.pro, src/edit.c
+
+Patch 8.0.1482
+Problem: Using feedkeys() does not work to test Insert mode completion.
+ (Lifepillar)
+Solution: Do not check for typed keys when executing :normal or feedkeys().
+ Fix thesaurus completion not working when 'complete' is empty.
+Files: src/edit.c, src/testdir/test_ins_complete.vim,
+ src/testdir/test_popup.vim, src/testdir/test_edit.vim
+
+Patch 8.0.1483
+Problem: Searchpair() might return an invalid value on timeout.
+Solution: When the second search times out, do not accept a match from the
+ first search. (Daniel Hahler, closes #2552)
+Files: src/search.c
+
+Patch 8.0.1484
+Problem: Redundant conditions.
+Solution: Remove them. (Dominique Pelle)
+Files: src/terminal.c
+
+Patch 8.0.1485
+Problem: Weird autocmd may cause arglist to be changed recursively.
+Solution: Prevent recursively changing the argument list. (Christian
+ Brabandt, closes #2472)
+Files: src/ex_docmd.c, src/globals.h
+
+Patch 8.0.1486
+Problem: Accessing invalid memory with "it". (Dominique Pelle)
+Solution: Avoid going over the end of the line. (Christian Brabandt,
+ closes #2532)
+Files: src/search.c, src/testdir/test_textobjects.vim
+
+Patch 8.0.1487 (after 8.0.1486)
+Problem: Test 14 fails.
+Solution: Fix of-by-one error.
+Files: src/search.c
+
+Patch 8.0.1488 (after 8.0.1218)
+Problem: Emacs tags no longer work. (zdohnal)
+Solution: Do not skip over end of line.
+Files: src/tag.c, src/testdir/test_tagjump.vim
+
+Patch 8.0.1489
+Problem: There is no easy way to get the global directory, esp. if some
+ windows have a local directory.
+Solution: Make getcwd(-1) return the global directory. (Andy Massimino,
+ closes #2606)
+Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_getcwd.vim
+
+Patch 8.0.1490
+Problem: Number of spell regions is spread out through the code.
+Solution: Define MAXREGIONS.
+Files: src/spell.h, src/spellfile.c
+
+Patch 8.0.1491
+Problem: The minimum width of the popup menu is hard coded.
+Solution: Add the 'pumwidth' option. (Christian Brabandt, James McCoy,
+ closes #2314)
+Files: runtime/doc/options.txt, src/option.c, src/option.h,
+ src/popupmnu.c
+
+Patch 8.0.1492
+Problem: Memory leak in balloon_split().
+Solution: Free the balloon lines. Free the balloon when exiting.
+Files: src/misc2.c, src/evalfunc.c
+
+Patch 8.0.1493
+Problem: Completion items cannot be annotated.
+Solution: Add a "user_data" entry to the completion item. (Ben Jackson,
+ closes #2608, closes #2508)
+Files: runtime/doc/insert.txt, src/edit.c, src/structs.h,
+ src/testdir/test_ins_complete.vim
+
+Patch 8.0.1494
+Problem: No autocmd triggered in Insert mode with visible popup menu.
+Solution: Add TextChangedP. (Prabir Shrestha, Christian Brabandt,
+ closes #2372, closes #1691)
+ Fix that the TextChanged autocommands are not always triggered
+ when sourcing a script.
+Files: runtime/doc/autocmd.txt, src/edit.c, src/globals.h, src/structs.h,
+ src/fileio.c, src/proto/fileio.pro, src/vim.h, src/main.c,
+ src/testdir/test_autocmd.vim
+
+Patch 8.0.1495
+Problem: Having 'pumwidth' default to zero has no merit.
+Solution: Make the default 15, as the actual default value.
+Files: src/popupmnu.c, src/option.c
+
+Patch 8.0.1496
+Problem: Clearing a pointer takes two lines.
+Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
+ closes #2629)
+Files: src/buffer.c, src/channel.c, src/crypt.c, src/edit.c, src/eval.c,
+ src/evalfunc.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c,
+ src/ex_getln.c, src/fileio.c, src/gui_gtk_x11.c, src/gui_photon.c,
+ src/gui_w32.c, src/gui_x11.c, src/hardcopy.c, src/if_cscope.c,
+ src/macros.h, src/main.c, src/mark.c, src/mbyte.c, src/memfile.c,
+ src/memline.c, src/menu.c, src/message.c, src/misc1.c,
+ src/misc2.c, src/netbeans.c, src/normal.c, src/ops.c,
+ src/option.c, src/os_amiga.c, src/os_mac_conv.c, src/os_mswin.c,
+ src/os_unix.c, src/os_win32.c, src/popupmnu.c,
+ src/proto/misc2.pro, src/quickfix.c, src/regexp.c,
+ src/regexp_nfa.c, src/screen.c, src/search.c, src/spell.c,
+ src/spellfile.c, src/syntax.c, src/tag.c, src/term.c,
+ src/terminal.c, src/ui.c, src/undo.c, src/userfunc.c, src/window.c
+
+Patch 8.0.1497
+Problem: Getting the jump list requires parsing the output of :jumps.
+Solution: Add getjumplist(). (Yegappan Lakshmanan, closes #2609)
+Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/Makefile,
+ src/evalfunc.c, src/list.c, src/proto/list.pro,
+ src/testdir/Make_all.mak, src/testdir/test_jumplist.vim
+
+Patch 8.0.1498 (after 8.0.1497)
+Problem: Getjumplist() returns duplicate entries. (lacygoill)
+Solution: Call cleanup_jumplist(). (Yegappan Lakshmanan)
+Files: src/evalfunc.c, src/mark.c, src/proto/mark.pro,
+ src/testdir/test_jumplist.vim
+
+Patch 8.0.1499
+Problem: Out-of-memory situation not correctly handled. (Coverity)
+Solution: Check for NULL value.
+Files: src/terminal.c
+
+Patch 8.0.1500
+Problem: Possible NULL pointer dereference. (Coverity)
+Solution: Check for the pointer not being NULL.
+Files: src/quickfix.c
+
+Patch 8.0.1501
+Problem: Out-of-memory situation not correctly handled. (Coverity)
+Solution: Check for NULL value.
+Files: src/ops.c
+
+Patch 8.0.1502
+Problem: In out-of-memory situation character is not restored. (Coverity)
+Solution: Restore the character in all situations.
+Files: src/ex_getln.c
+
+Patch 8.0.1503
+Problem: Access memory beyond end of string. (Coverity)
+Solution: Keep allocated memory in separate pointer. Avoid outputting the
+ NUL character.
+Files: src/hardcopy.c
+
+Patch 8.0.1504
+Problem: Win32: the screen may be cleared on startup.
+Solution: Only call shell_resized() when the size actually changed. (Ken
+ Takata, closes #2527)
+Files: src/os_win32.c
+
+Patch 8.0.1505
+Problem: Debugger can't break on a condition. (Charles Campbell)
+Solution: Add ":breakadd expr". (Christian Brabandt, closes #859)
+Files: runtime/doc/repeat.txt, src/eval.c, src/evalfunc.c,
+ src/userfunc.c, src/ex_cmds2.c, src/ex_docmd.c,
+ src/proto/eval.pro, src/proto/ex_cmds2.pro, src/structs.h
+
+Patch 8.0.1506
+Problem: New version of HP NonStop (Tandem) doesn't like the default header
+ for setenv().
+Solution: Put a #ifdef around the setenv() entry. (Joachim Schmitz)
+Files: src/osdef2.h.in
+
+Patch 8.0.1507
+Problem: Timer test is a bit flaky.
+Solution: Add it to the list of flaky tests.
+Files: src/testdir/runtest.vim
+
+Patch 8.0.1508
+Problem: The :drop command is not always available.
+Solution: Include :drop in all builds. (Yasuhiro Matsumoto, closes #2639)
+Files: runtime/doc/windows.txt, src/ex_cmds.c, src/ex_cmds2.c,
+ src/ex_docmd.c, src/testdir/test_normal.vim,
+ src/testdir/test_tabpage.vim
+
+Patch 8.0.1509 (after 8.0.1508)
+Problem: Test for failing drag-n-drop command no longer fails.
+Solution: Check for the "dnd" feature.
+Files: src/testdir/test_normal.vim
+
+Patch 8.0.1510
+Problem: Cannot test if a command causes a beep.
+Solution: Add assert_beeps().
+Files: runtime/doc/eval.txt, src/evalfunc.c, src/eval.c,
+ src/proto/eval.pro, src/misc1.c, src/globals.h,
+ src/testdir/test_normal.vim, src/testdir/test_assert.vim
+
+Patch 8.0.1511 (after 8.0.1505)
+Problem: Some code for the debugger watch expression is clumsy.
+Solution: Clean up the code.
+Files: src/ex_cmds2.c, src/eval.c, src/proto/eval.pro
+
+Patch 8.0.1512
+Problem: Warning for possibly using NULL pointer. (Coverity)
+Solution: Skip using the pointer if it's NULL.
+Files: src/ex_cmds.c
+
+Patch 8.0.1513
+Problem: The jumplist is not always properly cleaned up.
+Solution: Call fname2fnum() before cleanup_jumplist(). (Yegappan Lakshmanan)
+Files: src/evalfunc.c, src/mark.c, src/proto/mark.pro
+
+Patch 8.0.1514
+Problem: Getting the list of changes is not easy.
+Solution: Add the getchangelist() function. (Yegappan Lakshmanan,
+ closes #2634)
+Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c,
+ src/testdir/Make_all.mak, src/testdir/test_changelist.vim,
+ src/Makefile
+
+Patch 8.0.1515
+Problem: BufWinEnter event fired when opening hidden terminal.
+Solution: Do not fire BufWinEnter when the terminal is hidden and does not
+ open a window. (Kenta Sato, closes #2636)
+Files: src/terminal.c
+
+Patch 8.0.1516
+Problem: Errors for job options are not very specific.
+Solution: Add more specific error messages.
+Files: src/channel.c, src/globals.h
+
+Patch 8.0.1517
+Problem: Invalid memory access with pattern using look-behind match.
+ (Dominique Pelle)
+Solution: Get a pointer to the right line.
+Files: src/regexp.c
+
+Patch 8.0.1518
+Problem: Error messages suppressed after ":silent! try". (Ben Reilly)
+Solution: Restore emsg_silent before executing :try. (closes #2531)
+Files: src/ex_docmd.c, src/testdir/test_eval_stuff.vim
+
+Patch 8.0.1519
+Problem: Getchangelist() does not use argument as bufname().
+Solution: Use get_buf_tv(). (Yegappan Lakshmanan, closes #2641)
+Files: src/evalfunc.c, src/testdir/test_changelist.vim
+
+Patch 8.0.1520
+Problem: Cursor is in the wrong line when using a WinBar in a Terminal
+ window.
+Solution: Adjust the row number. (Christian Brabandt, closes #2362)
+Files: src/screen.c, src/terminal.c
+
+Patch 8.0.1521
+Problem: Shift-Tab does not work in a terminal window.
+Solution: Recognize Shift-Tab key press. (Jsees Luehrs, closes #2644)
+Files: src/terminal.c
+
+Patch 8.0.1522 (after 8.0.1491)
+Problem: Popup menu is positioned in the wrong place. (Davit Samvelyan,
+ Boris Staletic)
+Solution: Correct computation of the column and the conditions for that.
+ (Hirohito Higashi, closes #2640)
+Files: src/popupmnu.c
+
+Patch 8.0.1523
+Problem: Cannot write and read terminal screendumps.
+Solution: Add term_dumpwrite(), term_dumpread() and term_dumpdiff().
+ Also add assert_equalfile().
+Files: src/terminal.c, src/proto/terminal.pro, src/evalfunc.c,
+ src/normal.c, src/eval.c, src/proto/eval.pro,
+ runtime/doc/eval.txt, src/testdir/test_assert.vim
+
+Patch 8.0.1524 (after 8.0.1523)
+Problem: Compiler warnings for uninitialized variables. (Tony Mechelynck)
+Solution: Initialize variables.
+Files: src/terminal.c
+
+Patch 8.0.1525
+Problem: Using :wqa exits even if a job runs in a terminal window. (Jason
+ Felice)
+Solution: Check if a terminal has a running job. (closes #2654)
+Files: src/ex_cmds2.c, src/buffer.c, src/proto/buffer.pro, src/ex_cmds.c,
+ src/testdir/test_terminal.vim
+
+Patch 8.0.1526
+Problem: No test using a screen dump yet.
+Solution: Add a test for C syntax highlighting. Add helper functions.
+Files: src/terminal.c, src/testdir/test_syntax.vim,
+ src/testdir/shared.vim, src/testdir/screendump.vim,
+ src/testdir/dumps/Test_syntax_c_01.dump, runtime/doc/terminal.txt,
+ src/testdir/README.txt
+
+Patch 8.0.1527 (after 8.0.1526)
+Problem: Screen dump test fails on MS-Windows.
+Solution: Skip dump test on MS-Windows for now.
+Files: src/testdir/test_syntax.vim
+
+Patch 8.0.1528
+Problem: Dead code found.
+Solution: Remove the useless lines. (CodeAi, closes #2656)
+Files: src/screen.c, src/spell.c, src/syntax.c, src/window.c
+
+Patch 8.0.1529
+Problem: Assert_equalfile() does not close file descriptors. (Coverity)
+Solution: Close the file descriptors.
+Files: src/eval.c
+
+Patch 8.0.1530
+Problem: Dump test fails when using a shadow directory.
+Solution: Add the directory to the list of symlinks to make (Elimar
+ Riesebieter)
+Files: src/Makefile
+
+Patch 8.0.1531
+Problem: Cannot use 24 bit colors in MS-Windows console.
+Solution: Add support for vcon. (Nobuhiro Takasaki, Ken Takata,
+ fixes #1270, fixes #2060)
+Files: runtime/doc/options.txt, src/misc1.c, src/option.c,
+ src/evalfunc.c, src/os_win32.c, src/proto/os_win32.pro,
+ src/feature.h, src/proto/term.pro, src/screen.c, src/syntax.c,
+ src/term.c, src/testdir/gen_opt_test.vim, src/version.c
+
+Patch 8.0.1532
+Problem: Compiler warnings without termguicolors feature.
+Solution: Add #ifdef. (John Marriott) Cleanup the code a bit.
+Files: src/term.c
+
+Patch 8.0.1533
+Problem: Libterm doesn't support requesting fg and bg color.
+Solution: Implement t_RF and t_RB.
+Files: src/libvterm/src/vterm_internal.h, src/libvterm/src/state.c,
+ src/libvterm/src/vterm.c
+
+Patch 8.0.1534
+Problem: C syntax test fails when using gvim
+Solution: Force running in a terminal. Check that 'background' is correct
+ even when $COLORFGBG is set.
+Files: src/testdir/test_syntax.vim, src/testdir/screendump.vim
+
+Patch 8.0.1535 (after 8.0.1534)
+Problem: C syntax test still fails when using gvim.
+Solution: Clear Normal cterm highlighting instead of setting it.
+Files: src/testdir/test_syntax.vim, src/testdir/screendump.vim,
+ src/testdir/dumps/Test_syntax_c_01.dump
+
+Patch 8.0.1536
+Problem: Quotestar test is flaky when using the GUI.
+Solution: Add check that the star register arrived at the server. Increase
+ timeouts.
+Files: src/testdir/test_quotestar.vim
+
+Patch 8.0.1537
+Problem: Xxd does not skip NUL lines when using ebcdic.
+Solution: Check for a NUL before converting a character for ebcdic. (Tim
+ Sell, closes #2668)
+Files: src/xxd/xxd.c
+
+Patch 8.0.1538
+Problem: Popupmenu is too far left when completion is long. (Linwei)
+Solution: Adjust column computations. (Hirohito Higashi, closes #2661)
+Files: src/popupmnu.c
+
+Patch 8.0.1539
+Problem: No test for the popup menu positioning.
+Solution: Add a screendump test for the popup menu.
+Files: src/terminal.c, src/testdir/test_syntax.vim,
+ src/testdir/screendump.vim,
+ src/testdir/test_popup.vim,
+ src/testdir/dumps/Test_popup_position_01.dump,
+ src/testdir/dumps/Test_popup_position_02.dump,
+ src/testdir/dumps/Test_popup_position_03.dump,
+ runtime/doc/eval.txt
+
+Patch 8.0.1540
+Problem: Popup menu positioning fails with longer string.
+Solution: Only align with right side of window when width is less than
+ 'pumwidth' (closes #2661)
+Files: src/popupmnu.c, src/testdir/screendump.vim,
+ src/testdir/test_popup.vim,
+ src/testdir/dumps/Test_popup_position_04.dump
+
+Patch 8.0.1541
+Problem: synpat_T is taking too much memory.
+Solution: Reorder members to reduce padding. (Dominique Pelle, closes #2671)
+Files: src/syntax.c
+
+Patch 8.0.1542
+Problem: Terminal screen dump does not include cursor position.
+Solution: Mark the cursor position in the dump.
+Files: src/terminal.c,
+ src/testdir/dumps/Test_popup_position_01.dump,
+ src/testdir/dumps/Test_popup_position_02.dump,
+ src/testdir/dumps/Test_popup_position_03.dump,
+ src/testdir/dumps/Test_popup_position_04.dump,
+ src/testdir/dumps/Test_syntax_c_01.dump
+
+Patch 8.0.1543
+Problem: With 'termguicolors' Normal color doesn't work correctly.
+Solution: Set cterm_normal_bg_gui_color and cterm_normal_fg_color always.
+ (Kazunobu Kuriyama, closes #981, closes #2332)
+Files: src/syntax.c
+
+Patch 8.0.1544
+Problem: When using 'termguicolors' SpellBad doesn't show.
+Solution: When the GUI colors are not set fall back to the cterm colors.
+Files: src/syntax.c, src/screen.c, src/gui.h, src/structs.h
+
+Patch 8.0.1545
+Problem: Screen dumps not included in distribution.
+Solution: Add dumps to the list of distributed files.
+Files: Filelist
+
+Patch 8.0.1546
+Problem: Using feedkeys() in a terminal window may trigger mappings.
+ (Charles Sheridan)
+Solution: Avoid triggering a mapping when peeking for a key.
+Files: src/getchar.c, src/terminal.c
+
+Patch 8.0.1547
+Problem: Undo in the options window makes it empty.
+Solution: Set 'undolevels' while filling the buffer. (Yasuhiro Matsumoto,
+ closes #2645)
+Files: runtime/optwin.vim
+
+Patch 8.0.1548
+Problem: Screen dump test script not included in distribution.
+Solution: Add the script to the list of distributed files.
+Files: Filelist
+
+Patch 8.0.1549
+Problem: Various small problems in test files.
+Solution: Include small changes.
+Files: src/testdir/test_channel.py, src/testdir/shared.vim,
+ src/testdir/test_gui.vim, src/testdir/test_gui_init.vim
+
+Patch 8.0.1550
+Problem: Various small problems in source files.
+Solution: Fix the problems.
+Files: src/README.txt, src/beval.c, src/json_test.c, src/mbyte.c,
+ src/libvterm/include/vterm_keycodes.h, src/Makefile,
+ src/gui_gtk.c, src/if_xcmdsrv.c, src/pty.c, src/if_python.c,
+ src/if_py_both.h, uninstal.txt, src/dosinst.c, src/iscygpty.c,
+ src/vimrun.c, src/os_vms.c
+
+Patch 8.0.1551
+Problem: On Mac 'maxmemtot' is set to a weird value.
+Solution: For Mac use total memory and subtract system memory. For other
+ systems accept both a 32 bit and 64 bit result. (Ozaki Kiichi,
+ closes #2646)
+Files: src/os_unix.c
+
+Patch 8.0.1552
+Problem: May leak file descriptors when executing job.
+Solution: Close more file descriptors. (Ozaki Kiichi, closes #2651)
+Files: src/os_unix.c, src/testdir/test_channel.vim
+
+Patch 8.0.1553
+Problem: Cannot see what digraph is used to insert a character.
+Solution: Show the digraph with the "ga" command. (Christian Brabandt)
+Files: runtime/doc/various.txt, src/digraph.c, src/ex_cmds.c,
+ src/proto/digraph.pro, src/testdir/shared.vim,
+ src/testdir/test_matchadd_conceal.vim,
+ src/testdir/test_digraph.vim, src/testdir/test_ga.vim,
+ src/testdir/test_arabic.vim
+
+Patch 8.0.1554
+Problem: Custom plugins loaded with --clean.
+Solution: Do not include the home directory in 'runtimepath'.
+Files: src/option.c, src/main.c, src/proto/option.pro, src/structs.h,
+ src/os_unix.h, src/os_amiga.h, src/os_dos.h, src/os_mac.h,
+ runtime/doc/starting.txt
+
+Patch 8.0.1555
+Problem: Build error for some combination of features.
+Solution: Declare variable in more situations.
+Files: src/main.c
+
+Patch 8.0.1556
+Problem: May not parse the t_RS response correctly, resulting in wrong
+ characters in the input stream.
+Solution: When the t_RS response is partly received wait for more
+ characters.
+Files: src/term.c
+
+Patch 8.0.1557
+Problem: printf() does not work with only one argument. (Daniel Hahler)
+Solution: Allow using just the format. (Ken Takata, closes #2687)
+Files: src/evalfunc.c, src/testdir/test_expr.vim
+
+Patch 8.0.1558
+Problem: No right-click menu in a terminal.
+Solution: Implement the right click menu for the terminal.
+Files: src/popupmnu.c, src/proto/popupmnu.pro, src/normal.c, src/menu.c,
+ src/proto/menu.pro, src/feature.h
+
+Patch 8.0.1559
+Problem: Build failure without GUI.
+Solution: Adjust #ifdef for get_fpos_of_mouse().
+Files: src/ui.c
+
+Patch 8.0.1560
+Problem: Build failure without GUI on MS-Windows.
+Solution: Adjust #ifdef for vcol2col().
+Files: src/ui.c
+
+Patch 8.0.1561
+Problem: Crash with rust syntax highlighting. (Edd Barrett)
+Solution: Avoid going past the end of an empty line.
+Files: src/syntax.c
+
+Patch 8.0.1562
+Problem: The terminal debugger can't set a breakpoint with the mouse.
+Solution: Add popup menu entries.
+Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim,
+ runtime/doc/terminal.txt
+
+Patch 8.0.1563
+Problem: Timeout of getwinposx() can be too short. (lilydjwg)
+Solution: Add getwinpos(). (closes #2689)
+Files: src/evalfunc.c, src/term.c, src/proto/term.pro, runtime/doc/eval.txt
+
+Patch 8.0.1564
+Problem: Too many #ifdefs.
+Solution: Graduate the +autocmd feature. Takes away 450 #ifdefs and
+ increases code size of tiny Vim by only 40 Kbyte.
+Files: src/buffer.c, src/diff.c, src/edit.c, src/eval.c, src/evalfunc.c,
+ src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c,
+ src/fileio.c, src/getchar.c, src/globals.h, src/gui.c,
+ src/if_cscope.c, src/if_xcmdsrv.c, src/main.c, src/mbyte.c,
+ src/memline.c, src/menu.c, src/misc1.c, src/gui_mac.c,
+ src/misc2.c, src/move.c, src/netbeans.c, src/normal.c, src/ops.c,
+ src/option.c, src/option.h, src/feature.h, src/vim.h,
+ src/os_amiga.c, src/os_mswin.c, src/os_unix.c, src/os_win32.c,
+ src/quickfix.c, src/screen.c, src/search.c, src/spell.c,
+ src/structs.h, src/syntax.c, src/tag.c, src/term.c,
+ src/terminal.c, src/ui.c, src/undo.c, src/userfunc.c,
+ src/version.c, src/window.c
+
+Patch 8.0.1565
+Problem: Can't build Mac version without GUI.
+Solution: Adjust when IME_WITHOUT_XIM is defined.
+Files: src/vim.h
+
+Patch 8.0.1566
+Problem: Too many #ifdefs.
+Solution: Graduate FEAT_SCROLLBIND and FEAT_CURSORBIND.
+Files: src/buffer.c, src/diff.c, src/edit.c, src/evalfunc.c,
+ src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/gui.c,
+ src/main.c, src/move.c, src/normal.c, src/option.c, src/term.c,
+ src/version.c, src/window.c, src/globals.h, src/macros.h,
+ src/option.h, src/structs.h
+
+Patch 8.0.1567
+Problem: Cannot build Win32 GUI without IME. (John Marriott)
+Solution: Adjust when IME_WITHOUT_XIM and HAVE_INPUT_METHOD are defined and
+ use it in a few more places.
+Files: src/vim.h, src/gui.c
+
+Patch 8.0.1568
+Problem: Can't build on older Mac, header file is missing.
+Solution: Remove the header file. (Ozaki Kiichi, closes #2691)
+Files: src/os_unix.c
+
+Patch 8.0.1569
+Problem: Warning for uninitialized variable from gcc.
+Solution: Initialize the variable.
+Files: src/quickfix.c
+
+Patch 8.0.1570
+Problem: Can't use :popup for a menu in the terminal. (Wei Zhang)
+Solution: Make :popup work in the terminal. Also fix that entries were
+ included that don't work in the current state.
+Files: src/ex_docmd.c, src/popupmnu.c, src/proto/popupmnu.pro,
+ src/menu.c, src/proto/menu.pro
+
+Patch 8.0.1571 (after 8.0.1571)
+Problem: Can't build without GUI.
+Solution: Adjust #ifdef for gui_find_menu().
+Files: src/menu.c
+
+Patch 8.0.1572
+Problem: Mac: getting memory size doesn't work everywhere.
+Solution: Use MACOS_X instead of MACOS_X_DARWIN. (Kazunobu Kuriyama)
+Files: src/os_unix.c
+
+Patch 8.0.1573
+Problem: getwinpos(1) may cause response to be handled as command.
+Solution: Handle any cursor position report once one was requested. (partly
+ by Hirohito Higashi)
+Files: src/term.c
+
+Patch 8.0.1574
+Problem: Show cursor in wrong place when using popup menu. (Wei Zhang)
+Solution: Force updating the cursor position. Fix skipping over unused
+ entries.
+Files: src/screen.c, src/proto/screen.pro, src/popupmnu.c
+
+Patch 8.0.1575
+Problem: Crash when using virtual replace.
+Solution: Adjust orig_line_count. Add more tests. (Christian Brabandt)
+Files: src/edit.c, src/testdir/test_visual.vim
+
+Patch 8.0.1576
+Problem: Perl VIM::Buffers() does not find every buffer.
+Solution: Also find unlisted buffer by number or name. (Chris Weyl,
+ closes #2692)
+Files: src/if_perl.xs
+
+Patch 8.0.1577
+Problem: Virtual replace test fails on MS-Windows.
+Solution: Make adding a termcap entry work for a builtin terminal.
+ Restore terminal keys in a better way.
+Files: src/term.c, src/testdir/test_visual.vim
+
+Patch 8.0.1578
+Problem: No test for :popup in terminal.
+Solution: Add a screen dump test.
+Files: src/testdir/test_popup.vim,
+ src/testdir/dumps/Test_popup_command_01.dump,
+ src/testdir/dumps/Test_popup_command_02.dump,
+ src/testdir/dumps/Test_popup_command_03.dump
+
+Patch 8.0.1579
+Problem: Virtual replace test fails in GUI.
+Solution: Don't save key options if they were not set.
+Files: src/testdir/test_visual.vim
+
+Patch 8.0.1580
+Problem: FEAT_CURSORBIND and FEAT_SCROLLBIND are unused.
+Solution: Delete them.
+Files: src/feature.h
+
+Patch 8.0.1581
+Problem: Cannot build Win32 GUI without +eval.
+Solution: Define HAVE_INPUT_METHOD without +eval. (Ken Takata)
+Files: src/vim.h
+
+Patch 8.0.1582
+Problem: In the MS-Windows console mouse movement is not used.
+Solution: Pass mouse movement events when useful.
+Files: src/os_win32.c, src/proto/os_win32.pro, src/feature.h
+
+Patch 8.0.1583
+Problem: Using C99 comment.
+Solution: Use old style comment. (Kazunobu Kuriyama)
+Files: src/quickfix.c
+
+Patch 8.0.1584
+Problem: Using C99 in Mac file gives compiler warning messages.
+Solution: Add #pragmas to avoid the warnings. (Kazunobu Kuriyama)
+Files: src/os_macosx.m
+
+Patch 8.0.1585
+Problem: Enabling beval_term feature in Win32 GUI.
+Solution: Only enable beval_term in Win32 console.
+Files: src/feature.h
+
+Patch 8.0.1586
+Problem: Imactivatefunc does not work on non-GUI Mac.
+Solution: Fix logic in #ifdef.
+Files: src/vim.h
+
+Patch 8.0.1587
+Problem: inserting from the clipboard doesn't work literally
+Solution: When pasting from the * or + register always assume literally.
+Files: src/ops.c, src/proto/ops.pro, src/testdir/test_paste.vim
+
+Patch 8.0.1588
+Problem: Popup menu hangs after typing CTRL-C.
+Solution: Make CTRL-C exit the loop. (Ozaki Kiichi, closes #2697)
+Files: src/popupmnu.c
+
+Patch 8.0.1589
+Problem: Error for setting 'modifiable' when resetting it.
+Solution: Check if 'modifiable' was actually set.
+Files: src/option.c
+
+Patch 8.0.1590
+Problem: Padding in list type wastes memory.
+Solution: Reorder struct members to optimize padding. (Dominique Pelle,
+ closes #2704)
+Files: src/structs.h
+
+Patch 8.0.1591
+Problem: MS-Windows: when reparsing the arguments 'wildignore' matters.
+Solution: Save and reset 'wildignore'. (Yasuhiro Matsumoto, closes #2702)
+Files: src/os_win32.c
+
+Patch 8.0.1592
+Problem: Terminal windows in a session are not properly restored.
+Solution: Add "terminal" in 'sessionoptions'. When possible restore the
+ command running in a terminal.
+Files: src/option.c, src/option.h, src/ex_docmd.c, src/terminal.c,
+ src/proto/terminal.pro, src/evalfunc.c, src/structs.h,
+ src/channel.c, src/testdir/test_terminal.vim,
+ src/testdir/shared.vim, src/testdir/test_mksession.vim
+
+Patch 8.0.1593
+Problem: :qall never exits with an active terminal window.
+Solution: Add a way to kill a job in a terminal window.
+Files: src/ex_cmds2.c, src/terminal.c, src/proto/terminal.pro,
+ src/structs.h, src/channel.c, src/evalfunc.c,
+ src/testdir/test_terminal.vim, runtime/doc/terminal.txt,
+ runtime/doc/eval.txt
+
+Patch 8.0.1594
+Problem: :confirm qall not tested with active terminal window.
+Solution: Add a test.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1595
+Problem: No autocommand triggered before exiting.
+Solution: Add the ExitPre autocommand event.
+Files: src/ex_docmd.c, src/fileio.c, src/vim.h,
+ src/testdir/test_exit.vim, src/Makefile, src/testdir/Make_all.mak,
+ runtime/doc/autocmd.txt
+
+Patch 8.0.1596
+Problem: No autocommand specifically for opening a terminal window.
+Solution: Add TerminalOpen. (Yasuhiro Matsumoto, closes #2484)
+Files: runtime/doc/autocmd.txt, src/fileio.c, src/terminal.c,
+ src/testdir/test_terminal.vim, src/vim.h
+
+Patch 8.0.1597
+Problem: Autocommand events are not sorted.
+Solution: Sort the autocommand events.
+Files: src/vim.h
+
+Patch 8.0.1598
+Problem: Cannot select text in a terminal with the mouse.
+Solution: When a job in a terminal is not consuming mouse events, use them
+ for modeless selection. Also stop Insert mode when clicking in a
+ terminal window.
+Files: src/libvterm/include/vterm.h, src/libvterm/src/state.c,
+ src/libvterm/src/vterm_internal.h, src/terminal.c,
+ src/proto/terminal.pro, src/ui.c
+
+Patch 8.0.1599
+Problem: No error message when gdb does not support the terminal debugger.
+Solution: Check for the response to open the Machine Interface.
+Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+
+Patch 8.0.1600
+Problem: Crash when setting t_Co to zero when 'termguicolors' is set.
+Solution: Use IS_CTERM instead of checking the number of colors.
+ (closes #2710)
+Files: src/screen.c, src/testdir/test_highlight.vim
+
+Patch 8.0.1601
+Problem: Highlight test fails on Win32.
+Solution: Check for vtp and vcon support.
+Files: src/evalfunc.c, src/testdir/test_highlight.vim
+
+Patch 8.0.1602
+Problem: Crash in parsing JSON.
+Solution: Fail when using array or dict as dict key. (Damien)
+Files: src/json.c, src/testdir/test_json.vim
+
+Patch 8.0.1603
+Problem: Cannot build with +terminal but without +menu.
+Solution: Add #ifdef. (Damien)
+Files: src/terminal.c
+
+Patch 8.0.1604
+Problem: Paste test may fail if $DISPLAY is not set.
+Solution: Add WorkingClipboard() and use it in the paste test.
+Files: src/testdir/shared.vim, src/testdir/test_paste.vim
+
+Patch 8.0.1605
+Problem: Terminal test is a bit flaky.
+Solution: Check for the shell prompt. Use more lambda functions.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1606
+Problem: Singular/plural variants not translated.
+Solution: Add NGETTEXT argument to xgettext. (Sergey Alyoshin)
+Files: src/po/Make_cyg.mak, src/po/Make_ming.mak, src/po/Make_mvc.mak,
+ src/po/Makefile
+
+Patch 8.0.1607
+Problem: --clean loads user settings from .gvimrc.
+Solution: Behave like "-U NONE" was used. (Ken Takata)
+Files: src/main.c, runtime/doc/starting.txt
+
+Patch 8.0.1608
+Problem: Win32: directx not enabled by default.
+Solution: Change Makefile to enable directx by default. (Ken Takata)
+Files: runtime/doc/various.txt, src/Make_cyg_ming.mak,
+ src/Make_mvc.mak
+
+Patch 8.0.1609
+Problem: Shell commands in the GUI use a dumb terminal.
+Solution: Add the "!" flag to 'guioptions' to execute system commands in a
+ special terminal window. Only for Unix now.
+Files: src/os_unix.c, src/option.h, src/evalfunc.c, src/terminal.c,
+ src/proto/terminal.pro, src/channel.c, src/proto/channel.pro,
+ src/vim.h, runtime/doc/options.txt
+
+Patch 8.0.1610 (after 8.0.1609)
+Problem: Cannot build without GUI.
+Solution: Add #ifdef.
+Files: src/terminal.c
+
+Patch 8.0.1611
+Problem: CTRL-W in system terminal does not go to job.
+Solution: Do not use CTRL-W as a terminal command in a system terminal.
+Files: src/terminal.c
+
+Patch 8.0.1612
+Problem: Need to close terminal after shell stopped.
+Solution: Make :terminal without argument close the window by default.
+Files: src/terminal.c, src/testdir/test_terminal.vim,
+ runtime/doc/terminal.txt
+
+Patch 8.0.1613
+Problem: Warning for unused variable in tiny build. (Tony Mechelynck)
+Solution: Move declaration to inner block.
+Files: src/os_unix.c
+
+Patch 8.0.1614
+Problem: "make tags" doesn't include libvterm.
+Solution: Add the libvterm sources to the tags command.
+Files: src/Makefile
+
+Patch 8.0.1615
+Problem: term_dumpload() does not use the right colors.
+Solution: Initialize colors when not using create_vterm().
+Files: src/terminal.c
+
+Patch 8.0.1616
+Problem: Win32: shell commands in the GUI open a new console.
+Solution: Use a terminal window for interactive use when 'guioptions'
+ contains "!".
+Files: src/os_win32.c
+
+Patch 8.0.1617 (after 8.0.1616)
+Problem: Win32: :shell command in the GUI crashes.
+Solution: Handle the situation that "cmd" is NULL. (Yasuhiro Matsumoto,
+ closes #2721)
+Files: src/os_win32.c
+
+Patch 8.0.1618
+Problem: Color Grey50, used for ToolbarLine, is missing in the compiled-in
+ table.
+Solution: Add the color to the list. (Kazunobu Kuriyama)
+Files: src/term.c
+
+Patch 8.0.1619
+Problem: Win32 GUI: crash when winpty is not installed and trying to use
+ :shell in a terminal window.
+Solution: Check for NULL return form term_start(). (Yasuhiro Matsumoto,
+ closes #2727)
+Files: src/os_win32.c
+
+Patch 8.0.1620
+Problem: Reading spell file has no good EOF detection.
+Solution: Check for EOF at every character read for a length field.
+Files: src/misc2.c
+
+Patch 8.0.1621
+Problem: Using invalid default value for highlight attribute.
+Solution: Use zero instead of -1.
+Files: src/syntax.c
+
+Patch 8.0.1622
+Problem: Possible NULL pointer dereferencey. (Coverity)
+Solution: Reverse the check for a NULL pointer.
+Files: src/quickfix.c
+
+Patch 8.0.1623
+Problem: Terminal kill tests are flaky.
+Solution: Instead of running Vim in a terminal, run it as a normal command.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1624
+Problem: Options for term_dumpdiff() and term_dumpload() not implemented
+ yet.
+Solution: Implement the relevant options.
+Files: src/terminal.c, runtime/doc/eval.txt
+
+Patch 8.0.1625
+Problem: Test_quotestar is flaky when run in GTK GUI.
+Solution: Do not call lose_selection when invoked from
+ selection_clear_event().
+Files: src/gui_gtk_x11.c
+
+Patch 8.0.1626
+Problem: Compiler warning for possible loss of data.
+Solution: Use size_t instead of int. (Christian Brabandt)
+Files: src/terminal.c
+
+Patch 8.0.1627
+Problem: Compiler warning for visibility attribute not supported on MinGW
+ builds.
+Solution: Don't add the attribute when we don't expect it to work.
+ (Christian Brabandt)
+Files: src/libvterm/src/vterm_internal.h
+
+Patch 8.0.1628
+Problem: Channel log doesn't mention exiting.
+Solution: Add a ch_log() call in getout().
+Files: src/main.c
+
+Patch 8.0.1629
+Problem: Mac: getpagesize() is deprecated.
+Solution: Use sysconf() instead. (Ozaki Kiichi, closes #2741)
+Files: src/os_unix.c
+
+Patch 8.0.1630
+Problem: Trimming white space is not that easy.
+Solution: Add the trim() function. (Bukn, Yasuhiro Matsumoto, closes #1280)
+Files: src/evalfunc.c, runtime/doc/eval.txt,
+ src/testdir/test_functions.vim
+
+Patch 8.0.1631
+Problem: Testing with Vim running in terminal is a bit flaky.
+Solution: Delete any .swp file so that later tests don't fail.
+Files: src/testdir/screendump.vim
+
+Patch 8.0.1632
+Problem: In a terminal dump NUL and space considered are different,
+ although they are displayed the same.
+Solution: When encountering NUL handle it like space.
+Files: src/terminal.c
+
+Patch 8.0.1633
+Problem: A TextChanged autocmd triggers when it is defined after creating a
+ buffer.
+Solution: Set b_last_changedtick when opening a buffer. (Hirohito Higashi,
+ closes #2742)
+Files: src/buffer.c, src/testdir/test_autocmd.vim
+
+Patch 8.0.1634
+Problem: The ex_vimgrep() function is too long.
+Solution: Split it in smaller functions. (Yegappan Lakshmanan)
+Files: src/quickfix.c
+
+Patch 8.0.1635
+Problem: Undefining _POSIX_THREADS causes problems with Python 3. (Micah
+ Bucy, closes #2748)
+Solution: Remove the lines.
+Files: src/if_python3.c
+
+Patch 8.0.1636
+Problem: No test for term_dumpload() and term_dumpdiff().
+Solution: Add tests.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1637
+Problem: No test for term_dumpdiff() options argument.
+Solution: Add a test.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1638
+Problem: Popup test fails depending on environment variable.
+Solution: Reset $COLORFGBG when running Vim in a terminal. (closes #2693)
+Files: src/testdir/screendump.vim
+
+Patch 8.0.1639
+Problem: Libvterm code lags behind master.
+Solution: Sync to head, solve merge problems.
+Files: src/libvterm/README, src/libvterm/bin/unterm.c,
+ src/libvterm/bin/vterm-ctrl.c, src/libvterm/bin/vterm-dump.c,
+ src/libvterm/doc/URLs, src/libvterm/doc/seqs.txt,
+ src/libvterm/include/vterm.h,
+ src/libvterm/include/vterm_keycodes.h, src/libvterm/src/mouse.c,
+ src/libvterm/src/parser.c, src/libvterm/src/pen.c,
+ src/libvterm/src/screen.c, src/libvterm/src/state.c,
+ src/libvterm/src/vterm.c, src/libvterm/src/vterm_internal.h,
+ src/libvterm/t/10state_putglyph.test,
+ src/libvterm/t/25state_input.test, src/libvterm/t/harness.c,
+ src/libvterm/t/26state_query.test
+
+Patch 8.0.1640
+Problem: Test_cwd() is flaky.
+Solution: Add to list of flaky tests.
+Files: src/testdir/runtest.vim
+
+Patch 8.0.1641
+Problem: Job in terminal can't communicate with Vim.
+Solution: Add the terminal API.
+Files: src/terminal.c, src/buffer.c, src/testdir/test_terminal.vim,
+ src/testdir/screendump.vim, runtime/doc/terminal.txt
+
+Patch 8.0.1642
+Problem: Running Vim in terminal fails with two windows.
+Solution: Pass the number of rows to RunVimInTerminal().
+Files: src/testdir/screendump.vim, src/testdir/test_terminal.vim
+
+Patch 8.0.1643
+Problem: Terminal API tests fail.
+Solution: Explicitly set 'title'.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1644
+Problem: Terminal API tests still fail.
+Solution: Explicitly set 'title' in the terminal job. (Ozaki Kiichi,
+ closes #2750)
+Files: src/testdir/test_terminal.vim, src/testdir/screendump.vim
+
+Patch 8.0.1645
+Problem: Test for terminal response to escape sequence fails for some
+ people. (toothpik)
+Solution: Run "cat" and let it echo the characters.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1646
+Problem: MS-Windows: executable contains unreferenced functions and data.
+Solution: Add /opt:ref to the compiler command. (Ken Takata)
+Files: src/Make_mvc.mak
+
+Patch 8.0.1647
+Problem: Terminal API may call a function not meant to be called by this
+ API.
+Solution: Require the function to start with Tapi_.
+Files: runtime/doc/terminal.txt, src/terminal.c,
+ src/testdir/test_terminal.vim
+
+Patch 8.0.1648
+Problem: Resource fork tool doesn't work on Python 3.
+Solution: Use "print()" instead of "print". (Marius Gedminas)
+Files: src/dehqx.py
+
+Patch 8.0.1649
+Problem: No completion for argument list commands.
+Solution: Add arglist completion. (Yegappan Lakshmanan, closes #2706)
+Files: runtime/doc/eval.txt, runtime/doc/map.txt, src/ex_cmds2.c,
+ src/ex_docmd.c, src/ex_getln.c, src/proto/ex_cmds2.pro,
+ src/testdir/test_cmdline.vim, src/vim.h
+
+Patch 8.0.1650
+Problem: Too many #ifdefs.
+Solution: Graduate FEAT_LISTCMDS, no reason to leave out buffer commands.
+Files: runtime/doc/various.txt, src/buffer.c, src/charset.c,
+ src/evalfunc.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c,
+ src/version.c, src/feature.h
+
+Patch 8.0.1651
+Problem: Cannot filter :ls output for terminal buffers.
+Solution: Add flags for terminal buffers. (Marcin Szamotulski, closes #2751)
+Files: runtime/doc/windows.txt, src/buffer.c,
+ src/testdir/test_terminal.vim
+
+Patch 8.0.1652
+Problem: term_dumpwrite() does not output composing characters.
+Solution: Use the cell index.
+Files: src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.1653
+Problem: Screen dump is made too soon.
+Solution: Wait until the ruler is displayed. (Ozaki Kiichi, closes #2755)
+Files: src/testdir/dumps/Test_popup_command_01.dump,
+ src/testdir/dumps/Test_popup_command_02.dump,
+ src/testdir/screendump.vim, src/testdir/test_autocmd.vim,
+ src/testdir/test_terminal.vim
+
+Patch 8.0.1654
+Problem: Warnings for conversion of void to function pointer.
+Solution: Use a temp variable that is a function pointer.
+Files: src/if_python.c, src/if_python3.c
+
+Patch 8.0.1655
+Problem: Outdated gdb message in terminal debugger unclear.
+Solution: Specifically mention the required gdb version. Avoid getting
+ stuck on pagination.
+Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+
+Patch 8.0.1656
+Problem: No option to have xxd produce upper case variable names.
+Solution: Add the -C argument. (Matt Panaro, closes #2772)
+Files: src/xxd/xxd.c
+
+Patch 8.0.1657
+Problem: Crash when reading a channel.
+Solution: Clear the write flag before writing. (idea by Shinya Ohyanagi,
+ closes #2769).
+Files: src/channel.c
+
+Patch 8.0.1658
+Problem: Capitalize argument not available in long form.
+Solution: Recognize -capitalize. Update man page.
+Files: src/xxd/xxd.c, runtime/doc/xxd.1, runtime/doc/xxd.man
+
+Patch 8.0.1659
+Problem: Scroll events not recognized for some xterm emulators.
+Solution: Recognize mouse codes 0x40 and 0x41 as scroll events.
+Files: src/term.c
+
+Patch 8.0.1660
+Problem: The terminal API "drop" command doesn't support options.
+Solution: Implement the options.
+Files: src/terminal.c, src/ex_docmd.c, src/proto/ex_docmd.pro,
+ src/ex_cmds.h, src/eval.c, src/misc2.c, src/fileio.c,
+ src/testdir/test_terminal.vim, runtime/doc/terminal.txt
+
+Patch 8.0.1661
+Problem: Warnings from 64 bit compiler.
+Solution: Add type casts. (Mike Williams)
+Files: src/terminal.c
+
+Patch 8.0.1662
+Problem: Showing dump diff doesn't mention both file names.
+Solution: Add the file name in the separator line.
+Files: src/terminal.c
+
+Patch 8.0.1663 (after 8.0.1660)
+Problem: Cannot build without multi-byte feature.
+Solution: Add #ifdef.
+Files: src/ex_docmd.c
+
+Patch 8.0.1664
+Problem: Test failure because of not allocating enough space.
+Solution: Allocate more bytes.
+Files: src/terminal.c
+
+Patch 8.0.1665
+Problem: When running a terminal from the GUI 'term' is not useful.
+Solution: Use $TERM in the GUI if it starts with "xterm". (closes #2776)
+Files: src/os_unix.c, runtime/doc/terminal.txt
+
+Patch 8.0.1666
+Problem: % argument in ch_log() causes trouble.
+Solution: Use string as third argument in internal ch_log(). (Dominique
+ Pelle, closes #2784)
+Files: src/evalfunc.c, src/testdir/test_channel.vim
+
+Patch 8.0.1667
+Problem: Terminal window tests are flaky.
+Solution: Increase the waiting time for Vim to start.
+Files: src/testdir/screendump.vim
+
+Patch 8.0.1668
+Problem: Terminal debugger: can't re-open source code window.
+Solution: Add the :Source command. Also create the window if needed when
+ gdb stops at a source line.
+Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim,
+ runtime/doc/terminal.txt
+
+Patch 8.0.1669
+Problem: :vimgrep may add entries to the wrong quickfix list.
+Solution: Use the list identifier. (Yegappan Lakshmanan)
+Files: src/quickfix.c, src/testdir/test_quickfix.vim
+
+Patch 8.0.1670
+Problem: Terminal window tests are still a bit flaky.
+Solution: Increase the waiting time for the buffer to be created.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1671
+Problem: Crash when passing non-dict argument as env to job_start().
+Solution: Check for valid argument. (Ozaki Kiichi, closes #2765)
+Files: src/channel.c, src/testdir/test_channel.vim
+
+Patch 8.0.1672
+Problem: Error during completion causes command to be cancelled.
+Solution: Reset did_emsg before waiting for another character. (Tom M.)
+Files: src/ex_getln.c, src/testdir/test_cmdline.vim
+
+Patch 8.0.1673
+Problem: Terminal window tests are still a bit flaky.
+Solution: Increase the waiting time even more. (Elimar Riesebieter)
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1674
+Problem: Libvterm can't handle a long OSC string that is split.
+Solution: When an incomplete OSC string is received copy it to the parser
+ buffer. Increase the size of the parser buffer to be able to
+ handle longer strings.
+Files: src/libvterm/src/parser.c, src/libvterm/src/vterm.c
+
+Patch 8.0.1675
+Problem: Unused macro argument in libvterm. (Randall W. Morris)
+Solution: Remove the argument.
+Files: src/libvterm/src/parser.c
+
+Patch 8.0.1676
+Problem: No compiler warning for wrong printf format.
+Solution: Add a printf attribute for gcc. Fix reported problems. (Dominique
+ Pelle, closes #2789)
+Files: src/channel.c, src/vim.h, src/proto/channel.pro
+
+Patch 8.0.1677
+Problem: No compiler warning for wrong format in vim_snprintf().
+Solution: Add printf attribute for gcc. Fix reported problems.
+Files: src/vim.h, src/proto.h, src/eval.c, src/fileio.c, src/mbyte.c,
+ src/ops.c, src/spellfile.c, src/undo.c, src/json.c
+
+Patch 8.0.1678
+Problem: Errorformat "%r" implies "%>". (Jan Gosmann)
+Solution: Jump to before setting fmt_ptr. (Yegappan Lakshmanan,
+ closes #2785)
+Files: src/quickfix.c, src/testdir/test_quickfix.vim
+
+Patch 8.0.1679
+Problem: Compiler warning for printf format. (Chdiza)
+Solution: Change type to "long long". (closes #2791)
+Files: src/ops.c
+
+Patch 8.0.1680
+Problem: Memory allocated by libvterm does not show up in profile.
+Solution: Pass allocator functions to vterm_new().
+Files: src/terminal.c
+
+Patch 8.0.1681
+Problem: The format attribute fails with MinGW. (John Marriott)
+Solution: Don't use the format attribute with MinGW.
+Files: src/vim.h, src/proto.h, src/channel.c
+
+Patch 8.0.1682
+Problem: Auto indenting breaks inserting a block.
+Solution: Do not check for cursor movement if indent was changed. (Christian
+ Brabandt, closes #2778)
+Files: src/testdir/test_blockedit.vim, src/testdir/Make_all.mak,
+ src/Makefile, src/ops.c
+
+Patch 8.0.1683
+Problem: Python upgrade breaks Vim when defining PYTHON_HOME.
+Solution: Do not define PYTHON_HOME and PYTHON3_HOME in configure. (Naoki
+ Inada, closes #2787)
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.1684
+Problem: ml_get errors when using terminal window for shell command.
+ (Blay263)
+Solution: Do not change the size of the current window.
+Files: src/terminal.c
+
+Patch 8.0.1685
+Problem: Can't set ANSI colors of a terminal window.
+Solution: Add term_setansicolors(), term_getansicolors() and
+ g:term_ansi_colors. (Andy Massimino, closes #2747)
+Files: runtime/doc/eval.txt, runtime/doc/terminal.txt, src/channel.c,
+ src/evalfunc.c, src/proto/terminal.pro, src/structs.h,
+ src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.1686 (after 8.0.1683)
+Problem: Python does not work when configuring with specific dir. (Rajdeep)
+Solution: Do define PYTHON_HOME and PYTHON3_HOME in configure if the Python
+ config dir was specified.
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.1687
+Problem: 64 bit compiler warnings.
+Solution: change type, add type cast. (Mike Williams)
+Files: src/terminal.c
+
+Patch 8.0.1688
+Problem: Some macros are used without a semicolon, causing auto-indent to be
+ wrong.
+Solution: Use the do-while(0) trick. (Ozaki Kiichi, closes #2729)
+Files: src/buffer.c, src/dosinst.c, src/ex_cmds.c, src/gui_at_sb.c,
+ src/macros.h, src/main.c, src/memline.c, src/option.c,
+ src/os_vms.c, src/screen.c, src/window.c
+
+Patch 8.0.1689
+Problem: No tests for xxd.
+Solution: Add a test. (Christian Brabandt)
+Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Makefile,
+ src/testdir/test_xxd.vim, src/testdir/runtest.vim
+
+Patch 8.0.1690
+Problem: Not easy to run one test with gvim instead of vim.
+Solution: Add VIMTESTTARGET in Makefile.
+Files: src/Makefile
+
+Patch 8.0.1691
+Problem: Xxd test sometimes fails.
+Solution: Wipe out the XXDfile buffer.
+Files: src/testdir/test_xxd.vim
+
+Patch 8.0.1692 (after 8.0.1686)
+Problem: Python may not work when using statically linked library.
+Solution: Do not define PYTHON_HOME and PYTHON3_HOME in configure if the
+ Python library is linked statically.
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.1693
+Problem: Xxd is excluded from coverage statistics.
+Solution: Don't skip the xxd directory. (Christian Brabandt)
+Files: .travis.yml
+
+Patch 8.0.1694
+Problem: Terminal API test is a bit flaky.
+Solution: Wait longer for Vim to stop.
+Files: src/testdir/screendump.vim
+
+Patch 8.0.1695
+Problem: Xxd test not run on MS-Windows.
+Solution: Use xxd.exe if it exists.
+Files: src/testdir/test_xxd.vim
+
+Patch 8.0.1696
+Problem: Coverage statistics don't work.
+Solution: Include the xxd directory. (Christian Brabandt)
+Files: .travis.yml
+
+Patch 8.0.1697
+Problem: Various tests are still a bit flaky.
+Solution: Increase the default wait time to five seconds.
+Files: src/testdir/shared.vim, src/testdir/screendump.vim,
+ src/testdir/test_channel.vim, src/testdir/test_clientserver.vim,
+ src/testdir/test_quotestar.vim, src/testdir/test_terminal.vim
+
+Patch 8.0.1698
+Problem: Coverage statistics don't work on coveralls.
+Solution: Use curly braces for $SRCDIR.
+Files: .travis.yml
+
+Patch 8.0.1699
+Problem: Leftover stuff for Python 1.4.
+Solution: Remove outdated Python 1.4 stuff. (Naoki Inada, closes #2794)
+Files: src/Makefile, src/config.aap.in, src/config.mk.in,
+ src/configure.ac, src/auto/configure
+
+Patch 8.0.1700
+Problem: Coverage statistics still don't work on coveralls.
+Solution: Exclude the xxd directory again.
+Files: .travis.yml
+
+Patch 8.0.1701
+Problem: Can disable COLOR_EMOJI with MSVC but not MinGW.
+Solution: Add COLOR_EMOJI flag. Also add some empty lines for readability.
+Files: src/Make_cyg_ming.mak
+
+Patch 8.0.1702
+Problem: Leaking memory when autocommands make a quickfix list invalid.
+Solution: Call FreeWild(). (Yegappan Lakshmanan)
+Files: src/quickfix.c
+
+Patch 8.0.1703
+Problem: In the tutor 'showcmd' is not set.
+Solution: Set 'showcmd' in the vimtutor script. (Ken Takata, closes #2792)
+Files: src/vimtutor
+
+Patch 8.0.1704
+Problem: 'backupskip' default doesn't work for Mac.
+Solution: Use "/private/tmp". (Rainer Müller, closes #2793)
+Files: src/option.c, src/testdir/test_options.vim,
+ runtime/doc/options.txt
+
+Patch 8.0.1705
+Problem: When making a vertical split the mode message isn't always
+ updated, "VISUAL" remains. (Alexei Averchenko)
+Solution: Only reset clear_cmdline when filling all columns of the last
+ screen line. (Tom M. closes #2611)
+Files: src/screen.c, src/testdir/test_window_cmd.vim
+
+Patch 8.0.1706
+Problem: Cannot send CTRL-\ to a terminal window.
+Solution: Make CTRL-W CTRL-\ send CTRL-\ to a terminal window.
+Files: src/terminal.c, runtime/doc/terminal.txt
+
+Patch 8.0.1707
+Problem: When 'wfh' is set ":bel 10new" scrolls window. (Andrew Pyatkov)
+Solution: Set the fraction before changing the window height. (closes #2798)
+Files: src/window.c
+
+Patch 8.0.1708
+Problem: Mkdir with 'p' flag fails on existing directory, which is
+ different from the mkdir shell command.
+Solution: Don't fail if the directory already exists. (James McCoy,
+ closes #2775)
+Files: src/evalfunc.c, src/testdir/test_eval_stuff.vim,
+ runtime/doc/eval.txt
+
+Patch 8.0.1709
+Problem: Some non-C89 code may slip through.
+Solution: Enforce C89 in configure. Fix detected problems. (James McCoy,
+ closes #2735)
+Files: src/channel.c, src/configure.ac, src/auto/configure,
+ src/gui_gtk_x11.c, src/if_python3.c
+
+Patch 8.0.1710
+Problem: Building with Ruby fails.
+Solution: Don't add -ansi when building with Ruby.
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.1711
+Problem: Term_setsize() is not implemented yet.
+Solution: Implement it.
+Files: src/evalfunc.c, src/terminal.c, src/proto/terminal.pro,
+ src/testdir/test_terminal.vim, runtime/doc/eval.txt
+
+Patch 8.0.1712
+Problem: Terminal scrollback is not limited.
+Solution: Add the 'terminalscroll' option.
+Files: src/terminal.c, src/option.h, src/option.c,
+ runtime/doc/options.txt, runtime/doc/terminal.txt
+
+Patch 8.0.1713
+Problem: Terminal debugger doesn't handle arguments.
+Solution: Use <f-args> and pass all the arguments to gdb, e.g. the core file
+ or process number. (suggested by Christian Brabandt) Disallow
+ starting the debugger twice.
+Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim,
+ runtime/doc/terminal.txt
+
+Patch 8.0.1714
+Problem: Term_setsize() does not give an error in a normal buffer.
+Solution: Add an error message.
+Files: src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.1715
+Problem: Terminal buffer can be 1 more than 'terminalscroll' lines.
+Solution: Change > to >=.
+Files: src/terminal.c
+
+Patch 8.0.1716
+Problem: Test for term_setsize() does not give a good error message.
+Solution: use assert_inrange().
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1717
+Problem: C89 check causes too much trouble.
+Solution: Remove enforcing C89 for now.
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.1718
+Problem: Terminal scrollback test fails on MS-Windows.
+Solution: Check for the last line of output anticipating there might be an
+ empty line below it.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1719
+Problem: Cannot specify which Python executable configure should use.
+Solution: Add --with-python-command and --with-python3-command.
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.1720
+Problem: When a timer is running a terminal window may not close after a
+ shell has exited.
+Solution: Call job_status() more often.
+Files: src/terminal.c
+
+Patch 8.0.1721
+Problem: No test for using the 'termsize' option.
+Solution: Add a test.
+Files: src/testdir/screendump.vim, src/testdir/test_terminal.vim
+
+Patch 8.0.1722
+Problem: Cannot specify a minimal size for a terminal window.
+Solution: Support the "rows*cols" format for 'winsize'.
+Files: src/terminal.c, src/testdir/test_terminal.vim, src/option.c,
+ runtime/doc/options.txt
+
+Patch 8.0.1723
+Problem: Using one item array size declaration is misleading.
+Solution: Instead of using "[1]" and actually using a larger array, use
+ "[]". This is to verify that this C99 feature works for all
+ compilers.
+Files: src/structs.h, src/getchar.c
+
+Patch 8.0.1724
+Problem: Declarations cannot be halfway a block.
+Solution: Move one declaration to check if this works for all compilers.
+Files: src/main.c
+
+Patch 8.0.1725
+Problem: Terminal debugger doesn't handle command arguments.
+Solution: Add the :TermdebugCommand command. Use a ! to execute right away.
+ (Christian Brabandt)
+Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim,
+ runtime/doc/terminal.txt
+
+Patch 8.0.1726 (after 8.0.1724)
+Problem: Older MSVC doesn't support declarations halfway a block.
+Solution: Move the declaration back to the start of the block.
+Files: src/main.c
+
+Patch 8.0.1727
+Problem: qf_get_properties() function is too long.
+Solution: Refactor the code. (Yegappan Lakshmanan, closes #2807)
+Files: src/quickfix.c
+
+Patch 8.0.1728
+Problem: Condition always false, useless code.
+Solution: Remove the code. (Nikolai Pavlov, closes #2808)
+Files: src/message.c
+
+Patch 8.0.1729
+Problem: No comma after last enum item.
+Solution: Add a few commas to check if this works for all compilers. Also
+ add a few // comments.
+Files: src/structs.h
+
+Patch 8.0.1730
+Problem: No configure check for the used C99 features.
+Solution: Add a compilation check. Tentatively document C99 features.
+Files: src/configure.ac, src/auto/configure, runtime/doc/develop.txt
+
+Patch 8.0.1731
+Problem: Characters deleted on completion. (Adrià Farrés)
+Solution: Also check the last item for the ORIGINAL_TEXT flag. (Christian
+ Brabandt, closes #1645)
+Files: src/edit.c, src/testdir/test_popup.vim
+
+Patch 8.0.1732
+Problem: Crash when terminal API call deletes the buffer.
+Solution: Lock the buffer while calling a function. (closes #2813)
+Files: src/buffer.c, src/terminal.c, src/testdir/test_terminal.vim,
+ src/testdir/test_autocmd.vim
+
+Patch 8.0.1733
+Problem: Incomplete testing for completion fix. (Lifepillar)
+Solution: Add a test with CTRL-P.
+Files: src/testdir/test_popup.vim
+
+Patch 8.0.1734
+Problem: Package directory not added to 'rtp' if prefix matches.
+Solution: Check the match is a full match. (Ozaki Kiichi, closes #2817)
+ Also handle different ways of spelling a path.
+Files: src/testdir/test_packadd.vim, src/ex_cmds2.c
+
+Patch 8.0.1735 (after 8.0.1723 and 8.0.1730)
+Problem: Flexible array member feature not supported by HP-UX. (John
+ Marriott)
+Solution: Do not use the flexible array member feature of C99.
+Files: src/configure.ac, src/auto/configure, src/structs.h,
+ src/getchar.c, runtime/doc/develop.txt
+
+Patch 8.0.1736
+Problem: Check for C99 features is incomplete.
+Solution: Use AC_PROG_CC_C99 and when C99 isn't fully supported check the
+ features we need. (James McCoy, closes #2820)
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.1737
+Problem: fchown() used when it is not supported.
+Solution: Add #ifdef.
+Files: src/fileio.c
+
+Patch 8.0.1738
+Problem: ":args" output is hard to read.
+Solution: Make columns with the names if the output is more than one line.
+Files: src/ex_cmds2.c, src/version.c, src/proto/version.pro,
+ src/testdir/test_arglist.vim
+
+Patch 8.0.1739
+Problem: MS-Windows with msys2 cannot build Ruby statically.
+Solution: Define RUBY_VERSION. (Gray Wolf, closes #2826)
+Files: src/Make_cyg_ming.mak
+
+Patch 8.0.1740
+Problem: Warning for signed-unsigned incompatibility.
+Solution: Change type from "char *" to "char_u *". (John Marriott)
+Files: src/ex_cmds2.c
+
+Patch 8.0.1741
+Problem: MS-Windows with msys2 cannot build Ruby statically.
+Solution: Add RUBY_VERSION to CFLAGS later. (Gray Wolf, closes #2833)
+Files: src/Make_cyg_ming.mak
+
+Patch 8.0.1742
+Problem: Cannot get a list of all the jobs. Cannot get the command of
+ the job.
+Solution: When job_info() is called without an argument return a list of
+ jobs. Otherwise, include the command that the job is running.
+ (Yegappan Lakshmanan)
+Files: runtime/doc/eval.txt, src/channel.c, src/evalfunc.c,
+ src/proto/channel.pro, src/structs.h, src/testdir/test_channel.vim
+
+Patch 8.0.1743
+Problem: Terminal window options are named inconsistently.
+Solution: prefix terminal window options with "termwin". Keep the old names
+ for now as an alias.
+Files: src/option.c, src/option.h, src/structs.h, src/terminal.c,
+ src/testdir/test_terminal.vim, src/testdir/gen_opt_test.vim,
+ runtime/doc/options.txt, runtime/doc/quickref.txt,
+ runtime/doc/terminal.txt, runtime/optwin.vim
+
+Patch 8.0.1744
+Problem: On some systems /dev/stdout isn't writable.
+Solution: Skip test if writing is not possible. (James McCoy, closes #2830)
+Files: src/testdir/test_writefile.vim
+
+Patch 8.0.1745
+Problem: Build failure on MS-Windows.
+Solution: Build job arguments for MS-Windows. Fix allocating job twice.
+Files: src/structs.h, src/channel.c, src/os_unix.c, src/misc2.c,
+ src/terminal.c, src/proto/misc2.pro
+
+Patch 8.0.1746
+Problem: MS-Windows: channel tests fail.
+Solution: Make a copy of the command before splitting it.
+Files: src/channel.c
+
+Patch 8.0.1747
+Problem: MS-Windows: term_start() does not set job_info() cmd.
+Solution: Share the code from job_start() to set jv_argv.
+Files: src/testdir/test_terminal.vim, src/channel.c, src/misc2.c,
+ src/proto/misc2.pro, src/terminal.c
+
+Patch 8.0.1748
+Problem: CmdlineEnter command uses backslash instead of slash.
+Solution: Don't treat the character as a file name. (closes #2837)
+Files: src/fileio.c, src/testdir/test_autocmd.vim
+
+Patch 8.0.1749
+Problem: VMS: 100% CPU use, redefining mch_open() and mch_fopen() fails.
+Solution: Do not wait indefinitely in RealWaitForChar(). (Neil Rieck)
+ Do not redefine mch_open() and mch_fopen() on VMS. (Zoltan
+ Arpadffy)
+Files: src/os_vms.c, src/vim.h
+
+Patch 8.0.1750
+Problem: Crash when clearing location list in autocommand.
+Solution: Check if "qi" equals "ql_info". (Yegappan Lakshmanan)
+Files: src/quickfix.c, src/testdir/test_quickfix.vim
+
+Patch 8.0.1751
+Problem: #ifdef causes bad highlighting.
+Solution: Move code around. (Ozaki Kiichi, closes #2731)
+Files: src/ui.c
+
+Patch 8.0.1752
+Problem: qf_set_properties() is to long.
+Solution: Refactor the function. Define INVALID_QFIDX. (Yegappan
+ Lakshmanan, closes #2812)
+Files: src/quickfix.c, src/testdir/test_quickfix.vim
+
+Patch 8.0.1753
+Problem: Various warnings from a static analyser
+Solution: Add type casts, remove unneeded conditions. (Christian Brabandt,
+ closes #2770)
+Files: src/evalfunc.c, src/ex_cmds2.c, src/fileio.c, src/getchar.c,
+ src/normal.c, src/os_unix.c, src/search.c, src/term.c
+
+Patch 8.0.1754
+Problem: ex_helpgrep() is too long.
+Solution: Refactor the function. (Yegappan Lakshmanan, closes #2766)
+Files: src/quickfix.c, src/testdir/test_quickfix.vim
+
+Patch 8.0.1755
+Problem: MS-Windows GUI: high unicode char received as two utf-16 words.
+Solution: Keep the first word until the second word is received. (Chris
+ Morgan, closes #2800)
+Files: src/gui_w32.c
+
+Patch 8.0.1756
+Problem: GUI: after prompting for a number the mouse shape is sometimes
+ wrong.
+Solution: Call setmouse() after setting "State". (Hirohito Higashi,
+ closes #2709)
+Files: src/misc1.c
+
+Patch 8.0.1757
+Problem: Unnecessary changes in libvterm.
+Solution: Bring back // comments and trailing comma in enums.
+Files: src/libvterm/bin/unterm.c, src/libvterm/bin/vterm-ctrl.c,
+ src/libvterm/bin/vterm-dump.c, src/libvterm/include/vterm.h,
+ src/libvterm/include/vterm_keycodes.h,
+ src/libvterm/src/encoding.c, src/libvterm/src/keyboard.c,
+ src/libvterm/src/parser.c, src/libvterm/src/pen.c,
+ src/libvterm/src/screen.c, src/libvterm/src/state.c,
+ src/libvterm/src/unicode.c, src/libvterm/src/utf8.h,
+ src/libvterm/src/vterm.c, src/libvterm/src/vterm_internal.h
+
+Patch 8.0.1758
+Problem: open_line() returns TRUE/FALSE for success/failure.
+Solution: Return OK or FAIL.
+Files: src/misc1.c, src/normal.c, src/edit.c
+
+Patch 8.0.1759
+Problem: Memory leak from duplicate options. (Yegappan Lakshmanan)
+Solution: Don't set the default value twice.
+Files: src/option.c
+
+Patch 8.0.1760
+Problem: Wrong number of arguments to vms_read().
+Solution: Drop the first argument. (Ozaki Kiichi)
+Files: src/ui.c
+
+Patch 8.0.1761
+Problem: Job in terminal window with no output channel is killed.
+Solution: Keep the job running when the input is a tty. (Ozaki Kiichi,
+ closes #2734)
+Files: src/channel.c, src/os_unix.c, src/testdir/test_channel.vim
+
+Patch 8.0.1762
+Problem: Terminal debug logging is a bit complicated.
+Solution: Make log_tr() use variable arguments (Ozaki Kiichi, closes #2730)
+Files: src/term.c
+
+Patch 8.0.1763
+Problem: :argedit does not reuse an empty unnamed buffer.
+Solution: Add the BLN_CURBUF flag and fix all the side effects. (Christian
+ Brabandt, closes #2713)
+Files: src/buffer.c, src/ex_cmds2.c, src/proto/buffer.pro,
+ src/testdir/test_arglist.vim, src/testdir/test_command_count.vim
+
+Patch 8.0.1764
+Problem: Lgtm considers tutor.es to be EcmaScript.
+Solution: Add a config file for lgtm. (Bas van Schaik, closes #2844)
+Files: .lgtm.yml, Filelist
+
+Patch 8.0.1765
+Problem: CTRL-G j in Insert mode is incorrect when 'virtualedit' is set.
+Solution: Take coladd into account. (Christian Brabandt, closes #2743)
+Files: src/charset.c, src/testdir/test_virtualedit.vim
+
+Patch 8.0.1766 (after 8.0.1758)
+Problem: Expanding abbreviation doesn't work. (Tooth Pik)
+Solution: Return OK instead of FALSE and FAIL instead of TRUE. (Christian
+ Brabandt)
+Files: src/edit.c, src/testdir/test_mapping.vim
+
+Patch 8.0.1767
+Problem: With 'incsearch' text may jump up and down. ()
+Solution: Besides w_botline also save and restore w_empty_rows.
+ (closes #2530)
+Files: src/ex_getln.c, src/testdir/test_search.vim,
+ src/testdir/dumps/Test_incsearch_scrolling_01.dump
+
+Patch 8.0.1768
+Problem: SET_NO_HLSEARCH() used in a wrong way.
+Solution: Make it a function. (suggested by Dominique Pelle,
+ closes #2850)
+Files: src/vim.h, src/ex_docmd.c, src/proto/ex_docmd.pro, src/search.c,
+ src/ex_getln.c, src/option.c, src/screen.c, src/tag.c
+
+Patch 8.0.1769
+Problem: Repeated saving and restoring viewstate for 'incsearch'.
+Solution: Use a structure.
+Files: src/ex_getln.c
+
+Patch 8.0.1770
+Problem: Assert functions don't return anything.
+Solution: Return non-zero when the assertion fails.
+Files: src/evalfunc.c, src/eval.c, src/proto/eval.pro,
+ src/testdir/test_assert.vim, runtime/doc/eval.txt
+
+Patch 8.0.1771
+Problem: In tests, when WaitFor() fails it doesn't say why. (James McCoy)
+Solution: Add WaitForAssert(), which produces an assert error when it fails.
+Files: src/testdir/shared.vim, src/testdir/test_terminal.vim,
+ src/testdir/screendump.vim, src/testdir/test_autocmd.vim,
+ src/testdir/test_channel.vim, src/testdir/test_clientserver.vim,
+ src/testdir/test_job_fails.vim
+
+Patch 8.0.1772
+Problem: Quickfix: mixup of FALSE and FAIL, returning -1.
+Solution: Use FAIL and INVALID_QFIDX. (Yegappan Lakshmanan)
+Files: src/quickfix.c
+
+Patch 8.0.1773
+Problem: Dialog messages are not translated.
+Solution: Add N_() and _() where needed. (Sergey Alyoshin)
+Files: src/diff.c, src/ex_cmds2.c, src/ex_docmd.c, src/message.c,
+ src/po/Make_cyg.mak, src/po/Make_ming.mak, src/po/Make_mvc.mak,
+ src/po/Makefile, src/quickfix.c, src/vim.h
+
+Patch 8.0.1774
+Problem: Reading very long lines can be slow.
+Solution: Read up to 1 Mbyte at a time to avoid a lot of copying. Add a
+ check for going over the column limit.
+Files: src/fileio.c
+
+Patch 8.0.1775
+Problem: MS-Windows: warning for unused variable.
+Solution: Move declaration inside #ifdef. (Mike Williams)
+Files: src/channel.c
+
+Patch 8.0.1776
+Problem: In tests, when WaitFor() fails it doesn't say why.
+Solution: Turn a few more WaitFor() into WaitForAssert().
+Files: src/testdir/test_popup.vim, src/testdir/test_quotestar.vim,
+ src/testdir/test_search.vim, src/testdir/test_terminal.vim,
+ src/testdir/test_timers.vim
+
+Patch 8.0.1777
+Problem: Cannot cleanup before loading another colorscheme.
+Solution: Add the ColorSchemePre autocommand event.
+Files: src/fileio.c, src/syntax.c, src/vim.h, src/testdir/test_gui.vim,
+ runtime/colors/README.txt
+
+Patch 8.0.1778
+Problem: Script to check translations does not always work.
+Solution: Go to first line before searching for MIME.
+Files: src/po/check.vim
+
+Patch 8.0.1779
+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)
+Files: src/ops.c, src/testdir/test_blockedit.vim
+
+Patch 8.0.1780
+Problem: Test fails because Vim in a terminal uses wrong 'encoding'.
+Solution: Set encoding in the test where it matters. (James McCoy,
+ closes #2847)
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1781
+Problem: File names in quickfix window are not always shortened.
+Solution: Shorten the file name when opening the quickfix window. (Yegappan
+ Lakshmanan, closes #2851, closes #2846)
+Files: src/testdir/test_quickfix.vim, src/fileio.c, src/proto/fileio.pro,
+ src/quickfix.c
+
+Patch 8.0.1782
+Problem: No simple way to label quickfix entries.
+Solution: Add the "module" item, to be used instead of the file name for
+ display purposes. (Marcin Szamotulski, closes #1757)
+Files: runtime/doc/eval.txt, runtime/doc/quickfix.txt, src/alloc.h,
+ src/quickfix.c, src/testdir/test_quickfix.vim
+
+Patch 8.0.1783
+Problem: Cannot use 256 colors in a MS-Windows console.
+Solution: Add 256 color support. (Nobuhiro Takasaki, closes #2821)
+Files: src/misc1.c, src/option.c, src/os_win32.c, src/proto/os_win32.pro,
+ src/term.c, src/proto/term.pro, src/terminal.c
+
+Patch 8.0.1784 (after 8.0.1782)
+Problem: Gvim test gets stuck in dialog.
+Solution: Rename the file used.
+Files: src/testdir/test_quickfix.vim
+
+Patch 8.0.1785 (after 8.0.1783)
+Problem: Missing symbol in Win32 small build.
+Solution: Define VTERM_ANSI_INDEX_NONE without the terminal feature. Also
+ fix unused function with #ifdef.
+Files: src/term.c, src/os_win32.c
+
+Patch 8.0.1786
+Problem: No test for 'termwinkey'.
+Solution: Add a test. Make feedkeys() handle terminal_loop() returning
+ before characters are consumed.
+Files: src/testdir/test_terminal.vim, src/terminal.c, src/evalfunc.c,
+ src/ex_docmd.c, src/getchar.c, src/keymap.h
+
+Patch 8.0.1787
+Problem: Cannot insert the whole cursor line.
+Solution: Make CTRL-R CTRL-L work. (Andy Massimino, closes #2857)
+Files: runtime/doc/cmdline.txt, src/ex_getln.c, src/ops.c,
+ src/testdir/test_cmdline.vim
+
+Patch 8.0.1788
+Problem: Tool to check a color scheme is not installed.
+Solution: Update the install rule. (Christian Brabandt)
+Files: src/Makefile
+
+Patch 8.0.1789
+Problem: BufWinEnter does not work well for a terminal window.
+Solution: Do not trigger BufWinEnter when opening a terminal window.
+Files: src/terminal.c, runtime/doc/autocmd.txt,
+ src/testdir/test_terminal.vim
+
+Patch 8.0.1790
+Problem: 'winfixwidth' is not always respected by :close.
+Solution: Prefer a frame without 'winfixwidth' or 'winfixheight'. (Jason
+ Franklin)
+Files: src/window.c, src/testdir/test_winbuf_close.vim
+
+Patch 8.0.1791
+Problem: Using uint8_t does not work everywhere.
+Solution: Use char_u instead.
+Files: src/term.c, src/proto/term.pro, src/os_win32.c
+
+Patch 8.0.1792
+Problem: MS-Windows users expect -? to work like --help.
+Solution: Add -?. (Christian Brabandt, closes #2867)
+Files: src/main.c
+
+Patch 8.0.1793
+Problem: No test for "vim -g".
+Solution: Add a test for "-g" and "-y".
+Files: src/testdir/shared.vim, src/testdir/test_gui.vim
+
+Patch 8.0.1794
+Problem: Duplicate term options after renaming.
+Solution: Remove the old names 'termkey', 'termsize' and 'terminalscroll'.
+Files: src/option.c, src/terminal.c, src/option.h,
+ src/testdir/gen_opt_test.vim, src/testdir/screendump.vim
+
+Patch 8.0.1795
+Problem: Lose contact with jobs when :gui forks.
+Solution: Don't fork when there is a running job. Make log message for a
+ died job clearer. Also close the terminal when stderr and stdout
+ are the same FD.
+Files: src/gui.h, src/gui.c, src/channel.c, src/proto/channel.pro,
+ src/os_unix.c, src/terminal.c
+
+Patch 8.0.1796
+Problem: GUI: click on tab fails when the focus is in a terminal window.
+Solution: Handle K_TABLINE.
+Files: src/terminal.c
+
+Patch 8.0.1797
+Problem: Terminal window is redrawn too often and scrolling is repeated.
+Solution: Don't scroll immediately but only when redrawing. Avoid redrawing
+ the whole terminal window on every change.
+Files: src/terminal.c, src/screen.c, src/proto/terminal.pro
+
+Patch 8.0.1798
+Problem: MS-Windows: file considered read-only when another program has
+ opened it.
+Solution: Pass file sharing flag to CreateFile(). (Linwei, closes #2860)
+Files: src/os_win32.c
+
+Patch 8.0.1799
+Problem: No test for :registers command.
+Solution: Add a test. (Dominique Pelle, closes #2880)
+Files: src/testdir/test_registers.vim
+
+Patch 8.0.1800
+Problem: X11: getting color is slow.
+Solution: Avoid using sprintf() and XParseColor(), put the RGB values in
+ XColor directly.
+Files: src/gui_x11.c
+
+Patch 8.0.1801
+Problem: MS-Windows: redirecting terminal output does not work.
+Solution: Intercept the text written to the terminal and write it to the
+ file.
+Files: src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.1802 (after 8.0.1802)
+Problem: MS-Windows: terminal test fails.
+Solution: Close redirected output file earlier.
+Files: src/terminal.c
+
+Patch 8.0.1803
+Problem: Warning for uninitialized variable. (Tony Mechelynck)
+Solution: Initialize it.
+Files: src/terminal.c
+
+Patch 8.0.1804
+Problem: Using :normal in terminal window causes problems. (Dominique
+ Pelle)
+Solution: Don't call terminal_loop() for :normal. (closes #2886)
+Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/evalfunc.c
+
+Patch 8.0.1805
+Problem: qf_parse_line() is too long.
+Solution: Split it in parts. Properly handle vim_realloc() failing.
+ (Yegappan Lakshmanan, closes #2881)
+Files: src/quickfix.c
+
+Patch 8.0.1806
+Problem: InsertCharPre causes problems for autocomplete. (Lifepillar)
+Solution: Check for InsertCharPre before calling vpeekc(). (Christian
+ Brabandt, closes #2876)
+Files: src/edit.c, src/testdir/test_popup.vim
+
+Patch 8.0.1807
+Problem: Function to set terminal name is too long.
+Solution: Refactor the function. Fix typo in test.
+Files: src/term.c, src/testdir/test_options.vim
+
+Patch 8.0.1808 (after 8.0.1807)
+Problem: Can't build without TGETENT.
+Solution: Add #ifdef
+Files: src/term.c
+
+Patch 8.0.1809
+Problem: Various typos.
+Solution: Correct the mistakes, change "cursur" to "cursor". (closes #2887)
+Files: src/edit.c, src/normal.c, src/screen.c, src/proto/screen.pro,
+ src/ui.c
+
+Patch 8.0.1810
+Problem: Buffer of a terminal only updated in Terminal-Normal mode.
+Solution: Copy the terminal window content to the buffer when in
+ Terminal-Job mode.
+Files: src/terminal.c, src/proto/terminal.pro, src/ex_cmds2.c,
+ src/proto/ex_cmds2.pro
+
+Patch 8.0.1811
+Problem: No test for winrestcmd().
+Solution: Add a test. (Dominique Pelle, closes #2894)
+Files: src/testdir/test_window_cmd.vim
+
+Patch 8.0.1812
+Problem: The qf_jump_to_usable_window() function is too long.
+Solution: Split it in parts. (Yegappan Lakshmanan, closes #2891)
+Files: src/quickfix.c
+
+Patch 8.0.1813
+Problem: Windows installer doesn't install terminal debugger.
+Solution: Add the package to the list of files to install.
+Files: nsis/gvim.nsi
+
+Patch 8.0.1814
+Problem: Crash with terminal window and with 'lazyredraw' set. (Antoine)
+Solution: Check the terminal still exists after update_screen().
+Files: src/terminal.c
+
+Patch 8.0.1815 (after 8.0.1814)
+Problem: Still a crash with terminal window and with 'lazyredraw' set.
+ (Antoine)
+Solution: Do not wipe out the buffer when updating the screen.
+Files: src/terminal.c, src/proto/terminal.pro, src/screen.c,
+ src/proto/screen.pro, src/ui.c
+
+Patch 8.0.1816
+Problem: No test for setcmdpos().
+Solution: Add a test. (Dominique Pelle, closes #2901)
+Files: src/testdir/test_cmdline.vim
+
+Patch 8.0.1817
+Problem: A timer may change v:count unexpectedly.
+Solution: Save and restore v:count and similar variables when a timer
+ callback is invoked. (closes #2897)
+Files: src/eval.c, src/proto/eval.pro, src/ex_cmds2.c, src/structs.h,
+ src/testdir/test_timers.vim
+
+Patch 8.0.1818 (after 8.0.1810)
+Problem: Lines remove from wrong buffer when using terminal window.
+Solution: Make sure to use tl_buffer.
+Files: src/terminal.c
+
+Patch 8.0.1819
+Problem: Swap file warning for a file in a non-existing directory, if there
+ is another with the same file name. (Juergen Weigert)
+Solution: When expanding the file name fails compare the file names.
+Files: src/testdir/test_swap.vim, src/memline.c
+
+Patch 8.0.1820
+Problem: Terminal window redirecting stdout does not show stderr. (Matéo
+ Zanibelli)
+Solution: When stdout is not connected to pty_master_fd then use it for
+ stderr. (closes #2903)
+Files: src/os_unix.c, src/testdir/test_terminal.vim
+
+Patch 8.0.1821
+Problem: Cursor in terminal window moves when pressing CTRL-W. (Dominique
+ Pelle)
+Solution: Do not more the cursor or redraw when not in Terminal-Normal mode.
+ (closes #2904)
+Files: src/terminal.c
+
+Patch 8.0.1822
+Problem: Make uninstall does not remove colors/tools.
+Solution: Add a line to delete the tools directory. (Kazunobu Kuriyama)
+Files: src/Makefile
+
+Patch 8.0.1823
+Problem: Test for terminal stdout redirection is flaky.
+Solution: Wait for the job to finish.
+Files: src/testdir/test_terminal.vim
+
+Patch 8.0.1824
+Problem: Coverity warns for variable that may be uninitialized.
+Solution: Initialize the variable.
+Files: src/terminal.c
+
+Patch 8.0.1825
+Problem: Might use NULL pointer when out of memory. (Coverity)
+Solution: Handle NULL pointer better.
+Files: src/getchar.c
+
+Patch 8.0.1826
+Problem: Configure uses old compiler flag.
+Solution: Remove _DARWIN_C_SOURCE. (Kazunobu Kuriyama)
+Files: src/configure.ac, src/auto/configure
+
+Patch 8.0.1827
+Problem: Compiler warning for signed/unsigned char pointers. (Cesar Romani)
+Solution: Change the type of jv_argv.
+Files: src/channel.c, src/structs.h
+
+Patch 8.0.1828
+Problem: Get no clue why :gui does not fork.
+Solution: Add a channel log message.
+Files: src/channel.c
+
+Patch 8.0.1829
+Problem: MS-Windows: script for vimdiff can't handle ! chars.
+Solution: Escape the ! chars. (Hans Ginzel, closes #2896)
+Files: src/dosinst.c
+
+Patch 8.0.1830
+Problem: Switching to Terminal-Normal mode does not redraw. (Dominique
+ Pelle)
+Solution: Also redraw when not updating the snapshot. (closes #2904)
+Files: src/terminal.c
+
+Patch 8.0.1831
+Problem: Sometimes the quickfix title is incorrectly prefixed with ':'.
+Solution: Prepend the colon in another way. (Yegappan Lakshmanan, closes
+ #2905)
+Files: src/evalfunc.c, src/quickfix.c, src/testdir/test_quickfix.vim
+
+Patch 8.0.1832
+Problem: Cannot use :unlet for an environment variable.
+Solution: Make it work. Use unsetenv() if available. (Yasuhiro Matsumoto,
+ closes #2855)
+Files: runtime/doc/eval.txt, src/config.h.in, src/configure.ac,
+ src/auto/configure, src/eval.c, src/misc1.c, src/proto/misc1.pro,
+ src/testdir/test_unlet.vim
+
+Patch 8.0.1833
+Problem: X11: ":echo 3.14" gives E806.
+Solution: set LC_NUMERIC to "C". (Dominique Pelle, closes #2368)
+Files: src/gui_x11.c
+
+Patch 8.0.1834
+Problem: GUI: find/replace dialog does not handle some chars properly.
+Solution: Escape '?' when needed. Always escape backslash. (closes #2418,
+ closes #2435)
+Files: src/gui.c
+
+Patch 8.0.1835
+Problem: Print document name does not support multi-byte.
+Solution: Use StartDocW() if needed. (Yasuhiro Matsumoto, closes #2478)
+Files: src/os_mswin.c
+
+Patch 8.0.1836
+Problem: Buffer-local window options may not be recent if the buffer is
+ still open in another window.
+Solution: Copy the options from the window instead of the outdated window
+ options. (Bjorn Linse, closes #2336)
+Files: src/buffer.c, src/testdir/test_options.vim
+
+Patch 8.0.1837
+Problem: One character cmdline abbreviation not triggered after '<,'>.
+Solution: Skip over the special range. (Christian Brabandt, closes #2320)
+Files: src/ex_getln.c, src/testdir/test_mapping.vim
+
+Patch 8.0.1838
+Problem: Cursor in wrong position when switching to Terminal-Normal mode.
+ (Dominique Pelle)
+Solution: Move to the end of the line if coladvance() fails. Do not take a
+ snapshot a second time.
+Files: src/terminal.c
+
+Patch 8.0.1839
+Problem: Script to check .po file doesn't check for plural header.
+Solution: Add a check that the plural header is present when needed.
+Files: src/po/check.vim
+
+Patch 8.0.1840
+Problem: getwinpos() is not tested.
+Solution: Add a test. (Dominique Pelle, closes #2911)
+Files: src/testdir/test_gui.vim
+
+Patch 8.0.1841
+Problem: HP-UX does not have setenv().
+Solution: Use vim_setenv(). (John Marriott)
+Files: src/misc1.c
+
+Patch 8.0.1842
+Problem: Popup menu inside terminal window isn't cleared.
+Solution: Use NOT_VALID in pum_undisplay(). (suggested by Christian
+ Brabandt, closes #2908)
+Files: src/popupmnu.c
+
+Patch 8.0.1843
+Problem: Entry for 'wrap' in options window is wrong. (John Little)
+Solution: Make the change apply locally.
+Files: runtime/optwin.vim
+
+Patch 8.0.1844
+Problem: Superfluous quickfix code, missing examples.
+Solution: Remove unneeded code. Add a few examples. Add a bit more
+ testing. (Yegappan Lakshmanan, closes #2916)
+Files: runtime/doc/quickfix.txt, src/quickfix.c,
+ src/testdir/test_quickfix.vim
+
+Patch 8.0.1845
+Problem: Various comment updates needed, missing white space.
+Solution: Update comments, add white space.
+Files: src/getchar.c, src/testdir/test_cscope.vim, src/gui_mac.c
+
+Patch 8.0.1846
+Problem: Python interface is incompatible with lldb.
+Solution: For OutputType set the base to be PyFile_Type. (Boxu Zhang)
+ Partly disabled to avoid a crash.
+Files: src/if_py_both.h, src/if_python.c, src/if_python3.c
+
+Patch 8.0.1847
+Problem: Some build options don't have an example.
+Solution: Add a couple more examples and compiler flags.
+Files: src/Makefile
+
+Patch 8.0.1848
+Problem: 'termwinscroll' does not work properly. (Dominique Pelle)
+Solution: Subtract removed scrollback from the scrollback count. Add a test
+ for 'termwinscroll'. (closes #2909)
+Files: src/terminal.c, src/testdir/test_terminal.vim
+
+Patch 8.0.1849
+Problem: Compiler warning for unused arguments and missing prototype.
+Solution: Add UNUSED. Add static.
+Files: src/mbyte.c, src/if_ruby.c
+
+Patch 8.0.1850
+Problem: Todo items in source code not visible for users.
+Solution: Move the todo items to the help file.
+Files: src/terminal.c
+
+
vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/vi_diff.txt b/runtime/doc/vi_diff.txt
index 9a4981f..a395c88 100644
--- a/runtime/doc/vi_diff.txt
+++ b/runtime/doc/vi_diff.txt
@@ -1,4 +1,4 @@
-*vi_diff.txt* For Vim version 8.0. Last change: 2016 Aug 16
+*vi_diff.txt* For Vim version 8.1. Last change: 2016 Aug 16
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/vim-ja.UTF-8.1 b/runtime/doc/vim-ja.UTF-8.1
index 7742356..5b7798b 100644
--- a/runtime/doc/vim-ja.UTF-8.1
+++ b/runtime/doc/vim-ja.UTF-8.1
@@ -280,7 +280,7 @@ N を省略した場合は、引数のファイルを個別のタブページで
ぐことができます。
ファイルを保存したい場合は、":w!" のように、Ex コマンドに感嘆符を付けてくだ
さい。
-\-R オプションは \-n オプションの効果も含んでいます (下記参照)。
+\-R オプションは \-n オプションの効果も含んでいます (上記参照)。
オプション 'readonly' は ":set noro" でオフにできます。
詳しくは ":help 'readonly'" を参照してください。
.TP
diff --git a/runtime/doc/visual.txt b/runtime/doc/visual.txt
index c799727..5e15b3b 100644
--- a/runtime/doc/visual.txt
+++ b/runtime/doc/visual.txt
@@ -1,4 +1,4 @@
-*visual.txt* For Vim version 8.0. Last change: 2017 Sep 02
+*visual.txt* For Vim version 8.1. Last change: 2017 Sep 02
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index c5021cd..f7045b8 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt* For Vim version 8.0. Last change: 2018 Mar 29
+*windows.txt* For Vim version 8.1. Last change: 2018 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -223,9 +223,9 @@ CTRL-W ^ Does ":split #", split window in two and edit alternate file.
and edit buffer N.
*CTRL-W_:*
-CTRL-W : Does the same as typing |:| : edit a command line. Useful in a
+CTRL-W : Does the same as typing |:| - enter a command line. Useful in a
terminal window, where all Vim commands must be preceded with
- CTRL-W or 'termkey'.
+ CTRL-W or 'termwinkey'.
Note that the 'splitbelow' and 'splitright' options influence where a new
window will appear.
@@ -1083,10 +1083,8 @@ list of buffers. |unlisted-buffer|
<
:bdelete[!] {bufname} *E93* *E94*
- Like ":bdelete[!] [N]", but buffer given by name. Note that a
- buffer whose name is a number cannot be referenced by that
- name; use the buffer number instead. Insert a backslash
- before a space in a buffer name.
+ Like ":bdelete[!] [N]", but buffer given by name, see
+ |{bufname}|.
:bdelete[!] N1 N2 ...
Do ":bdelete[!]" for buffer N1, N2, etc. The arguments can be
@@ -1123,10 +1121,8 @@ list of buffers. |unlisted-buffer|
into a loaded buffer.
:bunload[!] {bufname}
- Like ":bunload[!] [N]", but buffer given by name. Note that a
- buffer whose name is a number cannot be referenced by that
- name; use the buffer number instead. Insert a backslash
- before a space in a buffer name.
+ Like ":bunload[!] [N]", but buffer given by name.
+ Also see |{bufname}|.
:N,Mbunload[!] Do ":bunload[!]" for all buffers in the range N to M
|inclusive|.
@@ -1144,10 +1140,16 @@ list of buffers. |unlisted-buffer|
list, without setting the 'buflisted' flag.
Also see |+cmd|.
-:[N]b[uffer][!] [+cmd] {bufname}
- Edit buffer for {bufname} from the buffer list. See
- |:buffer-!| for [!]. This will also edit a buffer that is not
- in the buffer list, without setting the 'buflisted' flag.
+:[N]b[uffer][!] [+cmd] {bufname} *{bufname}*
+ Edit buffer for {bufname} from the buffer list. A partial
+ name also works, so long as it is unique in the list of
+ buffers.
+ Note that a buffer whose name is a number cannot be referenced
+ by that name; use the buffer number instead.
+ Insert a backslash before a space in a buffer name.
+ See |:buffer-!| for [!].
+ This will also edit a buffer that is not in the buffer list,
+ without setting the 'buflisted' flag.
Also see |+cmd|.
:[N]sb[uffer] [+cmd] [N] *:sb* *:sbuffer*
@@ -1159,7 +1161,7 @@ list of buffers. |unlisted-buffer|
Also see |+cmd|.
:[N]sb[uffer] [+cmd] {bufname}
- Split window and edit buffer for {bufname} from the buffer
+ Split window and edit buffer for |{bufname}| from the buffer
list. This will also edit a buffer that is not in the buffer
list, without setting the 'buflisted' flag.
Note: If what you want to do is split the buffer, make a copy
diff --git a/runtime/doc/workshop.txt b/runtime/doc/workshop.txt
index e7dd9b0..8a699a4 100644
--- a/runtime/doc/workshop.txt
+++ b/runtime/doc/workshop.txt
@@ -1,4 +1,4 @@
-*workshop.txt* For Vim version 8.0. Last change: 2013 Jul 06
+*workshop.txt* For Vim version 8.1. Last change: 2013 Jul 06
VIM REFERENCE MANUAL by Gordon Prieur
diff --git a/runtime/doc/xxd-ja.UTF-8.1 b/runtime/doc/xxd-ja.UTF-8.1
index a4cc583..47688f8 100644
--- a/runtime/doc/xxd-ja.UTF-8.1
+++ b/runtime/doc/xxd-ja.UTF-8.1
@@ -76,6 +76,9 @@
.RI < cols >
オクテットで出力する。標準設定は 16 (\-i: 12, \-ps: 30, \-b: 6)。最大 256。
.TP
+.IR \-C " | " \-capitalize
+\-i を使用した際に、C インクルードファイル形式の変数名を大文字にする。
+.TP
.IR \-E " | " \-EBCDIC
右端に出力される文字のエンコーディングを ASCII から EBCDIC に変更する。
16 進ダンプの出力形式は変更されません。
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 7a31a10..541f613 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2018 Jan 28
+" Last Change: 2018 May 04
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -429,6 +429,13 @@ au BufNewFile,BufRead control
\| setf debcontrol
\| endif
+" Debian Copyright
+au BufNewFile,BufRead */debian/copyright setf debcopyright
+au BufNewFile,BufRead copyright
+ \ if getline(1) =~ '^Format:'
+ \| setf debcopyright
+ \| endif
+
" Debian Sources.list
au BufNewFile,BufRead */etc/apt/sources.list setf debsources
au BufNewFile,BufRead */etc/apt/sources.list.d/*.list setf debsources
diff --git a/runtime/ftplugin/debchangelog.vim b/runtime/ftplugin/debchangelog.vim
index 32f6831..a78f781 100644
--- a/runtime/ftplugin/debchangelog.vim
+++ b/runtime/ftplugin/debchangelog.vim
@@ -3,20 +3,20 @@
" Maintainer: Debian Vim Maintainers
" Former Maintainers: Michael Piefel <piefel@informatik.hu-berlin.de>
" Stefano Zacchiroli <zack@debian.org>
-" Last Change: 2018-01-06
+" Last Change: 2018-01-28
" License: Vim License
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/debchangelog.vim
" Bug completion requires apt-listbugs installed for Debian packages or
" python-launchpadlib installed for Ubuntu packages
-if exists("b:did_ftplugin")
+if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin=1
" {{{1 Local settings (do on every load)
-if exists("g:debchangelog_fold_enable")
+if exists('g:debchangelog_fold_enable')
setlocal foldmethod=expr
setlocal foldexpr=DebGetChangelogFold(v:lnum)
setlocal foldtext=DebChangelogFoldText()
@@ -28,10 +28,10 @@ setlocal tw=78
setlocal comments=f:*
" Clean unloading
-let b:undo_ftplugin = "setlocal tw< comments< foldmethod< foldexpr< foldtext<"
+let b:undo_ftplugin = 'setlocal tw< comments< foldmethod< foldexpr< foldtext<'
" }}}1
-if exists("g:did_changelog_ftplugin")
+if exists('g:did_changelog_ftplugin')
finish
endif
@@ -44,41 +44,41 @@ let g:did_changelog_ftplugin = 1
" Returns full name, either from $DEBFULLNAME or debianfullname.
" TODO Is there a way to determine name from anywhere else?
function <SID>FullName()
- if exists("$DEBFULLNAME")
+ if exists('$DEBFULLNAME')
return $DEBFULLNAME
- elseif exists("g:debianfullname")
+ elseif exists('g:debianfullname')
return g:debianfullname
else
- return "Your Name"
+ return 'Your Name'
endif
endfunction
" Returns email address, from $DEBEMAIL, $EMAIL or debianemail.
function <SID>Email()
- if exists("$DEBEMAIL")
+ if exists('$DEBEMAIL')
return $DEBEMAIL
- elseif exists("$EMAIL")
+ elseif exists('$EMAIL')
return $EMAIL
- elseif exists("g:debianemail")
+ elseif exists('g:debianemail')
return g:debianemail
else
- return "your@email.address"
+ return 'your@email.address'
endif
endfunction
" Returns date in RFC822 format.
function <SID>Date()
let savelang = v:lc_time
- execute "language time C"
- let dateandtime = strftime("%a, %d %b %Y %X %z")
- execute "language time " . savelang
+ execute 'language time C'
+ let dateandtime = strftime('%a, %d %b %Y %X %z')
+ execute 'language time ' . savelang
return dateandtime
endfunction
function <SID>WarnIfNotUnfinalised()
- if match(getline("."), " -- [[:alpha:]][[:alnum:].]")!=-1
+ if match(getline('.'), ' -- [[:alpha:]][[:alnum:].]')!=-1
echohl WarningMsg
- echo "The entry has not been unfinalised before editing."
+ echo 'The entry has not been unfinalised before editing.'
echohl None
return 1
endif
@@ -86,10 +86,10 @@ function <SID>WarnIfNotUnfinalised()
endfunction
function <SID>Finalised()
- let savelinenum = line(".")
- normal 1G
- call search("^ -- ")
- if match(getline("."), " -- [[:alpha:]][[:alnum:].]")!=-1
+ let savelinenum = line('.')
+ 1
+ call search('^ -- ')
+ if match(getline('.'), ' -- [[:alpha:]][[:alnum:].]')!=-1
let returnvalue = 1
else
let returnvalue = 0
@@ -109,54 +109,54 @@ function NewVersion()
amenu disable Changelog.Unfinalise
amenu enable Changelog.Finalise
call append(0, substitute(getline(1), '-\([[:digit:]]\+\))', '-$$\1)', ''))
- call append(1, "")
- call append(2, "")
- call append(3, " -- ")
- call append(4, "")
- call Urgency("low")
- normal 1G0
- call search(")")
- normal h
- normal 
+ call append(1, '')
+ call append(2, '')
+ call append(3, ' -- ')
+ call append(4, '')
+ call Urgency('low')
+ normal! 1G0
+ call search(')')
+ normal! h
+ normal! 
call setline(1, substitute(getline(1), '-\$\$', '-', ''))
- if exists("g:debchangelog_fold_enable")
+ if exists('g:debchangelog_fold_enable')
foldopen
endif
call AddEntry()
endfunction
function AddEntry()
- normal 1G
- call search("^ -- ")
- normal kk
- call append(".", " * ")
- normal jjj
+ 1
+ call search('^ -- ')
+ .-2
+ call append('.', ' * ')
+ .+3
let warn=<SID>WarnIfNotUnfinalised()
- normal kk
+ .-2
if warn
echohl MoreMsg
- call input("Hit ENTER")
+ call input('Hit ENTER')
echohl None
endif
startinsert!
endfunction
function CloseBug()
- normal 1G
- call search("^ -- ")
+ 1
+ call search('^ -- ')
let warn=<SID>WarnIfNotUnfinalised()
- normal kk
- call append(".", " * (closes: #" . input("Bug number to close: ") . ")")
- normal j^ll
+ .-2
+ call append('.', ' * (closes: #' . input('Bug number to close: ') . ')')
+ normal! j^ll
startinsert
endfunction
function Distribution(dist)
- call setline(1, substitute(getline(1), ') *\%(UNRELEASED\|\l\+\);', ") " . a:dist . ";", ""))
+ call setline(1, substitute(getline(1), ') *\%(UNRELEASED\|\l\+\);', ') ' . a:dist . ';', ''))
endfunction
function Urgency(urg)
- call setline(1, substitute(getline(1), "urgency=.*$", "urgency=" . a:urg, ""))
+ call setline(1, substitute(getline(1), 'urgency=.*$', 'urgency=' . a:urg, ''))
endfunction
function <SID>UnfinaliseMenu()
@@ -172,9 +172,9 @@ endfunction
function Unfinalise()
call <SID>UnfinaliseMenu()
- normal 1G
- call search("^ -- ")
- call setline(".", " -- ")
+ 1
+ call search('^ -- ')
+ call setline('.', ' -- ')
endfunction
function <SID>FinaliseMenu()
@@ -190,9 +190,9 @@ endfunction
function Finalise()
call <SID>FinaliseMenu()
- normal 1G
- call search("^ -- ")
- call setline(".", " -- " . <SID>FullName() . " <" . <SID>Email() . "> " . <SID>Date())
+ 1
+ call search('^ -- ')
+ call setline('.', ' -- ' . <SID>FullName() . ' <' . <SID>Email() . '> ' . <SID>Date())
endfunction
@@ -239,7 +239,7 @@ function! s:getAuthor(zonestart, zoneend)
let linepos = a:zoneend
while linepos >= a:zonestart
let line = getline(linepos)
- if line =~ '^ --'
+ if line =~# '^ --'
return substitute(line, '^ --\s*\([^<]\+\)\s*.*', '\1', '')
endif
let linepos -= 1
@@ -254,7 +254,7 @@ function! DebGetPkgSrcName(lineno)
let pkgname = ''
while lineidx > 0
let curline = getline(lineidx)
- if curline =~ '^\S'
+ if curline =~# '^\S'
let pkgname = matchlist(curline, '^\(\S\+\).*$')[1]
break
endif
@@ -264,7 +264,7 @@ function! DebGetPkgSrcName(lineno)
endfunction
function! DebChangelogFoldText()
- if v:folddashes == '-' " changelog entry fold
+ if v:folddashes ==# '-' " changelog entry fold
return foldtext() . ' -- ' . s:getAuthor(v:foldstart, v:foldend) . ' '
endif
return foldtext()
@@ -272,19 +272,19 @@ endfunction
function! DebGetChangelogFold(lnum)
let line = getline(a:lnum)
- if line =~ '^\w\+'
+ if line =~# '^\w\+'
return '>1' " beginning of a changelog entry
endif
- if line =~ '^\s\+\[.*\]'
+ if line =~# '^\s\+\[.*\]'
return '>2' " beginning of an author-specific chunk
endif
- if line =~ '^ --'
+ if line =~# '^ --'
return '1'
endif
return '='
endfunction
-if exists("g:debchangelog_fold_enable")
+if exists('g:debchangelog_fold_enable')
silent! foldopen! " unfold the entry the cursor is on (usually the first one)
endif
@@ -305,13 +305,13 @@ fun! DebCompleteBugs(findstart, base)
let try_colidx = col('.') - 1
let colidx = -1 " default to no-completion-possible
- while try_colidx > 0 && line[try_colidx - 1] =~ '\s\|\d\|#\|,\|:'
+ while try_colidx > 0 && line[try_colidx - 1] =~# '\s\|\d\|#\|,\|:'
let try_colidx = try_colidx - 1
- if line[try_colidx] == '#' && colidx == -1
+ if line[try_colidx] ==# '#' && colidx == -1
" found hash, where we complete from:
let colidx = try_colidx
- elseif line[try_colidx] == ':'
- if try_colidx > 1 && strpart(line, try_colidx - 2, 3) =~ '\clp:'
+ elseif line[try_colidx] ==# ':'
+ if try_colidx > 1 && strpart(line, try_colidx - 2, 3) =~? '\clp:'
let g:debchangelog_complete_mode = 'lp'
endif
break
@@ -320,7 +320,7 @@ fun! DebCompleteBugs(findstart, base)
return colidx
else " return matches:
let bug_lines = []
- if g:debchangelog_complete_mode == 'lp'
+ if g:debchangelog_complete_mode ==? 'lp'
if ! has('python')
echoerr 'vim must be built with Python support to use LP bug completion'
return
@@ -363,7 +363,7 @@ EOF
for line in bug_lines
let parts = matchlist(line, '^\s*\(#\S\+\)\s*-\s*\(.*\)$')
" filter only those which match a:base:
- if parts[1] !~ "^" . a:base
+ if parts[1] !~ '^' . a:base
continue
endif
let completion = {}
diff --git a/runtime/ftplugin/debcontrol.vim b/runtime/ftplugin/debcontrol.vim
index 9643d16..3a6e39a 100644
--- a/runtime/ftplugin/debcontrol.vim
+++ b/runtime/ftplugin/debcontrol.vim
@@ -2,17 +2,17 @@
" Language: Debian control files
" Maintainer: Debian Vim Maintainers
" Former Maintainer: Pierre Habouzit <madcoder@debian.org>
-" Last Change: 2018-01-06
+" Last Change: 2018-01-28
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/debcontrol.vim
" Do these settings once per buffer
-if exists("b:did_ftplugin")
+if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin=1
" {{{1 Local settings (do on every load)
-if exists("g:debcontrol_fold_enable")
+if exists('g:debcontrol_fold_enable')
setlocal foldmethod=expr
setlocal foldexpr=DebControlFold(v:lnum)
setlocal foldtext=DebControlFoldText()
@@ -20,7 +20,7 @@ endif
setlocal textwidth=0
" Clean unloading
-let b:undo_ftplugin = "setlocal tw< foldmethod< foldexpr< foldtext<"
+let b:undo_ftplugin = 'setlocal tw< foldmethod< foldexpr< foldtext<'
" }}}1
@@ -32,7 +32,7 @@ function! s:getField(f, lnum)
while line !~ '^'.a:f.':'
let fwdsteps += 1
let line = getline(a:lnum + fwdsteps)
- if line == ''
+ if line ==# ''
return 'unknown'
endif
endwhile
@@ -40,9 +40,9 @@ function! s:getField(f, lnum)
endfunction
function! DebControlFoldText()
- if v:folddashes == '-' " debcontrol entry fold
+ if v:folddashes ==# '-' " debcontrol entry fold
let type = substitute(getline(v:foldstart), ':.*', '', '')
- if type == 'Source'
+ if type ==# 'Source'
let ftext = substitute(foldtext(), ' *Source: *', ' ', '')
return ftext . ' -- ' . s:getField('Maintainer', v:foldstart) . ' '
endif
@@ -56,11 +56,11 @@ endfunction
function! DebControlFold(l)
" This is for not merging blank lines around folds to them
- if getline(a:l) =~ '^Source:'
+ if getline(a:l) =~# '^Source:'
return '>1'
endif
- if getline(a:l) =~ '^Package:'
+ if getline(a:l) =~# '^Package:'
return '>1'
endif
diff --git a/runtime/ftplugin/man.vim b/runtime/ftplugin/man.vim
index 9e97156..ea3f9ac 100644
--- a/runtime/ftplugin/man.vim
+++ b/runtime/ftplugin/man.vim
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: man
" Maintainer: SungHyun Nam <goweol@gmail.com>
-" Last Change: 2018 Jan 15
+" Last Change: 2018 May 2
" To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file.
@@ -164,7 +164,7 @@ func <SID>GetPage(...)
setl buftype=nofile noswapfile
setl ma nonu nornu nofen
- silent exec "norm 1GdG"
+ silent exec "norm! 1GdG"
let unsetwidth = 0
if empty($MANWIDTH)
let $MANWIDTH = winwidth(0)
@@ -188,10 +188,10 @@ func <SID>GetPage(...)
endif
" Remove blank lines from top and bottom.
while getline(1) =~ '^\s*$'
- silent keepj norm ggdd
+ silent keepj norm! ggdd
endwhile
while getline('$') =~ '^\s*$'
- silent keepj norm Gdd
+ silent keepj norm! Gdd
endwhile
1
setl ft=man nomod
@@ -208,7 +208,7 @@ func <SID>PopPage()
exec "let s:man_tag_col=s:man_tag_col_".s:man_tag_depth
exec s:man_tag_buf."b"
exec s:man_tag_lin
- exec "norm ".s:man_tag_col."|"
+ exec "norm! ".s:man_tag_col."|"
exec "unlet s:man_tag_buf_".s:man_tag_depth
exec "unlet s:man_tag_lin_".s:man_tag_depth
exec "unlet s:man_tag_col_".s:man_tag_depth
diff --git a/runtime/ftplugin/xml.vim b/runtime/ftplugin/xml.vim
index 236e870..573a6ba 100644
--- a/runtime/ftplugin/xml.vim
+++ b/runtime/ftplugin/xml.vim
@@ -1,8 +1,10 @@
" Vim filetype plugin file
" Language: xml
-" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
-" Last Changed: 20 Jan 2009
-" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
+" Maintainer: Christian Brabandt <cb@256bit.org>
+" Last Changed: May 08th, 2018
+" Repository: https://github.com/chrisbra/vim-xml-ftplugin
+" Previous Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
@@ -10,16 +12,16 @@ let b:did_ftplugin = 1
" Make sure the continuation lines below do not cause problems in
" compatibility mode.
let s:save_cpo = &cpo
-set cpo-=C
+set cpo&vim
setlocal commentstring=<!--%s-->
-setlocal comments=s:<!--,m:\ \ \ \ \ ,e:-->
+" Remove the middlepart from the comments section, as this causes problems:
+" https://groups.google.com/d/msg/vim_dev/x4GT-nqa0Kg/jvtRnEbtAnMJ
+setlocal comments=s:<!--,e:-->
setlocal formatoptions-=t
-if !exists("g:ft_xml_autocomment") || (g:ft_xml_autocomment == 1)
- setlocal formatoptions+=croql
-endif
-
+setlocal formatoptions+=croql
+setlocal formatexpr=xmlformat#Format()
" XML: thanks to Johannes Zellner and Akbar Ibrahim
" - case sensitive
@@ -39,7 +41,6 @@ if exists("loaded_matchit")
\ '<\@<=\%([^ \t>/]\+\)\%(\s\+[^/>]*\|$\):/>'
endif
-"
" For Omni completion, by Mikolaj Machowski.
if exists('&ofu')
setlocal ofu=xmlcomplete#CompleteTags
@@ -47,17 +48,17 @@ endif
command! -nargs=+ XMLns call xmlcomplete#CreateConnection(<f-args>)
command! -nargs=? XMLent call xmlcomplete#CreateEntConnection(<f-args>)
-
" Change the :browse e filter to primarily show xml-related files.
-if has("gui_win32")
+if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter="XML Files (*.xml)\t*.xml\n" .
- \ "DTD Files (*.dtd)\t*.dtd\n" .
- \ "All Files (*.*)\t*.*\n"
+ \ "DTD Files (*.dtd)\t*.dtd\n" .
+ \ "XSD Files (*.xsd)\t*.xsd\n" .
+ \ "All Files (*.*)\t*.*\n"
endif
" Undo the stuff we changed.
-let b:undo_ftplugin = "setlocal commentstring< comments< formatoptions<" .
- \ " | unlet! b:match_ignorecase b:match_words b:browsefilter"
+let b:undo_ftplugin = "setlocal commentstring< comments< formatoptions< formatexpr< " .
+ \ " | unlet! b:match_ignorecase b:match_words b:browsefilter"
" Restore the saved compatibility options.
let &cpo = s:save_cpo
diff --git a/runtime/indent/php.vim b/runtime/indent/php.vim
index 35dddaa..5dee6c9 100644
--- a/runtime/indent/php.vim
+++ b/runtime/indent/php.vim
@@ -3,8 +3,8 @@
" Author: John Wellesz <John.wellesz (AT) teaser (DOT) fr>
" URL: http://www.2072productions.com/vim/indent/php.vim
" Home: https://github.com/2072/PHP-Indenting-for-VIm
-" Last Change: 2017 Jun 13
-" Version: 1.62
+" Last Change: 2018 May 18th
+" Version: 1.66
"
"
" Type :help php-indent for available options
@@ -12,7 +12,7 @@
" A fully commented version of this file is available on github
"
"
-" If you find a bug, please open a ticket on github.org
+" If you find a bug, please open a ticket on github.com
" ( https://github.com/2072/PHP-Indenting-for-VIm/issues ) with an example of
" code that breaks the algorithm.
"
@@ -82,6 +82,12 @@ else
let b:PHP_outdentphpescape = 1
endif
+if exists("PHP_noArrowMatching")
+ let b:PHP_noArrowMatching = PHP_noArrowMatching
+else
+ let b:PHP_noArrowMatching = 0
+endif
+
if exists("PHP_vintage_case_default_indent") && PHP_vintage_case_default_indent
let b:PHP_vintage_case_default_indent = 1
@@ -130,7 +136,7 @@ endif
let s:PHP_validVariable = '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
let s:notPhpHereDoc = '\%(break\|return\|continue\|exit\|die\|else\)'
let s:blockstart = '\%(\%(\%(}\s*\)\=else\%(\s\+\)\=\)\=if\>\|\%(}\s*\)\?else\>\|do\>\|while\>\|switch\>\|case\>\|default\>\|for\%(each\)\=\>\|declare\>\|class\>\|trait\>\|use\>\|interface\>\|abstract\>\|final\>\|try\>\|\%(}\s*\)\=catch\>\|\%(}\s*\)\=finally\>\)'
-let s:functionDecl = '\<function\>\%(\s\+'.s:PHP_validVariable.'\)\=\s*(.*'
+let s:functionDecl = '\<function\>\%(\s\+&\='.s:PHP_validVariable.'\)\=\s*(.*'
let s:endline = '\s*\%(//.*\|#.*\|/\*.*\*/\s*\)\=$'
let s:unstated = '\%(^\s*'.s:blockstart.'.*)\|\%(//.*\)\@<!\<e'.'lse\>\)'.s:endline
@@ -140,7 +146,6 @@ let s:PHP_startindenttag = '<?\%(.*?>\)\@!\|<script[^>]*>\%(.*<\/script>\)\@!'
let s:structureHead = '^\s*\%(' . s:blockstart . '\)\|'. s:functionDecl . s:endline . '\|\<new\s\+class\>'
-
let s:escapeDebugStops = 0
function! DebugPrintReturn(scriptLine)
@@ -257,7 +262,7 @@ endfun
function! Skippmatch() " {{{
let synname = synIDattr(synID(line("."), col("."), 0), "name")
- if synname == "Delimiter" || synname == "phpRegionDelimiter" || synname =~# "^phpParent" || synname == "phpArrayParens" || synname =~# '^php\%(Block\|Brace\)' || synname == "javaScriptBraces" || synname =~# '^php\%(Doc\)\?Comment' && b:UserIsTypingComment
+ if synname ==? "Delimiter" || synname ==? "phpRegionDelimiter" || synname =~? "^phpParent" || synname ==? "phpArrayParens" || synname =~? '^php\%(Block\|Brace\)' || synname ==? "javaScriptBraces" || synname =~? '^php\%(Doc\)\?Comment' && b:UserIsTypingComment
return 0
else
return 1
@@ -297,6 +302,48 @@ function! BalanceDirection (str)
return balance
endfun
+function! StripEndlineComments (line)
+ return substitute(a:line,"\\(//\\|#\\)\\(\\(\\([^\"']*\\([\"']\\)[^\"']*\\5\\)\\+[^\"']*$\\)\\|\\([^\"']*$\\)\\)",'','')
+endfun
+
+function! FindArrowIndent (lnum) " {{{
+
+ let parrentArrowPos = 0
+ let lnum = a:lnum
+ while lnum > 1
+ let last_line = getline(lnum)
+ if last_line =~ '^\s*->'
+ let parrentArrowPos = indent(a:lnum)
+ break
+ else
+ call cursor(lnum, 1)
+ let cleanedLnum = StripEndlineComments(last_line)
+ if cleanedLnum =~ '->'
+ if ! b:PHP_noArrowMatching
+ let parrentArrowPos = searchpos('->', 'W', lnum)[1] - 1
+ else
+ let parrentArrowPos = indent(lnum) + shiftwidth()
+ endif
+ break
+ elseif cleanedLnum =~ ')'.s:endline && BalanceDirection(last_line) < 0
+ call searchpos(')'.s:endline, 'cW', lnum)
+ let openedparent = searchpair('(', '', ')', 'bW', 'Skippmatch()')
+ if openedparent != lnum
+ let lnum = openedparent
+ else
+ let openedparent = -1
+ endif
+
+ else
+ let parrentArrowPos = indent(lnum) + shiftwidth()
+ break
+ endif
+ endif
+ endwhile
+
+ return parrentArrowPos
+endfun "}}}
+
function! FindTheIfOfAnElse (lnum, StopAfterFirstPrevElse) " {{{
if getline(a:lnum) =~# '^\s*}\s*else\%(if\)\=\>'
@@ -368,7 +415,7 @@ function! FindTheSwitchIndent (lnum) " {{{
endfunction "}}}
-let s:SynPHPMatchGroups = {'phpParent':1, 'Delimiter':1, 'Define':1, 'Storageclass':1, 'StorageClass':1, 'Structure':1, 'Exception':1}
+let s:SynPHPMatchGroups = {'phpparent':1, 'delimiter':1, 'define':1, 'storageclass':1, 'structure':1, 'exception':1}
function! IslinePHP (lnum, tofind) " {{{
let cline = getline(a:lnum)
@@ -384,7 +431,7 @@ function! IslinePHP (lnum, tofind) " {{{
let synname = synIDattr(synID(a:lnum, coltotest, 0), "name")
- if synname == 'phpStringSingle' || synname == 'phpStringDouble' || synname == 'phpBacktick'
+ if synname ==? 'phpStringSingle' || synname ==? 'phpStringDouble' || synname ==? 'phpBacktick'
if cline !~ '^\s*[''"`]'
return "SpecStringEntrails"
else
@@ -392,7 +439,7 @@ function! IslinePHP (lnum, tofind) " {{{
end
end
- if get(s:SynPHPMatchGroups, synname) || synname =~ '^php' || synname =~? '^javaScript'
+ if get(s:SynPHPMatchGroups, tolower(synname)) || synname =~ '^php' || synname =~? '^javaScript'
return synname
else
return ""
@@ -423,6 +470,10 @@ endfunc
call ResetPhpOptions()
+function! GetPhpIndentVersion()
+ return "1.66-bundle"
+endfun
+
function! GetPhpIndent()
let b:GetLastRealCodeLNum_ADD = 0
@@ -480,14 +531,14 @@ function! GetPhpIndent()
endif
if synname!=""
- if synname == "SpecStringEntrails"
+ if synname ==? "SpecStringEntrails"
let b:InPHPcode = -1 " thumb down
let b:InPHPcode_tofind = ""
- elseif synname != "phpHereDoc" && synname != "phpHereDocDelimiter"
+ elseif synname !=? "phpHereDoc" && synname !=? "phpHereDocDelimiter"
let b:InPHPcode = 1
let b:InPHPcode_tofind = ""
- if synname =~# '^php\%(Doc\)\?Comment'
+ if synname =~? '^php\%(Doc\)\?Comment'
let b:UserIsTypingComment = 1
let b:InPHPcode_checked = 0
endif
@@ -556,7 +607,7 @@ function! GetPhpIndent()
if 1 == b:InPHPcode
- if !b:InPHPcode_and_script && last_line =~ '\%(<?.*\)\@<!?>\%(.*<?\)\@!' && IslinePHP(lnum, '?>')=~"Delimiter"
+ if !b:InPHPcode_and_script && last_line =~ '\%(<?.*\)\@<!?>\%(.*<?\)\@!' && IslinePHP(lnum, '?>')=~?"Delimiter"
if cline !~? s:PHP_startindenttag
let b:InPHPcode = 0
let b:InPHPcode_tofind = s:PHP_startindenttag
@@ -712,7 +763,8 @@ function! GetPhpIndent()
let last_line_num = GetLastRealCodeLNum(last_line_num - 1)
let previous_line = getline(last_line_num)
endwhile
-
+ elseif cline =~ '^\s*->'
+ return FindArrowIndent(lnum)
elseif last_line =~# unstated && cline !~ '^\s*);\='.endline
let ind = ind + shiftwidth() " we indent one level further when the preceding line is not stated
return ind + addSpecial
@@ -724,7 +776,7 @@ function! GetPhpIndent()
let isSingleLineBlock = 0
while 1
- if ! isSingleLineBlock && previous_line =~ '^\s*}\|;\s*}'.endline " XXX
+ if ! isSingleLineBlock && previous_line =~ '^\s*}\|;\s*}'.endline
call cursor(last_line_num, 1)
if previous_line !~ '^}'
@@ -793,8 +845,7 @@ function! GetPhpIndent()
let AntepenultimateLine = getline(plinnum)
- let last_line = substitute(last_line,"\\(//\\|#\\)\\(\\(\\([^\"']*\\([\"']\\)[^\"']*\\5\\)\\+[^\"']*$\\)\\|\\([^\"']*$\\)\\)",'','')
-
+ let last_line = StripEndlineComments(last_line)
if ind == b:PHP_default_indenting
if last_line =~ terminated && last_line !~# s:defaultORcase
@@ -804,11 +855,13 @@ function! GetPhpIndent()
if !LastLineClosed
+ let openedparent = -1
+
if last_line =~# '[{(\[]'.endline || last_line =~? '\h\w*\s*(.*,$' && AntepenultimateLine !~ '[,(\[]'.endline && BalanceDirection(last_line) > 0
let dontIndent = 0
- if last_line =~ '\S\+\s*{'.endline && last_line !~ '^\s*[)\]]\+\s*{'.endline && last_line !~ s:structureHead
+ if last_line =~ '\S\+\s*{'.endline && last_line !~ '^\s*[)\]]\+\(\s*:\s*'.s:PHP_validVariable.'\)\=\s*{'.endline && last_line !~ s:structureHead
let dontIndent = 1
endif
@@ -819,18 +872,17 @@ function! GetPhpIndent()
if b:PHP_BracesAtCodeLevel || b:PHP_vintage_case_default_indent == 1
let b:PHP_CurrentIndentLevel = ind
- return ind + addSpecial
endif
- elseif last_line =~ '\S\+\s*),'.endline && BalanceDirection(last_line) < 0
+ elseif last_line =~ '),'.endline && BalanceDirection(last_line) < 0
call cursor(lnum, 1)
- call search('),'.endline, 'W') " line never begins with ) so no need for 'c' flag
+ call searchpos('),'.endline, 'cW')
let openedparent = searchpair('(', '', ')', 'bW', 'Skippmatch()')
if openedparent != lnum
let ind = indent(openedparent)
endif
- elseif last_line =~ '^\s*'.s:blockstart
+ elseif last_line =~ s:structureHead
let ind = ind + shiftwidth()
@@ -838,9 +890,17 @@ function! GetPhpIndent()
let ind = ind + shiftwidth()
endif
+
+ if openedparent >= 0
+ let last_line = StripEndlineComments(getline(openedparent))
+ endif
+ endif
+
+ if cline =~ '^\s*[)\]];\='
+ let ind = ind - shiftwidth()
endif
- if cline =~ '^\s*[)\]];\='
+ if last_line =~ '^\s*->' && last_line !~? s:structureHead && BalanceDirection(last_line) <= 0
let ind = ind - shiftwidth()
endif
diff --git a/runtime/indent/sh.vim b/runtime/indent/sh.vim
index fd9a6a9..fb398ca 100644
--- a/runtime/indent/sh.vim
+++ b/runtime/indent/sh.vim
@@ -1,12 +1,15 @@
" Vim indent file
" Language: Shell Script
" Maintainer: Christian Brabandt <cb@256bit.org>
-" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
" Original Author: Nikolai Weibull <now@bitwi.se>
-" Latest Revision: 2017-08-08
+" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
+" Latest Revision: 2018-03-26
" License: Vim (see :h license)
" Repository: https://github.com/chrisbra/vim-sh-indent
" Changelog:
+" 20180326 - better support for line continuation
+" 20180325 - better detection of function definitions
+" 20180127 - better support for zsh complex commands
" 20170808: - better indent of line continuation
" 20170502: - get rid of buffer-shiftwidth function
" 20160912: - preserve indentation of here-doc blocks
@@ -59,12 +62,15 @@ function! GetShIndent()
if lnum == 0
return 0
endif
+ let line = getline(lnum)
let pnum = prevnonblank(lnum - 1)
-
+ let pline = getline(pnum)
let ind = indent(lnum)
- let line = getline(lnum)
- if line =~ '^\s*\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>'
+
+ " Check contents of previous lines
+ if line =~ '^\s*\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>' ||
+ \ (&ft is# 'zsh' && line =~ '\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>')
if line !~ '\<\%(fi\|esac\|done\|end\)\>\s*\%(#.*\)\=$'
let ind += s:indent_value('default')
endif
@@ -72,21 +78,35 @@ function! GetShIndent()
if !s:is_case_ended(line)
let ind += s:indent_value('case-statements')
endif
- elseif line =~ '^\s*\<\k\+\>\s*()\s*{' || line =~ '^\s*{' || line =~ '^\s*function\s*\w\S\+\s*\%(()\)\?\s*{'
+ " function definition
+ elseif s:is_function_definition(line)
if line !~ '}\s*\%(#.*\)\=$'
let ind += s:indent_value('default')
endif
elseif s:is_continuation_line(line)
- if pnum == 0 || !s:is_continuation_line(getline(pnum))
+ if pnum == 0 || !s:is_continuation_line(pline)
let ind += s:indent_value('continuation-line')
endif
- elseif pnum != 0 && s:is_continuation_line(getline(pnum))
- let ind = indent(s:find_continued_lnum(pnum))
+ elseif s:end_block(line) && !s:start_block(line)
+ let ind -= s:indent_value('default')
+ elseif pnum != 0 && s:is_continuation_line(pline) && !s:end_block(getline(v:lnum))
+ " only add indent, if line and pline is in the same block
+ let i = v:lnum
+ let ind2 = indent(s:find_continued_lnum(pnum))
+ while !s:is_empty(getline(i)) && i > pnum
+ let i -= 1
+ endw
+ if i == pnum
+ let ind += ind2
+ else
+ let ind = ind2
+ endif
endif
let pine = line
+ " Check content of current line
let line = getline(v:lnum)
- if line =~ '^\s*\%(then\|do\|else\|elif\|fi\|done\|end\)\>' || line =~ '^\s*}'
+ if line =~ '^\s*\%(then\|do\|else\|elif\|fi\|done\|end\)\>' || s:end_block(line)
let ind -= s:indent_value('default')
elseif line =~ '^\s*esac\>' && s:is_case_empty(getline(v:lnum - 1))
let ind -= s:indent_value('default')
@@ -112,14 +132,24 @@ function! GetShIndent()
" statements, executed within a here document. Keep the current indent
elseif match(map(synstack(v:lnum, 1), 'synIDattr(v:val, "name")'), '\c\mheredoc') > -1
return indent(v:lnum)
+ elseif s:is_comment(line) && s:is_empty(getline(v:lnum-1))
+ return indent(v:lnum)
endif
- return ind
+ return ind > 0 ? ind : 0
endfunction
function! s:is_continuation_line(line)
- return a:line =~ '\%(\%(^\|[^\\]\)\\\|&&\|||\||\)' .
+ " Comment, cannot be a line continuation
+ if a:line =~ '^\s*#'
+ return 0
+ else
+ " start-of-line
+ " \\ or && or || or |
+ " followed optionally by { or #
+ return a:line =~ '\%(\%(^\|[^\\]\)\\\|&&\|||\||\)' .
\ '\s*\({\s*\)\=\(#.*\)\=$'
+ endif
endfunction
function! s:find_continued_lnum(lnum)
@@ -130,6 +160,12 @@ function! s:find_continued_lnum(lnum)
return i
endfunction
+function! s:is_function_definition(line)
+ return a:line =~ '^\s*\<\k\+\>\s*()\s*{' ||
+ \ a:line =~ '^\s*{' ||
+ \ a:line =~ '^\s*function\s*\w\S\+\s*\%(()\)\?\s*{'
+endfunction
+
function! s:is_case_label(line, pnum)
if a:line !~ '^\s*(\=.*)'
return 0
@@ -195,5 +231,29 @@ function! s:escape(pattern)
return '\V'. escape(a:pattern, '\\')
endfunction
+function! s:is_empty(line)
+ return a:line =~ '^\s*$'
+endfunction
+
+function! s:end_block(line)
+ return a:line =~ '^\s*}'
+endfunction
+
+function! s:start_block(line)
+ return a:line =~ '{\s*\(#.*\)\?$'
+endfunction
+
+function! s:find_start_block(lnum)
+ let i = a:lnum
+ while i > 1 && !s:start_block(getline(i))
+ let i -= 1
+ endwhile
+ return i
+endfunction
+
+function! s:is_comment(line)
+ return a:line =~ '^\s*#'
+endfunction
+
let &cpo = s:cpo_save
unlet s:cpo_save
diff --git a/runtime/lang/menu_fr_fr.latin1.vim b/runtime/lang/menu_fr_fr.latin1.vim
index c4b63c7..940bd96 100644
--- a/runtime/lang/menu_fr_fr.latin1.vim
+++ b/runtime/lang/menu_fr_fr.latin1.vim
@@ -2,7 +2,7 @@
" Maintainer: Adrien Beau <version.francaise@free.fr>
" First Version: Francois Thunus <thunus@systran.fr>
" Last Modification: David Blanchet <david.blanchet@free.fr>
-" Last Change: 2012 May 01
+" Last Change: 2018 Apr 25
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -47,7 +47,7 @@ menutrans &Close<Tab>:close &Fermer<Tab>:close
menutrans &Save<Tab>:w &Enregistrer<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav Enregistrer\ &sous\.\.\.<Tab>:sav
" -SEP2-
-menutrans Split\ &Diff\ with\.\.\. &Difference\ avec\.\.\.
+menutrans Split\ &Diff\ with\.\.\. &Diffrence\ avec\.\.\.
"menutrans Split\ Patched\ &By\.\.\. &Patcher\ avec\.\.\.
menutrans Split\ Patched\ &By\.\.\. &Tester\ un\ patch\.\.\.
" -SEP3-
@@ -121,7 +121,7 @@ menutrans Soft\ &Tabstop &Pseudo-tabulations
menutrans Te&xt\ Width\.\.\. Largeur\ du\ te&xte\.\.\.
menutrans &File\ Format\.\.\. Format\ du\ &fichier\.\.\.
-let g:menutrans_textwidth_dialog = "Entrez la nouvelle largeur du texte\n(0 pour dsactiver le formattage)."
+let g:menutrans_textwidth_dialog = "Entrez la nouvelle largeur du texte\n(0 pour dsactiver le formatage)."
let g:menutrans_fileformat_dialog = "Choisissez le format dans lequel crire le fichier."
let g:menutrans_fileformat_choices = " &Unix \n &Dos \n &Mac \n &Annuler "
@@ -340,7 +340,7 @@ fun! Do_toolbar_tmenu()
tmenu ToolBar.WinClose Fermer fentre
endif
tmenu ToolBar.LoadSesn Ouvrir session
- tmenu ToolBar.SaveSesn Enregister session courante
+ tmenu ToolBar.SaveSesn Enregistrer session courante
tmenu ToolBar.RunScript Lancer un script Vim
tmenu ToolBar.Make Lancer make
tmenu ToolBar.RunCtags Crer les tiquettes
diff --git a/runtime/lang/menu_it_it.latin1.vim b/runtime/lang/menu_it_it.latin1.vim
index 092136b..8dec38b 100644
--- a/runtime/lang/menu_it_it.latin1.vim
+++ b/runtime/lang/menu_it_it.latin1.vim
@@ -2,7 +2,7 @@
" Maintainer: Antonio Colombo <azc100@gmail.com>
" Vlad Sandrini <vlad.gently@gmail.com>
" Luciano Montanaro <mikelima@cirulla.net>
-" Last Change: 2012 May 01
+" Last Change: 2018 May 16
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -16,87 +16,92 @@ scriptencoding iso-8859-1
" Help / Aiuto
menut &Help &Aiuto
+
menut &Overview<Tab><F1> &Panoramica<Tab><F1>
menut &User\ Manual Manuale\ &Utente
menut &How-to\ links Co&Me\.\.\.
-"menut &GUI &GUI
+menut &Find\.\.\. &Cerca\.\.\.
+" -SEP1-
menut &Credits Cr&Editi
menut Co&pying C&Opie
-menut &Sponsor/Register &Sponsor/registrazione
+menut &Sponsor/Register &Sponsor/Registrazione
menut O&rphans O&Rfani
-"menut &Find\.\.\. &Cerca\.\.\.
-"NOTA: fa conflitto con 'cerca' nel menu 'modifica'
+" -SEP2-
menut &Version &Versione
menut &About &Intro
let g:menutrans_help_dialog = "Batti un comando o una parola per cercare aiuto:\n\nPremetti i_ per comandi in modo Input (ad.es.: i_CTRL-X)\nPremetti c_ per comandi che editano la linea-comandi (ad.es.: c_<Del>)\nPremetti ' per un nome di opzione (ad.es.: 'shiftwidth')"
-" File menu
-"menut &File &File
-"
+" File / File
+menut &File &File
+
menut &Open\.\.\.<Tab>:e &Apri\.\.\.<Tab>:e
-menut Sp&lit-Open\.\.\.<Tab>:sp A&Pri\ nuova\ finestra\.\.\.<Tab>:sp
-menut Open\ Tab\.\.\.<Tab>:tabnew Apri\ nuova\ &Linguetta\.\.\.<Tab>:tabnew
-menut &New<Tab>:enew &Nuovo<Tab>:enew
-menut &Close<Tab>:close &Chiudi<Tab>:close
+menut Sp&lit-Open\.\.\.<Tab>:sp A&Pri\ nuova\ finestra\.\.\.<Tab>:sp
+menut Open\ Tab\.\.\.<Tab>:tabnew Apri\ nuova\ &Linguetta\.\.\.<Tab>:tabnew
+menut &New<Tab>:enew &Nuovo<Tab>:enew
+menut &Close<Tab>:close &Chiudi<Tab>:close
+" -SEP1-
menut &Save<Tab>:w &Salva<Tab>:w
-menut Save\ &As\.\.\.<Tab>:sav Salva\ &Con\ nome\.\.\.<Tab>:sav
-
-if has("diff")
- menut Split\ &Diff\ with\.\.\. Finestra\ &Differenza\ con\.\.\.
- menut Split\ Patched\ &By\.\.\. Finestra\ patc&H\ da\.\.\.
-endif
-
-menut &Print S&tampa
+menut Save\ &As\.\.\.<Tab>:sav Salva\ &Con\ nome\.\.\.<Tab>:sav
+" -SEP2-
+menut Split\ &Diff\ with\.\.\. &Differenza\ con\.\.\.
+menut Split\ Patched\ &By\.\.\. Patc&H\ da\.\.\.
+" -SEP3-
+menut &Print S&tampa
+" -SEP4-
menut Sa&ve-Exit<Tab>:wqa Sa&Lva\ ed\ esci<Tab>:wqa
menut E&xit<Tab>:qa &Esci<Tab>:qa
" Edit / Modifica
-
menut &Edit &Modifica
+
menut &Undo<Tab>u &Annulla<Tab>u
menut &Redo<Tab>^R &Ripristina<Tab>^R
-menut Rep&eat<Tab>\. Ri&Peti<Tab>\.
+menut Rep&eat<Tab>\. Ri&Peti<Tab>\.
+" -SEP1-
menut Cu&t<Tab>"+x &Taglia<Tab>"+x
menut &Copy<Tab>"+y &Copia<Tab>"+y
-menut &Paste<Tab>"+gP &Incolla<Tab>"+gP
+menut &Paste<Tab>"+gP &Incolla<Tab>"+gP
menut Put\ &Before<Tab>[p &Metti\ davanti<Tab>[p
menut Put\ &After<Tab>]p M&Etti\ dietro<Tab>]p
menut &Delete<Tab>x Cance&Lla<Tab>x
menut &Select\ all<Tab>ggVG Seleziona\ &Tutto<Tab>ggVG
-menut &Select\ All<Tab>ggVG Seleziona\ &Tutto<Tab>ggVG
+" -SEP2-
menut &Find\.\.\. &Cerca\.\.\.
-menut Find\ and\ Rep&lace\.\.\. &Sostituisci\.\.\.
-menut Settings\ &Window &Finestra\ impostazioni
-menut Startup\ &Settings Impostazioni\ di\ &Avvio
-menut &Global\ Settings Impostazioni\ &Globali
-menut Question Domanda
-
-" Edit / Modifica Impostazioni Globali
-menut &Global\ Settings Impostazioni\ &Globali
-menut Toggle\ Pattern\ &Highlight<Tab>:set\ hls! &Evidenzia\ ricerche\ S/No<Tab>:set\ hls!
-menut Toggle\ &Ignore-case<Tab>:set\ ic! &Ignora\ maiusc\.-minusc\.\ S/No<Tab>:set\ ic!
-menut Toggle\ &Showmatch<Tab>:set\ sm! Indica\ &Corrispondente\ S/No<Tab>:set\ sm!
+menut &Find\.\.\.<Tab>/ &Cerca\.\.\.<Tab>/
+menut Find\ and\ Rep&lace\.\.\. &Sostituisci\.\.\.
+menut Find\ and\ Rep&lace\.\.\.<Tab>:%s &Sostituisci\.\.\.<Tab>:%s
+menut Find\ and\ Rep&lace\.\.\.<Tab>:s &Sostituisci\.\.\.<Tab>:s
+" -SEP3-
+menut Settings\ &Window &Finestra\ Impostazioni
+menut Startup\ &Settings Impostazioni\ di\ &Avvio
+menut &Global\ Settings Impostazioni\ &Globali
+menut Question Domanda
+
+" Edit / Modifica / Impostazioni Globali
-menut &Context\ lines &Linee\ di\ contesto
-menut &Virtual\ Edit &Edit\ virtuale
+menut Toggle\ Pattern\ &Highlight<Tab>:set\ hls! &Evidenzia\ ricerche\ S/No<Tab>:set\ hls!
+menut Toggle\ &Ignoring\ Case<Tab>:set\ ic! &Ignora\ maiusc\.-minusc\.\ S/No<Tab>:set\ ic!
+menut Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! Indica\ &Corrispondenze\ S/No<Tab>:set\ sm!
-menut Never Mai
-menut Block\ Selection Selezione\ blocco
-menut Insert\ mode Modo\ insert
-menut Block\ and\ Insert Selezione\ blocco+inserimento
-menut Always Sempre
+menut &Context\ lines &Linee\ di\ contesto
-menut Toggle\ Insert\ &Mode<Tab>:set\ im! &Modo\ insert\ S/No<Tab>:set\ im!
-menut Toggle\ Vi\ C&ompatible<Tab>:set\ cp! C&Ompatibile\ VI\ S/No<Tab>:set\ cp!
+menut &Virtual\ Edit &Edit\ virtuale
+menut Never Mai
+menut Block\ Selection Selezione\ Blocco
+menut Insert\ mode Modo\ Insert
+menut Block\ and\ Insert Selezione\ Blocco\ e\ Inserimento
+menut Always Sempre
+
+menut Toggle\ Insert\ &Mode<Tab>:set\ im! &Modo\ Insert\ S/No<Tab>:set\ im!
+menut Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! C&Ompatibilit\ VI\ S/No<Tab>:set\ cp!
menut Search\ &Path\.\.\. &Percorso\ di\ ricerca\.\.\.
menut Ta&g\ Files\.\.\. File\ ta&G\.\.\.
-"
-" Opzioni GUI
-menut Toggle\ &Toolbar Barra\ s&Trumenti\ S/No
+" -SEP1-
+menut Toggle\ &Toolbar Barra\ s&Trumenti\ S/No
menut Toggle\ &Bottom\ Scrollbar Barra\ scorrimento\ in\ &Fondo\ S/No
-menut Toggle\ &Left\ Scrollbar Barra\ scorrimento\ a\ &Sinistra\ S/No
-menut Toggle\ &Right\ Scrollbar Barra\ scorrimento\ a\ &Destra\ S/No
+menut Toggle\ &Left\ Scrollbar Barra\ scorrimento\ a\ &Sinistra\ S/No
+menut Toggle\ &Right\ Scrollbar Barra\ scorrimento\ a\ &Destra\ S/No
let g:menutrans_path_dialog = "Batti percorso di ricerca per i file.\nSepara fra loro i nomi di directory con una virgola."
let g:menutrans_tags_dialog = "Batti nome dei file di tag.\nSepara fra loro i nomi di directory con una virgola."
@@ -105,67 +110,103 @@ let g:menutrans_tags_dialog = "Batti nome dei file di tag.\nSepara fra loro i no
menut F&ile\ Settings &Impostazioni\ file
" Boolean options
-menut Toggle\ Line\ &Numbering<Tab>:set\ nu! &Numerazione\ \ S/No<Tab>:set\ nu!
-menut Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu! Numerazione\ relati&Va\ S/No<Tab>:set\ rnu!
+menut Toggle\ Line\ &Numbering<Tab>:set\ nu! &Numerazione\ S/No<Tab>:set\ nu!
+menut Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! Numerazione\ relati&Va\ S/No<Tab>:set\ rnu!
menut Toggle\ &List\ Mode<Tab>:set\ list! Modo\ &List\ S/No<Tab>:set\ list!
-menut Toggle\ Line\ &Wrap<Tab>:set\ wrap! Linee\ &Continuate\ S/No<Tab>:set\ wrap!
-menut Toggle\ W&rap\ at\ word<Tab>:set\ lbr! A\ capo\ alla\ &Parola\ S/No<Tab>:set\ lbr!
-menut Toggle\ &expand-tab<Tab>:set\ et! &Espandi\ tabulazione\ S/No<Tab>:set\ et!
-menut Toggle\ &auto-indent<Tab>:set\ ai! Indentazione\ &Automatica\ S/No<Tab>:set ai!
-menut Toggle\ &C-indenting<Tab>:set\ cin! Indentazione\ stile\ &C\ S/No<Tab>:set cin!
-
-" altre opzioni
-menut &Shiftwidth &Spazi\ rientranza
-menut Soft\ &Tabstop &Tabulazione\ software
-menut Te&xt\ Width\.\.\. Lunghe&Zza\ riga\.\.\.
-menut &File\ Format\.\.\. Formato\ &File\.\.\.
+menut Toggle\ Line\ &Wrapping<Tab>:set\ wrap! Linee\ &Continuate\ S/No<Tab>:set\ wrap!
+menut Toggle\ W&rapping\ at\ word<Tab>:set\ lbr! A\ capo\ alla\ &Parola\ S/No<Tab>:set\ lbr!
+menut Toggle\ Tab\ &expanding<Tab>:set\ et! &Espandi\ Tabulazione\ S/No<Tab>:set\ et!
+menut Toggle\ &Auto\ Indenting<Tab>:set\ ai! Indentazione\ &Automatica\ S/No<Tab>:set ai!
+menut Toggle\ &C-Style\ Indenting<Tab>:set\ cin! Indentazione\ stile\ &C\ S/No<Tab>:set cin!
+" -SEP2-
+menut &Shiftwidth &Spazi\ rientranza
+"menut &Shiftwidth.2<Tab>:set\ sw=2\ sw?<CR> &Spazi\ rientranza.2<Tab>:set\ sw=2\ sw?<CR>
+"menut &Shiftwidth.3<Tab>:set\ sw=3\ sw?<CR> &Spazi\ rientranza.3<Tab>:set\ sw=3\ sw?<CR>
+"menut &Shiftwidth.4<Tab>:set\ sw=4\ sw?<CR> &Spazi\ rientranza.4<Tab>:set\ sw=4\ sw?<CR>
+"menut &Shiftwidth.5<Tab>:set\ sw=5\ sw?<CR> &Spazi\ rientranza.5<Tab>:set\ sw=5\ sw?<CR>
+"menut &Shiftwidth.6<Tab>:set\ sw=6\ sw?<CR> &Spazi\ rientranza.6<Tab>:set\ sw=6\ sw?<CR>
+"menut &Shiftwidth.8<Tab>:set\ sw=8\ sw?<CR> &Spazi\ rientranza.8<Tab>:set\ sw=8\ sw?<CR>
+menut Soft\ &Tabstop &Tabulazione\ software
+"menut Soft\ &Tabstop.2<Tab>:set\ sts=2\ sts? &Tabulazione\ software.2<Tab>:set\ sts=2\ sts?
+"menut Soft\ &Tabstop.3<Tab>:set\ sts=3\ sts? &Tabulazione\ software.3<Tab>:set\ sts=3\ sts?
+"menut Soft\ &Tabstop.4<Tab>:set\ sts=4\ sts? &Tabulazione\ software.4<Tab>:set\ sts=4\ sts?
+"menut Soft\ &Tabstop.5<Tab>:set\ sts=5\ sts? &Tabulazione\ software.5<Tab>:set\ sts=5\ sts?
+"menut Soft\ &Tabstop.6<Tab>:set\ sts=6\ sts? &Tabulazione\ software.6<Tab>:set\ sts=6\ sts?
+"menut Soft\ &Tabstop.8<Tab>:set\ sts=8\ sts? &Tabulazione\ software.8<Tab>:set\ sts=8\ sts?
+menut Te&xt\ Width\.\.\. Lunghe&Zza\ riga\.\.\.
+menut &File\ Format\.\.\. Formato\ &File\.\.\.
let g:menutrans_textwidth_dialog = "Batti nuova lunghezza linea (0 per inibire la formattazione): "
-
let g:menutrans_fileformat_dialog = "Scegli formato con cui scrivere il file"
+let g:menutrans_fileformat_choices = " &Unix \n &Dos \n &Mac \n &Annullare "
+menut Show\ C&olor\ Schemes\ in\ Menu Mostra\ Schemi\ C&olore\ in\ Men
menut C&olor\ Scheme Schema\ c&Olori
-menut default normale
-menut DEFAULT NORMALE
-menut evening notturno
-menut EVENING NOTTURNO
-menut morning diurno
-menut MORNING DIURNO
+menut blue bl
+menut darkblue bl\ scuro
+menut desert deserto
+menut elflord signore\ degli\ elfi
+menut evening sera
+menut industry industria
+menut morning mattino
+menut peachpuff pesca
menut shine brillante
+menut slate ardesia
+menut BLUE BL
+menut DARKBLUE BL\ SCURO
+menut DESERT DESERTO
+menut ELFLORD SIGNORE\ DEGLI\ ELFI
+menut EVENING SERA
+menut INDUSTRY INDUSTRIA
+menut MORNING MATTINO
+menut PEACHPUFF PESCA
menut SHINE BRILLANTE
-menut peachpuff pesca
-menut PEACHPUF PESCA
-
-menut &Keymap &Mappa\ tastiera
-
-menut None nessuna
-menut accents accenti
-menut ACCENTS ACCENTI
-menut hebrew ebraico
-menut HEBREW EBRAICO
-menut hebrew_iso-8859-8 ebraico_iso-8859-8
-menut hebrew_cp1255 ebraico_cp1255
-menut hebrew_utf-8 ebraico_utf-8
-menut hebrewp_iso-8859-8 ebraico_p_iso-8859-8
-menut HEBREW- EBRAICO+
-menut hebrewp EBRAICOP
-menut HEBREWP EBRAICOP
-menut russian-jcuken cirillico-jcuken
-menut russian-jcukenwin cirillico-jcuken-win
-menut RUSSIAN CIRILLICO
-menut RUSSIAN- CIRILLICO-
+menut SLATE ARDESIA
+
+menut Show\ &Keymaps\ in\ Menu Mostra\ Ma&ppe\ tastiera\ in\ Men
+menut &Keymap Ma&ppa\ tastiera
+
+menut None nessuna
+menut accents accenti
+menut arabic arabo
+menut armenian-eastern armeno-orientale
+menut armenian-western armeno-occidentale
+menut belarusian-jcuken bielorusso-jcuken
+menut czech ceco
+menut greek greco
+menut hebrew ebraico
+menut hebrewp ebraicop
+menut magyar ungherese
+menut persian persiano
+menut serbian serbo
+menut serbian-latin serbo-latino
+menut slovak slovacco
+menut ACCENTS ACCENTI
+menut ARABIC ARABO
+menut ARMENIAN-EASTERN ARMENO-ORIENTALE
+menut ARMENIAN-WESTERN ARMENO-OCCIDENTALE
+menut BELARUSIAN-JCUKEN BIELORUSSO-JCUKEN
+menut CZECH CECO
+menut GREEK GRECO
+menut HEBREW EBRAICO
+menut HEBREWP EBRAICOP
+menut MAGYAR UNGHERESE
+menut PERSIAN PERSIANO
+menut SERBIAN SERBO
+menut SERBIAN-LATIN SERBO-LATINO
+menut SLOVAK SLOVACCO
menut Select\ Fo&nt\.\.\. Scegli\ &Font\.\.\.
-" Menu strumenti programmazione
-menut &Tools &Strumenti
+" Men strumenti programmazione
+menut &Tools &Strumenti
menut &Jump\ to\ this\ tag<Tab>g^] &Vai\ a\ questa\ tag<Tab>g^]
menut Jump\ &back<Tab>^T Torna\ &Indietro<Tab>^T
menut Build\ &Tags\ File Costruisci\ file\ &Tags\
-
-" Menu ortografia / Spelling
+" -SEP1-
+" Men ortografia / Spelling
menut &Spelling &Ortografia
menu