On 2018-06-11 Colin Watson <cjwat...@debian.org> wrote: > On Sun, Jun 10, 2018 at 04:04:13PM +0200, Andreas Metzler wrote: [...] > > yes, resetting IFS to its default value in confmodule helps.
> Thanks. For completeness, could you try this variant patch? If shells > are going to be unreliable about setting IFS in this way, then I'd > rather just separate out the assignments altogether. [snip] Yes, this variant of the patch also works. Thanks to your handholding we now have a minimal reproducer for the issue: ---------------------------- (sid)ametzler@argenau:~$ cat /tmp/reproducer.sh #!/bin/sh set -e list="item1 item2" ls -l /bin/sh printf "IFS=[%s]" "$IFS" | od -a IFS=' ' read -r dummy printf "IFS=[%s]" "$IFS" | od -a for i in $list ; do echo $i done # Error with bash5: (sid)ametzler@argenau:~$ echo xxx | /tmp/reproducer.sh lrwxrwxrwx 1 root root 4 Jun 11 18:41 /bin/sh -> bash 0000000 I F S = [ sp ht nl ] 0000011 0000000 I F S = [ nl ] 0000007 item1 item2 #normal behavior with bash4 or dash: (sid)ametzler@argenau:~$ echo xxx | /tmp/reproducer.sh lrwxrwxrwx 1 root root 4 Jun 11 18:41 /bin/sh -> bash 0000000 I F S = [ sp ht nl ] 0000011 0000000 I F S = [ sp ht nl ] 0000011 item1 item2 ---------------------------- > (This does still seem like a bash bug though, unless there's some arcane > interpretation of the standards that I'm unaware of.) Looking at the Open Group Base Specifications Issue 7 I also think this behavior is a bug, since "read" is not a "a special built-in utility or function". cu Andreas -- `What a good friend you are to him, Dr. Maturin. His other friends are so grateful to you.' `I sew his ears on from time to time, sure'