From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16583 invoked by alias); 12 Aug 2010 19:56:45 -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: 28160 Received: (qmail 29608 invoked from network); 12 Aug 2010 19:56:40 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received-SPF: pass (ns1.primenet.com.au: SPF record at ntlworld.com designates 81.103.221.47 as permitted sender) Date: Thu, 12 Aug 2010 20:56:13 +0100 From: Peter Stephenson To: zsh workers Subject: Re: Oddity with reset-prompt and vared Message-ID: <20100812205613.6d09af17@pws-pc> In-Reply-To: References: X-Mailer: Claws Mail 3.7.6 (GTK+ 2.18.9; x86_64-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Cloudmark-Analysis: v=1.1 cv=DhNl2YeytwJssBBGe49HJX82LNDFEEVkpVB34RXKaPo= c=1 sm=0 a=p0VTiiBi5jcA:10 a=DogomfpGjd0A:10 a=IkcTkHD0fZMA:10 a=pGLkceISAAAA:8 a=NLZqzBF-AAAA:8 a=kqYOzwYDhPt02jsOU0AA:9 a=rIuuFJRlqwG6sN20i4oA:7 a=4DFlXTvT3GY7HhwTb2gvr6Sd2VcA:4 a=QEXdDO2ut3YA:10 a=MSl-tDqOz04A:10 a=_dQi-Dcv4p4A:10 a=HpAAvcLHHh0Zw7uRqdWCyQ==:117 On Tue, 3 Aug 2010 22:30:32 +0200 Mikael Magnusson wrote: > % zsh -f > % function a() { zle reset-prompt; zle .accept-line } > % zle -N accept-line a > % a=3D > % vared a > aoeua > % vared a > =E3=81=A1=E3=81=A8=E3=81=97=E3=81=AF=E3=81=8D > This is a quite general (if rather boring) problem, I'm not sure why it hasn't shown up before. Second hunk isn't related but looks sensible. Index: Src/Zle/zle_refresh.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/zsh/zsh/Src/Zle/zle_refresh.c,v retrieving revision 1.79 diff -p -u -r1.79 zle_refresh.c --- Src/Zle/zle_refresh.c 2 Aug 2010 09:02:30 -0000 1.79 +++ Src/Zle/zle_refresh.c 12 Aug 2010 19:54:48 -0000 @@ -1789,7 +1789,7 @@ refreshline(int ln) /* 0: setup */ nl =3D nbuf[ln]; rnllen =3D nllen =3D nl ? ZR_strlen(nl) : 0; - if (obuf[ln]) { + if (ln < olnct && obuf[ln]) { ol =3D obuf[ln]; ollen =3D ZR_strlen(ol); } @@ -2083,7 +2083,12 @@ refreshline(int ln) if (now_off) settextattributes(TXT_ATTR_OFF_FROM_ON(now_off)); =20 +#ifdef MULTIBYTE_SUPPORT + if (nl->chr !=3D WEOF) + zputc(nl); +#else zputc(nl); +#endif nl++, ol++; ccs++, vcs++; #ifdef MULTIBYTE_SUPPORT --=20 Peter Stephenson Web page now at http://homepage.ntlworld.com/p.w.stephenson/