Package: posh
Version: 0.12.5
Severity: normal

Dear Maintainer,

SUSv3 lists the prefix and postfix ++ and -- operators as "not
required"[1] during arithmetic expansion and their use is not excepted
from the requirements of Policy 10.4.  In practice, using these
operators would be a bad idea since they are not currently supported in
dash (the postfix versions cause syntax errors while the prefix versions
are silently ignored).  An example of current behavior across shells is:

$ FOO=1 bash -c 'echo $((FOO++)) $((++FOO))'
1 3
$ FOO=1 dash -c 'echo $((FOO++))'
dash: 1: arithmetic expression: expecting primary: "FOO++"
$ FOO=1 dash -c 'echo $((++FOO)) $((++FOO))'
1 1
$ FOO=1 posh -c 'echo $((FOO++)) $((++FOO))'
1 3

I would suggest removing support for these operators from posh so that
shell scripts which rely on them can be identified and fixed.

Thanks for considering,
Kevin

1.  
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_04


-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (101, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.3.0+kevinoid1 (SMP w/4 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages posh depends on:
ii  debconf [debconf-2.0]  1.5.58
ii  libc6                  2.19-22

posh recommends no packages.

posh suggests no packages.

-- debconf information:
  posh/sh: false

Reply via email to