From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9238 invoked from network); 25 Mar 2000 07:51:37 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 25 Mar 2000 07:51:37 -0000 Received: (qmail 22432 invoked by alias); 25 Mar 2000 07:51:29 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 10240 Received: (qmail 22417 invoked from network); 25 Mar 2000 07:51:27 -0000 To: zsh-workers@sunsite.auc.dk Path: mason From: mason@primenet.com.au (Geoff Wing) X-Newsgroups: lists.zsh.workers Subject: Bart's cleareod patch users/2973 (Was: zsh-3.1.6-dev-20) Date: 25 Mar 2000 07:51:21 GMT Organization: PrimeNet Computer Consultants Distribution: local Message-ID: References: Peter Stephenson's message of "Thu, 23 Mar 2000 21:56:33 +0000" Reply-To: mason@primenet.com.au NNTP-Posting-Host: coral.primenet.com.au X-Trace: coral.primenet.com.au 953970681 6654 203.43.15.2 (25 Mar 2000 07:51:21 GMT) X-Complaints-To: usenet@coral.primenet.com.au NNTP-Posting-Date: 25 Mar 2000 07:51:21 GMT User-Agent: slrn/0.9.6.2 (NetBSD) Tanaka Akira typed: :* zsh-users_2973 is not applied. (Because Geoff is not commented?) Sorry, the message made it onto the disk and into the mailing list archive but for some reason didn't get posted into my news system so I missed it. Excerpts from Bart's message: :I believe this has to do with the always_last_prompt option -- the code :that prints the prompt wants to be sure that there's a clean slate below :the prompt where it can display completion listings. However, it's a :bit too aggressive; it performs the clear-eod whenever it's "safe" to do :so (that is, whenever there's no completion listing there already that :needs to continue to be seen) and not just whenever it's necessary to do :so (which it -almost- never is when always_last_prompt is not set). Usually it's unnecessary. However, most of the commands people run are external to the shell and their output cannot be guaranteed to leave the cursor in an appropriate position (i.e. below any output the external command has generated). Thus we clear a ``workspace'' and now we can utilise an area we know is blank. CLEAREOD is the quickest way. Bart's change makes it affect only the area we currently use. The problem with this (though maybe other people won't consider it a problem) is that it does not leave any buffer space (e.g. an extra blank line) between zsh output and any garbage that may be lying around on the screen. Always putting an extra blank line in will cause some extra/unnecessary scrolling if we're at the bottom of the screen (and usually we can't reliably determine where we are on the screen). So the options are: 1) CLEAREOD (commonly: ``^[[J'') 2) CLEAREOL in our area (commonly: ``^[[K'' on each line) 3) CLEAREOL in our area plus an extra line Now there are parts of the screen refresh which are a bit aggressive, viz. if we've done a CLEAREOD we still might do CLEAREOL further on - however I haven't considered all the display permutations to determine whether it is worth removing them yet. Regards, -- Geoff Wing : Work URL: http://www.primenet.com.au/ Rxvt Stuff : Ego URL : http://pobox.com/~gcw/ Zsh Stuff : Phone : (Australia) 0413 431 874