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

Re: 3.1.6-dev-22



Bart Schaefer wrote about Re: 3.1.6-dev-22:
:On Apr 12,  6:30am, Geoff Wing wrote:
:} Subject: Re: 3.1.6-dev-22
:} We differ from other shells in that we have a clear workspace
:} under the prompt line.  Apply [users/2973] and [...]
:} My preference is for the current arrangement and I have
:} noalwayslastprompt - adding the patch may spawn another setopt
:} value: gimmeaclearworkspace :-)
:I'll play with this a bit when I'm wider awake, but:

I've been waiting.  Are you wider awake yet?  :-)

:Can't you get the same effect with 2973 applied by having %E as the last
:thing in $PS1 ?

:And what's the point of having the %E escape if zsh is always going to
:clear the screen unconditionally?  Just for "print -P"?

OK.  Here are some starting points:
1) %E is CLEAREOL (erase to end of line)
2) The display code doesn't know about %E.  The prompt code handles
   that but doesn't pass that information through, leading to:
3) %E in prompts may be dangerous.  In certain (possibly contrived)
   situations the display code may have the cursor within the prompt
   and decide the quickest way to get past it is to output the prompt.
   However it won't know that you've CLEAREOL'd so you may end up
   missing text in the display.  The likelyhood of this happening to
   anyone is probably extremely low since, IIRC, you would need wierd
   termcap/terminfo settings to achieve it.
4) CLEAREOL only affects the directly managed display (the prompt lines)
   whereas the patch affects sending CLEAREOD which also affects text
   under the prompt lines.
5) You can't unconditionally put CLEAREOD in left or right prompt
   because of several situations including lists or extended lines,
   e.g. the right prompt can be removed or redrawn without affecting
   the following lines;  if it's redrawn and it has CLEAREOD, blam!

Regards,
-- 
Geoff Wing : <gcw@xxxxxxxxx>     Work URL: http://www.primenet.com.au/
Rxvt Stuff : <gcw@xxxxxxxx>      Ego URL : http://pobox.com/~gcw/
Zsh Stuff  : <gcw@xxxxxxx>       Phone   : (Australia) 0413 431 874



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