From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from gatech.edu (gatech.edu [130.207.244.244]) by werple.mira.net.au (8.6.12/8.6.9) with SMTP id XAA26507 for ; Thu, 10 Aug 1995 23:34:35 +1000 Received: from math (math.skiles.gatech.edu) by gatech.edu with SMTP id AA12487 (5.65c/Gatech-10.0-IDA for ); Thu, 10 Aug 1995 09:31:36 -0400 Received: by math (5.x/SMI-SVR4) id AA04592; Thu, 10 Aug 1995 09:25:53 -0400 Resent-Date: Thu, 10 Aug 1995 13:54:54 +0100 (BST) Old-Return-Path: From: Zefram Message-Id: <25700.199508101327@stone.dcs.warwick.ac.uk> Subject: Re: Revised dohistexpand() To: P.Stephenson@swansea.ac.uk Date: Thu, 10 Aug 1995 13:54:54 +0100 (BST) In-Reply-To: <23407.9508091711@pyro.swan.ac.uk> from "P.Stephenson@swansea.ac.uk" at Aug 9, 95 06:11:33 pm X-Loop: zefram@dcs.warwick.ac.uk X-Stardate: [-31]6112.69 Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: zefram@dcs.warwick.ac.uk Resent-Message-Id: <"gZqx3.0.c71.WZWAm"@math> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/302 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu Peter wrote: >Still, now I've found out what all this code does, maybe I can work >around it some other way. I'm hoping, eventually, to modify the >history code so that only the lines actually typed are stored, with >the word separation in a list of numbers I like this idea. Much of the expansion/completion code could benefit from having the parser point out word beginnings to it. This would be a great aid to consistency in complex quoting (e.g. "a b" "`a b`" "`'a b'`" etc.). It would similarly help to have nesting indicated in this way, to help with command/process substitution. I note that you confine history expansion to the current word. This has the rather nice effect that typing "!!^V abc" won't expand the initial !!, which is helpful for those of us using magic-space. However, it has some problems associated with it. Does extended completion work after (in a separate word from) a history reference, bearing in mind that the history reference could expand to several words? On magic-space: it shouldn't expand history when the cursor is in a history reference (e.g. !{a). At the moment doexpandhist() removes the word; it should feep and leave the word unchanged. The same applies to expand-history, which also calls doexpandhist(). I also think an error should be flagged when attempting to expand an invalid history reference, rather than removing it (this would accurately reflect how zsh treats the bad history reference in a completed line). Magic-space also ought to do no history expansion immediately after a backslash. This is already fixed in the hzoli releases. Finally, I think this new patch reintroduces an old bug. (I don't have hzoli10.2 to check it, but I'm fairly certain.) Prior to the patch the code contains a statement that resets the vi beginning-of-insertion pointer to the beginning of the line when expanding history, because that's where expansion starts from. After the patch, there is no such code. The pointer ought to move back to the beginning of the word being expanded, as it is with other forms of expansion. -zefram