summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugin/ale.vim6
-rw-r--r--test/test_tmpdir_init.vader2
-rw-r--r--test/vimrc4
3 files changed, 12 insertions, 0 deletions
diff --git a/plugin/ale.vim b/plugin/ale.vim
index 780d37e0..d65a99cb 100644
--- a/plugin/ale.vim
+++ b/plugin/ale.vim
@@ -25,6 +25,12 @@ if !s:has_features
finish
endif
+" Set the TMPDIR environment variable if it is not set automatically.
+" This can automatically fix some environments.
+if has('unix') && empty($TMPDIR)
+ let $TMPDIR = '/tmp'
+endif
+
" This global variable is used internally by ALE for tracking information for
" each buffer which linters are being run against.
let g:ale_buffer_info = {}
diff --git a/test/test_tmpdir_init.vader b/test/test_tmpdir_init.vader
new file mode 100644
index 00000000..68bb2b43
--- /dev/null
+++ b/test/test_tmpdir_init.vader
@@ -0,0 +1,2 @@
+Execute($TMPDIR should be set to a default value if unset):
+ AssertEqual '/tmp', $TMPDIR
diff --git a/test/vimrc b/test/vimrc
index 77be5e29..ef678848 100644
--- a/test/vimrc
+++ b/test/vimrc
@@ -20,3 +20,7 @@ set foldnestmax=10
set ttimeoutlen=0
let g:mapleader=','
+
+" Clear the TMPDIR value for tests.
+" The plugin should set this to /tmp by default, which we will test.
+let $TMPDIR = ''