zsh-workers
 help / color / mirror / code / Atom feed
* Silly questions about _arguments & Co (and probably bugs)
@ 1999-09-09 13:13 Andrej Borsenkow
  1999-09-09 13:54 ` Tanaka Akira
  0 siblings, 1 reply; 9+ messages in thread
From: Andrej Borsenkow @ 1999-09-09 13:13 UTC (permalink / raw)
  To: ZSH workers mailing list

Forgive me, but I recently had no time to follow all discussions and do not
quite understand the manual description.

1. When are the description of arguments actually printed? I tried some basic
commands like xterm or patch but descriptions do not seem to be printed.

2. Looks, like `-s' is overloaded - it is used both for "single letter options"
and for "option aliases" (from _long_options). I believe, this is the reason why
option aliases do not work any more :-) E.g. ntpd configure lists only --enable
variant - and now no --disable counterparts are recognised.

3. I cannot make completion for patch work. As simple as `patch --sTAB' just
beeps.

4. `patch -pTAB' gives me `patch -p0 ' - but `0' is not autoremoved if I enter
different number (I'd expect it to be).

5. `patch TAB' does not list most of the long options at all. Actually, it is
interesting case - if a command has both long and short form - which one should
be preferred? I'd like to have short option only if no corresponding short one
exists.

TIA

/andrej


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Silly questions about _arguments & Co (and probably bugs)
  1999-09-09 13:13 Silly questions about _arguments & Co (and probably bugs) Andrej Borsenkow
@ 1999-09-09 13:54 ` Tanaka Akira
  1999-09-09 14:26   ` Andrej Borsenkow
  1999-09-09 15:38   ` Option description and _oldlist Andrej Borsenkow
  0 siblings, 2 replies; 9+ messages in thread
From: Tanaka Akira @ 1999-09-09 13:54 UTC (permalink / raw)
  To: ZSH workers mailing list

In article <001101befac5$29ae4260$21c9ca95@mow.siemens.ru>,
  "Andrej Borsenkow" <Andrej.Borsenkow@mow.siemens.ru> writes:

> Forgive me, but I recently had no time to follow all discussions and do not
> quite understand the manual description.
> 
> 1. When are the description of arguments actually printed? I tried some basic
> commands like xterm or patch but descriptions do not seem to be printed.

Use following.

% compconf group_matches=yes message_format='%d' description_format='%d' describe_options=yes

If it is too verbose, also use following.

% compconf option_prefix=all

> 3. I cannot make completion for patch work. As simple as `patch --sTAB' just
> beeps.

Probably this is because the help text of patch command is not suited
for _arguments.

the help text of patch-2.5.4 contains:

  -p NUM  --strip=NUM  Strip NUM leading components from file names.
  -F LINES  --fuzz LINES  Set the fuzz factor to LINES for inexact matching.

Although I suppose that it is possible to handle `--strip=NUM', but
`--fuzz LINES' are very difficult.

So, I modified the help text.

http://www.ldl.jaist.ac.jp/~akr/junk/patch-2.5.4-akr-19990902.patch

# This patch also contains other functionality. If you have trouble to
# apply my patches, please try it and use --use-index-line.

