about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Unix/Command/_mount8
2 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 6dd4a5a93..f31e778b2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-12-16  Oliver Kiddle  <opk@zsh.org>
+
+        * 19299: Completion/Unix/Command/_mount: try to handle
+        completion of devices better
+
 2003-12-05  Oliver Kiddle  <opk@zsh.org>
 
 	* 19276: Completion/Base/Completer/_prefix: fix fallback used to
diff --git a/Completion/Unix/Command/_mount b/Completion/Unix/Command/_mount
index 691bfa7bb..bcb59dd6c 100644
--- a/Completion/Unix/Command/_mount
+++ b/Completion/Unix/Command/_mount
@@ -785,9 +785,11 @@ devordir)
       'directories:mount point:compadd -a mp_tmp' && ret=0
     ;;
   *)
-    _alternative \
-      'devices:device:_files -P /dev/ -W /dev' \
-      'directories:mount point:_directories' && ret=0
+    if (( ${${(s.,.)opt_args[-o]}[(I)loop(|=*)]} )) ; then
+      _wanted device-files expl 'loop device file' _files && ret=0
+    else
+      _wanted files expl 'device or mount point' _files -g "*(-%,-/)" && ret=0
+    fi
     ;;
   esac
   ;;