tMake fn cd safe for rc -e. - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 3f056d8ef2b5eec8cc0401a0e9420977d5b248ea
 (DIR) parent 915a8b77ff4d314b03ec24680a868d09aa5b7c18
 (HTM) Author: rsc <devnull@localhost>
       Date:   Wed, 10 Aug 2005 16:59:19 +0000
       
       Make fn cd safe for rc -e.
       
       Diffstat:
         M rcmain                              |      13 ++++++++++---
       
       1 file changed, 10 insertions(+), 3 deletions(-)
       ---
 (DIR) diff --git a/rcmain b/rcmain
       t@@ -24,9 +24,16 @@ if(! ~ $#cflag 0){
        }
        if(flag i){
                if(~ $TERM 9term){
       -                if(~ $#'fn#cd' 0)
       -                        fn cd { builtin cd $1 && flag i && awd }
       -                awd
       +                fn cd {
       +                        # builtin cd $1 && flag i && awd
       +                        # is not sufficient when running in a subshell
       +                        # that is rc -e (like mk uses!)
       +                        if(builtin cd $1){
       +                                if(flag i) $PLAN9/bin/9 awd || status=''
       +                                status=''
       +                        }
       +                }
       +                $PLAN9/bin/9 awd
                }
                if(flag l && test -r $home/lib/profile) . $home/lib/profile
                status=''