Upstream ksh has removed it's builtin aliases, favoring instead to make them all builtin commands, this would also allow us to skip having to manually merge another file, it was explained best in this email: "Default aliases are an ugly hack that you are better off without. Disadvantages include: - 'unalias -a' becomes basically unusable as it gets rid of commands you probably want; - shell functions by those names are ignored (unless you quote their names upon invocation); - something like 'cmdname=foo; "$cmdname" bar baz' doesn't work if $cmdname is an alias. I strongly recommend removing the BLT_SPC flag from all of your extra dtksh builtins. Making builtins "special builtins" is of no real benefit at all, while introducing a pointless restriction: shell functions by those names cannot be defined, which causes a risk of incompatibility with scripts written for other shells. The BLT_SPC flag is for a very few historic builtins that must have certain weird corner-case behaviour of "special" builtins for POSIX compliance and Bourne shell compatibility reasons." |
||
|---|---|---|
| .. | ||
| examples | ||
| ksh93 | ||
| DtFuncs.compat.sh | ||
| DtFuncs.sh | ||
| DtFuncs.sh.src | ||
| Dtksh | ||
| Imakefile | ||
| MakeClean | ||
| README-DEVELOPER | ||
| README.building | ||
| XtCvtrs.c | ||
| XtCvtrs.h | ||
| builtins.c | ||
| dtextra.h | ||
| dtkcmds.c | ||
| dtkcmds.h | ||
| dtkcvt.c | ||
| dtkcvt.h | ||
| dtksh.exp | ||
| dtksh.h | ||
| dtksh.msg | ||
| exksh.h | ||
| extra.c | ||
| extra.h | ||
| findsym.c | ||
| ksh93.man | ||
| ksh93.memo | ||
| msgs.c | ||
| msgs.h | ||
| userinit.c | ||
| widget.c | ||
| widget.h | ||
| xmcmds.c | ||
| xmcmds.h | ||
| xmcvt.c | ||
| xmcvt.h | ||
| xmdtksym.c | ||
| xmdtksym.h | ||
| xmextra.h | ||
| xmksh.h | ||
| xmwidgets.c | ||
| xmwidgets.h | ||
README.building
/* $XConsortium: README.building /main/2 1996/07/15 14:12:43 drk $ */ Since dtksh does not use anything like a normal build environment, here are some hints. - Make a Makefile in cdesrc/cde1/dtksh as if it were a normal component - make includes; make all dtksh will build initially fine. Now, if you change anything, you'll find that just typing "make" doesn't do anything. What you have to do is go to cdesrc/cde1/dtksh/ksh93/ship. Under there you'll find a distorted version of the directory structure under ksh93. Find the directory that corresponds to the directory that contains your change and remove the file "BUILT". Now cd back up to dtksh and make, and dtksh should remake itself. Of course, it will recompile many more files than you actually built, since dtksh does not use make in any recognizable way. In fact, it appears the best thing to do is go to cde1/dtksh and run "ksh MakeClean" which will blow away many files and force a clean make. Be extremely careful: Just because you get a dtksh built at the end does *not* mean the build was successful. There are several auxiliary binaries in ksh93/bin that must be built. Make sure that ksh93/bin looks like this at the end: urth 1331$ pwd /scde/SunOS_sparc/opt/stable/build/cde1/dtksh/ksh93/bin urth 1332$ ls feature* ksh* proto* silent* ignore* pax* shcomp* suid_exec* If any of these are missing, search carefully back through the make log looking for errors.