OK, so this appears to have been caused by the change:
"modify lins_chars() to handle a case where a script inserts a UTF-8 character (report by Thomas Dupond)."
lins_chars is being invoked with wide=0, and is working for codepoints >= 256 (which is why ę works, and £ does not).
I've pushed a rollback of that change to Debian as 0d1f060a. Relevant patch attached.
--bod
On Sat, 30 Jul 2022 at 00:00, Chris Green <
cl@isbd.net> wrote:
On Fri, Jul 29, 2022 at 04:27:05AM -0400, Thomas Dickey wrote:
> On Fri, Jul 29, 2022 at 03:40:12PM +1000, Brendan O'Dea wrote:
> > Testing the vile 9.8v-2 package on my Debian machine I get some decidedly
> > odd behaviour:
> >
> > The following sequence:
> >
> > <Compose>l- <Compose>e' <Compose>c,
> >
> > is rendered in vile as:
> >
> > \?A3\?E9\?E7
> >
> > outside of vile, in the same terminal that appears fine:
> >
> > Łéç
> >
> > which would suggest that vile doesn't handle UTF-8 at all, although as
> > Chris noted, entering those three characters using C-v x <hex> works fine,
> > and renders in vile correctly.
>
> hmm - with some time, I can bisect to pinpoint the problem.
>
> (pasting outside of 0..255 seems ok)
>
Weirdly I find that using the vile defined 'compose' key *does* work
for accented characters, but using the default 'compose' key (as
defined in .Xmodmap) it doesn't work.
I.e. I have "source digraphs.rc" in my .vilerc file as follows:-
;
;
; Set up ^K as 'compose' key for accented characters
;
source digraphs.rc
... and, rather to my surprise, when I entered ^ke' I got an e with an
accute accent. I rarely (if ever) use this in vile, I'd really
forgotten it was there. It doesn't work for a pound sign though (^kl=).
--
Chris Green