mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
Make the 'history' and 'r' commands builtins (#76)
With this change no more preset aliases exist, so the preset alias tables can be safely removed. All ksh commands can now be used without 'unalias -a' removing them, even in interactive shells. Additionally, the history and r commands are no longer limited to being used in interactive shells. src/cmd/ksh93/bltins/hist.c: - Implement the history and r commands as builtins. Also guarantee lflag is set to one by avoiding 'lflag++'. src/cmd/ksh93/Makefile, src/cmd/ksh93/Mamfile, src/cmd/ksh93/sh/main.c, src/cmd/ksh93/sh/init.c, src/cmd/ksh93/data/aliases.c: - Remove the table of predefined aliases because the last few have been removed. During init the alias tree is now initialized the same way as the function tree. src/cmd/ksh93/bltins/typeset.c: - Remove the bugfix for unsetting predefined aliases because it is now a no-op. Aliases are no longer able to have the NV_NOFREE attribute. src/cmd/ksh93/tests/alias.sh: - Remove the regression test for unsetting predefined aliases since those no longer exist. src/cmd/ksh93/data/builtins.c: - Update sh_opthist[] for 'hist --man', etc. src/cmd/ksh93/sh.1: - Remove the list of preset aliases since those no longer exist. - Document history and r as builtins instead of preset aliases. Co-authored-by: Martijn Dekker <martijn@inlv.org>
This commit is contained in:
parent
17f81ebedb
commit
03224ae3af
13 changed files with 47 additions and 100 deletions
|
@ -55,13 +55,10 @@ extern const Shtable_t shtab_testops[];
|
|||
extern const Shtable_t shtab_options[];
|
||||
extern const Shtable_t shtab_attributes[];
|
||||
extern const struct shtable2 shtab_variables[];
|
||||
extern const struct shtable2 shtab_aliases[];
|
||||
extern const struct shtable2 shtab_noaliases[];
|
||||
extern const struct shtable2 shtab_signals[];
|
||||
extern const struct shtable3 shtab_builtins[];
|
||||
extern const Shtable_t shtab_reserved[];
|
||||
extern const Shtable_t *sh_locate(const char*, const Shtable_t*, int);
|
||||
extern int sh_lookopt(const char*, int*);
|
||||
extern Dt_t *sh_inittree(Shell_t*, const struct shtable2*);
|
||||
|
||||
#endif /* SH_TABLE_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue