Commit ID: 10054FCD1444FC13F3C
CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2015/03/08 22:54:37 UTC
Modified files:
bin/mksh : check.pl check.t dot.mkshrc main.c mksh.1 sh.h syn.c
Log message:
• protect POSIX builtins and utilities from aliases, e.g:
‣ : → \:
‣ alias → \alias
⇒ except in some internally used cases, where we use \builtin alias
‣ command . → \command .
• protect Korn Shell builtins from aliases and functions, e.g:
‣ typeset → \builtin typeset
⇒ also unravels the “local” alias used
‣ print → \builtin print
• protect internally-used things from aliases
‣ “let]” is not a valid function name
‣ “set” is POSIX so we don’t expect anyone to override it in a function
• use “command -v” instead of “whence -p” (“which”) in most
places; thanks izabera from #ed on IRC for pointing out
that “command -v” is POSIX – except, “whence -p” a̲l̲w̲a̲y̲s̲ looks
for an executable and shows its full pathname; “command -v”
also resolves to aliases, functions and builtins, so only use
it where it makes any sense (both never output to stderr)
• make most of dot.mkshrc work in the face of such aliases
‣ “ulimit -c” is used; this is not POSIX, and not portable;
maybe we should make ulimit accept-and-ignore the most
common limits even if the OS doesn’t use them?
• update list of builtin aliases in the manpage
To generate a diff of this changeset, execute the following commands:
cvs -R rdiff -kk -upr1.37 -r1.38 src/bin/mksh/check.pl
cvs -R rdiff -kk -upr1.683 -r1.684 src/bin/mksh/check.t
cvs -R rdiff -kk -upr1.91 -r1.92 src/bin/mksh/dot.mkshrc
cvs -R rdiff -kk -upr1.288 -r1.289 src/bin/mksh/main.c
cvs -R rdiff -kk -upr1.352 -r1.353 src/bin/mksh/mksh.1
cvs -R rdiff -kk -upr1.716 -r1.717 src/bin/mksh/sh.h
cvs -R rdiff -kk -upr1.95 -r1.96 src/bin/mksh/syn.c