> 4. `patch -pTAB' gives me `patch -p0 ' - but `0' is not autoremoved if I enter
> different number (I'd expect it to be).

I see.

> 5. `patch TAB' does not list most of the long options at all. Actually, it is
> interesting case - if a command has both long and short form - which one should
> be preferred? I'd like to have short option only if no corresponding short one
> exists.

This is caused by the help text handling failure. Currently _arguments
doesn't handle preferences of options, I think.

Index: Completion/User/_patch
===================================================================
RCS file: /projects/zsh/zsh/Completion/User/_patch,v
retrieving revision 1.1.1.4
diff -u -F^( -r1.1.1.4 _patch
--- _patch	1999/09/07 12:55:07	1.1.1.4
+++ _patch	1999/09/09 13:48:27
@@ -1,7 +1,9 @@
 #compdef patch
 
+local comp_p='compadd "$expl[@]" -S0 -r "1-9" - ""'
+
 _arguments -s \
-  '(--strip)-p+:number:(0)' \
+  '(--strip)-p+:number:'"{$comp_p}" \
   '(--fuzz)-F+:lines:' \
   '(--context)-c' \
   '(--ed)-e' \
@@ -30,7 +32,8 @@
   ':original file:_files' \
   ':patch file:_files' \
   -- \
-  '*=NUM*:number:(0)' \
+  '*strip=NUM*:number:'"{$comp_p}"  \
+  '*get=NUM*:get files from RCS etc:' \
   '*=LINES*:lines:' \
   '*=PATCHFILE*:patch file:_files' \
   '*=FILE*:file:_files' \
-- 
Tanaka Akira


^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: Silly questions about _arguments & Co (and probably bugs)
  1999-09-09 13:54 ` Tanaka Akira
@ 1999-09-09 14:26   ` Andrej Borsenkow
  1999-09-09 14:32     ` Tanaka Akira
  1999-09-09 15:38   ` Option description and _oldlist Andrej Borsenkow
  1 sibling, 1 reply; 9+ messages in thread
From: Andrej Borsenkow @ 1999-09-09 14:26 UTC (permalink / raw)
  To: Tanaka Akira, ZSH workers mailing list

> 
> # This patch also contains other functionality. If you have trouble to
> # apply my patches, please try it and use --use-index-line.
> 

??? 

bor@itsrm2:/tools/src/patch-2.5.4%> patch --use-index-lines
patch: unrecognized option `--use-index-lines'
patch: Try `patch --help' for more information.

In any case, is it the official patch that will be included into main branch?

/andrej


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Silly questions about _arguments & Co (and probably bugs)
  1999-09-09 14:26   ` Andrej Borsenkow
@ 1999-09-09 14:32     ` Tanaka Akira
  1999-09-09 14:34       ` Andrej Borsenkow
  0 siblings, 1 reply; 9+ messages in thread
From: Tanaka Akira @ 1999-09-09 14:32 UTC (permalink / raw)
  To: ZSH workers mailing list

In article <000001befacf$4abbf9c0$21c9ca95@mow.siemens.ru>,
  "Andrej Borsenkow" <Andrej.Borsenkow@mow.siemens.ru> writes:

> bor@itsrm2:/tools/src/patch-2.5.4%> patch --use-index-lines
> patch: unrecognized option `--use-index-lines'
> patch: Try `patch --help' for more information.

Use `--use-index-line' instead of `--use-index-lines'.

> In any case, is it the official patch that will be included into main branch?

Although I sent (bit prior version of) the patch to bug-gnu-utils at
8/14, there is no response until now.
-- 
Tanaka Akira


^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: Silly questions about _arguments & Co (and probably bugs)
  1999-09-09 14:32     ` Tanaka Akira
@ 1999-09-09 14:34       ` Andrej Borsenkow
  1999-09-09 14:45         ` Tanaka Akira
  0 siblings, 1 reply; 9+ messages in thread
From: Andrej Borsenkow @ 1999-09-09 14:34 UTC (permalink / raw)
  To: Tanaka Akira, ZSH workers mailing list

> 
> Use `--use-index-line' instead of `--use-index-lines'.
> 

Ahem ...

bor@itsrm2:/tools/src/patch-2.5.4%> patch --use-index-line 
patch: unrecognized option `--use-index-line'
patch: Try `patch --help' for more information.
bor@itsrm2:/tools/src/patch-2.5.4%> patch --version       
patch 2.5.4
Copyright 1984-1988 Larry Wall
Copyright 1989-1999 Free Software Foundation, Inc.

This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of this program
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

written by Larry Wall and Paul Eggert


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Silly questions about _arguments & Co (and probably bugs)
  1999-09-09 14:34       ` Andrej Borsenkow
@ 1999-09-09 14:45         ` Tanaka Akira
  1999-09-09 15:02           ` Andrej Borsenkow
  0 siblings, 1 reply; 9+ messages in thread
From: Tanaka Akira @ 1999-09-09 14:45 UTC (permalink / raw)
  To: Andrej Borsenkow; +Cc: ZSH workers mailing list

In article <000101befad0$7e386800$21c9ca95@mow.siemens.ru>,
  "Andrej Borsenkow" <Andrej.Borsenkow@mow.siemens.ru> writes:

> bor@itsrm2:/tools/src/patch-2.5.4%> patch --use-index-line 
> patch: unrecognized option `--use-index-line'
> patch: Try `patch --help' for more information.

Hm.

(1) Did you really apply patch-2.5.4-akr-19990902.patch?

# The access_log say no one get it today.

(2) (Assuming my access_log is broken, ) Did you install patch command
    or path contains `.' in first?

> bor@itsrm2:/tools/src/patch-2.5.4%> patch --version       

Since I didn't change version information, so it is not problem.
-- 
Tanaka Akira


^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: Silly questions about _arguments & Co (and probably bugs)
  1999-09-09 14:45         ` Tanaka Akira
@ 1999-09-09 15:02           ` Andrej Borsenkow
  0 siblings, 0 replies; 9+ messages in thread
From: Andrej Borsenkow @ 1999-09-09 15:02 UTC (permalink / raw)
  To: Tanaka Akira; +Cc: ZSH workers mailing list

>
> (1) Did you really apply patch-2.5.4-akr-19990902.patch?
>

Ah ... I understood it so, that I need this option to apply your patch.

Yes I applied it, and installed patch and still have the same problem. E.g.

bor@itsrm2:/tools/src/patch-2.5.4%> patch --TAB
--backup-if-mismatch      --help                    --quoting-style
--binary                  --no-backup-if-mismatch   --verbose
--dry-run                 --posix

As you see, most of options are not printed. This is with your patch for patch
:-)

