Hi Tomi. On Thu, 10 Nov 2011 14:22:17 -0800, Jameson Graef Rollins <jrollins@finestructure.net> wrote: > From: Tomi Ollila <tomi.ollila@iki.fi> > > dtach is lighter than screen and is not setuid/setgid program so > TMPDIR does not get reset by dynamic loader when executed. > > Signed-off-by: Jameson Graef Rollins <jrollins@finestructure.net> > --- > This tweaks the original patch slightly by removing the no-longer needed > screenrc variables. > > test/test-lib.sh | 5 ++--- > 1 files changed, 2 insertions(+), 3 deletions(-) > > diff --git a/test/test-lib.sh b/test/test-lib.sh > index c81c709..c0fe037 100755 > --- a/test/test-lib.sh > +++ b/test/test-lib.sh > @@ -50,8 +50,6 @@ TZ=UTC > TERM=dumb > export LANG LC_ALL PAGER TERM TZ > GIT_TEST_CMP=${GIT_TEST_CMP:-diff -u} > -export SCREENRC=/dev/null > -export SYSSCREENRC=/dev/null > > # Protect ourselves from common misconfiguration to export > # CDPATH into the environment > @@ -844,7 +842,8 @@ 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" \ > + TERM=xterm dtach -n "$TMP_DIRECTORY/dtach-emacs-socket-$$" \ Can you please give a more detailed explanation (and a comment) to justify this workaround: * Is it actually needed for dtach or emacs? If it is the latter, then it should be "dtach ... env TERM=xterm emacs ...", right? * Why should we care about systems that use terminals without corresponding terminfo installed? * Why is it safe to use xterm? Is there any standard that requires xterm info to be present on the system? I have tried running dtach with emacs in rxvt-unicode and it worked fine without overriding TERM. I have also tried running dtach with invalid TERM: $ TERM=non-existing-term dtach -n s /bin/sh zsh: can't find terminal definition for non-existing-term No segfault, shell is started fine. But emacs does not work without a valid terminfo: $ TERM=non-existing-term emacs -nw emacs: Terminal type non-existing-term is not defined. If that is not the actual type of terminal you have, use the Bourne shell command `TERM=... export TERM' (C-shell: `setenv TERM ...') to specify the correct type. It may be necessary to do `unset TERMINFO' (C-shell: `unsetenv TERMINFO') as well. Regards, Dmitry > + "$TMP_DIRECTORY/run_emacs" \ > --no-window-system \ > --eval "(setq server-name \"$EMACS_SERVER\")" \ > --eval '(server-start)' \ > -- > 1.7.7.1 > > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch