From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from euclid.skiles.gatech.edu (list@euclid.skiles.gatech.edu [130.207.146.50]) by coral.primenet.com.au (8.7.5/8.7.3) with ESMTP id PAA00247 for ; Sat, 31 Aug 1996 15:53:14 +1000 (EST) Received: (from list@localhost) by euclid.skiles.gatech.edu (8.7.3/8.7.3) id BAA15806; Sat, 31 Aug 1996 01:43:58 -0400 (EDT) Resent-Date: Sat, 31 Aug 1996 01:43:58 -0400 (EDT) From: Geoff Wing Message-Id: <199608310542.PAA03160@coral.primenet.com.au> Subject: Re: xterm cur&paste To: hzoli@cs.elte.hu (Zoltan Hidvegi) Date: Sat, 31 Aug 1996 15:42:32 +1000 (EST) Cc: zsh-workers@math.gatech.edu In-Reply-To: <199608301622.SAA01835@bolyai.cs.elte.hu> from "Zoltan Hidvegi" at Aug 30, 96 06:22:37 pm X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Resent-Message-ID: <"eP-7a.0.us3.T4z9o"@euclid> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/2095 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu Zoltan Hidvegi wrote: :> But don't expect a patch before next Tuesday/Wednesday. Of course, it could be earlier. This should change it so CLEAREOL and new lines don't get used too early if the line extends the whole way, but can be used if it doesn't. This should fix up the multiline cut & paste, without affecting normal long lines. *** zle_refresh.c 1996/08/12 01:39:05 2.13 --- zle_refresh.c 1996/08/30 15:58:02 *************** *** 490,500 **** char_ins = 0, /* number of characters inserted/deleted */ col_cleareol, /* clear to end-of-line from this column */ i, j, /* tmp */ ! nllen, ollen; /* new and old line buffer lengths */ /* 0: setup */ nl = nbuf[ln]; ! nllen = nl ? strlen(nl) : 0; ol = obuf[ln] ? obuf[ln] : ""; ollen = strlen(ol); --- 490,501 ---- char_ins = 0, /* number of characters inserted/deleted */ col_cleareol, /* clear to end-of-line from this column */ i, j, /* tmp */ ! nllen, ollen, /* new and old line buffer lengths */ ! rnllen; /* real new line buffer length */ /* 0: setup */ nl = nbuf[ln]; ! rnllen = nllen = nl ? strlen(nl) : 0; ol = obuf[ln] ? obuf[ln] : ""; ollen = strlen(ol); *************** *** 528,534 **** With automatic margins, we shouldn't do it if there is another line, in case it messes up cut and paste. */ ! if (hasam && ln < nlnct - 1) col_cleareol = -2; /* clearing eol would be evil so don't */ else { col_cleareol = -1; --- 529,535 ---- With automatic margins, we shouldn't do it if there is another line, in case it messes up cut and paste. */ ! if (hasam && ln < nlnct - 1 && rnllen == winw) col_cleareol = -2; /* clearing eol would be evil so don't */ else { col_cleareol = -1; -- Geoff Wing [mason@primenet.com.au] PrimeNet - Internet Consultancy Web: http://www.primenet.com.au/ Facsimile: +61-3-9819 3788