Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: PATCH: pws-25: another line number problem
- X-seq: zsh-workers 7001
- From: Peter Stephenson <pws@xxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxxxxxx (Zsh hackers list)
- Subject: Re: PATCH: pws-25: another line number problem
- Date: Wed, 07 Jul 1999 11:44:02 +0200
- In-reply-to: "Peter Stephenson"'s message of "Wed, 07 Jul 1999 10:56:23 DFT." <9907070856.AA40613@xxxxxxxxxxxxxxxxx>
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
Peter Stephenson wrote:
> Consider:
>
> % fpath=(.)
> % cat alf
> [[ foo bar ]] && print That did\'t work
>
> #
> print foo
> % autoload alf
> % alf
> alf: parse error: condition expected: foo [5]
>
> The line number reported is the last line of the file. The answer,
> thankfully, is simple: don't flush the input queue until the error message
> has been printed.
Gag. Now I've found out why the error had to come second: if errflag is
set, history flushing won't work, so if the parse error occurred
interactively, you don't get the rest of the line in the history. Let's
just try something like my other proposal: don't do a full history flush
if reading from a string. This *replaces* the previous patch.
--- Src/hist.c.uln2 Thu Jun 17 14:22:18 1999
+++ Src/hist.c Wed Jul 7 11:39:09 1999
@@ -291,7 +291,7 @@
void
herrflush(void)
{
- while (!lexstop && inbufct)
+ while (!lexstop && inbufct && !strin)
hwaddc(ingetc());
}
--
Peter Stephenson <pws@xxxxxxxxxxxxxxxxx> Tel: +39 050 844536
WWW: http://www.ifh.de/~pws/
Dipartimento di Fisica, Via Buonarroti 2, 56127 Pisa, Italy
Messages sorted by:
Reverse Date,
Date,
Thread,
Author