chdir(path = nil, verbose = @verbose)
public
Creates a Shell object which current directory is
set to path.
If a block is given, it restores the current directory when the block ends.
If called as iterator, it restores the current directory when the block
ends.
Show source
def chdir(path = nil, verbose = @verbose)
check_point
if iterator?
notify("chdir(with block) #{path}") if verbose
cwd_old = @cwd
begin
chdir(path, nil)
yield
ensure
chdir(cwd_old, nil)
end
else
notify("chdir #{path}") if verbose
path = "~" unless path
@cwd = expand_path(path)
notify "current dir: #{@cwd}"
rehash
Void.new(self)
end
end