1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-02-24 23:14:14 +00:00
cde/src/cmd/ksh93/tests
Martijn Dekker 3050bf28bc whence -v/-a: report path to autoloadable functions
Since at least 1999, whence -v on pdksh (and its successor mksh)
reports the path where an autoloadable function may be found:

  $ mkdir ~/fun; FPATH=~/fun
  $ echo 'myfn() { echo hi; }' >~/fun/myfn
  $ whence -v myfn
  myfn is a undefined (autoload from /home/user/fun/myfn) function

Whereas ksh93 only reports, rather uselessly:

  myfn is an undefined function

As of this commit, whence -v/-a on ksh 93u+m does the same as
pdksh, but with correct grammar:

  myfn is an undefined function (autoload from /home/user/fun/myfn)

This may be a small violation of my own "no new features" policy
for 93u+m, but I couldn't resist. This omission has been annoying
me, and it's just embarrassing to lack a pdksh feature :)

src/cmd/ksh93/include/path.h,
src/cmd/ksh93/data/msg.c:
- Add e_autoloadfrom[] = " (autoload from %s)" message.

src/cmd/ksh93/bltins/whence.c: whence():
- Report the path (if any) when reporting an undefined function.
  This needs to be done in two places:
  1. When a function has been explicitly marked undefined with
     'autoload', we need to do a quick path_search() loop to find
     the path. (These undefined functions take precedence over
     regular commands, so are reported first.)
  2. When a function is not explicitly autoloaded but merely
     available in $FPATH, that path search was already done, so all
     we need to do is report it. (These are reported last.)
  Note that the output remains as on 93u+ if no function definition
  file is found on $FPATH. This is also like pdksh/mksh.

src/cmd/ksh93/data/builtins.c:
- Bump 'whence' version date. The inline docs never detailed very
  exactly what 'whence -v' reports, so no need for further edits.

src/cmd/ksh93/tests/path.sh:
- Regress-test the new whence behaviour plus actual autoloading,
  including the command override behaviour of autoloaded functions.
2020-09-25 17:45:40 +02:00
..
alias.sh Fix a crash on unsetting preset alias (re: ddaa145b) (#133) 2020-09-18 11:17:20 +01:00
append.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
arith.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
arrays.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
arrays2.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
attributes.sh tests/attributes.sh: add reproducer from rhbz#903750 (already fixed in 93u+) 2020-09-18 13:53:53 +02:00
basic.sh Fix argv rewrite on invoking hashbangless script (rhbz#1047506) 2020-09-25 15:02:51 +02:00
bracket.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
builtins.sh tests/builtin.sh: add 'cd' regress tests 2020-09-22 21:38:15 +02:00
case.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
comvar.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
comvario.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
coprocess.sh tests/coprocess.sh: temp disable known intermittent fail 2020-09-20 20:47:49 +02:00
cubetype.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
enum.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
exit.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
expand.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
functions.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
glob.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
grep.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
heredoc.sh add another comsub regress test variant (re: 6e515f1d) 2020-09-24 06:31:56 +02:00
io.sh Fix v=$(<file) for closed FD 0,1,2 (rhbz#1066589) 2020-09-22 03:02:06 +02:00
leaks.sh tests/leaks.sh: avoid false leak: pre-run test (re: fe20311f) 2020-09-21 02:08:29 +02:00
locale.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
math.sh tests/math.sh: do not break loop; show all errors (re: d7c90ead) 2020-09-24 06:51:11 +02:00
nameref.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
namespace.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
options.sh Allow turning off brace expansion in comsubs (rhbz#1078698) 2020-09-24 08:21:37 +02:00
path.sh whence -v/-a: report path to autoloadable functions 2020-09-25 17:45:40 +02:00
pointtype.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
pty.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
quoting.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
quoting2.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
readcsv.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
recttype.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
restricted.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
return.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
select.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
shtests shtests: add ${.sh.pid} to PS4/xtrace (re: 9de65210) 2020-09-02 15:51:02 +01:00
sigchld.sh tests/sigchild.sh: increase a sleep to prevent very rare intermittent fail 2020-09-18 20:06:34 +02:00
signal.sh Fix command substitutions in here-docs (rhbz#994241, rhbz#1036802) 2020-09-21 23:02:08 +02:00
statics.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
subshell.sh Fix hang in comsubs (rhbz#1062296) (re: 970069a6) 2020-09-24 06:07:12 +02:00
substring.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
tilde.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
timetype.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
treemove.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
types.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
variables.sh Fix typeset -l/-u crash on special vars (rhbz#1083713) 2020-09-24 03:03:29 +02:00
vartree1.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00
vartree2.sh shtests: cd to each test set's temp dir before running 2020-09-02 06:02:40 +01:00