मैंने ज़ीश रखवाले को एक बग रिपोर्ट भेजी है, लेकिन ऐसा लगता है कि यह व्यवहार डिजाइन द्वारा है। हालाँकि इस मुद्दे ने मुझे इतना परेशान कर दिया कि मैंने खुद को अस्थायी फिक्स के रूप में zsh को पैच और संकलन करने का फैसला किया। यदि आप OS X पर हैं और Homebrew का उपयोग करते हैं (आपको चाहिए), तो आप दौड़ लगाकर मेरे पैच सहित zsh स्थापित कर सकते हैं:
brew install https://gist.github.com/padde/7963205/raw/eaedcc557859a40db87282fc39256fccd52d0aad/zsh.rb
आप की संभावना जोड़ना चाहते हैं जाएगा /usr/local/bin/zsh
करने के लिए /etc/shells
और chsh -s /usr/local/bin/zsh
बाद में। अंत में, यहाँ कच्चा है जो किसी के लिए भी अलग है:
diff --git a/Src/Zle/zle_refresh.c b/Src/Zle/zle_refresh.c
index 17b78ce..f136178 100644
--- a/Src/Zle/zle_refresh.c
+++ b/Src/Zle/zle_refresh.c
@@ -1576,7 +1576,7 @@ zrefresh(void)
else
put_rpmpt = rprompth == 1 && rpromptbuf[0] &&
!strchr(rpromptbuf, '\t') &&
- (int)ZR_strlen(nbuf[0]) + rpromptw < winw - 1;
+ (int)ZR_strlen(nbuf[0]) + rpromptw < winw;
} else {
/* insert >.... on first line if there is more text before start of screen */
ZR_memset(nbuf[0], zr_sp, lpromptw);
@@ -1631,9 +1631,9 @@ zrefresh(void)
if (put_rpmpt && !iln && !oput_rpmpt) {
int attrchange;
- moveto(0, winw - 1 - rpromptw);
+ moveto(0, winw - rpromptw);
zputs(rpromptbuf, shout);
- vcs = winw - 1;
+ vcs = winw;
/* reset character attributes to that set by the main prompt */
txtchange = pmpt_attr;
/*