Branch: master

5bf2f627 2014-06-28 05:34:20 Slávek Banko
Improved previous commit c75218cd
This relates to Bug 2069.
M starttde
diff --git a/starttde b/starttde
index f6607a1..9f093a7 100755
--- a/starttde
+++ b/starttde
@@ -34,7 +34,6 @@
   var="$1"; search="$2"; before="$3"
   ifs="$IFS"; IFS=":"; eval set \$$var; IFS="$ifs"
   for i in $*; do
-    echo "${i}, ${search}, ${before}"
     [ "${i}" = "${search}" ] && return 0
     [ "${i}" = "${before}" ] && return 1
   done
@@ -279,11 +278,15 @@
   fi  
 
   # Ensure that $TDEDIR/share is always before '/usr/local/share' and '/usr/share'.
-  remove_from_path XDG_DATA_DIRS $TDEDIR/share
-  if is_before_in_path XDG_DATA_DIRS "/usr/local/share" "/usr/share"; then
-    place_before_in_path XDG_DATA_DIRS "$TDEDIR/share" "/usr/local/share"
-  else
-    place_before_in_path XDG_DATA_DIRS "$TDEDIR/share" "/usr/share"
+  if ! is_in_path XDG_DATA_DIRS "$TDEDIR/share" ||
+     is_before_in_path XDG_DATA_DIRS "/usr/local/share" "$TDEDIR/share" ||
+     is_before_in_path XDG_DATA_DIRS "/usr/share" "$TDEDIR/share"; then
+    remove_from_path XDG_DATA_DIRS "$TDEDIR/share"
+    if is_before_in_path XDG_DATA_DIRS "/usr/local/share" "/usr/share"; then
+      place_before_in_path XDG_DATA_DIRS "$TDEDIR/share" "/usr/local/share"
+    else
+      place_before_in_path XDG_DATA_DIRS "$TDEDIR/share" "/usr/share"
+    fi
   fi
 
   # Adds supplementary directories from TDEDIRS, if any, before TDEDIR.