Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 May 2008 21:15:29 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Stefan Farfeleder <stefan@fafoe.narf.at>
Cc:        freebsd-standards@freebsd.org
Subject:   Re: $LINENO within functions
Message-ID:  <20080530181529.GD21317@deviant.kiev.zoral.com.ua>
In-Reply-To: <20080530181242.GC21317@deviant.kiev.zoral.com.ua>
References:  <20080530172711.GA1056@lizard.fafoe.narf.at> <20080530181242.GC21317@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help

--52aklQ8BZHJhx2Z3
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, May 30, 2008 at 09:12:42PM +0300, Kostik Belousov wrote:
> On Fri, May 30, 2008 at 07:27:12PM +0200, Stefan Farfeleder wrote:
> > Hi,
> >=20
> > SUSv3 says the following about $LINENO:
> >=20
> > "Set by the shell to a decimal number representing the current
> > sequential line number (numbered starting with 1) within a script or
> > function before it executes each command. If the user unsets or resets
> > LINENO , the variable may lose its special meaning for the life of the
> > shell. If the shell is not currently executing a script or function, the
> > value of LINENO is unspecified. This volume of IEEE Std 1003.1-2001
> > specifies the effects of the variable only for systems supporting the
> > User Portability Utilities option."
> >=20
> > My initial interpretation of "or function" was that it means $LINENO
> > within a function should be relative to the function's beginning line.
> > Now I'm not so sure anymore.  Bash release 2.05b changed the expansion
> > of $LINENO within functions to absolute numbering, stating this is
> > required by POSIX.  But then I wonder about the meaning of "or
> > function".  Does it mean functions in interactive scripts?  Because for
> > functions in shell scripts the mentioning of both "script" and
> > "function" seems redundant.
>=20
> I do not know whether you need this data, but ksh93 and pdksh exhibit
> the same behaviour as bash. For the rev. 1.1 of lineno.0, I got
>=20
> 2
> 3
> 6
> 7
> 12
> 13
> foo
> foo
> 2
>=20
> On the other hand, zsh produces
>=20
> 2
> 3
> 1
> 2
> 12
> 13
> foo
> foo
> 2

Oh, and /usr/xpg4/bin/sh on the fully patches Solaris 10 output is identical
with the zsh one.

--52aklQ8BZHJhx2Z3
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

iEYEARECAAYFAkhAREAACgkQC3+MBN1Mb4gFHQCcDFBQCWRK2E+kUbaLtStA1Lzr
RzYAnArb2W1EibQJmwrgDweI+VSb5OrM
=x9Xp
-----END PGP SIGNATURE-----

--52aklQ8BZHJhx2Z3--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080530181529.GD21317>