From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5901 invoked from network); 24 Dec 1999 22:06:01 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 24 Dec 1999 22:06:01 -0000 Received: (qmail 17920 invoked by alias); 24 Dec 1999 22:05:49 -0000 Mailing-List: contact zsh-users-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 2808 Received: (qmail 17913 invoked from network); 24 Dec 1999 22:05:48 -0000 To: zsh-users@sunsite.auc.dk (Zsh list) Subject: Re: vared -h question In-reply-to: "Greg Klanderman"'s message of "Fri, 24 Dec 1999 12:56:49 EST." <14435.46049.340193.377803@pdx.itasoftware.com> Date: Fri, 24 Dec 1999 22:07:03 +0000 From: Peter Stephenson Message-Id: Greg Klanderman wrote: > > Hi, > > I'm trying to use vared to implement a simple read/eval/print loop: > > while cmd="" && vared -p "cmd: " cmd ; do > ## send cmd to server on host:port and print result > done > > I'd like to have history work, and if I use the -h flag I can access > the shell's history, but vared does not store the history of my > entered commands into the shell history it seems. So it's a bit > useless. Is there any way to do what I want, ie add a line into > the history? (I've redirected this to zsh-users.) The answer should be to stick `print -s $cmd' as the first command inside the loop, as well as adding the -h flag to vared. Embarassingly (at least in the latest 3.1.6++), that doesn't work properly because you don't get the most recent command in the history, though you do get the second most recent --- i.e. the third time round the while-loop you'll be able to re-edit what you entered on the first. This is just the latest in a huge line of off-by-one errors in the history code. Anyone want to fix it? Happy Christmas and a bug-free 1900 to all zsh users. (yes, it's a joke. no, I'm not expecting the world to end.) -- Peter Stephenson