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
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to