Saya telah mengirim laporan bug ke pengelola zsh, tetapi tampaknya perilaku ini sesuai dengan desain. Namun masalah ini sangat mengganggu saya sehingga saya memutuskan untuk menambal dan mengkompilasi zsh sendiri sebagai perbaikan sementara. Jika Anda menggunakan OS X dan menggunakan Homebrew (seharusnya), maka Anda dapat menginstal zsh termasuk tambalan saya dengan menjalankan:
brew install https://gist.github.com/padde/7963205/raw/eaedcc557859a40db87282fc39256fccd52d0aad/zsh.rb
Anda mungkin akan ingin menambahkan /usr/local/bin/zsh
untuk /etc/shells
dan chsh -s /usr/local/bin/zsh
sesudahnya. Terakhir, inilah perbedaan mentah untuk siapa saja yang tertarik:
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;
/*