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

Re: zsh-4.2.1: LINENO lost in evals


the behaviour of LINENO-behavior may be similiar to perl in some curcumstances. Script

#! /bin/ksh

print $LINENO
eval 'print $LINENO'

used with a real ksh on AIX or Solaris always prints the correct LINENO. The behaviour of zsh is incompatible to ksh, even though in "emulate ksh"-mode.

Kind Regards,

Dieter Lambrecht

                      Bart Schaefer                                                                                                                             
                      <schaefer@brassla        To:       zsh-workers@xxxxxxxxxx                                                                                 
                      ntern.com>               cc:       Dieter Lambrecht/DMG/Zentrale/DeuBa@Zentrale                                                           
                                               Subject:  Re: zsh-4.2.1: LINENO lost in evals                                                                    
                      09/01/2004 05:10                                                                                                                          
                      Please respond to                                                                                                                         

On Wed, 1 Sep 2004, Peter Stephenson wrote:

> "Dieter Lambrecht" wrote:
> >#! /bin/zsh -x
> (There must be a set -x or setopt xtrace lurking somewhere.)

Welcome back, Peter. :-)

> It's not actually lost, it's showing you the line in the eval.  That's
> a feature (compare error messages from Perl evals, which is where we
> pinched the output format from).

The thing is, Perl has two kinds of "eval":

schaefer[676] perl <<\EOF
print __LINE__."\n";
eval 'print __LINE__."\n"';
eval { print __LINE__."\n"; };

The kind in braces, which gets precompiled, behaves differently than the
 kind in quotes.  Zsh only has the kind in quotes.


Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.

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