zsh-workers
 help / color / mirror / code / Atom feed
From: "Jun. T" <takimoto-j@kba.biglobe.ne.jp>
To: zsh-workers@zsh.org
Subject: Re: [PATCH 0/6] Update coreutils command completions
Date: Wed, 9 Aug 2023 23:09:02 +0900	[thread overview]
Message-ID: <4917B5AE-3449-49BC-94D3-F20FFEB16D3F@kba.biglobe.ne.jp> (raw)
In-Reply-To: <CAH+w=7a7-D+EnRayBLuEMKq+F1U0s=SgPcO28wRVbG1RYGJAmw@mail.gmail.com>


> 2023/08/07 5:26、Bart Schaefer <schaefer@brasslantern.com>のメール:
> 
>  if someone who is more familiar with the
> implementations he's patching would like to step in, please do.


The second hunks in the patches for _env and _watch below are (possible)
fix for a problem that existed before his patch.
_env and _watch call _normal to complete a command and args, but since
they are passed to execve() or 'sh -c', it would make no sense to complete
zsh bultins or functions etc. I replaced
   _normal
by
   _normal -p env/watch
so that only external commands are offered. Is this a correct use of the
option -p?

Other hunks are just minor fixes.


 Completion/Unix/Command/_date  | 2 +-
 Completion/Unix/Command/_env   | 4 ++--
 Completion/Unix/Command/_watch | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/Completion/Unix/Command/_date b/Completion/Unix/Command/_date
index 6be34ffcd..9add1a9bc 100644
--- a/Completion/Unix/Command/_date
+++ b/Completion/Unix/Command/_date
@@ -19,7 +19,7 @@ if _pick_variant gnu="Free Software Foundation" unix --version; then
     $f{-R,--rfc-email}'[display in RFC5322 format]'
     $f'--rfc-3339=-[display in RFC 3339 format]:precision:(date seconds ns)'
     '(-u --utc --universal)'{-u,--utc,--universal}'[display or set time in UTC]'
-    '--resolution[output the available resolution of timestamps]'
+    $d'--resolution[output the available resolution of timestamps]'
     '(- :)--help[output help and exit]'
     '(- :)--version[output version info and exit]'
   )
diff --git a/Completion/Unix/Command/_env b/Completion/Unix/Command/_env
index f7283e132..bdab71bbe 100644
--- a/Completion/Unix/Command/_env
+++ b/Completion/Unix/Command/_env
@@ -9,7 +9,7 @@ case $variant in
     (( $#words > 2 )) && ign='!'
     args=(
       '(-)'{-i,--ignore-environment}'[start with empty environment]'
-      '(-0 --null)'{-0,--null}'[end each output line with NUL, not newline]'
+      '(* -0 --null)'{-0,--null}'[end each output line with NUL, not newline]'
       '(--ignore-environment -i --help --version)*'{-u+,--unset=}'[remove variable from the environment]:env var to remove:_parameters -g "*export*"'
       '(-C --chdir)'{-C+,--chdir=}'[change working directory]:directory:_directories'
       '(-S --split-string)'{-S+,--split-string=}'[perform word splitting]:string to split'
@@ -59,7 +59,7 @@ if [[ -n $state ]]; then
         shift words
         (( CURRENT-- ))
       done
-      _normal && ret=0
+      _normal -p env && ret=0
     ;;
     user-class)
       if compset -P 1 '*/'; then
diff --git a/Completion/Unix/Command/_watch b/Completion/Unix/Command/_watch
index 91244abe7..e12add520 100644
--- a/Completion/Unix/Command/_watch
+++ b/Completion/Unix/Command/_watch
@@ -18,7 +18,7 @@ case $variant in
       '(-g --chgexit)'{-g,--chgexit}'[exit on command output change]' \
       '(-n --interval)'{-n+,--interval=}'[specify update interval]:update interval (seconds) [2]' \
       '(-p --precise)'{-p,--precise}'[run command at precise intervals]' \
-      '(-q --equexit)'{-q,--equexit}'[exit when output of command does not change for the given cycles]:cycles' \
+      '(-q --equexit)'{-q+,--equexit=}'[exit when output of command does not change for the given cycles]:cycles' \
       '(-r --no-rerun)'{-r,--no-rerun}'[do not run the program on terminal resize]' \
       '(-t --no-title)'{-t,--no-title}'[disable header]' \
       '(-w --no-wrap)'{-w,--no-wrap}'[disable line wrapping]' \
@@ -34,7 +34,7 @@ case $variant in
     then
       _cmdstring && ret=0
     else
-      _normal && ret=0
+      _normal -p watch && ret=0
     fi
     ;;
   # watch(1) has completely different semantics on freebsd compared to linux, hence:





  reply	other threads:[~2023-08-09 14:10 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-02  6:21 Shohei YOSHIDA
2023-08-02  6:21 ` [PATCH 1/6] Update head completion Shohei YOSHIDA
2023-08-02  6:21 ` [PATCH 2/6] Update date completion Shohei YOSHIDA
2023-08-02  6:21 ` [PATCH 3/6] Update env completion Shohei YOSHIDA
2023-08-02  6:21 ` [PATCH 4/6] Update tail completion Shohei YOSHIDA
2023-08-02  6:21 ` [PATCH 5/6] Update tr completion Shohei YOSHIDA
2023-08-02  6:21 ` [PATCH 6/6] Update wc completion Shohei YOSHIDA
2023-08-06 20:26 ` [PATCH 0/6] Update coreutils command completions Bart Schaefer
2023-08-09 14:09   ` Jun. T [this message]
2023-11-01  0:12     ` Oliver Kiddle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4917B5AE-3449-49BC-94D3-F20FFEB16D3F@kba.biglobe.ne.jp \
    --to=takimoto-j@kba.biglobe.ne.jp \
    --cc=zsh-workers@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).