From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21006 invoked from network); 27 Jun 1999 20:17:43 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 27 Jun 1999 20:17:43 -0000 Received: (qmail 20213 invoked by alias); 27 Jun 1999 20:17:37 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 6884 Received: (qmail 20206 invoked from network); 27 Jun 1999 20:17:34 -0000 To: zsh-workers@sunsite.auc.dk Path: mason From: mason@primenet.com.au (Geoff Wing) X-Newsgroups: lists.zsh.workers Subject: Re: Zle redisplay bug in pws-24 Date: 27 Jun 1999 20:17:28 GMT Organization: PrimeNet Computer Consultants Distribution: local Message-ID: References: <990627093815.ZM9764@candle.brasslantern.com> Reply-To: mason@primenet.com.au NNTP-Posting-Host: coral.primenet.com.au X-Trace: coral.primenet.com.au 930514648 20986 203.43.15.2 (27 Jun 1999 20:17:28 GMT) X-Complaints-To: usenet@coral.primenet.com.au NNTP-Posting-Date: 27 Jun 1999 20:17:28 GMT User-Agent: slrn/0.9.5.6 (UNIX) Bart Schaefer typed: [...stuff deleted...] :and appears to have something to do with killing a line that is exactly :one character shorter than the width of the terminal. [...stuff deleted...] My brain must be malfunctioning for me to have spent ages on the wrong track after being misled by this. This is the simple patch. I doubt the super optimised version would be worth the complexities involved. *** Src/Zle/zle_refresh.c.org Sun Jun 20 22:36:14 1999 --- Src/Zle/zle_refresh.c Mon Jun 28 06:11:09 1999 *************** *** 495,501 **** /* if old line and new line are different, see if we can insert/delete a line to speed up update */ ! if (ln < olnct - 1 && !(hasam && vcs == winw) && nbuf[ln] && obuf[ln] && strncmp(nbuf[ln], obuf[ln], 16)) { if (tccan(TCDELLINE) && obuf[ln + 1] && obuf[ln + 1][0] && --- 495,501 ---- /* if old line and new line are different, see if we can insert/delete a line to speed up update */ ! if (ln > 0 && ln < olnct - 1 && !(hasam && vcs == winw) && nbuf[ln] && obuf[ln] && strncmp(nbuf[ln], obuf[ln], 16)) { if (tccan(TCDELLINE) && obuf[ln + 1] && obuf[ln + 1][0] && -- Geoff Wing : Work URL: http://www.primenet.com.au/ Rxvt Stuff : Ego URL : http://pobox.com/~gcw/ Zsh Stuff : Phone : (Australia) 0413 431 874