Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
POSIX builtins
- X-seq: zsh-workers 1966
- From: Zoltan Hidvegi <hzoli@xxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxxxxxxx (Zsh hacking and development)
- Subject: POSIX builtins
- Date: Wed, 14 Aug 1996 03:17:59 +0200 (MET DST)
The patch below adds a new POSIX_BUILTINS option. Please test it before I
put it into zsh-3.0.0. The patch to the manual should tell everything
about this option. This is turned on for both sh and ksh emulation mode
(bash, pdksh and ksh93 behave this way).
Zoltan
*** Doc/zsh.man 1996/07/26 20:53:40 2.9
--- Doc/zsh.man 1996/08/14 00:43:43
***************
*** 101,103 ****
--- 101,107 ----
.IR zshzle (%manext%),
.IR zshoptions (%manext%),
.IR zshmisc (%manext%).
+ .PP
+ .sp
+ .IR "IEEE Standard for information Technology \- Portable Operating System Interface (POSIX) \- Part 2: Shell and Utilities" ,
+ IEEE Inc, 1993, ISBN 1-55937-255-9.
*** Doc/zsh.texi 1996/08/13 20:36:44 2.18
--- Doc/zsh.texi 1996/08/14 00:49:34
***************
*** 380,385 ****
--- 380,390 ----
zshcompctl(1), zshexpn(1), zshparam(1), zshzle(1), zshoptions(1),
zshmisc(1)
+ @noindent
+ IEEE Standard for information Technology -- Portable Operating System
+ Interface (POSIX) -- Part 2: Shell and Utilities, IEEE Inc, 1993, ISBN
+ 1-55937-255-9.
+
@node Invocation, Startup/Shutdown Files, Introduction, Top
@chapter Invocation
***************
*** 2435,2449 ****
@code{ksh}: @code{NO_BAD_PATTERN}, @code{NO_BANG_HIST}, @code{NO_EQUALS},
@code{NO_FUNCTION_ARGZERO}, @code{GLOB_SUBST}, @code{NO_HUP},
@code{INTERACTIVE_COMMENTS}, @code{KSH_ARRAYS}, @code{NO_MULTIOS},
! @code{NO_NOMATCH}, @code{RM_STAR_SILENT}, @code{SH_FILE_EXPANSION},
! @code{SH_GLOB}, @code{SH_OPTION_LETTERS}, @code{SH_WORD_SPLIT}.
! Additionally the @code{KSH_OPTION_PRINT}, @code{LOCAL_OPTIONS},
! @code{PROMPT_SUBST} and @code{SINGLE_LINE_ZLE} options are set if
! @code{zsh} is invoked as @code{ksh} and the @code{IGNORE_BRACES} option
! is set if @code{zsh} is invoked as @code{sh}. If the @code{echo}
! command called from @code{/bin/sh} does not interpret backslash escape
! sequences, the @code{BSD_ECHO} option is also set in @code{sh} emulation
! mode.
@node Zsh Line Editor, Parameters, Compatibility, Top
--- 2440,2454 ----
@code{ksh}: @code{NO_BAD_PATTERN}, @code{NO_BANG_HIST}, @code{NO_EQUALS},
@code{NO_FUNCTION_ARGZERO}, @code{GLOB_SUBST}, @code{NO_HUP},
@code{INTERACTIVE_COMMENTS}, @code{KSH_ARRAYS}, @code{NO_MULTIOS},
! @code{NO_NOMATCH}, @code{RM_STAR_SILENT}, @code{POSIX_BUILTINS},
! @code{SH_FILE_EXPANSION}, @code{SH_GLOB}, @code{SH_OPTION_LETTERS},
! @code{SH_WORD_SPLIT}. Additionally the @code{KSH_OPTION_PRINT},
! @code{LOCAL_OPTIONS}, @code{PROMPT_SUBST} and @code{SINGLE_LINE_ZLE}
! options are set if @code{zsh} is invoked as @code{ksh} and the
! @code{IGNORE_BRACES} option is set if @code{zsh} is invoked as @code{sh}.
! If the @code{echo} command called from @code{/bin/sh} does not interpret
! backslash escape sequences, the @code{BSD_ECHO} option is also set in
! @code{sh} emulation mode.
@node Zsh Line Editor, Parameters, Compatibility, Top
***************
*** 5006,5011 ****
--- 5011,5027 ----
This applies to the @code{.} builtin as well as to command execution.
Commands explicitly beginning with
@samp{./} or @samp{../} are not subject to path search.
+
+ @item POSIX_BUILTINS
+ @pindex POSIX_BUILTINS
+ When this option is set the @code{command} builtin can be used to execute
+ shell builtin commands. Parameter assignments specified before shell
+ functions and special builtins are kept after the command completes unless
+ the special builtin is prefixed with the @code{command} builtin. Special
+ builtins are @code{.}, @code{:}, @code{break}, @code{continue},
+ @code{declare}, @code{eval}, @code{exit}, @code{export}, @code{integer},
+ @code{local}, @code{readonly}, @code{return}, @code{set}, @code{shift},
+ @code{source}, @code{times}, @code{trap} and @code{unset}.
@item PRINT_EXIT_VALUE (-1)
@cindex exit status, printing
*** Doc/zshall.man 1996/07/21 00:05:50 2.8
--- Doc/zshall.man 1996/08/14 00:44:51
***************
*** 96,98 ****
--- 96,102 ----
.IR rc (1),
.IR bash (1),
.IR ksh (1).
+ .PP
+ .sp
+ .IR "IEEE Standard for information Technology \- Portable Operating System Interface (POSIX) \- Part 2: Shell and Utilities" ,
+ IEEE Inc, 1993, ISBN 1-55937-255-9.
*** Doc/zshmisc.man 1996/08/12 03:53:13 2.20
--- Doc/zshmisc.man 1996/08/14 00:22:13
***************
*** 1095,1100 ****
--- 1095,1101 ----
.BR NO_MULTIOS ,
.BR NO_NOMATCH ,
.BR RM_STAR_SILENT ,
+ .BR POSIX_BUILTINS ,
.BR SH_FILE_EXPANSION ,
.BR SH_GLOB ,
.BR SH_OPTION_LETTERS ,
*** Doc/zshoptions.man 1996/07/28 22:34:08 2.20
--- Doc/zshoptions.man 1996/08/14 00:32:41
***************
*** 387,392 ****
--- 387,417 ----
Commands explicitly beginning with "./" or "../" are not subject to
path search.
.TP
+ \fBPOSIX_BUILTINS\fP
+ When this option is set the \fBcommand\fP builtin can be used to execute
+ shell builtin commands. Parameter assignments specified before shell
+ functions and special builtins are kept after the command completes unless
+ the special builtin is prefixed with the \fBcommand\fP builtin. Special
+ builtins are
+ .BR. ,
+ .BR : ,
+ .BR break ,
+ .BR continue ,
+ .BR declare ,
+ .BR eval ,
+ .BR exit ,
+ .BR export ,
+ .BR integer ,
+ .BR local ,
+ .BR readonly ,
+ .BR return ,
+ .BR set ,
+ .BR shift ,
+ .BR source ,
+ .BR times ,
+ .BR trap " and"
+ .BR unset .
+ .TP
\fBPRINT_EXIT_VALUE\fP (\-\fB1\fP)
Print the exit value of programs with non-zero exit status.
.TP
*** Src/exec.c 1996/08/11 19:20:39 2.81
--- Src/exec.c 1996/08/14 01:10:07
***************
*** 1171,1177 ****
checked = !has_token(cmdarg);
if (!checked)
break;
! if (!(cflags & BINF_BUILTIN) &&
(hn = shfunctab->getnode(shfunctab, cmdarg))) {
is_shfunc = 1;
break;
--- 1171,1177 ----
checked = !has_token(cmdarg);
if (!checked)
break;
! if (!(cflags & (BINF_BUILTIN | BINF_COMMAND)) &&
(hn = shfunctab->getnode(shfunctab, cmdarg))) {
is_shfunc = 1;
break;
***************
*** 1185,1196 ****
assign = (hn->flags & BINF_MAGICEQUALS);
break;
}
! cflags &= ~BINF_BUILTIN;
cflags |= hn->flags;
uremnode(args, firstnode(args));
hn = NULL;
checked = 0;
! if (cflags & BINF_COMMAND)
break;
}
}
--- 1185,1196 ----
assign = (hn->flags & BINF_MAGICEQUALS);
break;
}
! cflags &= ~BINF_BUILTIN & ~BINF_COMMAND;
cflags |= hn->flags;
uremnode(args, firstnode(args));
hn = NULL;
checked = 0;
! if ((cflags & BINF_COMMAND) && unset(POSIXBUILTINS))
break;
}
}
***************
*** 1257,1267 ****
}
}
! if (errflag || checked || (cflags & BINF_COMMAND))
break;
cmdarg = (char *) peekfirst(args);
! if (!(cflags & BINF_BUILTIN) &&
(hn = shfunctab->getnode(shfunctab, cmdarg))) {
is_shfunc = 1;
break;
--- 1257,1268 ----
}
}
! if (errflag || checked ||
! (unset(POSIXBUILTINS) && (cflags & BINF_COMMAND)))
break;
cmdarg = (char *) peekfirst(args);
! if (!(cflags & (BINF_BUILTIN | BINF_COMMAND)) &&
(hn = shfunctab->getnode(shfunctab, cmdarg))) {
is_shfunc = 1;
break;
***************
*** 1278,1284 ****
is_builtin = 1;
break;
}
! cflags &= ~BINF_BUILTIN;
cflags |= hn->flags;
uremnode(args, firstnode(args));
hn = NULL;
--- 1279,1285 ----
is_builtin = 1;
break;
}
! cflags &= ~BINF_BUILTIN & ~BINF_COMMAND;
cflags |= hn->flags;
uremnode(args, firstnode(args));
hn = NULL;
***************
*** 1601,1609 ****
LinkList restorelist = 0, removelist = 0;
/* builtin or shell function */
! if (!forked && !assign)
save_params(cmd, &restorelist, &removelist);
!
if (cmd->vars) {
/* Export this if the command is a shell function,
* but not if it's a builtin.
--- 1602,1613 ----
LinkList restorelist = 0, removelist = 0;
/* builtin or shell function */
! if (!forked && ((cflags & BINF_COMMAND) ||
! (unset(POSIXBUILTINS) && !assign) ||
! (isset(POSIXBUILTINS) && !is_shfunc &&
! !(hn->flags & BINF_PSPECIAL))))
save_params(cmd, &restorelist, &removelist);
!
if (cmd->vars) {
/* Export this if the command is a shell function,
* but not if it's a builtin.
*** Src/globals.h 1996/08/12 03:52:50 2.38
--- Src/globals.h 1996/08/13 23:35:14
***************
*** 750,755 ****
--- 750,756 ----
{"numericglobsort", 0, 0, 0},
{"overstrike", 0, 0, 0},
{"pathdirs", 'Q', 0, 0},
+ {"posixbuiltins", 0, 0, OPT_EMULATE|OPT_BOURNE},
{"printexitvalue", '1', 0, 0},
{"privileged", 'p', 'p', OPT_SPECIAL},
{"promptcr", x'V', 0, OPT_ALL},
*** Src/hashtable.h 1996/08/04 12:52:33 2.25
--- Src/hashtable.h 1996/08/13 23:30:51
***************
*** 249,267 ****
PREFIX("exec", BINF_EXEC)
PREFIX("noglob", BINF_NOGLOB)
{NULL, "[", 0, bin_test, 0, -1, BIN_BRACKET, NULL, NULL},
! {NULL, ".", 0, bin_dot, 1, -1, 0, NULL, NULL},
! {NULL, ":", 0, bin_true, 0, -1, 0, NULL, NULL},
{NULL, "alias", BINF_MAGICEQUALS, bin_alias, 0, -1, 0, "Lgmr", NULL},
{NULL, "autoload", BINF_TYPEOPTS, bin_functions, 0, -1, 0, "t", "u"},
{NULL, "bg", 0, bin_fg, 0, -1, BIN_BG, NULL, NULL},
{NULL, "bindkey", 0, bin_bindkey, 0, -1, 0, "asvemdr", NULL},
! {NULL, "break", 0, bin_break, 0, 1, BIN_BREAK, NULL, NULL},
{NULL, "bye", 0, bin_break, 0, 1, BIN_EXIT, NULL, NULL},
{NULL, "cd", 0, bin_cd, 0, 2, BIN_CD, NULL, NULL},
{NULL, "chdir", 0, bin_cd, 0, 2, BIN_CD, NULL, NULL},
{NULL, "compctl", 0, bin_compctl, 0, -1, 0, NULL, NULL},
! {NULL, "continue", 0, bin_break, 0, 1, BIN_CONTINUE, NULL, NULL},
! {NULL, "declare", BINF_TYPEOPTS | BINF_MAGICEQUALS, bin_typeset, 0, -1, 0, "LRUZfilrtux", NULL},
{NULL, "dirs", 0, bin_dirs, 0, -1, 0, "v", NULL},
{NULL, "disable", 0, bin_enable, 0, -1, BIN_DISABLE, "afmr", NULL},
{NULL, "disown", 0, bin_fg, 0, -1, BIN_DISOWN, NULL, NULL},
--- 249,267 ----
PREFIX("exec", BINF_EXEC)
PREFIX("noglob", BINF_NOGLOB)
{NULL, "[", 0, bin_test, 0, -1, BIN_BRACKET, NULL, NULL},
! {NULL, ".", BINF_PSPECIAL, bin_dot, 1, -1, 0, NULL, NULL},
! {NULL, ":", BINF_PSPECIAL, bin_true, 0, -1, 0, NULL, NULL},
{NULL, "alias", BINF_MAGICEQUALS, bin_alias, 0, -1, 0, "Lgmr", NULL},
{NULL, "autoload", BINF_TYPEOPTS, bin_functions, 0, -1, 0, "t", "u"},
{NULL, "bg", 0, bin_fg, 0, -1, BIN_BG, NULL, NULL},
{NULL, "bindkey", 0, bin_bindkey, 0, -1, 0, "asvemdr", NULL},
! {NULL, "break", BINF_PSPECIAL, bin_break, 0, 1, BIN_BREAK, NULL, NULL},
{NULL, "bye", 0, bin_break, 0, 1, BIN_EXIT, NULL, NULL},
{NULL, "cd", 0, bin_cd, 0, 2, BIN_CD, NULL, NULL},
{NULL, "chdir", 0, bin_cd, 0, 2, BIN_CD, NULL, NULL},
{NULL, "compctl", 0, bin_compctl, 0, -1, 0, NULL, NULL},
! {NULL, "continue", BINF_PSPECIAL, bin_break, 0, 1, BIN_CONTINUE, NULL, NULL},
! {NULL, "declare", BINF_TYPEOPTS | BINF_MAGICEQUALS | BINF_PSPECIAL, bin_typeset, 0, -1, 0, "LRUZfilrtux", NULL},
{NULL, "dirs", 0, bin_dirs, 0, -1, 0, "v", NULL},
{NULL, "disable", 0, bin_enable, 0, -1, BIN_DISABLE, "afmr", NULL},
{NULL, "disown", 0, bin_fg, 0, -1, BIN_DISOWN, NULL, NULL},
***************
*** 269,277 ****
{NULL, "echotc", 0, bin_echotc, 1, -1, 0, NULL, NULL},
{NULL, "emulate", 0, bin_emulate, 1, 1, 0, "R", NULL},
{NULL, "enable", 0, bin_enable, 0, -1, BIN_ENABLE, "afmr", NULL},
! {NULL, "eval", 0, bin_eval, 0, -1, BIN_EVAL, NULL, NULL},
! {NULL, "exit", 0, bin_break, 0, 1, BIN_EXIT, NULL, NULL},
! {NULL, "export", BINF_TYPEOPTS | BINF_MAGICEQUALS, bin_typeset, 0, -1, BIN_EXPORT, "LRUZfilrtu", "x"},
{NULL, "false", 0, bin_false, 0, -1, 0, NULL, NULL},
{NULL, "fc", BINF_FCOPTS, bin_fc, 0, -1, BIN_FC, "nlreIRWAdDfEim", NULL},
{NULL, "fg", 0, bin_fg, 0, -1, BIN_FG, NULL, NULL},
--- 269,277 ----
{NULL, "echotc", 0, bin_echotc, 1, -1, 0, NULL, NULL},
{NULL, "emulate", 0, bin_emulate, 1, 1, 0, "R", NULL},
{NULL, "enable", 0, bin_enable, 0, -1, BIN_ENABLE, "afmr", NULL},
! {NULL, "eval", BINF_PSPECIAL, bin_eval, 0, -1, BIN_EVAL, NULL, NULL},
! {NULL, "exit", BINF_PSPECIAL, bin_break, 0, 1, BIN_EXIT, NULL, NULL},
! {NULL, "export", BINF_TYPEOPTS | BINF_MAGICEQUALS | BINF_PSPECIAL, bin_typeset, 0, -1, BIN_EXPORT, "LRUZfilrtu", "x"},
{NULL, "false", 0, bin_false, 0, -1, 0, NULL, NULL},
{NULL, "fc", BINF_FCOPTS, bin_fc, 0, -1, BIN_FC, "nlreIRWAdDfEim", NULL},
{NULL, "fg", 0, bin_fg, 0, -1, BIN_FG, NULL, NULL},
***************
*** 285,296 ****
#endif
{NULL, "history", 0, bin_fc, 0, -1, BIN_FC, "nrdDfEim", "l"},
! {NULL, "integer", BINF_TYPEOPTS | BINF_MAGICEQUALS, bin_typeset, 0, -1, 0, "lrtux", "i"},
{NULL, "jobs", 0, bin_fg, 0, -1, BIN_JOBS, "lpZrs", NULL},
{NULL, "kill", 0, bin_kill, 0, -1, 0, NULL, NULL},
{NULL, "let", 0, bin_let, 1, -1, 0, NULL, NULL},
{NULL, "limit", 0, bin_limit, 0, -1, 0, "sh", NULL},
! {NULL, "local", BINF_TYPEOPTS | BINF_MAGICEQUALS, bin_typeset, 0, -1, 0, "LRUZilrtu", NULL},
{NULL, "log", 0, bin_log, 0, 0, 0, NULL, NULL},
{NULL, "logout", 0, bin_break, 0, 1, BIN_LOGOUT, NULL, NULL},
--- 285,296 ----
#endif
{NULL, "history", 0, bin_fc, 0, -1, BIN_FC, "nrdDfEim", "l"},
! {NULL, "integer", BINF_TYPEOPTS | BINF_MAGICEQUALS | BINF_PSPECIAL, bin_typeset, 0, -1, 0, "lrtux", "i"},
{NULL, "jobs", 0, bin_fg, 0, -1, BIN_JOBS, "lpZrs", NULL},
{NULL, "kill", 0, bin_kill, 0, -1, 0, NULL, NULL},
{NULL, "let", 0, bin_let, 1, -1, 0, NULL, NULL},
{NULL, "limit", 0, bin_limit, 0, -1, 0, "sh", NULL},
! {NULL, "local", BINF_TYPEOPTS | BINF_MAGICEQUALS | BINF_PSPECIAL, bin_typeset, 0, -1, 0, "LRUZilrtu", NULL},
{NULL, "log", 0, bin_log, 0, 0, 0, NULL, NULL},
{NULL, "logout", 0, bin_break, 0, 1, BIN_LOGOUT, NULL, NULL},
***************
*** 305,333 ****
{NULL, "pwd", 0, bin_pwd, 0, 0, 0, "r", NULL},
{NULL, "r", BINF_R, bin_fc, 0, -1, BIN_FC, "nrl", NULL},
{NULL, "read", 0, bin_read, 0, -1, 0, "rzu0123456789pkqecnAlE", NULL},
! {NULL, "readonly", BINF_TYPEOPTS | BINF_MAGICEQUALS, bin_typeset, 0, -1, 0, "LRUZfiltux", "r"},
{NULL, "rehash", 0, bin_hash, 0, 0, 0, "df", "r"},
! {NULL, "return", 0, bin_break, 0, 1, BIN_RETURN, NULL, NULL},
{NULL, "sched", 0, bin_sched, 0, -1, 0, NULL, NULL},
! {NULL, "set", 0, bin_set, 0, -1, 0, NULL, NULL},
{NULL, "setopt", 0, bin_setopt, 0, -1, BIN_SETOPT, NULL, NULL},
! {NULL, "shift", 0, bin_shift, 0, -1, 0, NULL, NULL},
! {NULL, "source", 0, bin_dot, 1, -1, 0, NULL, NULL},
{NULL, "suspend", 0, bin_suspend, 0, 0, 0, "f", NULL},
{NULL, "test", 0, bin_test, 0, -1, BIN_TEST, NULL, NULL},
{NULL, "ttyctl", 0, bin_ttyctl, 0, 0, 0, "fu", NULL},
! {NULL, "times", 0, bin_times, 0, 0, 0, NULL, NULL},
! {NULL, "trap", 0, bin_trap, 0, -1, 0, NULL, NULL},
{NULL, "true", 0, bin_true, 0, -1, 0, NULL, NULL},
{NULL, "type", 0, bin_whence, 0, -1, 0, "ampf", "v"},
! {NULL, "typeset", BINF_TYPEOPTS | BINF_MAGICEQUALS, bin_typeset, 0, -1, 0, "LRUZfilrtuxm", NULL},
{NULL, "ulimit", 0, bin_ulimit, 0, -1, 0, NULL, NULL},
{NULL, "umask", 0, bin_umask, 0, 1, 0, "S", NULL},
{NULL, "unalias", 0, bin_unhash, 1, -1, 0, "m", "a"},
{NULL, "unfunction", 0, bin_unhash, 1, -1, 0, "m", "f"},
{NULL, "unhash", 0, bin_unhash, 1, -1, 0, "adfm", NULL},
{NULL, "unlimit", 0, bin_unlimit, 0, -1, 0, "hs", NULL},
! {NULL, "unset", 0, bin_unset, 1, -1, 0, "m", NULL},
{NULL, "unsetopt", 0, bin_setopt, 0, -1, BIN_UNSETOPT, NULL, NULL},
{NULL, "vared", 0, bin_vared, 1, 7, 0, NULL, NULL},
{NULL, "wait", 0, bin_fg, 0, -1, BIN_WAIT, NULL, NULL},
--- 305,333 ----
{NULL, "pwd", 0, bin_pwd, 0, 0, 0, "r", NULL},
{NULL, "r", BINF_R, bin_fc, 0, -1, BIN_FC, "nrl", NULL},
{NULL, "read", 0, bin_read, 0, -1, 0, "rzu0123456789pkqecnAlE", NULL},
! {NULL, "readonly", BINF_TYPEOPTS | BINF_MAGICEQUALS | BINF_PSPECIAL, bin_typeset, 0, -1, 0, "LRUZfiltux", "r"},
{NULL, "rehash", 0, bin_hash, 0, 0, 0, "df", "r"},
! {NULL, "return", BINF_PSPECIAL, bin_break, 0, 1, BIN_RETURN, NULL, NULL},
{NULL, "sched", 0, bin_sched, 0, -1, 0, NULL, NULL},
! {NULL, "set", BINF_PSPECIAL, bin_set, 0, -1, 0, NULL, NULL},
{NULL, "setopt", 0, bin_setopt, 0, -1, BIN_SETOPT, NULL, NULL},
! {NULL, "shift", BINF_PSPECIAL, bin_shift, 0, -1, 0, NULL, NULL},
! {NULL, "source", BINF_PSPECIAL, bin_dot, 1, -1, 0, NULL, NULL},
{NULL, "suspend", 0, bin_suspend, 0, 0, 0, "f", NULL},
{NULL, "test", 0, bin_test, 0, -1, BIN_TEST, NULL, NULL},
{NULL, "ttyctl", 0, bin_ttyctl, 0, 0, 0, "fu", NULL},
! {NULL, "times", BINF_PSPECIAL, bin_times, 0, 0, 0, NULL, NULL},
! {NULL, "trap", BINF_PSPECIAL, bin_trap, 0, -1, 0, NULL, NULL},
{NULL, "true", 0, bin_true, 0, -1, 0, NULL, NULL},
{NULL, "type", 0, bin_whence, 0, -1, 0, "ampf", "v"},
! {NULL, "typeset", BINF_TYPEOPTS | BINF_MAGICEQUALS | BINF_PSPECIAL, bin_typeset, 0, -1, 0, "LRUZfilrtuxm", NULL},
{NULL, "ulimit", 0, bin_ulimit, 0, -1, 0, NULL, NULL},
{NULL, "umask", 0, bin_umask, 0, 1, 0, "S", NULL},
{NULL, "unalias", 0, bin_unhash, 1, -1, 0, "m", "a"},
{NULL, "unfunction", 0, bin_unhash, 1, -1, 0, "m", "f"},
{NULL, "unhash", 0, bin_unhash, 1, -1, 0, "adfm", NULL},
{NULL, "unlimit", 0, bin_unlimit, 0, -1, 0, "hs", NULL},
! {NULL, "unset", BINF_PSPECIAL, bin_unset, 1, -1, 0, "m", NULL},
{NULL, "unsetopt", 0, bin_setopt, 0, -1, BIN_UNSETOPT, NULL, NULL},
{NULL, "vared", 0, bin_vared, 1, 7, 0, NULL, NULL},
{NULL, "wait", 0, bin_fg, 0, -1, BIN_WAIT, NULL, NULL},
*** Src/zsh.h 1996/08/03 02:53:55 2.42
--- Src/zsh.h 1996/08/13 23:32:31
***************
*** 759,764 ****
--- 759,765 ----
#define BINF_COMMAND (1<<12)
#define BINF_EXEC (1<<13)
#define BINF_NOGLOB (1<<14)
+ #define BINF_PSPECIAL (1<<15)
#define BINF_TYPEOPTS (BINF_TYPEOPT|BINF_PLUSOPTS)
***************
*** 1128,1133 ****
--- 1129,1135 ----
NUMERICGLOBSORT,
OVERSTRIKE,
PATHDIRS,
+ POSIXBUILTINS,
PRINTEXITVALUE,
PRIVILEGED,
PROMPTCR,
Messages sorted by:
Reverse Date,
Date,
Thread,
Author