I didn't check POSIX specs myself, but people say that $LINENO is needed for POSIX compliancy.
https://wiki.ubuntu.com/DashAsBinSh says "$LINENO POSIX requires that conforming shells expand the special parameter $LINENO to the current line number in a script or function; dash does not yet support this feature. " The last sentence holds not true (any more ?) - at least Debian switches $LINENO off by (unknown) purpose. I built and installed dash from the 0.5.8-2.3 sources without --disable- lineno. It doesn't like ':' as a do-nothing operator - this looks like a bug, but I couldn't find anything about it when searching the web. I try to communicate with upstream to find out and report back.
signature.asc
Description: This is a digitally signed message part.