|
|
|
|
|
by gaigalas
1 hour ago
|
|
The spec is not that good. `local` for example is present in many shells (almost all of them), but they decided to leave it out uniquely because of ksh93 (scope is different). It became undefined behavior. When the spec was written, ksh was important. Since then, it has only been revised but not updated and I consider it to be obsolete. So, if you follow POSIX strictly, you then lose local scope on functions, which is more likely to cause bugs and hard to catch with a linter like you suggested. You're left with a broken feature set (on many other angles too) that is not actually practical. Even spellcheck makes concessions. |
|