From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15759 invoked by alias); 29 Apr 2012 16:55:45 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 17042 Received: (qmail 3427 invoked from network); 29 Apr 2012 16:55:34 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.2 Received-SPF: pass (ns1.primenet.com.au: SPF record at benizi.com designates 64.130.10.15 as permitted sender) Date: Sun, 29 Apr 2012 12:55:07 -0400 (EDT) From: "Benjamin R. Haskell" To: Zsh Users Subject: Re: Command not found handler for non-searched commands? In-Reply-To: Message-ID: References: User-Agent: Alpine 2.01 (LNX 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed 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? -- Best, Ben