diff options
author | Pavel Raiskup <praiskup@redhat.com> | 2014-07-28 15:51:13 +0200 |
---|---|---|
committer | Pavel Raiskup <praiskup@redhat.com> | 2014-07-28 16:00:39 +0200 |
commit | de6fcbdb464b70b4b826bf9716e550e5c4a08c0d (patch) | |
tree | d1af2b87ca1ee88fb898e8d6953db5d83815b139 /tcsh-6.18.02-posix-exit-status-value.patch | |
parent | b6eaa4ebf20e0314f16514a1d36e2e7ade46718c (diff) | |
download | tcsh-rebase-6.19.00-de6fcbdb464b70b4b826bf9716e550e5c4a08c0d.tar.gz tcsh-rebase-6.19.00-de6fcbdb464b70b4b826bf9716e550e5c4a08c0d.tar.xz tcsh-rebase-6.19.00-de6fcbdb464b70b4b826bf9716e550e5c4a08c0d.zip |
rebase: to beta version (testing purposes only)
Some changes in packaging:
- %patch ~> %autosetup (git format-patch diff format)
- using upstream version of history file locking
- upstream testsuite enabled
Version: 6.18.02-1
Diffstat (limited to 'tcsh-6.18.02-posix-exit-status-value.patch')
-rw-r--r-- | tcsh-6.18.02-posix-exit-status-value.patch | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/tcsh-6.18.02-posix-exit-status-value.patch b/tcsh-6.18.02-posix-exit-status-value.patch new file mode 100644 index 0000000..581e825 --- /dev/null +++ b/tcsh-6.18.02-posix-exit-status-value.patch @@ -0,0 +1,124 @@ +From cf6b60106ad8cf3e058cda48249d6379dab3a846 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jarom=C3=ADr=20Kon=C4=8Dick=C3=BD?= <jkoncick@redhat.com> +Date: Fri, 25 Jul 2014 11:41:22 +0200 +Subject: [PATCH 8/8] Changed 'anyerror' variable to 'tcsh_posix_status' + +(with opposite meaning) + +--- + sh.c | 2 -- + sh.h | 2 +- + sh.proc.c | 6 +++--- + sh.set.c | 8 ++++---- + tc.const.c | 2 +- + tcsh.man | 12 ++++-------- + 6 files changed, 13 insertions(+), 19 deletions(-) + +diff --git a/sh.c b/sh.c +index 518d610..a9235b0 100644 +--- a/sh.c ++++ b/sh.c +@@ -350,8 +350,6 @@ main(int argc, char **argv) + PRCHROOT = '#'; /* likewise for root */ + word_chars = STR_WORD_CHARS; + bslash_quote = 0; /* PWP: do tcsh-style backslash quoting? */ +- anyerror = 1; /* for compatibility */ +- setcopy(STRanyerror, STRNULL, VAR_READWRITE); + + /* Default history size to 100 */ + setcopy(STRhistory, str2short("100"), VAR_READWRITE); +diff --git a/sh.h b/sh.h +index 503da25..273751a 100644 +--- a/sh.h ++++ b/sh.h +@@ -562,7 +562,7 @@ EXTERN int havhash IZERO; /* path hashing is available */ + EXTERN int editing IZERO; /* doing filename expansion and line editing */ + EXTERN int noediting IZERO; /* initial $term defaulted to noedit */ + EXTERN int bslash_quote IZERO;/* PWP: tcsh-style quoting? (in sh.c) */ +-EXTERN int anyerror IZERO; /* propagate errors from pipelines/backq */ ++EXTERN int tcsh_posix_status IZERO; /* POSIX-like error $status behaviour */ + EXTERN int compat_expr IZERO;/* csh-style expressions? */ + EXTERN int isoutatty IZERO; /* is SHOUT a tty */ + EXTERN int isdiagatty IZERO;/* is SHDIAG a tty */ +diff --git a/sh.proc.c b/sh.proc.c +index afcf0b9..ef25400 100644 +--- a/sh.proc.c ++++ b/sh.proc.c +@@ -559,9 +559,9 @@ pjwait(struct process *pp) + reason = 0; + fp = pp; + do { +- /* In case of pipelines only the result of the last +- * command should be taken in account */ +- if (!anyerror && !(fp->p_flags & PBRACE) ++ /* In case of POSIX-like behaviour, only the result of the last ++ * command in pipeline/backq should be taken in account */ ++ if (tcsh_posix_status && !(fp->p_flags & PBRACE) + && ((fp->p_flags & PPOU) || (fp->p_flags & PBACKQ))) + continue; + if (fp->p_reason) +diff --git a/sh.set.c b/sh.set.c +index b2c44b1..c740d6a 100644 +--- a/sh.set.c ++++ b/sh.set.c +@@ -106,8 +106,8 @@ update_vars(Char *vp) + else if (eq(vp, STRloginsh)) { + loginsh = 1; + } +- else if (eq(vp, STRanyerror)) { +- anyerror = 1; ++ else if (eq(vp, STRtcsh_posix_status)) { ++ tcsh_posix_status = 1; + } + else if (eq(vp, STRsymlinks)) { + Char *pn = varval(vp); +@@ -769,8 +769,8 @@ unset(Char **v, struct command *c) + HistLit = 0; + if (adrof(STRloginsh) == 0) + loginsh = 0; +- if (adrof(STRanyerror) == 0) +- anyerror = 0; ++ if (adrof(STRtcsh_posix_status) == 0) ++ tcsh_posix_status = 0; + if (adrof(STRwordchars) == 0) + word_chars = STR_WORD_CHARS; + if (adrof(STRedit) == 0) +diff --git a/tc.const.c b/tc.const.c +index e49f05a..1361da7 100644 +--- a/tc.const.c ++++ b/tc.const.c +@@ -43,7 +43,7 @@ Char STRrootdefautologout[] = { '1', '5', '\0' }; + #endif + Char STRautomatic[] = { 'a', 'u', 't', 'o', 'm', 'a', 't', 'i', 'c', + '\0' }; +-Char STRanyerror[] = { 'a', 'n', 'y', 'e', 'r', 'r', 'o', 'r', '\0' }; ++Char STRtcsh_posix_status[] = { 't', 'c', 's', 'h', '_', 'p', 'o', 's', 'i', 'x', '_', 's', 't', 'a', 't', 'u', 's', '\0' }; + Char STRhangup[] = { 'h', 'a', 'n', 'g', 'u', 'p', '\0' }; + Char STRaout[] = { 'a', '.', 'o', 'u', 't', '\0' }; + Char STRtty[] = { 't', 't', 'y', '\0' }; +diff --git a/tcsh.man b/tcsh.man +index 94de311..c10655b 100644 +--- a/tcsh.man ++++ b/tcsh.man +@@ -4383,14 +4383,10 @@ Reset to 1 in login shells. + See also \fBloginsh\fR. + .TP 8 + .B status +-The status returned by the last command, unless the variable +-.B anyerror +-is set, and any error in a pipeline or a backquote expansion will be +-propagated (this is the default +-.B csh +-behavior, and the current +-.B tcsh +-default). If it terminated ++The status of any error in a pipeline or a backquote expansion that is ++propagated as a result `status', unless `tcsh_posix_status' ++variable is set, and only the last command status is taken in account ++(the latter is default behaviour in POSIX-like shells). If it terminated + abnormally, then 0200 is added to the status. Builtin commands + which fail return exit status `1', all other builtin commands + return status `0'. +-- +1.9.3 + |