fix ( ) compound list altering environment

This commit is contained in:
Michal Hlavinka 2011-03-07 11:39:51 +01:00
parent 54da721445
commit 524fb3b137
2 changed files with 19 additions and 1 deletions

12
ksh-20110208-clist.patch Normal file
View File

@ -0,0 +1,12 @@
diff -up ksh-20110208/src/cmd/ksh93/sh/subshell.c.clist ksh-20110208/src/cmd/ksh93/sh/subshell.c
--- ksh-20110208/src/cmd/ksh93/sh/subshell.c.clist 2010-11-03 21:01:11.000000000 +0100
+++ ksh-20110208/src/cmd/ksh93/sh/subshell.c 2011-03-02 15:52:14.339083830 +0100
@@ -242,7 +242,7 @@ Namval_t *sh_assignok(register Namval_t
if(!sp->shpwd || np==SH_LEVELNOD || np==L_ARGNOD || np==SH_SUBSCRNOD || np==SH_NAMENOD)
return(np);
/* don't bother to save if in newer scope */
- if(sp->var!=shp->var_tree && shp->last_root==shp->var_tree)
+ if(sp->var!=shp->var_tree && sp->var!=shp->var_base && shp->last_root==shp->var_tree)
return(np);
if((ap=nv_arrayptr(np)) && (mp=nv_opensub(np)))
{

View File

@ -6,7 +6,7 @@ URL: http://www.kornshell.com/
Group: System Environment/Shells Group: System Environment/Shells
License: CPL License: CPL
Version: 20110208 Version: 20110208
Release: 1%{?dist} Release: 2%{?dist}
Source0: http://www.research.att.com/~gsf/download/tgz/ast-ksh.%{releasedate}.tgz Source0: http://www.research.att.com/~gsf/download/tgz/ast-ksh.%{releasedate}.tgz
Source1: http://www.research.att.com/~gsf/download/tgz/INIT.%{releasedate}.tgz Source1: http://www.research.att.com/~gsf/download/tgz/INIT.%{releasedate}.tgz
Source3: kshrc.rhs Source3: kshrc.rhs
@ -20,6 +20,8 @@ Patch1: ksh-20070328-builtins.patch
#fix regression test suite to be usable during packagebuild - Fedora/RHEL specific #fix regression test suite to be usable during packagebuild - Fedora/RHEL specific
Patch2: ksh-20100826-fixregr.patch Patch2: ksh-20100826-fixregr.patch
Patch3: ksh-20110208-clist.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Conflicts: pdksh Conflicts: pdksh
Requires: coreutils, glibc-common, diffutils Requires: coreutils, glibc-common, diffutils
@ -40,6 +42,7 @@ with "sh" (the Bourne Shell).
%setup -q -T -D -a 1 %setup -q -T -D -a 1
%patch1 -p1 -b .builtins %patch1 -p1 -b .builtins
%patch2 -p1 -b .fixregr %patch2 -p1 -b .fixregr
%patch3 -p1 -b .clist
#/dev/fd test does not work because of mock #/dev/fd test does not work because of mock
sed -i 's|ls /dev/fd|ls /proc/self/fd|' src/cmd/ksh93/features/options sed -i 's|ls /dev/fd|ls /proc/self/fd|' src/cmd/ksh93/features/options
@ -118,6 +121,9 @@ fi
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
%changelog %changelog
* Mon Mar 07 2011 Michal Hlavinka <mhlavink@redhat.com> - 20110208-2
- fix ( ) compound list altering environment
* Wed Feb 09 2011 Michal Hlavinka <mhlavink@redhat.com> - 20110208-1 * Wed Feb 09 2011 Michal Hlavinka <mhlavink@redhat.com> - 20110208-1
- ksh updated to 2011-02-08 - ksh updated to 2011-02-08