bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bash-3.2 multibyte behavior on Solaris


From: Chet Ramey
Subject: Re: bash-3.2 multibyte behavior on Solaris
Date: Fri, 26 Jun 2009 11:23:43 -0400
User-agent: Thunderbird 2.0.0.22 (Macintosh/20090605)

Jan Hnatek wrote:
> Hi Chet,
> 
> unfortunately, there's additional problem with bash
> multibyte behavior, which is specific to sparc.
> 
> When using bash patch level <49 on sparc in multibyte,
> pressing right arrow at the end of the line moves
> the cursor one character left.
> 
> When using bash patch level 49 on sparc in multibyte,
> pressing right arrow at the end of the line moves
> the cursor two characters left.
> 
> Attached patch does remove the issue, but may
> not be the core problem... I'd be grateful for
> comments.
> 
> Thanks & regards,
> hnhn
> 
> 
> --- bash-3.2/lib/readline/mbutil.c.orig Thu Jun 25 08:34:51 2009
> +++ bash-3.2/lib/readline/mbutil.c      Thu Jun 25 08:36:51 2009
> @@ -128,7 +128,7 @@
>         }
>      }
> 
> -  if (find_non_zero)
> +  if (find_non_zero && len)
>      {
>        tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps);
>        while (tmp > 0 && wcwidth (wc) == 0)
> 

So what does the Solaris mbrtowc return in this case?  The flow of that
particular section of code isn't that great (bash-4.0 is better), but it
seems to me that point can only increase.  If mbrtowc returns -2, the
loop won't be entered at all.

Chet
-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer

Chet Ramey, ITS, CWRU    chet@case.edu    http://cnswww.cns.cwru.edu/~chet/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]