]> git.donarmstrong.com Git - bin.git/blobdiff - sane_editor
handle TERM being set to dumb (Unknown term in emacs)
[bin.git] / sane_editor
index 56c98d9650561bf23006f841d4853746a0d6818d..fbfdb751f06e4251d7fb6943747f0cfdbb62ec5b 100755 (executable)
 
 # modify the gsrvdir check to search for directories that are owned by me
 if [ -x /usr/bin/emacsclient ] && [ -x /usr/bin/emacs ]; then
-    exec emacsclient -c "$@";
+    # reset the tempdir to deal with setuid things clearing it
+    export TMPDIR="$(echo ~/tmp)";
+    # If TERM is set to dumb, reset it to linux. (emacs does this for
+    # some reason)
+    if [ "$TERM" = "dumb" ]; then
+        TERM="linux"
+    fi;
+    if [ -z "$DISPLAY" ]; then
+           exec emacsclient --alternate-editor /usr/bin/vi -c -nw "$@";
+    else
+           exec emacsclient --alternate-editor /usr/bin/vi -c "$@";
+    fi;
 fi;
 if [ -x /usr/bin/gnuclient ] && [ -x /usr/bin/emacs ]; then
     if ( gnuclient -batch < /dev/null >/dev/null); then
@@ -27,4 +38,4 @@ if [ -x /usr/bin/ed ]; then
     exec ed "$@";
 fi;
 echo "Unable to find a suitable editor" >/dev/stderr;
-exit 1;
\ No newline at end of file
+exit 1;