#!/bin/rc
# pushd - push onto the directory stack
# fn pushd {. /bin/pushd $*}

if(~ $#* 0){
	if(~ $#dirstack 0)
		echo >[1=2] pushd: dirstack empty
	if not{
		dir=$dirstack(1)
		dirstack=(`{pwd} $dirstack(2-))
	}
}
if not{
	dir=`{cleanname -d `{pwd} $1}
	dirstack=(`{pwd} $dirstack)
}
if(! ~ $#dirstack 0)
	cd $dir && dirs
status=''
