diff options
author | Geoff Wing <gcw@users.sourceforge.net> | 2007-11-23 00:19:23 +0000 |
---|---|---|
committer | Geoff Wing <gcw@users.sourceforge.net> | 2007-11-23 00:19:23 +0000 |
commit | a5dd64f024524b987694b25c0225d4755860d748 (patch) | |
tree | 4873c114ba9351709af500623c8229cc45f5f9b4 /Src | |
parent | 30e6668678abec90536b97fc241d7a870738a376 (diff) | |
download | zsh-a5dd64f024524b987694b25c0225d4755860d748.tar.gz zsh-a5dd64f024524b987694b25c0225d4755860d748.tar.xz zsh-a5dd64f024524b987694b25c0225d4755860d748.zip |
24098: Fix my botch with 23924, rework out new prompts and
their lengths before use in resetvideo().
Diffstat (limited to 'Src')
-rw-r--r-- | Src/Zle/zle_refresh.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/Src/Zle/zle_refresh.c b/Src/Zle/zle_refresh.c index 2dfafb932..7983c7770 100644 --- a/Src/Zle/zle_refresh.c +++ b/Src/Zle/zle_refresh.c @@ -446,7 +446,6 @@ zrefresh(void) int tmpcs, tmpll; /* ditto cursor position and line length */ int tmpalloced; /* flag to free tmpline when finished */ int remetafy; /* flag that zle line is metafied */ - int fixprompt; /* we still need to reexpand the prompt */ struct rparams rpms; /* If this is called from listmatches() (indirectly via trashzle()), and * @@ -540,11 +539,6 @@ zrefresh(void) listshown = 0; } #endif - fixprompt = trashedzle; - resetvideo(); - resetneeded = 0; /* unset */ - oput_rpmpt = 0; /* no right-prompt currently on screen */ - /* we probably should only have explicitly set attributes */ tsetcap(TCALLATTRSOFF, 0); tsetcap(TCSTANDOUTEND, 0); @@ -552,6 +546,12 @@ zrefresh(void) /* cheat on attribute unset */ txtunset(TXTBOLDFACE|TXTSTANDOUT|TXTUNDERLINE|TXTDIRTY); + if (trashedzle) + reexpandprompt(); + resetvideo(); + resetneeded = 0; /* unset */ + oput_rpmpt = 0; /* no right-prompt currently on screen */ + if (!clearflag) { if (tccan(TCCLEAREOD)) tcout(TCCLEAREOD); @@ -562,8 +562,6 @@ zrefresh(void) } if (t0 > -1) olnct = (t0 < winh) ? t0 : winh; - if (fixprompt) - reexpandprompt(); if (termflags & TERM_SHORT) vcs = 0; else if (!clearflag && lpromptbuf[0]) { |