zsh 'readonly' bug workaround improvement
zsh 'readonly' bug workaround improvement

zsh will expand aliases immediately after defining them, so the fallback
shell function was unnecessary.

On older zsh with broken POSIX 'readonly' (it's always function-local),
initially set 'readonly' to a simple alias for 'typeset -rg' for the purpose
of initialising modernish. Then, at stage 2 init, redefine it as a more
complex alias that makes the command properly conditional upon the
'posixbuiltins' shell option, fixing the zsh bug properly, but at the cost
of forking a subshell at every invocation.

Also, disabling the builtin was not really necessary and defeats 'builtin
readonly'. Disabling the reserved word (if present) is needed for the alias
to work, though. This shouldn't have an effect on parsing assignments
following the keyword, as 'typeset' is also a reserved word on newer zsh, so
the alias will expand to a reserved word.

modernish/modernish