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

Reply via email to