Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

History word code rewrite



Here's the next step in the history code clear up.  This one replaces
the mechanism for remembering word breaks with one which doesn't alter
the line itself.  The upshot is that what goes into the history is
more or less exactly what appears on the line (modulo quotation of
bangs).  This has enabled me to do away with the HIST_LIT option,
which did the same thing at a price.  It's quite big so it's gzipped
and uuencoded.

More details:

* The replacement code is generally pretty smart about spaces; all
spaces in a line should be left intact.  If you request one word from
a previous line (including with insert-last-word), you just get that
word.  If you request more than one word, you don't get spaces at the
end but any spaces in the middle are inserted as they were (so note
that `!!' always strips initial and final spaces).  No bogus spaces
are inserted:  things like
  ((SHLVL--))
appear in the history just like that, instead of
  (( SHLVL--))
(which always got on my goat).  Note one other upshot:  if the line
ended with a completion, the space after the completion remains in the
history as well (that's mainly why I made sure insert-last-word
removed it).  That's not a problem, but it's something to get used to.
(HIST_IGNORE_SPACE works as it always did, but if it's unset, you get
the inital space in the history list.)

* In the code, HISTSPACE (which used to be used to separate history
words) has disappeared from the face of the earth and been replaced
with an array containing the positions of beginning and ends of words.
This is another step to 8-bit-cleanliness since now the input is
pristine any time it enters the lexer.  [The next step would be the big
one: my suggestion is to introduce a METANEXT token in front of
characters with bit 7 set, stripping that bit and restoring it at
untokenisation.  It's probably not as easy as it sounds.  Lines with
embedded nulls are another matter.]

* The new method will require more memory but less work, and the code
is rather cleaner.  You are encouraged to report experiences; I
haven't done much testing of altered memory requirements.  There's
always the faint possibility of a memory leak in this sort of case (I
missed a couple of free's before I double checked).  The array of word
positions consists of shorts, which seemed the best compromise (if
your line is longer than 32767 characters, you're out of luck).

*  I have completely deleted all references to HIST_LIT.  I could
leave it just to do nothing for compatibility, but that doesn't really
seem necessary.  My guess is it wasn't much used.
Toggle-literal-history has gone, too.

* The reported problem that the (undocumented) syntax "if (...) then
..."  didn't work as it did in sh and ksh has been fixed as a side
effect.  (Actually, the real fix was to change an incmdpos setting in
parse.c.  However, on its own that had the problem that if you did
   alias foo='footle around'
   if (true) foo
and got a parse error (correct) the history line contained the
expanded alias (bad):  this was the hard part of the bug to fix.  The
new code handles errors better and the problem has disappeared.  Of
course, the message says "error near `footle'" instead of "error
near `foo'", but I think that's right:  it agrees with ksh, too, which
also expands aliases at that point.)

* I have checked `print -s', spell checking with the CORRECT option
and push-line-or-edit:  these are where any trouble is likely to occur
outside history itself.

* I've left in some '#if 0' lines from debugging code.  One day these
should probably all go behind an `#if ZSH_DEBUG'.

* The history code is a bit more self-contained by the use of hwget()
and hwrep() which get or replace the last history word used.  There
are still places outside hist.c where chline and hptr are manipulated
directly, however.

Other remarks:

* I said before I was hoping to replace history line expansion with
direct manipulation of the input line to avoid having effectively two
copies of the input.  I haven't done that yet, but this is certainly a
necessary step in the right direction.

* I'd also like to tidy up hbegin() and hend(): ideally I don't want
them to touch the actual history event list until the line is finished
and everything gets added at once.  It's not exactly clear to me why
it's currently done at the start (so that curhistent->text is actually
equal to chline all the time the line is being expanded).  If anyone
knows more about this please tell me.  I don't think it's because of
zle, since that keeps it's own copy of the editing line, which hasn't
gone through history expansion anyway.


begin 644 history_words.dif.gz
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
M@,F:%RE:W6[0ZO4K@xxxxx)@$,^7A;0]5*]$<+<8<BJ-I[M6H%%,SZ6YGKPI
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
MYK4@V"!^`>LX@xxxxxxxxxxx%#V[M!8C&["KH*PM5LH)D!T=`K"YVEFZ$X9!
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
2T321C[M^":C\'^5E[`?5\```
`
end

-- 
Peter Stephenson <pws@xxxxxx>       Tel: +49 33762 77366
WWW:  http://www.ifh.de/~pws/       Fax: +49 33762 77330
Deutches Electronen-Synchrotron --- Institut fuer Hochenergiephysik Zeuthen
DESY-IfH, 15735 Zeuthen, Germany.



Messages sorted by: Reverse Date, Date, Thread, Author