summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Completion/Unix/Command/_gdb4
-rw-r--r--Completion/Unix/Command/_pgrep2
-rw-r--r--Completion/Unix/Type/_ttys2
4 files changed, 8 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index d068f5e35..8a37503ba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,10 @@
* 43189: Completion/Unix/Command/_install: similar fix as 43187
for option -f (_flags was renamed to _file_flags)
+ * 43183: Completion/Unix/Type/_ttys, Completion/Unix/Command/_gdb,
+ Completion/Unix/Command/_pgrep: fix '_ttys -o' on Linux, and use
+ it in _gdb and _pgrep.
+
2018-07-19 Yasuhiro KIMURA <yasu@utahime.org>
* 43187: Completion/Unix/Command/_install: Fix completion error
diff --git a/Completion/Unix/Command/_gdb b/Completion/Unix/Command/_gdb
index 510e6f1fa..18f797633 100644
--- a/Completion/Unix/Command/_gdb
+++ b/Completion/Unix/Command/_gdb
@@ -5,12 +5,12 @@ local cur="$words[CURRENT]" prev w list ret=1 expl
[[ "$PREFIX" = --* ]] &&
_arguments -- '*=(CORE|SYM)FILE:core file:_files' \
'*=EXECFILE:executable:_files -g \*\(-\*\)' \
- '*=TTY:terminal device:_ttys' && return 0
+ '*=TTY: :_ttys -o' && return 0
if compset -P '-(cd|directory)='; then
_files -/
elif compset -P '-tty='; then
- _wanted devices expl 'terminal device' _ttys
+ _ttys -o
elif compset -P '-(exec|se)='; then
_description files expl executable
_files "$expl[@]" -g '*(-*)'
diff --git a/Completion/Unix/Command/_pgrep b/Completion/Unix/Command/_pgrep
index b6020e5a9..86aef3462 100644
--- a/Completion/Unix/Command/_pgrep
+++ b/Completion/Unix/Command/_pgrep
@@ -40,7 +40,7 @@ arguments=(
# _signals is OK here — we do it differently below
'(ss)--signal=[specify signal to send to process]: :_signals -s'
'-T+[match only on specified routing table]:routing table'
- '(-t --terminal)'{-t+,--terminal=}'[match only on specified controlling terminals]:terminal device:_sequence _ttys -d'
+ '(-t --terminal)'{-t+,--terminal=}'[match only on specified controlling terminals]: :_sequence _ttys -do'
'(-U --uid)'{-U+,--uid=}'[match only on specified real user IDs]: :_sequence _users'
'(-u --euid)'{-u+,--euid=}'[match only on specified effective user IDs]: :_sequence _users'
'(-v --inverse)'{-v,--inverse}'[negate matching]'
diff --git a/Completion/Unix/Type/_ttys b/Completion/Unix/Type/_ttys
index 7408395c8..3c40466cb 100644
--- a/Completion/Unix/Type/_ttys
+++ b/Completion/Unix/Type/_ttys
@@ -12,7 +12,7 @@ local stripdev optdev open
zparseopts -D -K -E d=stripdev D=optdev o=open
if [[ -n $open ]]; then
- ttys=( ${(u)${(f)"$(_call_program open-ttys ps -ao tty=)"}%% *} )
+ ttys=( ${(u)${${(f)"$(_call_program open-ttys ps -Ao tty=)"}:#\?*}%% *} )
_description open-ttys expl 'open tty'
else
ttys=( /dev/tty?*(N) /dev/pts/^ptmx(N) )