Seems, that sources are getting out of sync somehow. Here is my version of
_patch (without the last -p correction):

bor@itsrm2:/tools/src/patch-2.5.4%> which _patch
_patch () {
        _arguments -s '(--strip)-p+:number:(0)' '(--fuzz)-F+:lines:'
'(--context)-c' '(--ed)-e' '(--force)-f' '(--batch)-t' '(--ignore-whitespace)-l'
'(--normal)-n' '(--forward)-N' '(--reverse)-R' '(--silent --quiet)-s'
'(--skip)-S' '(--unified)-u' '(--version)-v' -{E,Z,T} '-i+:patch file:_files'
'(--output)-o+:output file:_files' '(--reject-file)-r+:reject file:_files'
'(--ifdef)-D+:name:' '(--version-control)-V+:version control style:(simple
numbered existing)' '(--prefix)-B+:backup path prefix:' '(--suffix)-b:backup
extension:' '-Y+:backup basename prefix:_files' '-z+:backup file suffix:(.bak)'
'-g+:NUM:' '(--directory)-d+:chdir to:_files -/' ':original file:_files' ':patch
file:_files' -- '*=NUM*:number:(0)' '*=LINES*:lines:' '*=PATCHFILE*:patch
file:_files' '*=FILE*:file:_files' '*=NAME*:name:' '*=WORD*:quoting
style:(literal shell shell-always c escape)' '*=STYLE*:version control
style:(simple numbered existing)' '*=SUFFIX*:backup file suffix:(.bak)'
'*=DIR*:chdir to:_files -/'
}

And just to be sure

bor@itsrm2:/tools/src/patch-2.5.4%> sum /tools/share/zsh/functions/_arguments
21710 49 /tools/share/zsh/functions/_arguments
bor@itsrm2:/tools/src/zsh-3.1.6-pws-3%> ll /tools/share/zsh/functions/_arguments
-rw-r--r--   1 root     other      24783 Sep  9 16:18
/tools/share/zsh/functions/_arguments




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Option description and _oldlist
  1999-09-09 13:54 ` Tanaka Akira
  1999-09-09 14:26   ` Andrej Borsenkow
