Date: Thu, 29 May 2008 00:04:41 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-hackers@freebsd.org Cc: Stefan Farfeleder <stefan@fafoe.narf.at>, hackers@freebsd.org, Mike Meyer <mwm@mired.org>, John E Hein <jhein@timing.com> Subject: Re: Why doesn't autoconf like our /bin/sh? Message-ID: <200805290004.41653.jhb@freebsd.org> In-Reply-To: <20080525154537.GB1026@lizard.fafoe.narf.at> References: <20080309152712.42752293@bhuda.mired.org> <18489.32903.477434.465037@gromit.timing.com> <20080525154537.GB1026@lizard.fafoe.narf.at>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sunday 25 May 2008 11:45:37 am Stefan Farfeleder wrote: > On Sun, May 25, 2008 at 09:06:47AM -0600, John E Hein wrote: > > FWIW, it seems bash and sh report line number differently. > > > > # grep -n ^ ~/tmp/ln > > 1:#!/bin/sh > > 2:echo f line: $LINENO > > 3:f() > > 4:{ > > 5:echo f line: $LINENO > > 6:} > > 7: > > 8:f > > 9:echo main line: $LINENO > > 10:f > > > > > > # /bin/sh ~/tmp/ln > > f line: 2 > > f line: 3 > > main line: 9 > > f line: 3 > > > > > > # bash ~/tmp/ln > > f line: 2 > > f line: 5 > > main line: 9 > > f line: 5 > > Yes, I know. I think it is a bug in bash as SUSv3 states: > > "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." Actually, the bash way seems more intuitive. And it does say "the current sequentional line number within a ... function before it executes each command" The "within a function" implies that this property goes inside of functions instead of forcing all commands in a function to use the starting line of the function which is what you are saying? -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200805290004.41653.jhb>