diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2020-05-03 02:16:34 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2020-05-03 02:16:34 +1200 |
commit | fd7bbd4599d1c15555c8c563d840d7fae6fd60bf (patch) | |
tree | e1030e690578e97208d3f96b7ede1ea1c3b7d02f /vim/autoload/getenv.vim | |
parent | Merge branch 'release/v8.23.0' (diff) | |
parent | Bump VERSION (diff) | |
download | dotfiles-fd7bbd4599d1c15555c8c563d840d7fae6fd60bf.tar.gz dotfiles-fd7bbd4599d1c15555c8c563d840d7fae6fd60bf.zip |
Merge branch 'release/v8.24.0'v8.24.0
* release/v8.24.0:
Use v:null in XDG-related contexts
Add handling of "after" subdirs in Vim XDG config
Separate cache runtime behaviour from config
Tolerate unset iteration variables
Improve "absolute path" check for XDG base dirs
Tidy and correct XDG var getenv() fallback
Diffstat (limited to 'vim/autoload/getenv.vim')
-rw-r--r-- | vim/autoload/getenv.vim | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/vim/autoload/getenv.vim b/vim/autoload/getenv.vim new file mode 100644 index 00000000..2b8fef1b --- /dev/null +++ b/vim/autoload/getenv.vim @@ -0,0 +1,22 @@ +" Backport getenv() from v8.1.1305 +" +" <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 + if exists('$'.a:name) + execute 'let value = $'.a:name + endif + return value + +endfunction |