This is to get around a bug where screen unsets TMPDIR. This causes problems for users who set TMPDIR to something other than it's default (/tmp). --- This just adds some comments over the previous patch. Thanks to Austin Clements for the suggestion. test/test-lib.sh | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/test/test-lib.sh b/test/test-lib.sh index c81c709..5ed6a96 100755 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -844,7 +844,12 @@ test_emacs () { if [ -z "$EMACS_SERVER" ]; then EMACS_SERVER="notmuch-test-suite-$$" # start a detached screen session with an emacs server - screen -S "$EMACS_SERVER" -d -m "$TMP_DIRECTORY/run_emacs" \ + # The emacs server places its socket in TMPDIR, but ld.so unsets + # TMPDIR when loading setgid binaries like screen, so we must + # explicitly pass TMPDIR through to emacs. + screen -S "$EMACS_SERVER" -d -m \ + env TMPDIR="$TMPDIR" \ + "$TMP_DIRECTORY/run_emacs" \ --no-window-system \ --eval "(setq server-name \"$EMACS_SERVER\")" \ --eval '(server-start)' \ -- 1.7.7.1