Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

|& loses data (buffering bug?)



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 <vincent@xxxxxxxxxx> - Web: <http://www.vinc17.org/> - 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



Messages sorted by: Reverse Date, Date, Thread, Author