From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24733 invoked from network); 21 Jul 1997 16:20:09 -0000 Received: from euclid.skiles.gatech.edu (list@130.207.146.50) by ns1.primenet.com.au with SMTP; 21 Jul 1997 16:20:09 -0000 Received: (from list@localhost) by euclid.skiles.gatech.edu (8.7.3/8.7.3) id MAA18649; Mon, 21 Jul 1997 12:14:12 -0400 (EDT) Resent-Date: Mon, 21 Jul 1997 12:13:35 -0400 (EDT) Date: Mon, 21 Jul 1997 12:05:12 -0400 Message-Id: <9707211605.AA17539@ezdzit.zko.dec.com> From: Paul Lew To: zsh-users@math.gatech.edu Subject: delay argument interpretation X-Mailer: VM 6.32 under Emacs 19.34.2 Mime-Version: 1.0 (generated by tm-edit 7.106) Content-Type: text/plain; charset=US-ASCII Resent-Message-ID: <"vW6yc1.0.qY4.lguqp"@euclid> Resent-From: zsh-users@math.gatech.edu X-Mailing-List: archive/latest/959 X-Loop: zsh-users@math.gatech.edu X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu I have a shell function 'ask' to aid the interactive command execution, for example, function ask { echo -n "$*? [y/n]: " read yon if [[ "$yon" = "y" ]]; then $@ echo "end of: $@" fi } Then I can use commands similar to the one below to interactively select the desired candidates: for i in *.c; do ask diff old/$i $i done will work like: diff old/a.c a.c? [y/n]: diff old/b.c b.c? [y/n]: diff old/c.c c.c? [y/n]: This all work out nice, however, the comment blocks in these files are different and I would like to apply a filter (rmcmt in the example below) to it so I will only see the source differences: for i in *.c; do ask diff =(rmcmt old/$i) =(rmcmt $i) done However the =(...) expanded info a temporary filename and the prompt became: diff /tmp/zshaaqqxa /tmp/zshaaqqxb? [y/n]: diff /tmp/zshaaqqxa /tmp/zshaaqqxb? [y/n]: diff /tmp/zshaaqqxa /tmp/zshaaqqxb? [y/n]: What can I do to quote the arguments so it will not expand until later in function ask? Any help will be appreciated...