From be94d560412611b59270c6832dea3ed16c034cac Mon Sep 17 00:00:00 2001 From: Nicolas Vigier Date: Sat, 2 Mar 2013 23:55:48 +0000 Subject: bin/editor: revert to buggy version as requested by David Walser http://www.mageia.org/pipermail/mageia-dev/2013-March/023248.html --- bin/editor | 73 ++++++++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 55 insertions(+), 18 deletions(-) diff --git a/bin/editor b/bin/editor index 145fffb..2d64dea 100755 --- a/bin/editor +++ b/bin/editor @@ -1,24 +1,61 @@ #!/bin/sh -# launch a text editor +#--------------------------------------------------------------- +# Project : Mageia +# Module : bin +# File : editor +# Author : David Walser +# Created On : Thu Apr 3 16:26:54 2012 +# Purpose : launch a text editor +#--------------------------------------------------------------- -exec_editor() { - if [ -n "$1" ] && [ $(basename "$1") != "editor" ] \ - && which "$1" > /dev/null 2>&1 - then - exec "$@" +strip_texteditor_var() { + if [[ -n "$TEXTEDITOR" ]]; then + if [[ `basename "$TEXTEDITOR"` == "editor" ]]; then + unset TEXTEDITOR + elif ! which $TEXTEDITOR > /dev/null 2>&1; then + unset TEXTEDITOR + fi fi } -exec_editor "$TEXTEDITOR" "$@" -exec_editor "$VISUAL" "$@" -exec_editor "$EDITOR" "$@" -[ -n "$GNOME_DESKTOP_SESSION_ID" ] && exec_editor gedit "$@" -[ -n "$KDE_FULL_SESSION" ] && exec_editor kwrite "$@" -exec_editor kwrite "$@" -exec_editor gedit "$@" -exec_editor emacs "$@" -exec_editor vim "$@" -exec_editor nano "$@" +strip_texteditor_var +if [[ -z "$TEXTEDITOR" ]]; then + + # using GNOME + if [[ -n "$GNOME_DESKTOP_SESSION_ID" ]]; then + TEXTEDITOR="gedit" + fi + + #using KDE + if [[ -n "$KDE_FULL_SESSION" ]]; then + TEXTEDITOR="kwrite" + fi + + + strip_texteditor_var + + [[ -z "$TEXTEDITOR" ]] && TEXTEDITOR=`which kwrite 2> /dev/null` + [[ -z "$TEXTEDITOR" ]] && TEXTEDITOR=`which gedit 2> /dev/null` + + if [[ -z "$TEXTEDITOR" ]]; then + EMACS=`/usr/sbin/update-alternatives --list emacs` + if [[ -n "$EMACS" ]]; then + if [[ `basename "$EMACS"` = "emacs-nox" ]]; then + TEXTEDITOR="xvt -e emacs" + else + TEXTEDITOR="emacs" + fi + fi + fi + + [[ -z "$TEXTEDITOR" ]] && which vim > /dev/null 2>&1 && TEXTEDITOR="xvt -e vim" + [[ -z "$TEXTEDITOR" ]] && which nano > /dev/null 2>&1 && TEXTEDITOR="xvt -e nano" +fi + +if [[ -n "$TEXTEDITOR" ]]; then + exec $TEXTEDITOR $@ +else + echo "no text editor detected" +fi -echo "no text editor detected" >&2 -exit 1 +# editor ends here -- cgit v1.2.1