zsh-workers
 help / color / mirror / code / Atom feed
* TTY output mangling when userdirs populated by tab expansion
@ 2008-07-22  0:09 Phil Pennock
  2008-07-22 19:49 ` Peter Stephenson
  0 siblings, 1 reply; 3+ messages in thread
From: Phil Pennock @ 2008-07-22  0:09 UTC (permalink / raw)
  To: zsh-workers; +Cc: dackze

Confirmed with a fairly recent CVS-built zsh binary:

...% ./dbg/bin/zsh -f
redoubt% PS1='%?[%y]%~%# '
0[ttyp4]~% cd /var/home/docs
0[ttyp4]/var/home/docs%     <hit enter to get a preserved line>
[type: cd ~<tab>]
0[ttyp4]/var/hocd ~
[hit ^C]
1[ttyp4]~docs% 

It looks as though the line-length gets recalculated and the post-prompt
stuff redrawn without the prompt being redrawn, so the text overlays the
prompt and everything is confusing and ugly.

-Phil


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: TTY output mangling when userdirs populated by tab expansion
  2008-07-22  0:09 TTY output mangling when userdirs populated by tab expansion Phil Pennock
@ 2008-07-22 19:49 ` Peter Stephenson
  2008-07-22 21:26   ` Phil Pennock
  0 siblings, 1 reply; 3+ messages in thread
From: Peter Stephenson @ 2008-07-22 19:49 UTC (permalink / raw)
  To: zsh-workers

On Mon, 21 Jul 2008 17:09:41 -0700
Phil Pennock <zsh-workers+phil.pennock@spodhuis.org> wrote:
> Confirmed with a fairly recent CVS-built zsh binary:
> 
> ...% ./dbg/bin/zsh -f 
> redoubt% PS1='%?[%y]%~%# '
> 0[ttyp4]~% cd /var/home/docs
> 0[ttyp4]/var/home/docs%     <hit enter to get a preserved line>
> [type: cd ~<tab>]
> 0[ttyp4]/var/hocd ~
> [hit ^C]
> 1[ttyp4]~docs% 
> 
> It looks as though the line-length gets recalculated and the post-prompt
> stuff redrawn without the prompt being redrawn, so the text overlays the
> prompt and everything is confusing and ugly.

The obvious thing to do is not to recalculate the prompt length if
you're not going to redisplay it.  This is part of the hackery
associated with ALWAYS_LAST_PROMPT.  This may be OK---I think the case
where we do need to redisplay the prompt at this point in the code is
where the existing prompt is not kept, i.e. quite specifically not this
case.

Index: Src/Zle/zle_refresh.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/Zle/zle_refresh.c,v
retrieving revision 1.70
diff -u -r1.70 zle_refresh.c
--- Src/Zle/zle_refresh.c	12 May 2008 13:50:43 -0000	1.70
+++ Src/Zle/zle_refresh.c	22 Jul 2008 19:43:28 -0000
@@ -1118,7 +1118,7 @@
 	/* cheat on attribute unset */
 	txtunset(TXTBOLDFACE|TXTSTANDOUT|TXTUNDERLINE);
 
-	if (trashedzle)
+	if (trashedzle && !clearflag)
 	    reexpandprompt(); 
 	resetvideo();
 	resetneeded = 0;	/* unset */


-- 
Peter Stephenson <p.w.stephenson@ntlworld.com>
Web page now at http://homepage.ntlworld.com/p.w.stephenson/


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: TTY output mangling when userdirs populated by tab expansion
  2008-07-22 19:49 ` Peter Stephenson
@ 2008-07-22 21:26   ` Phil Pennock
  0 siblings, 0 replies; 3+ messages in thread
From: Phil Pennock @ 2008-07-22 21:26 UTC (permalink / raw)
  To: Peter Stephenson; +Cc: zsh-workers

On 2008-07-22 at 20:49 +0100, Peter Stephenson wrote:
> The obvious thing to do is not to recalculate the prompt length if
> you're not going to redisplay it.

Patch confirmed to work for me.  Thanks.

-Phil


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-07-22 21:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-07-22  0:09 TTY output mangling when userdirs populated by tab expansion Phil Pennock
2008-07-22 19:49 ` Peter Stephenson
2008-07-22 21:26   ` Phil Pennock

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).