On Sun, 29 Apr 2012, Benjamin R. Haskell wrote:
> I use autocd quite a bit.  And often the first thing I want to do when
> starting a new project is to create a directory and cd into it.  I tried
> creating the following command_not_found_handler:
> 
Okay.  Different tack, different problem:
preexec {
 __last_command=$1
 # ... etc.
}
trap '
 local dir= create=
 set -- ${=__last_command}
 (( $# == 1 )) || return 1
 [[ $1 == */* ]] || return 1
 dir=$1
 read -q "create?Create $dir [y/N]? " || return 1
 mkdir -p $dir || return 1
 cd $dir
' ZERR
Now $dir ends up containing '~/tmp/one-off-project', with the '~' unexpanded.
Seeing as how the directory doesn't yet exist, I can't just glob it.  Is there
a function to do just named-directory expansion?