From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12861 invoked from network); 21 Jul 2000 16:19:11 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 21 Jul 2000 16:19:11 -0000 Received: (qmail 14544 invoked by alias); 21 Jul 2000 16:18:53 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 12342 Received: (qmail 14537 invoked from network); 21 Jul 2000 16:18:50 -0000 From: "Bart Schaefer" Message-Id: <1000721161845.ZM3722@candle.brasslantern.com> Date: Fri, 21 Jul 2000 16:18:45 +0000 In-Reply-To: <200007210718.JAA12808@beta.informatik.hu-berlin.de> Comments: In reply to Sven Wischnowsky "Re: PATCH: Re: cvs completion messy on dangling slink" (Jul 21, 9:18am) References: <200007210718.JAA12808@beta.informatik.hu-berlin.de> X-Mailer: Z-Mail (5.0.0 30July97) To: zsh-workers@sunsite.auc.dk Subject: Capturing completion stderr MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On Jul 21, 9:18am, Sven Wischnowsky wrote: } Subject: Re: PATCH: Re: cvs completion messy on dangling slink } } Bart Schaefer wrote: } } > In the very general case, though, I still lament that there's no good way } > to capture this kind of error output and present it via _message or some } > other completion-friendly mechanism. } } Yes. Any ideas for how to do that? We'd have to use C code in ZLE to redirect stderr somewhere, at the same places where it currently closes and restores stdin. Further, we'd have to figure out some kind of special handling for xtrace output in order for _complete_debug to continue to be useful. As to where stderr is redirected: The only sensible place is a temp file, which is then checked for nonzero size at the end of the completion, and displayed if so. The shell can't try to capture the output directly, as that could lead to deadlock. As I said before, though, I dislike adding the overhead of creating and then either truncating or unlinking a file on every completion, when in most cases it won't be useful. So probably the right thing is just to continue to be careful about the stderr of commands within the individual functions, and perhaps document somewhere that this is necessary. -- Bart Schaefer Brass Lantern Enterprises http://www.well.com/user/barts http://www.brasslantern.com Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net