Your message dated Fri, 16 Dec 2022 18:51:02 +0100
with message-id <[email protected]>
and subject line Re: Bug#570757: dash: cannot parse multiline parameter 
expansion
has caused the Debian Bug report #570757,
regarding dash: cannot parse multiline parameter expansion
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
570757: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=570757
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: dash
Version: 0.5.4-12
Severity: normal

flit:~% cat x1.sh 
echo ${x:- yyy
zzz }
flit:~% bash < x1.sh 
yyy zzz
flit:~% dash < x1.sh
dash: Syntax error: Missing '}'

See http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html
section 2.6.2 Parameter Expansion:

The format for parameter expansion is as follows: ${expression} 
where expression consists of all characters until the matching '}'.

-- System Information:
Debian Release: 5.0.4
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-2-686 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages dash depends on:
ii  libc6                       2.7-18lenny2 GNU C Library: Shared libraries

dash recommends no packages.

dash suggests no packages.

-- debconf information excluded



--- End Message ---
--- Begin Message ---
Package: dash
Version: 5.10.2-1

$ cat > x1.sh
echo ${x:- yyy
zzz }
$ git bisect start
$ git bisect bad
$ git bisect good v0.5.4
Bisecting: 180 revisions left to test after this (roughly 8 steps)
[da30b4b787695fbf77e5d941ff350a66ca572bcb] [BUILTIN] Exit without arguments in 
a trap should use status outside traps
$ git bisect run sh -c 'make -j25 CC=gcc || exit 125; ! src/dash x1.sh'
# ...
dad1cb18b60ecce925f4ed234553a43fa6c81447 is the first bad commit
commit dad1cb18b60ecce925f4ed234553a43fa6c81447
Author: Herbert Xu <[email protected]>
Date:   Thu Mar 22 21:41:24 2018 +0800

    parser: Allow newlines within parameter substitution

    On Fri, Mar 16, 2018 at 11:27:22AM +0800, Herbert Xu wrote:
    > On Thu, Mar 15, 2018 at 10:49:15PM +0100, Harald van Dijk wrote:
    > >
    > > Okay, it can be trivially modified to something that does work in other
    > > shells (even if it were actually executed), but gets rejected at parse 
time
    > > by dash:
    > >
    > >   if false; then
    > >     : ${$+
    > >   }
    > >   fi
    >
    > That's just a bug in dash's parser with ${} in general, because
    > it bombs out without the if clause too:
    >
    >       : ${$+
    >       }

    This patch fixes the parsing of newlines with parameter substitution.

    Signed-off-by: Herbert Xu <[email protected]>

 src/parser.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
bisect run success


The first tag that contains this commit is v0.5.10 and via snapshot.d.o
I can confirm that the last bad debian version is 0.5.10.2-1
and the first good one is 5.10.2-1.

наб

Attachment: signature.asc
Description: PGP signature


--- End Message ---

Reply via email to