diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2020-05-03 15:44:54 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2020-05-03 15:44:54 +1200 |
commit | 02a35b1e09294b2a496af7410ebadf4d3c8f1072 (patch) | |
tree | 96d3361eb89b9b1d6a7e41a979ac2dc8d2d72bd2 | |
parent | Merge branch 'hotfix/v8.25.1' (diff) | |
parent | Bump VERSION (diff) | |
download | dotfiles-02a35b1e09294b2a496af7410ebadf4d3c8f1072.tar.gz dotfiles-02a35b1e09294b2a496af7410ebadf4d3c8f1072.zip |
Merge branch 'hotfix/v8.25.2'v8.25.2
* hotfix/v8.25.2:
Copy, don't reference XDG basedir lists
Write v:null back out of XDG routines
-rw-r--r-- | VERSION | 4 | ||||
-rw-r--r-- | vim/autoload/getenv.vim | 11 | ||||
-rw-r--r-- | vim/autoload/xdg.vim | 4 | ||||
-rw-r--r-- | vim/vimrc | 20 |
4 files changed, 17 insertions, 22 deletions
@@ -1,2 +1,2 @@ -tejr dotfiles v8.25.1 -Sat, 02 May 2020 23:30:24 +0000 +tejr dotfiles v8.25.2 +Sun, 03 May 2020 03:44:32 +0000 diff --git a/vim/autoload/getenv.vim b/vim/autoload/getenv.vim index 2b8fef1b..3b5f4c1b 100644 --- a/vim/autoload/getenv.vim +++ b/vim/autoload/getenv.vim @@ -1,19 +1,14 @@ -" Backport getenv() from v8.1.1305 +" Backport getenv() from v8.1.1305, except return an empty string rather than +" v:null " " <https://github.com/vim/vim/releases/tag/v8.1.1305> " function! getenv#(name) abort - " Use native if available - if exists('*getenv') - return getenv(a:name) - endif - - " Backport if a:name !~# '^[A-Z][A-Z0-9_]*$' throw 'Illegal env var name' endif - let value = v:null + let value = '' if exists('$'.a:name) execute 'let value = $'.a:name endif diff --git a/vim/autoload/xdg.vim b/vim/autoload/xdg.vim index 2b90f5f1..3dff52a5 100644 --- a/vim/autoload/xdg.vim +++ b/vim/autoload/xdg.vim @@ -15,7 +15,7 @@ function! s:Get(name) abort throw 'Illegal XDG basedirs env var name' endif let value = getenv#(name) - return value !=# v:null + return value !=# '' \ ? value \ : s:defaults[name] endfunction @@ -29,7 +29,7 @@ endfunction function! s:Home(name) abort let home = s:Get(a:name) if !s:Absolute(home) - return v:null + return '' endif return join([home, s:subdir], '/') endfunction @@ -2,7 +2,7 @@ " Tom Ryder (tejr)’s Literate Vimrc " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ " -" Last updated: Sat, 02 May 2020 15:15:57 UTC +" Last updated: Sun, 03 May 2020 03:44:03 UTC " " │ And I was lifted up in heart, and thought " │ Of all my late-shown prowess in the lists, @@ -107,8 +107,8 @@ endif " directories to the end of it, in reverse order, forming the desired layers " of configuration. " -let s:xdgconfigpaths = xdg#['config']['dirs'] -if xdg#['config']['home'] !=# v:null +let s:xdgconfigpaths = copy(xdg#['config']['dirs']) +if xdg#['config']['home'] !=# '' call insert(s:xdgconfigpaths, xdg#['config']['home']) endif if !empty(s:xdgconfigpaths) @@ -124,7 +124,7 @@ unlet s:xdgconfigpaths " Now put the XDG cache home at the very front, so that e.g. 'spellfile' gets " created in there rather than in the configuration directories. " -if xdg#['cache']['home'] !=# v:null +if xdg#['cache']['home'] !=# '' execute 'set runtimepath^='.option#Escape( \ option#item#Escape(xdg#['cache']['home']) \) @@ -155,7 +155,7 @@ command! -bang -bar -complete=dir -nargs=1 CreatePath " v8.1.716 introduced a way to set this with an option named 'viminfofile', " but I don't see a reason to use that. " -if xdg#['cache']['home'] !=# v:null && path#Create(xdg#['cache']['home']) +if xdg#['cache']['home'] !=# '' && path#Create(xdg#['cache']['home']) execute 'set viminfo+='.option#Escape( \ 'n'.xdg#['cache']['home'].'/viminfo' \) @@ -204,7 +204,7 @@ set history=10000 " 'backupfullname', 'swapfilefullname' would have been clearer. " set backup -if xdg#['cache']['home'] !=# v:null +if xdg#['cache']['home'] !=# '' let s:backupdir = xdg#['cache']['home'].'/backup' if path#Create(s:backupdir) execute 'set backupdir^='.option#Escape(option#item#Escape( @@ -248,7 +248,7 @@ endif " option has supported that hint for much longer than 'backupdir' has. We " apply path#Create() to attempt to create the path, if needed. " -if xdg#['cache']['home'] !=# v:null +if xdg#['cache']['home'] !=# '' let s:directory = xdg#['cache']['home'].'/swap' if path#Create(s:directory) execute 'set directory^='.option#Escape(option#item#Escape( @@ -273,7 +273,7 @@ endif " if has#('persistent_undo') set undofile - if xdg#['cache']['home'] !=# v:null + if xdg#['cache']['home'] !=# '' let s:undodir = xdg#['cache']['home'].'/undo' if path#Create(s:undodir) execute 'set undodir^='.option#Escape(option#item#Escape( @@ -410,8 +410,8 @@ set spellcapcheck=[.?!]\\%(\ \ \\\|[\\n\\r\\t]\\) " 'isfname'; the blacklist is hard-coded. " set dictionary^=/usr/share/dict/words -let s:refdirs = xdg#['data']['dirs'] -if xdg#['data']['home'] !=# v:null +let s:refdirs = copy(xdg#['data']['dirs']) +if xdg#['data']['home'] !=# '' call insert(s:refdirs, xdg#['data']['home']) endif if !empty(s:refdirs) |