set -e
editor=${MDW_EDITOR-ed}
+case ${TMP+t},${TMPDIR+t} in
+ t,) TMPDIR=$TMP; export TMPDIR ;;
+esac
+emacsclient=$(
+ emacsclient --eval '(>= emacs-major-version 23)' 2>/dev/null || :)
[ -t 0 -a -t 1 ] || TERM=dumb
case "$EDITOR,$VISUAL,$TERM" in
- mdw-editor,mdw-editor,dumb) editor=gnuclient;;
+ mdw-editor,mdw-editor,dumb | \
+ mdw-editor,mdw-editor,emacs | \
+ mdw-editor,mdw-editor,eterm*)
+ editor=emacsclient emacsclient=nil;;
mdw-editor,mdw-editor,*);;
mdw-editor,*,*) editor=$VISUAL;;
*,*,*) editor=$EDITOR;;
esac
-exec $editor "$@"
+case "$emacsclient" in
+ t) exec emacsclient -nw -a "$editor" "$@";;
+ *) exec $editor "$@";;
+esac