From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21137 invoked by alias); 16 Feb 2016 10:29:19 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 37996 Received: (qmail 1774 invoked from network); 16 Feb 2016 10:29:17 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_00,TO_NO_BRKTS_PCNT autolearn=no autolearn_force=no version=3.4.1 Date: Tue, 16 Feb 2016 11:01:40 +0100 From: Vincent Lefevre To: zsh-workers@zsh.org Subject: Re: clear-screen widget and prompt expansion Message-ID: <20160216100140.GA27569@cventin.lip.ens-lyon.fr> Mail-Followup-To: zsh-workers@zsh.org References: <20160204141206.GA9349@cventin.lip.ens-lyon.fr> <160204073731.ZM25972@torch.brasslantern.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <160204073731.ZM25972@torch.brasslantern.com> X-Mailer-Info: https://www.vinc17.net/mutt/ User-Agent: Mutt/1.5.24-6557-vl-r83103 (2016-02-11) On 2016-02-04 07:37:31 -0800, Bart Schaefer wrote: > On Feb 4, 3:12pm, Vincent Lefevre wrote: > } Shouldn't the prompt also be re-expanded (like when the screen is > } resized)? Or is it up to the user to create a new widget for that? > > There was a deliberate decision made a long time ago that once ZLE > is started, the prompt is a relatively static part of the editor. > Originally this was because prompts are formatted by the shell (even > if ZLE is disabled) and ZLE was treated like a separate entity. > > Window resize is particularly tricky because, depending on the window > manager/desktop application, SIGWINCH may be sent either only once > when the user releases the mouse button (or otherwise ends the drag- > resize operation), or multiple times in very rapid succession for every > incremental drag motion. > > So it's left up to the user to decide how to handle that, typically by > something like > TRAPWINCH() { zle && zle reset-prompt } I meant that prompt is already re-expanded when the terminal is resized. What I'm saying is that clear-screen is not consistent with that. For instance, with RPS1="<%*" after "zsh -f", when resizing the terminal, the time is updated, but with Ctrl-L it is not. I'm wondering whether such a difference is expected. Moreover I thought that zle -A clear-screen real-clear-screen cls-rp() { zle real-clear-screen; zle reset-prompt } zle -N clear-screen cls-rp would do what I expect, but this doesn't work in incremental search mode (while the prompt is still re-expanded when the terminal is resized). -- Vincent Lefèvre - Web: 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)