summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--runtime/autoload/netrw.vim94
-rw-r--r--runtime/doc/if_pyth.txt29
-rw-r--r--runtime/doc/insert.txt2
-rw-r--r--runtime/doc/pi_netrw.txt14
-rw-r--r--runtime/doc/popup.txt4
-rw-r--r--runtime/doc/sign.txt4
-rw-r--r--runtime/doc/syntax.txt12
-rw-r--r--runtime/doc/tags9
-rw-r--r--runtime/doc/todo.txt10
-rw-r--r--runtime/doc/version8.txt6382
-rw-r--r--runtime/pack/dist/opt/termdebug/plugin/termdebug.vim4
-rw-r--r--runtime/plugin/netrwPlugin.vim2
-rw-r--r--runtime/spell/pt/main.aap2
-rw-r--r--runtime/syntax/c.vim4
-rw-r--r--runtime/syntax/tmux.vim50
-rw-r--r--runtime/syntax/typescript.vim11
-rw-r--r--runtime/syntax/typescriptcommon.vim44
-rw-r--r--runtime/syntax/typescriptreact.vim2
-rw-r--r--runtime/syntax/vim.vim16
-rwxr-xr-xruntime/tools/shtags.pl2
20 files changed, 6572 insertions, 125 deletions
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim
index e080879bf9..26c4c92d06 100644
--- a/runtime/autoload/netrw.vim
+++ b/runtime/autoload/netrw.vim
@@ -1,7 +1,7 @@
" netrw.vim: Handles file transfer and remote directory listing across
" AUTOLOAD SECTION
-" Date: Nov 06, 2019
-" Version: 166
+" Date: Nov 29, 2019
+" Version: 167
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
@@ -13,6 +13,10 @@
" expressed or implied. By using this plugin, you agree that
" in no event will the copyright holder be liable for any damages
" resulting from the use of this software.
+"
+" Note: the code here was started in 1999 under a much earlier version of vim. The directory browsing
+" code was written using vim v6, which did not have Lists (Lists were first offered with vim-v7).
+"
"redraw!|call DechoSep()|call inputsave()|call input("Press <cr> to continue")|call inputrestore()
"
" But be doers of the Word, and not only hearers, deluding your own selves {{{1
@@ -39,7 +43,7 @@ if exists("s:needspatches")
endfor
endif
-let g:loaded_netrw = "v166"
+let g:loaded_netrw = "v167"
if !exists("s:NOTE")
let s:NOTE = 0
let s:WARNING = 1
@@ -1535,7 +1539,8 @@ fun! netrw#Obtain(islocal,fname,...)
" -i : turns off interactive prompting from ftp
" -n unix : DON'T use <.netrc>, even though it exists
" -n win32: quit being obnoxious about password
- NetrwKeepj norm! 1Gdd
+ " Note: using "_dd to delete to the black hole register; avoids messing up @@
+ NetrwKeepj norm! 1G"_dd
call s:NetrwExe(s:netrw_silentxfer."%!".s:netrw_ftp_cmd." ".g:netrw_ftp_options)
" If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
if getline(1) !~ "^$"
@@ -2203,7 +2208,7 @@ fun! netrw#NetRead(mode,...)
" -i : turns off interactive prompting from ftp
" -n unix : DON'T use <.netrc>, even though it exists
" -n win32: quit being obnoxious about password
- NetrwKeepj norm! 1Gdd
+ NetrwKeepj norm! 1G"_dd
call s:NetrwExe(s:netrw_silentxfer."%!".s:netrw_ftp_cmd." ".g:netrw_ftp_options)
" If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
if getline(1) !~ "^$"
@@ -2303,7 +2308,7 @@ fun! netrw#NetRead(mode,...)
NetrwKeepj put ='quit'
" perform cadaver operation:
- NetrwKeepj norm! 1Gdd
+ NetrwKeepj norm! 1G"_dd
call s:NetrwExe(s:netrw_silentxfer."%!".g:netrw_dav_cmd)
keepj bd!
endif
@@ -2619,7 +2624,7 @@ fun! netrw#NetWrite(...) range
" -i : turns off interactive prompting from ftp
" -n unix : DON'T use <.netrc>, even though it exists
" -n win32: quit being obnoxious about password
- NetrwKeepj norm! 1Gdd
+ NetrwKeepj norm! 1G"_dd
call s:NetrwExe(s:netrw_silentxfer."%!".s:netrw_ftp_cmd." ".g:netrw_ftp_options)
" If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
if getline(1) !~ "^$"
@@ -2685,7 +2690,7 @@ fun! netrw#NetWrite(...) range
NetrwKeepj put ='put '.tmpfile.' '.netrw_fname
" perform cadaver operation:
- NetrwKeepj norm! 1Gdd
+ NetrwKeepj norm! 1G"_dd
call s:NetrwExe(s:netrw_silentxfer."%!".g:netrw_dav_cmd)
" remove enew buffer (quietly)
@@ -4367,7 +4372,7 @@ fun! s:NetrwGetWord()
let curline= getline('.')
if curline =~# '"\s*Sorted by\s'
- NetrwKeepj norm! s
+ NetrwKeepj norm! "_s
let s:netrw_skipbrowse= 1
echo 'Pressing "s" also works'
@@ -5207,13 +5212,26 @@ endfun
" 0=local, 1=remote
fun! netrw#BrowseX(fname,remote)
let use_ctrlo= 1
-" call Dfunc("netrw#BrowseX(fname<".a:fname."> remote=".a:remote.")")
+" call Dfunc("netrw#BrowseX(fname<".a:fname."> remote=".a:remote.") implements x and gx maps")
- " if its really just a local directory, then do a "gf" instead
- if (a:remote == 0 && isdirectory(a:fname)) || (a:remote == 1 && a:fname =~ '/$' && a:fname !~ '^https\=:')
+ if a:remote == 0 && isdirectory(a:fname)
+ " if its really just a local directory, then do a "gf" instead
+" call Decho("remote≡0 and a:fname<".a:fname."> ".(isdirectory(a:fname)? "is a directory" : "is not a directory"),'~'.expand("<slnum>"))
+" call Decho("..appears to be a local directory; using gf instead",'~'.expand("<slnum>"))
norm! gf
-" call Dret("(netrw#BrowseX) did gf instead")
+" call Dret("netrw#BrowseX")
+ return
+ elseif a:remote == 1 && a:fname !~ '^https\=:' && a:fname =~ '/$'
+ " remote directory, not a webpage access, looks like an attempt to do a directory listing
+" call Decho("remote≡1 and a:fname<".a:fname.">",'~'.expand("<slnum>"))
+" call Decho("..and fname ".((a:fname =~ '^https\=:')? 'matches' : 'does not match').'^https\=:','~'.expand("<slnum>"))
+" call Decho("..and fname ".((a:fname =~ '/$')? 'matches' : 'does not match').' /$','~'.expand("<slnum>"))
+" call Decho("..appears to be a remote directory listing request; using gf instead",'~'.expand("<slnum>"))
+ norm! gf
+" call Dret("netrw#BrowseX")
+ return
endif
+" call Decho("not a local file nor a webpage request",'~'.expand("<slnum>"))
let ykeep = @@
let screenposn = winsaveview()
@@ -5467,11 +5485,11 @@ endfun
" netrw#BrowseXVis: used by gx in visual mode to select a file for browsing {{{2
fun! netrw#BrowseXVis()
" call Dfunc("netrw#BrowseXVis()")
- let atkeep = @@
- norm! gvy
-" call Decho("@@<".@@.">",'~'.expand("<slnum>"))
- call netrw#BrowseX(@@,netrw#CheckIfRemote(@@))
- let @@ = atkeep
+ let akeep = @a
+ norm! gv"ay
+ let gxfile= @a
+ let @a = akeep
+ call netrw#BrowseX(gxfile,netrw#CheckIfRemote(gxfile))
" call Dret("netrw#BrowseXVis")
endfun
@@ -6091,8 +6109,8 @@ fun! s:NetrwSLeftrelease(islocal)
endfun
" ---------------------------------------------------------------------
-" s:NetrwListHide: uses [range]g~...~d to delete files that match comma {{{2
-" separated patterns given in g:netrw_list_hide
+" s:NetrwListHide: uses [range]g~...~d to delete files that match {{{2
+" comma-separated patterns given in g:netrw_list_hide
fun! s:NetrwListHide()
" call Dfunc("s:NetrwListHide() g:netrw_hide=".g:netrw_hide." g:netrw_list_hide<".g:netrw_list_hide.">")
" call Decho("initial: ".string(getline(w:netrw_bannercnt,'$')))
@@ -6105,8 +6123,8 @@ fun! s:NetrwListHide()
" Use the first character left as a separator character.
" call Decho("find a character not in the hide string to use as a separator")
let listhide= g:netrw_list_hide
- let sep = strpart(substitute('/~@#$%^&*{};:,<.>?|1234567890','['.escape(listhide,'-]^\').']','','ge'),1,1)
-" call Decho("sep=".sep,'~'.expand("<slnum>"))
+ let sep = strpart(substitute('~@#$%^&*{};:,<.>?|1234567890','['.escape(listhide,'-]^\').']','','ge'),1,1)
+" call Decho("sep=".sep," (sep not in hide string)'~'.expand("<slnum>"))
while listhide != ""
if listhide =~ ','
@@ -6116,10 +6134,19 @@ fun! s:NetrwListHide()
let hide = listhide
let listhide = ""
endif
-" call Decho("hide<".hide."> listhide<".listhide.'>','~'.expand("<slnum>"))
+" call Decho("..extracted from listhide: hide<".hide."> g:netrw_sort_by<".g:netrw_sort_by.'>','~'.expand("<slnum>"))
+ if g:netrw_sort_by =~ '^[ts]'
+ if hide =~ '^\^'
+" call Decho("..modify hide to handle a \"^...\" pattern",'~'.expand("<slnum>"))
+ let hide= substitute(hide,'^\^','^\(\\d\\+/\)','')
+ elseif hide =~ '^\\(\^'
+ let hide= substitute(hide,'^\\(\^','\\(^\\(\\d\\+/\\)','')
+ endif
+" call Decho("..hide<".hide."> listhide<".listhide.'>','~'.expand("<slnum>"))
+ endif
" Prune the list by hiding any files which match
-" call Decho("prune the list by hiding any files which ",((g:netrw_hide == 1)? "" : "don't")." match hide<".hide.">")
+" call Decho("..prune the list by hiding any files which ",((g:netrw_hide == 1)? "" : "don't")." match hide<".hide.">")
if g:netrw_hide == 1
" call Decho("..hiding<".hide.">",'~'.expand("<slnum>"))
exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$g'.sep.hide.sep.'d'
@@ -6664,9 +6691,9 @@ fun! s:NetrwMarkFiles(islocal,...)
while i <= a:0
if a:islocal
if v:version > 704 || (v:version == 704 && has("patch656"))
- let mffiles= glob(fnameescape(a:{i}),0,1,1)
+ let mffiles= glob(a:{i},0,1,1)
else
- let mffiles= glob(fnameescape(a:{i}),0,1)
+ let mffiles= glob(a:{i},0,1)
endif
else
let mffiles= [a:{i}]
@@ -8718,7 +8745,7 @@ fun! s:NetrwUpload(fname,tgt,...)
" -i : turns off interactive prompting from ftp
" -n unix : DON'T use <.netrc>, even though it exists
" -n win32: quit being obnoxious about password
- NetrwKeepj norm! 1Gdd
+ NetrwKeepj norm! 1G"_dd
call s:NetrwExe(s:netrw_silentxfer."%!".s:netrw_ftp_cmd." ".g:netrw_ftp_options)
" If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
sil NetrwKeepj g/Local directory now/d
@@ -9556,12 +9583,14 @@ fun! s:NetrwWideListing()
" fpl: filenames per line
" fpc: filenames per column
setl ma noro
+ let keepa= @a
" call Decho("setl ma noro",'~'.expand("<slnum>"))
let b:netrw_cpf= 0
if line("$") >= w:netrw_bannercnt
exe 'sil NetrwKeepj '.w:netrw_bannercnt.',$g/^./if virtcol("$") > b:netrw_cpf|let b:netrw_cpf= virtcol("$")|endif'
NetrwKeepj call histdel("/",-1)
else
+ let @a= keepa
" call Dret("NetrwWideListing")
return
endif
@@ -9593,9 +9622,9 @@ fun! s:NetrwWideListing()
let newcolqty= newcolend - newcolstart
exe newcolstart
if newcolqty == 0
- exe "sil! NetrwKeepj norm! 0\<c-v>$hx".w:netrw_bannercnt."G$p"
+ exe "sil! NetrwKeepj norm! 0\<c-v>$h\"ax".w:netrw_bannercnt."G$\"ap"
else
- exe "sil! NetrwKeepj norm! 0\<c-v>".newcolqty.'j$hx'.w:netrw_bannercnt.'G$p'
+ exe "sil! NetrwKeepj norm! 0\<c-v>".newcolqty.'j$h\"ax'.w:netrw_bannercnt.'G$\"ap'
endif
exe "sil! NetrwKeepj ".newcolstart.','.newcolend.'d _'
exe 'sil! NetrwKeepj '.w:netrw_bannercnt
@@ -9611,6 +9640,7 @@ fun! s:NetrwWideListing()
exe 'nno <buffer> <silent> b :call search(''^.\\|\s\s\zs\S'',''bW'')'."\<cr>"
" call Decho("NetrwWideListing) setl noma nomod ro",'~'.expand("<slnum>"))
exe "setl ".g:netrw_bufsettings
+ let @a= keepa
" call Decho("ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap." (filename<".expand("%")."> win#".winnr()." ft<".&ft.">)",'~'.expand("<slnum>"))
" call Dret("NetrwWideListing")
return
@@ -9808,6 +9838,7 @@ fun! s:PerformListing(islocal)
exe 'sil NetrwKeepj '.w:netrw_bannercnt.',$sort!'.' '.g:netrw_sort_options
endif
endif
+
" remove priority pattern prefix
" call Decho("remove priority pattern prefix",'~'.expand("<slnum>"))
exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$s/^\d\{3}'.g:netrw_sepchr.'//e'
@@ -9846,6 +9877,7 @@ fun! s:PerformListing(islocal)
" call Decho('exe sil NetrwKeepj '.w:netrw_bannercnt.',$sort!','~'.expand("<slnum>"))
exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$sort!'.' '.g:netrw_sort_options
endif
+" call Decho("remove leading digits/ (sorting) information from listing",'~'.expand("<slnum>"))
exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$s/^\d\{-}\///e'
NetrwKeepj call histdel("/",-1)
endif
@@ -9908,6 +9940,7 @@ fun! s:PerformListing(islocal)
" call Decho("exe setl ts=".(g:netrw_maxfilenamelen+1),'~'.expand("<slnum>"))
exe "setl ts=".(g:netrw_maxfilenamelen+1)
endif
+" call Decho("PerformListing buffer:",'~'.expand("<slnum>"))
" call DechoBuf(bufnr("%"))
if exists("s:treecurpos")
@@ -10943,10 +10976,11 @@ fun! s:LocalListing()
if g:netrw_sort_by =~# "^t"
" sort by time (handles time up to 1 quintillion seconds, US)
+ " Decorate listing by prepending a timestamp/ . Sorting will then be done based on time.
" call Decho("getftime(".filename.")=".getftime(filename),'~'.expand("<slnum>"))
let t = getftime(filename)
let ft = strpart("000000000000000000",1,18-strlen(t)).t
-" call Decho("exe NetrwKeepj put ='".ft.'/'.filename."'",'~'.expand("<slnum>"))
+" call Decho("exe NetrwKeepj put ='".ft.'/'.pfile."'",'~'.expand("<slnum>"))
let ftpfile= ft.'/'.pfile
sil! NetrwKeepj put=ftpfile
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index 4f04199d5e..1c50dcc2ac 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt* For Vim version 8.1. Last change: 2019 Jul 21
+*if_pyth.txt* For Vim version 8.1. Last change: 2019 Nov 29
VIM REFERENCE MANUAL by Paul Moore
@@ -767,17 +767,28 @@ match the Python 2.x or Python 3 version Vim was compiled with.
10. Python 3 *python3*
*:py3* *:python3*
-The `:py3` and `:python3` commands work similar to `:python`. A simple check
-if the `:py3` command is working: >
- :py3 print("Hello")
+:[range]py3 {stmt}
+:[range]py3 << [endmarker]
+{script}
+{endmarker}
-To see what version of Python you have: >
- :py3 import sys
- :py3 print(sys.version)
+:[range]python3 {stmt}
+:[range]python3 << [endmarker]
+{script}
+{endmarker}
+ The `:py3` and `:python3` commands work similar to `:python`. A
+ simple check if the `:py3` command is working: >
+ :py3 print("Hello")
+<
+ To see what version of Python you have: >
+ :py3 import sys
+ :py3 print(sys.version)
< *:py3file*
-The `:py3file` command works similar to `:pyfile`.
+:[range]py3f[ile] {file}
+ The `:py3file` command works similar to `:pyfile`.
*:py3do*
-The `:py3do` command works similar to `:pydo`.
+:[range]py3do {body}
+ The `:py3do` command works similar to `:pydo`.
Vim can be built in four ways (:version output):
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index eac301aba9..8f66cd34d2 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1147,7 +1147,7 @@ properties can be changed with |popup_setoptions()|.
*complete-popuphidden*
If the information for the popup is obtained asynchronously, use "popuphidden"
-in 'completeopt'. The info popup will then be initally hidden and
+in 'completeopt'. The info popup will then be initially hidden and
|popup_show()| must be called once it has been filled with the info. This can
be done with a |CompleteChanged| autocommand, something like this: >
set completeopt+=popuphidden
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index 9e7cde1566..94dbfa5503 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt* For Vim version 8.1. Last change: 2019 Nov 14
+*pi_netrw.txt* For Vim version 8.1. Last change: 2019 Nov 30
------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell
@@ -1184,7 +1184,7 @@ One may easily "bookmark" the currently browsed directory by using >
*.netrwbook*
Bookmarks are retained in between sessions of vim in a file called .netrwbook
as a |List|, which is typically stored in the first directory on the user's
-'runtimepath'; entries are kept in sorted order.
+|'runtimepath'|; entries are kept in sorted order.
If there are marked files and/or directories, mb will add them to the bookmark
list.
@@ -3842,6 +3842,16 @@ netrw:
==============================================================================
12. History *netrw-history* {{{1
+ v167: Nov 29, 2019 * netrw does a save&restore on @* and @+.
+ That causes problems with the clipboard.
+ Now restores occurs only if @* or @+ have
+ been changed.
+ * netrw will change @* or @+ less often.
+ Never if I happen to have caught all the
+ operations that modify the unnamed
+ register (which also writes @*).
+ * Modified hiding behavior so that "s"
+ will not ignore hiding.
v166: Nov 06, 2019 * Removed a space from a nmap for "-"
* Numerous debugging statement changes
v163: Dec 05, 2017 * (Cristi Balan) reported that a setting ('sel')
diff --git a/runtime/doc/popup.txt b/runtime/doc/popup.txt
index 543d0aa91c..12e1cf1617 100644
--- a/runtime/doc/popup.txt
+++ b/runtime/doc/popup.txt
@@ -1,10 +1,10 @@
-*popup.txt* For Vim version 8.1. Last change: 2019 Nov 17
+*popup.txt* For Vim version 8.1. Last change: 2019 Nov 30
VIM REFERENCE MANUAL by Bram Moolenaar
-Displaying text in a floating window. *popup* *popup-window*
+Displaying text in a floating window. *popup* *popup-window* *popupwin*
1. Introduction |popup-intro|
diff --git a/runtime/doc/sign.txt b/runtime/doc/sign.txt
index 57bd0a76f1..b415b3e7c5 100644
--- a/runtime/doc/sign.txt
+++ b/runtime/doc/sign.txt
@@ -1,4 +1,4 @@
-*sign.txt* For Vim version 8.1. Last change: 2019 Nov 12
+*sign.txt* For Vim version 8.1. Last change: 2019 Nov 30
VIM REFERENCE MANUAL by Gordon Prieur
@@ -71,8 +71,6 @@ placed in the named group. The sign identifier is unique within a group. The
sign group allows Vim plugins to use unique signs without interfering with
other plugins using signs.
-The group name "popupmenu" is used by popup windows where 'cursorline' is set.
-
To place a sign in a popup window the group name must start with "PopUp".
Other signs will not show in a popup window. The group name "PopUpMenu" is
used by popup windows where 'cursorline' is set.
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 3ec4acf1c3..6a9f6aedf0 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt* For Vim version 8.1. Last change: 2019 Nov 20
+*syntax.txt* For Vim version 8.1. Last change: 2019 Nov 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -966,10 +966,12 @@ Basic.
C *c.vim* *ft-c-syntax*
A few things in C highlighting are optional. To enable them assign any value
-to the respective variable. Example: >
+(including zero) to the respective variable. Example: >
:let c_comment_strings = 1
-To disable them use ":unlet". Example: >
+ :let c_no_bracket_error = 0
+To disable them use `:unlet`. Example: >
:unlet c_comment_strings
+Setting the value to zero doesn't work!
An alternative is to switch to the C++ highlighting: >
:set filetype=cpp
@@ -985,8 +987,8 @@ Variable Highlight ~
except { and } in first column
Default is to highlight them, otherwise you
can't spot a missing ")".
-*c_curly_error* highlight a missing }; this forces syncing from the
- start of the file, can be slow
+*c_curly_error* highlight a missing } by finding all pairs; this
+ forces syncing from the start of the file, can be slow
*c_no_ansi* don't do standard ANSI types and constants
*c_ansi_typedefs* ... but do standard ANSI types
*c_ansi_constants* ... but do standard ANSI constants
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 15c37fccfc..ca93bd4815 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5285,6 +5285,7 @@ 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-8.2 version8.txt /*added-8.2*
added-BeOS version5.txt /*added-BeOS*
added-Mac version5.txt /*added-Mac*
added-VMS version5.txt /*added-VMS*
@@ -5651,6 +5652,7 @@ 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*
+changed-8.2 version8.txt /*changed-8.2*
changelist motion.txt /*changelist*
changelog.vim syntax.txt /*changelog.vim*
changenr() eval.txt /*changenr()*
@@ -8083,6 +8085,7 @@ new-options-5.4 version5.txt /*new-options-5.4*
new-perl-python version5.txt /*new-perl-python*
new-persistent-undo version7.txt /*new-persistent-undo*
new-plugins version6.txt /*new-plugins*
+new-popup-window version8.txt /*new-popup-window*
new-posix version7.txt /*new-posix*
new-print-multi-byte version7.txt /*new-print-multi-byte*
new-printing version6.txt /*new-printing*
@@ -8099,6 +8102,7 @@ new-spell version7.txt /*new-spell*
new-style-testing testing.txt /*new-style-testing*
new-tab-pages version7.txt /*new-tab-pages*
new-terminal-window version8.txt /*new-terminal-window*
+new-text-properties version8.txt /*new-text-properties*
new-undo-branches version7.txt /*new-undo-branches*
new-unlisted-buffers version6.txt /*new-unlisted-buffers*
new-user-defined version5.txt /*new-user-defined*
@@ -8109,6 +8113,7 @@ new-vim-script version7.txt /*new-vim-script*
new-vim-script-8 version8.txt /*new-vim-script-8*
new-vim-server version6.txt /*new-vim-server*
new-vimgrep version7.txt /*new-vimgrep*
+new-vimscript-8.2 version8.txt /*new-vimscript-8.2*
new-virtedit version6.txt /*new-virtedit*
news intro.txt /*news*
nextnonblank() eval.txt /*nextnonblank()*
@@ -8332,6 +8337,7 @@ popup_settext() popup.txt /*popup_settext()*
popup_show() popup.txt /*popup_show()*
popupmenu-completion insert.txt /*popupmenu-completion*
popupmenu-keys insert.txt /*popupmenu-keys*
+popupwin popup.txt /*popupwin*
ports-5.2 version5.txt /*ports-5.2*
ports-6 version6.txt /*ports-6*
posix vi_diff.txt /*posix*
@@ -9847,6 +9853,7 @@ 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-8.2 version8.txt /*version-8.2*
version-variable eval.txt /*version-variable*
version4.txt version4.txt /*version4.txt*
version5.txt version5.txt /*version5.txt*
@@ -9859,6 +9866,7 @@ 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.2 version8.txt /*version8.2*
version8.txt version8.txt /*version8.txt*
versionlong-variable eval.txt /*versionlong-variable*
vi intro.txt /*vi*
@@ -9874,6 +9882,7 @@ 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-8.2 version8.txt /*vim-8.2*
vim-additions vi_diff.txt /*vim-additions*
vim-announce intro.txt /*vim-announce*
vim-arguments starting.txt /*vim-arguments*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 4efcf135d4..1a255e04c0 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 8.1. Last change: 2019 Nov 26
+*todo.txt* For Vim version 8.1. Last change: 2019 Nov 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -38,8 +38,6 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs*
-------------------- Known bugs and current work -----------------------
-For rand() use http://prng.di.unimi.it/xoshiro128starstar.c ?
-
Popup windows:
- Use popup (or popup menu) for command line completion
- Implement flip option
@@ -47,11 +45,7 @@ Popup windows:
- put popup menu also in popup_mask?
- Any other commands to disable in a popup window?
Use ERROR_IF_POPUP_WINDOW for these.
-- Figure out the size and position better.
- if wrapping splits a double-wide character
- if wrapping inserts indent
-- When drawing on top half a double-wide character, display ">" or "<" in the
- incomplete cell.
+- Figure out the size and position better if wrapping inserts indent
Text properties:
- Implement prop_find() issue #4970
diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt
index c330555115..33f943e52a 100644
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -1,4 +1,4 @@
-*version8.txt* For Vim version 8.1. Last change: 2019 May 26
+*version8.txt* For Vim version 8.1. Last change: 2019 Nov 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -31,6 +31,11 @@ Changed |changed-8.1|
Added |added-8.1|
Patches |patches-8.1|
+VERSION 8.2 |version-8.2|
+Changed |changed-8.2|
+Added |added-8.2|
+Patches |patches-8.2|
+
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
@@ -25795,11 +25800,178 @@ Solution: Move the todo items to the help file.
Files: src/terminal.c
+==============================================================================
+VERSION 8.2 *version-8.2* *version8.2* *vim-8.2*
+
+VERSION 8.2 IS NOT RELEASED YET! THIS SECTION WILL CHANGE.
+
+This section is about improvements made between version 8.1 and 8.2.
+
+This release has hundreds of bug fixes, there are a few new features and there
+are many minor improvements.
+
+
+Popup windows *new-popup-window*
+-------------
+
+Popup windows can be used to display text on top of other windows. This can
+be for a simple message such as "Build finished successfully", showing a
+function prototype while editing a function call, a flexible popup menu and
+many other purposes.
+
+Popup windows are very flexibley: they can be positioned relative to text, an
+absolute position or just in the middle of the screen. The size can be fixed
+or adjust to the text. A "zindex" value specifies what popup window goes on
+top of others.
+
+
+Text properties *new-text-properties*
+---------------
+
+Highlighting of text was done previously with syntax rules or matches. Text
+properties give a plugin author more flexibility what to highlight. This can
+be used with an external asynchronous parser to do syntax highlighting. Or
+just to highlight text in a popup window.
+
+The listener functions have been added so exchange text changes with a server
+to dynamically update highligting, mark errors and the like.
+
+
+Vim script improvements *new-vimscript-8.2*
+-----------------------
+
+Functions can now be called in a chain, using "->". E.g.: >
+ mylist->filter(filterexpr)->map(mapexpr)->sort()->join()
+The new `:eval` command can be used when there is no result.
+
+The `:scriptversion` command was added to allow for changes that are not
+backwards compatible. E.g. to only use ".." for string concatenation.
+
+`:const` was added to allow for declaring a variable that cannot change. >
+ const TIMER_DELAY = 400
+
+The |Blob| type was added. This makes it easy to deal with binary data.
+
+A Dictionary can be defined with #{} where the keys are used literally. This
+avoids having to use quotes. E.g.: >
+ let options = #{width: 30, height: 24}
+
+
+Changed *changed-8.2*
+-------
+
+The xdiff library was included to avoid the need for an external diff program
+and to make updating diffs much faster.
+
+
+Added *added-8.2*
+-----
+
+Added functions:
+ All the popup_ functions.
+ All the prop_ functions.
+ All the sign_ functions.
+ All the sound_ functions.
+
+ |appendbufline()|
+ |balloon_gettext()|
+ |bufadd()|
+ |bufload()|
+ |ch_readblob()|
+ |chdir()|
+ |debugbreak()|
+ |deletebufline()|
+ |environ()|
+ |expandcmd()|
+ |getenv()|
+ |getimstatus()|
+ |getmousepos()|
+ |gettagstack()|
+ |interrupt()|
+ |isinf()|
+ |list2str()|
+ |listener_add()|
+ |listener_flush()|
+ |listener_remove()|
+ |prompt_setcallback()|
+ |prompt_setinterrupt()|
+ |prompt_setprompt()|
+ |pum_getpos()|
+ |rand()|
+ |readdir()|
+ |reg_executing()|
+ |reg_recording()|
+ |rubyeval()|
+ |screenchars()|
+ |screenpos()|
+ |screenstring()|
+ |setenv()|
+ |settagstack()|
+ |srand()|
+ |state()|
+ |str2list()|
+ |strptime()|
+ |swapinfo()|
+ |swapname()|
+ |term_setapi()|
+ |test_getvalue()|
+ |test_null_blob()|
+ |test_refcount()|
+ |test_scrollbar()|
+ |test_setmouse()|
+ |win_execute()|
+ |win_splitmove()|
+ |winlayout()|
+
+Added autocommands:
+ |CompleteChanged|
+ |DiffUpdated|
+ |SafeState|
+ |SafeStateAgain|
+ |SourcePost|
+ |TerminalWinOpen|
+
+Added commands:
+ `:cabove`
+ `:cafter`
+ `:cbefore`
+ `:cbelow`
+ `:const`
+ `:eval`
+ `:labove`
+ `:lbefore`
+ `:lbelow`
+ `:lafter`
+ `:redrawtabline`
+ `:scriptversion`
+ `:spellrare`
+ `:tcd`
+ `:tchdir`
+ `:tlmenu`
+ `:tlnoremenu`
+ `:tlunmenu`
+ `:wsverb`
+ `:xrestore`
+
+Added options:
+ 'completepopup'
+ 'completeslash'
+ 'cursorlineopt'
+ 'modelineexpr'
+ 'previewpopup'
+ 'scrollfocus'
+ 'tagfunc'
+ 'termwintype'
+ 'varsofttabstop'
+ 'vartabstop'
+ 'wincolor'
+
+
Patches *patches-8.2*
-------
-These patches were applied after the 8.1 release and will eventually lead up
-to the 8.2 release.
+These patches were applied after the 8.1 release and are included in the 8.2
+release.
Patch 8.1.0001
Problem: The netrw plugin does not work.
@@ -29391,7 +29563,7 @@ Problem: Iterating through window frames is repeated.
Solution: Define FOR_ALL_FRAMES. (Yegappan Lakshmanan)
Files: src/ex_docmd.c, src/globals.h, src/screen.c, src/window.c
-Patch 8.1.0624 (after 8.2.0620)
+Patch 8.1.0624 (after 8.1.0620)
Problem: Overruling CONF_ARGS from the environment still does not work.
(Tony Mechelynck)
Solution: Add back CONF_ARGS next to the new numbered ones.
@@ -34320,5 +34492,6207 @@ Solution: Use the pointer in tabpage_T.
Files: src/popupwin.c, src/globals.h, src/eval.c, src/screen.c,
src/window.c
+Patch 8.1.1401
+Problem: Misspelled mkspellmem as makespellmem.
+Solution: Drop duplicate help entry, fix test. (Naruhiko Nishino, Ken
+ Takata, closes #4437)
+Files: runtime/doc/options.txt, src/testdir/test_modeline.vim
+
+Patch 8.1.1402
+Problem: "timer" option of popup windows not supported.
+Solution: Implement the "timer" option. (Yasuhiro Matsumoto, closes #4439)
+Files: src/structs.h, src/testdir/test_popupwin.vim, src/popupwin.c,
+ src/window.c, runtime/doc/popup.txt
+
+Patch 8.1.1403
+Problem: Cannot build without the timer feature.
+Solution: Add #ifdef.
+Files: src/structs.h, src/window.c, src/popupwin.c,
+ src/testdir/test_popupwin.vim
+
+Patch 8.1.1404
+Problem: Cannot change the patch level when building with NSIS.
+Solution: Use $PATCHLEVEL if defined. (Christian Brabandt)
+Files: nsis/gvim.nsi
+
+Patch 8.1.1405
+Problem: "highlight" option of popup windows not supported.
+Solution: Implement the "highlight" option.
+Files: src/option.c, src/proto/option.pro, src/diff.c src/popupwin.c,
+ runtime/doc/popup.txt, src/testdir/test_popupwin.vim,
+ src/testdir/dumps/Test_popupwin_01.dump,
+ src/testdir/dumps/Test_popupwin_03.dump
+
+Patch 8.1.1406
+Problem: popup_hide() and popup_show() not implemented yet.
+Solution: Implement the functions.
+Files: src/popupwin.c, src/proto/popupwin.pro, src/evalfunc.c,
+ src/structs.h, runtime/doc/popup.txt, src/screen.c, src/vim.h,
+ src/testdir/test_popupwin.vim
+
+Patch 8.1.1407
+Problem: Popup_create() does not support text properties.
+Solution: Support the third form of the text argument.
+Files: src/textprop.c, src/proto/textprop.pro, src/popupwin.c,
+ src/testdir/test_popupwin.vim, src/screen.c,
+ src/testdir/dumps/Test_popupwin_02.dump,
+ src/testdir/dumps/Test_popupwin_03.dump,
+ src/testdir/dumps/Test_popupwin_04.dump,
+ runtime/doc/popup.txt
+
+Patch 8.1.1408
+Problem: PFL_HIDDEN conflicts with system header file.
+Solution: Rename to POPF_HIDDEN.
+Files: src/popupwin.c, src/screen.c, src/vim.h
+
+Patch 8.1.1409
+Problem: Coverity warns for using uninitialized memory.
+Solution: Add a condition to clearing the growarray.
+Files: src/json.c
+
+Patch 8.1.1410
+Problem: Popup_move() is not implemented yet.
+Solution: Implement it. (Yasuhiro Matsumoto, closes #4441) Improve the
+ positioning and resizing.
+Files: runtime/doc/popup.txt, src/evalfunc.c, src/popupwin.c,
+ src/screen.c, src/structs.h, src/proto/popupwin.pro,
+ src/testdir/test_popupwin.vim,
+ src/testdir/dumps/Test_popupwin_05.dump
+
+Patch 8.1.1411
+Problem: Coverity warns for divide