cc:  sally.ch...@jda.com
Subject: Re: [uwin-users] typeset -H bug?
--------

> I sometimes need to get the windows style pathname (i.e. to put in a 
> classpath v
> ariable for java on windows). I've been using typeset -H to translate a path 
> suc
> h as '/C/...' to 'C:\...'  
> 
> But if the environment variable storing the pathname is inherited (either 
> from t
> he windows system/user environment variables, or from a parent ksh) then 
> using t
> ypeset -H on it seems to wipe out its value in the child ksh. If I return to 
> the
>  parent ksh, the value is still there.  See below.
> 
> $ export XVAR=/C/JDA
> $ echo $XVAR
> /C/JDA
> $ ksh
> $ echo $XVAR
> /C/JDA
> $ typeset -H XVAR
> $ echo $XVAR  #blank line returned
> 
> $ env |grep XVAR  #appears to have disappeared from the environment
> $ exit
> $ echo $XVAR 
> /C/JDA
> 
> Pretty sure this didn't happen in UWIN 3.1 (last version I used extensively).
> If I execute the typeset -H prior to spawning a new ksh, I get an error. 
> (This w
> as true in 3.1 as well)         
> 
> $ typeset -H XVAR
> $ echo $XVAR
> C:\JDA        
> $ ksh
> ksh: :: invalid character in expression - C:\JDA
> 
> Is there any way to work around this, other than re-exporting the relevant 
> envir
> onment variables when I spawn a new ksh?
> Thanks,
> Sally
> 
> 
This was caused by a change to ksh93.  I will restore the previous behavior
for the next ksh93 update in uwin.  However, a workaround is to use
        typeset -H XVAR=$XVAR
in the child shell.  This should work in 3.1 as well.


David Korn
d...@research.att.com
_______________________________________________
uwin-users mailing list
uwin-users@research.att.com
https://mailman.research.att.com/mailman/listinfo/uwin-users

Reply via email to