@ 1999-09-09 15:38   ` Andrej Borsenkow
  1 sibling, 0 replies; 9+ messages in thread
From: Andrej Borsenkow @ 1999-09-09 15:38 UTC (permalink / raw)
  To: Tanaka Akira, ZSH workers mailing list

>
> Use following.
>
> % compconf group_matches=yes message_format='%d'
> description_format='%d' describe_options=yes
>

Hmm ...

bor@itsrm2:/tools/src/ntp-4.0.97f%> zsh -f
itsrm2% autoload compinit; compinit
itsrm2% compconf group_matches=yes message_format='%d' description_format='%d' d
escribe_options=yes
itsrm2% xterm -f<TAB><TAB>
option
-fb           -fi           -font
-fg           -fn           -foreground

As I understand, the description is expected on the status line? When I move
from option to option in menu completion?

And one more strange thing (assuming the zsh from above):

itsrm2% zmodload complist
itsrm2% SELECTMIN=0
itsrm2% compconf completer=_oldlist:_complete
itsrm2% patch --s<TAB> ... till you get

itsrm2% patch --suffix=
option
--set-time   --set-utc    --strip      --suffix

ENTER -> --suffix is not highlighted
TAB ->

itsrm2% patch --set-time
option

TAB ->

itsrm2% patch --set-utc
option
--set-time   --set-utc    --strip      --suffix

etc

Somewhat strange ...

/andrej


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Option description and _oldlist
@ 1999-09-13 12:25 Sven Wischnowsky
  0 siblings, 0 replies; 9+ messages in thread
From: Sven Wischnowsky @ 1999-09-13 12:25 UTC (permalink / raw)
  To: zsh-workers


Andrej Borsenkow wrote:

> bor@itsrm2:/tools/src/ntp-4.0.97f%> zsh -f
> itsrm2% autoload compinit; compinit
> itsrm2% compconf group_matches=yes message_format='%d' description_format='%d' d
> escribe_options=yes
> itsrm2% xterm -f<TAB><TAB>
> option
> -fb           -fi           -font
> -fg           -fn           -foreground
> 
> As I understand, the description is expected on the status line? When I move
> from option to option in menu completion?

(Maybe this is clear already, I just wanted to mention the thing
below...)

No, they are displayed with the matches.

...interesting idea, however.

> And one more strange thing (assuming the zsh from above):
> 
> itsrm2% zmodload complist
> itsrm2% SELECTMIN=0
> itsrm2% compconf completer=_oldlist:_complete
> itsrm2% patch --s<TAB> ... till you get
> 
> itsrm2% patch --suffix=
> option
> --set-time   --set-utc    --strip      --suffix
> 
> ENTER -> --suffix is not highlighted
> TAB ->
> 
> itsrm2% patch --set-time
> option
> 
> TAB ->
> 
> itsrm2% patch --set-utc
> option
> --set-time   --set-utc    --strip      --suffix

(...this one.)

This is one of the things I dislike about the behavior of `_arguments -s':
to be able to display the prefix character and still complete single
letter options, we have to use display lists whenever `-s' is
used. It's just that in cases like this one you simply don't see that
it's a display list -- looking like a normal list of matches.
Since I really don't want to list options without the prefix character 
(I could live with a config key turning that on/off, of course), we
would need something else here. Which brings me back to thinking about 
a (set of) option(s) for `compadd' that allows us to give display
strings per match. With such display strings we could use menu-selection
(but we can't use menu-selection with the display lists we have now,
because the completion code can't find out if there is a one-to-one
correspondence between the elements of the display list and the
matches, so it doesn't know which one to highlight).
Implementing display strings is probably not too hard. Maybe we could
even have different types: strings that should be listed in columns,
strings that should be listed one per line. Probably strings in which
the `%'-escapes are interpreted (and other types of strings where they 
aren't).

It would be nice to use them throughout the completion functions, then 
(in the functions using `ps' this would probably be a bit hairy, but I 
think still implemntable).


In another message:

> 3.1.6-pws-3 with patches up to 7750
> 
> bor@itsrm2:/tools/src/zsh-3.1.6-pws-3%> zsh -f
> itsrm2% autoload compinit
> itsrm2% compinit -D  
> itsrm2% bindkey -e
> itsrm2% ./configure --pre=/toTAB
> itsrm2% ./configure --prefix=/toTAB
> B-e-e-p
> 
> itsrm2% ls -d /to*
> /tools

I hope this is now solved, too. At least it works for me.


And in yet-another-message:

> In my case `patch --in=/' does not work either.
> 
> bor@itsrm2:~%> zsh -f
> itsrm2% autoload compinit; compinit -D
> itsrm2% patch --in=/<TAB>
> itsrm2% patch --input=/<TAB>
> B-e-e-p
> 
> This is 3.1.6-pws-3 with patches up to 7750
> 
> Note that both --dir or --output work; even `-i TAB' works as expected.

Can't help here either. My `patch' doesn't support `--input' and for
all other options it works.

Bye
 Sven


--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~1999-09-13 12:25 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-09-09 13:13 Silly questions about _arguments & Co (and probably bugs) Andrej Borsenkow
1999-09-09 13:54 ` Tanaka Akira
1999-09-09 14:26   ` Andrej Borsenkow
1999-09-09 14:32     ` Tanaka Akira
1999-09-09 14:34       ` Andrej Borsenkow
1999-09-09 14:45         ` Tanaka Akira
1999-09-09 15:02           ` Andrej Borsenkow
1999-09-09 15:38   ` Option description and _oldlist Andrej Borsenkow
1999-09-13 12:25 Sven Wischnowsky

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).