[Bug 282714] /bin/sh doesn't report line numbers correctly when run with the PS4 environment variable

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 13 Nov 2024 14:38:36 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282714

Ed Maste <emaste@freebsd.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |emaste@freebsd.org

--- Comment #1 from Ed Maste <emaste@freebsd.org> ---
There's a reference to LINENO in PS4 in:

commit 292e6676632a8c0ec58ba6a005d2478aa57e799d
Author: Jilles Tjoelker <jilles@FreeBSD.org>
Date:   Thu Jun 9 23:12:23 2011 +0000

    sh: Do parameter expansion before printing PS4 (set -x).

    The function name expandstr() and the general idea of doing this kind of
    expansion by treating the text as a here document without end marker is
from
    dash.

    All variants of parameter expansion and arithmetic expansion also work (the
    latter is not required by POSIX but it does not take extra code and many
    other shells also allow it).

    Command substitution is prevented because I think it causes too much code
to
    be re-entered (for example creating an unbounded recursion of trace lines).

    Unfortunately, our LINENO is somewhat crude, otherwise PS4='$LINENO+ '
would
    be quite useful.

-- 
You are receiving this mail because:
You are the assignee for the bug.