rpms/tcsh/F-12 tcsh-6.17.00-printexitvalue.patch, NONE, 1.1 tcsh.spec, 1.66, 1.67
vcrhonek
vcrhonek at fedoraproject.org
Tue Dec 15 15:59:36 UTC 2009
- Previous message: rpms/libtdb/devel .cvsignore, 1.3, 1.4 libtdb.spec, 1.5, 1.6 sources, 1.4, 1.5
- Next message: rpms/ConsoleKit/F-12 nodeamon.patch, NONE, 1.1 ConsoleKit.spec, 1.49, 1.50
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: vcrhonek
Update of /cvs/pkgs/rpms/tcsh/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv13234
Modified Files:
tcsh.spec
Added Files:
tcsh-6.17.00-printexitvalue.patch
Log Message:
Fix tcsh obeys printexitvalue for back-ticks
tcsh-6.17.00-printexitvalue.patch:
sh.glob.c | 4 ++++
sh.sem.c | 18 +++++++++---------
2 files changed, 13 insertions(+), 9 deletions(-)
--- NEW FILE tcsh-6.17.00-printexitvalue.patch ---
diff -up tcsh-6.17.00/sh.glob.c_old tcsh-6.17.00/sh.glob.c
--- tcsh-6.17.00/sh.glob.c_old 2009-12-15 12:38:48.000000000 +0100
+++ tcsh-6.17.00/sh.glob.c 2009-12-15 12:40:52.000000000 +0100
@@ -882,6 +882,10 @@ backeval(struct blk_buf *bb, struct Strb
alias(¶ml);
t = syntax(paraml.next, ¶ml, 0);
cleanup_push(t, syntax_cleanup);
+ /* The F_BACKQ flag must set so the job output is correct if
+ * printexitvalue is set. If it's not set, the job output
+ * will have "Exit N" appended where N is the exit status. */
+ t->t_dflg = F_BACKQ;
if (seterr)
stderror(ERR_OLD);
#ifdef SIGTSTP
diff -up tcsh-6.17.00/sh.sem.c_old tcsh-6.17.00/sh.sem.c
--- tcsh-6.17.00/sh.sem.c_old 2009-12-15 12:41:03.000000000 +0100
+++ tcsh-6.17.00/sh.sem.c 2009-12-15 12:57:49.000000000 +0100
@@ -664,31 +664,31 @@ execute(struct command *t, volatile int
#endif /* !CLOSE_ON_EXEC */
didfds = 0;
wanttty = -1;
- t->t_dspr->t_dflg |= t->t_dflg & F_NOINTERRUPT;
+ t->t_dspr->t_dflg |= t->t_dflg & (F_NOINTERRUPT | F_BACKQ);
execute(t->t_dspr, wanttty, NULL, NULL, do_glob);
exitstat();
case NODE_PIPE:
#ifdef BACKPIPE
t->t_dcdr->t_dflg |= F_PIPEIN | (t->t_dflg &
- (F_PIPEOUT | F_AMPERSAND | F_NOFORK | F_NOINTERRUPT));
+ (F_PIPEOUT | F_AMPERSAND | F_NOFORK | F_NOINTERRUPT | F_BACKQ));
execute(t->t_dcdr, wanttty, pv, pipeout, do_glob);
t->t_dcar->t_dflg |= F_PIPEOUT |
- (t->t_dflg & (F_PIPEIN | F_AMPERSAND | F_STDERR | F_NOINTERRUPT));
+ (t->t_dflg & (F_PIPEIN | F_AMPERSAND | F_STDERR | F_NOINTERRUPT | F_BACKQ));
execute(t->t_dcar, wanttty, pipein, pv, do_glob);
#else /* !BACKPIPE */
t->t_dcar->t_dflg |= F_PIPEOUT |
- (t->t_dflg & (F_PIPEIN | F_AMPERSAND | F_STDERR | F_NOINTERRUPT));
+ (t->t_dflg & (F_PIPEIN | F_AMPERSAND | F_STDERR | F_NOINTERRUPT | F_BACKQ));
execute(t->t_dcar, wanttty, pipein, pv, do_glob);
t->t_dcdr->t_dflg |= F_PIPEIN | (t->t_dflg &
- (F_PIPEOUT | F_AMPERSAND | F_NOFORK | F_NOINTERRUPT));
+ (F_PIPEOUT | F_AMPERSAND | F_NOFORK | F_NOINTERRUPT | F_BACKQ));
execute(t->t_dcdr, wanttty, pv, pipeout, do_glob);
#endif /* BACKPIPE */
break;
case NODE_LIST:
if (t->t_dcar) {
- t->t_dcar->t_dflg |= t->t_dflg & F_NOINTERRUPT;
+ t->t_dcar->t_dflg |= t->t_dflg & (F_NOINTERRUPT | F_BACKQ);
execute(t->t_dcar, wanttty, NULL, NULL, do_glob);
/*
* In strange case of A&B make a new job after A
@@ -699,7 +699,7 @@ execute(struct command *t, volatile int
}
if (t->t_dcdr) {
t->t_dcdr->t_dflg |= t->t_dflg &
- (F_NOFORK | F_NOINTERRUPT);
+ (F_NOFORK | F_NOINTERRUPT | F_BACKQ);
execute(t->t_dcdr, wanttty, NULL, NULL, do_glob);
}
break;
@@ -707,7 +707,7 @@ execute(struct command *t, volatile int
case NODE_OR:
case NODE_AND:
if (t->t_dcar) {
- t->t_dcar->t_dflg |= t->t_dflg & F_NOINTERRUPT;
+ t->t_dcar->t_dflg |= t->t_dflg & (F_NOINTERRUPT | F_BACKQ);
execute(t->t_dcar, wanttty, NULL, NULL, do_glob);
if ((getn(varval(STRstatus)) == 0) !=
(t->t_dtyp == NODE_AND)) {
@@ -716,7 +716,7 @@ execute(struct command *t, volatile int
}
if (t->t_dcdr) {
t->t_dcdr->t_dflg |= t->t_dflg &
- (F_NOFORK | F_NOINTERRUPT);
+ (F_NOFORK | F_NOINTERRUPT | F_BACKQ);
execute(t->t_dcdr, wanttty, NULL, NULL, do_glob);
}
break;
Index: tcsh.spec
===================================================================
RCS file: /cvs/pkgs/rpms/tcsh/F-12/tcsh.spec,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -p -r1.66 -r1.67
--- tcsh.spec 4 Nov 2009 13:51:24 -0000 1.66
+++ tcsh.spec 15 Dec 2009 15:59:36 -0000 1.67
@@ -3,7 +3,7 @@
Summary: An enhanced version of csh, the C shell
Name: tcsh
Version: 6.17
-Release: 4%{?dist}
+Release: 5%{?dist}
License: BSD
Group: System Environment/Shells
Source: ftp://ftp.astron.com/pub/tcsh/%{name}-%{version}.00.tar.gz
@@ -19,6 +19,7 @@ Patch11: tcsh-6.14.00-order.patch
Patch12: tcsh-6.15.00-rs-color.patch
Patch13: tcsh-6.17.00-mh-color.patch
Patch14: tcsh-6.17.00-glob-automount.patch
+Patch15: tcsh-6.17.00-printexitvalue.patch
Provides: csh = %{version}
Requires(post): grep
Requires(postun): coreutils, grep
@@ -48,6 +49,7 @@ like syntax.
%patch12 -p1 -b .rs-color
%patch13 -p1 -b .mh-color
%patch14 -p1 -b .glob-automount
+%patch15 -p1 -b .printexitvalue
for i in Fixes WishList; do
iconv -f iso-8859-1 -t utf-8 "$i" > "${i}_" && \
@@ -121,6 +123,10 @@ fi
%{_mandir}/man1/*.1*
%changelog
+* Tue Dec 15 2009 Vitezslav Crhonek <vcrhonek at redhat.com> - 6.17-5
+- Fix tcsh obeys printexitvalue for back-ticks
+ Resolves: #546644
+
* Wed Nov 4 2009 Vitezslav Crhonek <vcrhonek at redhat.com> - 6.17-4
- Fix tcsh globbing causing bad automount
- Previous message: rpms/libtdb/devel .cvsignore, 1.3, 1.4 libtdb.spec, 1.5, 1.6 sources, 1.4, 1.5
- Next message: rpms/ConsoleKit/F-12 nodeamon.patch, NONE, 1.1 ConsoleKit.spec, 1.49, 1.50
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list