| Submitter | Tomi Ollila |
|---|---|
| Date | 2011-11-11 20:48:13 |
| Message ID | <yf64nyae67m.fsf@taco2.nixu.fi> |
| Download | mbox | patch |
| Permalink | /patch/1489/ |
| State | New |
| Headers | show |
Comments
On Fri, 11 Nov 2011 22:48:13 +0200, Tomi Ollila <too@iki.fi> wrote: > dtach is simpler than screen and is not setuid/setgid program so > TMPDIR does not get cleared by dynamic loader when executed. > --- > > Updated version after discussion with DmitryKurochkin and amdragon > on IRC. Thank you. > Looks good to me (though I did not test it). Few minor comments below. > test/test-lib.sh | 25 +++++++++++++------------ > 1 files changed, 13 insertions(+), 12 deletions(-) > > diff --git a/test/test-lib.sh b/test/test-lib.sh > index c81c709..c232130 100755 > --- a/test/test-lib.sh > +++ b/test/test-lib.sh > @@ -39,7 +39,7 @@ done,*) > ;; > esac > > -# Keep the original TERM for say_color > +# Keep the original TERM for say_color and emacs tests s/emacs tests/test_emacs/ for consistency with say_color? > ORIGINAL_TERM=$TERM > > # For repeatability, reset the environment to known value. > @@ -843,12 +841,15 @@ EOF > 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" \ > - --no-window-system \ > - --eval "(setq server-name \"$EMACS_SERVER\")" \ > - --eval '(server-start)' \ > - --eval "(orphan-watchdog $$)" || return > + # start a detached session with an emacs server > + # user's TERM is given to dtach which assumes a minimally > + # VT100-compatible terminal -- and emacs inherits that > + TERM=$ORIGINAL_TERM dtach -n "$TMP_DIRECTORY/emacs-dtach-socket.$$" \ > + sh -c "stty rows 24 cols 80; exec '$TMP_DIRECTORY/run_emacs' \ The above line has a space after two tabs. Regards, Dmitry > + --no-window-system \ > + --eval '(setq server-name \"$EMACS_SERVER\")' \ > + --eval '(server-start)' \ > + --eval '(orphan-watchdog $$)'" || return > # wait until the emacs server is up > until test_emacs '()' 2>/dev/null; do > sleep 1 > -- > 1.7.6.1 > > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch
On Sat, 12 Nov 2011 01:06:40 +0400, Dmitry Kurochkin <dmitry.kurochkin@gmail.com> wrote: > On Fri, 11 Nov 2011 22:48:13 +0200, Tomi Ollila <too@iki.fi> wrote: > > dtach is simpler than screen and is not setuid/setgid program so > > TMPDIR does not get cleared by dynamic loader when executed. > > --- > > > > Updated version after discussion with DmitryKurochkin and amdragon > > on IRC. Thank you. > > > > Looks good to me (though I did not test it). > > Few minor comments below. > > > test/test-lib.sh | 25 +++++++++++++------------ > > 1 files changed, 13 insertions(+), 12 deletions(-) > > > > diff --git a/test/test-lib.sh b/test/test-lib.sh > > index c81c709..c232130 100755 > > --- a/test/test-lib.sh > > +++ b/test/test-lib.sh > > @@ -39,7 +39,7 @@ done,*) > > ;; > > esac > > > > -# Keep the original TERM for say_color > > +# Keep the original TERM for say_color and emacs tests > > s/emacs tests/test_emacs/ for consistency with say_color? yes. thanks... > > > ORIGINAL_TERM=$TERM > > > > # For repeatability, reset the environment to known value. > > @@ -843,12 +841,15 @@ EOF > > 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" \ > > - --no-window-system \ > > - --eval "(setq server-name \"$EMACS_SERVER\")" \ > > - --eval '(server-start)' \ > > - --eval "(orphan-watchdog $$)" || return > > + # start a detached session with an emacs server > > + # user's TERM is given to dtach which assumes a minimally > > + # VT100-compatible terminal -- and emacs inherits that > > + TERM=$ORIGINAL_TERM dtach -n "$TMP_DIRECTORY/emacs-dtach-socket.$$" \ > > + sh -c "stty rows 24 cols 80; exec '$TMP_DIRECTORY/run_emacs' \ > > The above line has a space after two tabs. oops... I also forgot -export SCREENRC=/dev/null -export SYSSCREENRC=/dev/null (dropped accidetally when cherry-picking non-whitespace changes) Thanks for playing. Try once more... > > Regards, > Dmitry Tomi > > > + --no-window-system \ > > + --eval '(setq server-name \"$EMACS_SERVER\")' \ > > + --eval '(server-start)' \ > > + --eval '(orphan-watchdog $$)'" || return > > # wait until the emacs server is up > > until test_emacs '()' 2>/dev/null; do > > sleep 1 > > -- > > 1.7.6.1 > > > > _______________________________________________ > > notmuch mailing list > > notmuch@notmuchmail.org > > http://notmuchmail.org/mailman/listinfo/notmuch >
Patch
diff --git a/test/test-lib.sh b/test/test-lib.sh index c81c709..c232130 100755 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -39,7 +39,7 @@ done,*) ;; esac -# Keep the original TERM for say_color +# Keep the original TERM for say_color and emacs tests ORIGINAL_TERM=$TERM # For repeatability, reset the environment to known value. @@ -843,12 +841,15 @@ EOF 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" \ - --no-window-system \ - --eval "(setq server-name \"$EMACS_SERVER\")" \ - --eval '(server-start)' \ - --eval "(orphan-watchdog $$)" || return + # start a detached session with an emacs server + # user's TERM is given to dtach which assumes a minimally + # VT100-compatible terminal -- and emacs inherits that + TERM=$ORIGINAL_TERM dtach -n "$TMP_DIRECTORY/emacs-dtach-socket.$$" \ + sh -c "stty rows 24 cols 80; exec '$TMP_DIRECTORY/run_emacs' \ + --no-window-system \ + --eval '(setq server-name \"$EMACS_SERVER\")' \ + --eval '(server-start)' \ + --eval '(orphan-watchdog $$)'" || return # wait until the emacs server is up until test_emacs '()' 2>/dev/null; do sleep 1