From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29671 invoked from network); 13 Feb 2004 14:15:53 -0000 Received: from sunsite.dk (130.225.247.90) by ns1.primenet.com.au with SMTP; 13 Feb 2004 14:15:53 -0000 Received: (qmail 29512 invoked by alias); 13 Feb 2004 14:15:09 -0000 Mailing-List: contact zsh-users-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 7044 Received: (qmail 29484 invoked from network); 13 Feb 2004 14:15:07 -0000 Received: from localhost (HELO sunsite.dk) (127.0.0.1) by localhost with SMTP; 13 Feb 2004 14:15:07 -0000 X-MessageWall-Score: 0 (sunsite.dk) Received: from [152.81.2.43] by sunsite.dk (MessageWall 1.0.8) with SMTP; 13 Feb 2004 14:15:6 -0000 Received: from lefevre by greux.loria.fr with local (Exim 4.30) id 1Are5x-0000aO-Uw; Fri, 13 Feb 2004 15:15:05 +0100 Date: Fri, 13 Feb 2004 15:15:05 +0100 From: Vincent Lefevre To: zsh-users@sunsite.dk Subject: |& loses data (buffering bug?) Message-ID: <20040213141505.GG27168@greux.loria.fr> Mail-Followup-To: zsh-users@sunsite.dk Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit X-Mailer-Info: http://www.vinc17.org/mutt/ User-Agent: Mutt/1.5.6i Sender: Vincent Lefevre Hi, I've noticed that when I use |&, data from either stdout or stderr (of the first command) are lost. For instance, the output of a "cvs status |& less" sometimes gives the following: [...] =================================================================== File: zeta.c Status: Up-to-date Working revision: 1.37 Repository revision: 1.37 /CVS/spaces/mpfr/zeta.c,v Sticky Tag: (none) Sticky Date: (none) Sticky Options: (none) cvs status: Examining o.alpha cvs status: Examining o.linux cvs status: Examining o.solaris cvs status: Examining o.sunos cvs status: Examining tests Sticky Options: (none) =================================================================== File: tagm.c Status: Up-to-date [...] Contents from stdout have been lost here. The problem occurs either with less or with grep; for instance, a "cvs status |& grep Status" gave: [...] File: replace_all Status: Up-to-date File: rint.c Status: Up-to-date File: round_prec.c Status: Up-t File: set_str.c Status: Up-to-date File: set_str_raw.c Status: Up-to-date [...] instead of: [...] File: replace_all Status: Up-to-date File: rint.c Status: Up-to-date File: round_prec.c Status: Up-to-date File: round_raw_generic.c Status: Up-to-date File: save_expo.c Status: Up-to-date File: set.c Status: Up-to-date File: set_d.c Status: Up-to-date File: set_dfl_prec.c Status: Up-to-date File: set_exp.c Status: Up-to-date File: set_f.c Status: Up-to-date File: set_inf.c Status: Up-to-date File: set_ld.c Status: Up-to-date File: set_nan.c Status: Up-to-date File: set_prc_raw.c Status: Up-to-date File: set_prec.c Status: Up-to-date File: set_q.c Status: Up-to-date File: set_rnd.c Status: Up-to-date File: set_si.c Status: Up-to-date File: set_str.c Status: Up-to-date File: set_str_raw.c Status: Up-to-date [...] When I redirect the output of the second command to a file, it seems that the problem never occurs. Is it a bug from zsh (I'm using zsh 4.0.9) or from cvs? -- Vincent Lefèvre - Web: - 100% validated (X)HTML - Acorn Risc PC, Yellow Pig 17, Championnat International des Jeux Mathématiques et Logiques, TETRHEX, etc. Work: CR INRIA - computer arithmetic / SPACES project at LORIA