code: def do_cd(self, line):
          
          args = self.line_to_args(line)
          if len(args) == 0:
              dirname = '~'
          else:
              if args[0] == '-':
                  dirname = self.prev_dir
              else:
                  dirname = args[0]
          dirname = resolve_path(dirname)
  
          mode = auto(get_mode, dirname)
          if mode_isdir(mode):
              global cur_dir
              self.prev_dir = cur_dir
              cur_dir = dirname
              auto(chdir, dirname)
          else:
              print_err("Directory '%s' does not exist" % dirname)
docs: cd DIRECTORY
  
             Changes the current directory. ~ expansion is supported, and cd -
             goes to the previous directory.