about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Completion/X/_x_arguments6
-rw-r--r--Completion/X/_x_color24
-rw-r--r--Completion/X/_x_cursor18
-rwxr-xr-xConfig/uninstallfns.sh14
4 files changed, 55 insertions, 7 deletions
diff --git a/Completion/X/_x_arguments b/Completion/X/_x_arguments
new file mode 100644
index 000000000..23243002c
--- /dev/null
+++ b/Completion/X/_x_arguments
@@ -0,0 +1,6 @@
+#compdef -P */X11/*
+
+_arguments \
+  '-display:display:_x_display' \
+  '-geometry:geometry:_x_geometry' \
+  "$@"
diff --git a/Completion/X/_x_color b/Completion/X/_x_color
new file mode 100644
index 000000000..346142eea
--- /dev/null
+++ b/Completion/X/_x_color
@@ -0,0 +1,24 @@
+#autoload
+
+local expl
+
+if (( ! $+_color_cache )); then
+  local file
+
+  # Cache of color names doesn't exist yet, create it.
+
+  file=( /usr/{lib,{{X11R6,openwin},local{,/X11{,R6}}}/lib}/X11/rgb.txt(N) )
+
+  if (( $#file )); then
+    _color_cache=( "${(@)${(@f)$(< $file[1])}[2,-1]##*		}" )
+  else
+
+    # Stupid default value.
+
+    _color_cache=(white black gray red blue green)
+  fi
+fi
+
+_description expl 'color specification'
+compadd "$@" "$expl[@]" -M 'm:{a-z}={A-Z} m:-=\  r:|[ A-Z0-9]=* r:|=*' - \
+        "$_color_cache[@]"
diff --git a/Completion/X/_x_cursor b/Completion/X/_x_cursor
new file mode 100644
index 000000000..59ecb5976
--- /dev/null
+++ b/Completion/X/_x_cursor
@@ -0,0 +1,18 @@
+#autoload
+
+local expl
+
+if (( ! $+_cursor_cache )); then
+  local file
+
+  file=( /usr/{include,{{X11R6,openwin},local{,/X11{,R6}}}/include}/X11/cursorfont.h(N) )
+
+  if (( $#file )); then
+    _cursor_cache=( "${(@)${(@)${(M@)${(@f)$(< $file[1])}:#*XC_*}[2,-1]#* XC_}% *}" )
+  else
+    _cursor_cache=( X_cursor )
+  fi
+fi
+
+_description expl 'cursor name'
+compadd "$@" "$expl[@]" -M 'm:-=_ r:|_=*' - "$_cursor_cache[@]"
diff --git a/Config/uninstallfns.sh b/Config/uninstallfns.sh
index ae1b4fef5..017f657d9 100755
--- a/Config/uninstallfns.sh
+++ b/Config/uninstallfns.sh
@@ -7,22 +7,22 @@ for file in $FUNCTIONS_INSTALL; do
   if test -f "$sdir/$file"; then
     install="$install $file"
   else
-    install="$install `echo $sdir/$file | sed -e \"s%$sdir/%%g\"`"
+    install="$install `echo '' $sdir/$file | sed -e \"s% $sdir/%%g\"`"
   fi
 done
 
 for file in $install; do
   if test -f $sdir/$file; then
     if test x$FUNCTIONS_SUBDIRS != x -a x$FUNCTIONS_SUBDIRS != xno; then
-      rm -f $fndir/$file;
-      if test -f $fndir.old/$file; then
-	mv $fndir.old/$file $fndir/$file
+      rm -f $DESTDIR$fndir/$file;
+      if test -f $DESTDIR$fndir.old/$file; then
+	mv $DESTDIR$fndir.old/$file $DESTDIR$fndir/$file
       fi
     else
       bfile="`echo $file | sed -e 's%^.*/%%'`"
-      rm -f "$fndir/$bfile"; \
-      if test -f $fndir.old/$bfile; then
-        mv $fndir.old/$bfile $fndir/$bfile
+      rm -f "$DESTDIR$fndir/$bfile"; \
+      if test -f $DESTDIR$fndir.old/$bfile; then
+        mv $DESTDIR$fndir.old/$bfile $DESTDIR$fndir/$bfile
       fi
     fi
   fi