chiark / gitweb /
dot/zshrc: Turn off `KSH_GLOB'.
[profile] / bin / mdw-editor
index 312995fb62be3a4ac82ef72582c43a3f83798502..c162da30bf4a037aeeda8355e25050ffdfbc5f80 100755 (executable)
@@ -2,15 +2,22 @@
 
 set -e
 editor=${MDW_EDITOR-ed}
-emacsclient=t
+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=emacsclient emacsclient=nil;;
+  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
 case "$emacsclient" in
   t) exec emacsclient -nw -a "$editor" "$@";;
-  nil) exec $editor "$@";;
+  *) exec $editor "$@";;
 esac