From: Dima Kogan <zsh@dima.secretsauce.net>
To: zsh-workers@zsh.org
Subject: Re: Possible bug in zargs
Date: Tue, 30 Oct 2012 00:05:36 -0700 [thread overview]
Message-ID: <20121030000536.260d4c15@shorty.local> (raw)
In-Reply-To: <20121027153400.77571174@shorty.local>
[-- Attachment #1: Type: text/plain, Size: 962 bytes --]
> On Sat, 27 Oct 2012 15:34:00 -0700
> Dima Kogan <zsh@dima.secretsauce.net> wrote:
>
> I can't seem to get the -n option in zargs to work right. This looks like a bug
> to me, but maybe I'm not using it correctly:
>
> dima@shorty:/tmp$ ls -l
> total 12
> -rw-r--r-- 1 dima dima 1 Oct 27 15:29 1
> -rw-r--r-- 1 dima dima 5 Oct 27 15:29 2
> -rw-r--r-- 1 dima dima 5 Oct 27 15:29 3
>
>
> dima@shorty:/tmp$ zargs -- * -- ls -l
> -rw-r--r-- 1 dima dima 1 Oct 27 15:29 1
> -rw-r--r-- 1 dima dima 5 Oct 27 15:29 2
> -rw-r--r-- 1 dima dima 5 Oct 27 15:29 3
>
> dima@shorty:/tmp$ zargs -- * -- ls
> 1 2 3
>
> dima@shorty:/tmp$ zargs -n1 -- * -- ls
> 1
> 2
> 3
>
> dima@shorty:/tmp$ zargs -n1 -- * -- ls -l
> zargs: argument list too long
Attached is a patch that fixes this. There was some misbehaving logic in the
script. I don't understand why that logic was ever necessary. Does anybody know
why the value of $n was connected to the value of $c at all?
[-- Attachment #2: 0001-n-option-of-zargs-now-works-correctly.patch --]
[-- Type: text/x-patch, Size: 994 bytes --]
>From b2d0722f78ce1c8effd69119b989a9112cbf5d27 Mon Sep 17 00:00:00 2001
From: Dima Kogan <dima@secretsauce.net>
Date: Tue, 30 Oct 2012 00:02:45 -0700
Subject: [PATCH] -n option of zargs now works correctly
Before this patch, the following wouls happen:
dima@shorty:/tmp$ ls
1 2 3
dima@shorty:/tmp$ zargs -n1 -- * -- ls -l
zargs: argument list too long
---
Functions/Misc/zargs | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/Functions/Misc/zargs b/Functions/Misc/zargs
index 71fd428..59b369e 100644
--- a/Functions/Misc/zargs
+++ b/Functions/Misc/zargs
@@ -212,20 +212,13 @@ then
fi
fi
-n=${${n##-(n|-max-args(=|))}:-$[ARGC+c]}
+n=${${n##-(n|-max-args(=|))}:-$[ARGC]}
if (( n <= 0 ))
then
print -u2 'zargs: value for max-args must be >= 1'
return 1
fi
-if (( n > c ))
-then (( n -= c ))
-else
- print -u2 zargs: argument list too long
- return 1
-fi
-
s=${${s##-(s|-max-chars(=|))}:-20480}
if (( s <= 0 ))
then
--
1.7.10.4
next prev parent reply other threads:[~2012-10-30 7:05 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-27 22:34 Dima Kogan
2012-10-30 7:05 ` Dima Kogan [this message]
2012-10-30 16:09 ` Bart Schaefer
2012-10-30 17:53 ` Dima Kogan
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=20121030000536.260d4c15@shorty.local \
--to=zsh@dima.secretsauce.net \
--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).