In addition to what Chet said, I'd also point out that the forthcoming
POSIX version has altered this text in the current standard:
string A string to be written to standard output. If the first operand is -n,
or if any of the operands contain a <backslash> character, the results
are implementation-defined.
into:
string A string to be written to standard output. If the first operand
consists of a '-' followed by one or more characters from the set
{'e', 'E', 'n'}, or if any of the operands contain a <backslash>
character, the results are implementation-defined.
So even if it is technically a posix violation to interpret -e now,
sometime later this year (probably, next year, maybe) it will not be.
kre