This is what I was worried about, hence why I included the cover letter. I just tried setting ZLE_RPROMPT_INDENT=0 in my .zshrc and my terminal freaked out, it had no idea what to do with the cursor after I reached the bottom corner. Length or wraps of my LPROMPT didn't matter much since I have a multi-line config. The LPROMPT will not touch that character position, but the RPROMPT does. However, this would most likely indeed freak out on single-line LPROMPTS, although I could not come up with a config that'd do it. I don't think doing this based on ZLE_RPROMT_INDENT is the way to go, libvte based terminals require the number of TCUPs to match the number of lines the final prompt will have when drawn. I am open for fixing this patch, if we can reach an agreement on what the proper handling should be. I am sadly not clever enough about shells to come up with something on my own here. I am available in the IRC channel for discussion if that would help the decision making, since I can test configs quite quickly that way. On Tue, Jan 16, 2018 at 4:28 PM, Bart Schaefer wrote: > On Mon, Jan 15, 2018 at 2:35 AM, wrote: > > From: Warepire > > > > This triggers overf when the prompt is exactly as wide as the > > term, causes countprompt to count a 2-line prompt as 3 lines. > > Which transmits an errorneus TCUP to the PTY. In some terminals > > this causes the last line of the previous command to be erased. > > I see this has already been pushed to the zsh git, but I'm not sure > it's entirely correct. > > This may cause problems on some terminals where auto-margin causes an > additional linefeed when the rightmost (or in some cases only the > bottom rightmost) character position is written. I would be willing > to bet that the original code was intended to account for this, and > other code has changed around it. > > The correct thing may be to make this conditional upon > ZLE_RPROMPT_INDENT, or introduce a similar setting to override the > terminfo assertions of auto-wrap/auto-margin so that the user can > assert whether the additional TCUP is needed. >