aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2020-05-03 15:46:38 +1200
committerTom Ryder <tom@sanctum.geek.nz>2020-05-03 15:46:38 +1200
commitae6cdd3c03ed49ef9dc01d42ab35a537ca3c2e1f (patch)
treef7754891c455db6d81d5b6e6843fc15ab317f896
parentRemove trailing slashes from default XDG basedir (diff)
parentBump VERSION (diff)
downloaddotfiles-ae6cdd3c03ed49ef9dc01d42ab35a537ca3c2e1f.tar.gz
dotfiles-ae6cdd3c03ed49ef9dc01d42ab35a537ca3c2e1f.zip
Merge branch 'hotfix/v8.25.2' into develop
* hotfix/v8.25.2: Copy, don't reference XDG basedir lists Write v:null back out of XDG routines
-rw-r--r--VERSION4
-rw-r--r--vim/autoload/getenv.vim11
-rw-r--r--vim/autoload/xdg.vim4
-rw-r--r--vim/vimrc20
4 files changed, 17 insertions, 22 deletions
diff --git a/VERSION b/VERSION
index d7fc9f90..59c843da 100644
--- a/VERSION
+++ b/VERSION
@@ -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 a91aaa58..dd9a129b 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
diff --git a/vim/vimrc b/vim/vimrc
index 29d99643..40e744c1 100644
--- a/vim/vimrc
+++ b/vim/vimrc
@@ -2,7 +2,7 @@
" Tom Ryder (tejr)’s Literate Vimrc
" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
"
-" Last updated: Sat, 02 May 2020 15:52:53 UTC
+" Last updated: Sun, 03 May 2020 03:46:29 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)