[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core
From: |
Ralph Corderoy |
Subject: |
Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core |
Date: |
Sun, 06 Aug 2017 18:42:16 +0100 |
Hi Leonardo,
> Sure! Here what I see with your patch applied:
>
> % scan -format '%(decode{subject})' +. 1
> mbtowc(0x20) = 1
> cntrl:0 space:1 blank:1 print:1
> mbtowc(0x1f576) = 4
> cntrl:0 space:0 blank:0 print:0
> wcwidth(0x1f576) = -1
Yeah, I think the code was assuming if it's not cntrl, and not space,
then it must be print and therefore width >= 0. But that's clearly not
true, even here, where Norm's sunglasses don't have a negative width,
e.g. U+0378.
$ test/getcwidth --ctype | grep -m1 ' -1 [^cs]*$'
378 -1 ------------
$
That does mean I can reproduce the failed assertion using that rune.
$ uip/scan -format '%(lit £)' .
£
$ uip/scan -format '%(lit )' .
scan: sbr/fmt_scan.c:280: cpstripped: Assertion `w >= 0' failed.
Sunglasses have a width of 1 here, that's why David and I don't see the
problem.
$ test/getcwidth --ctype | grep 1f576
1f576 1 address@hidden
$
I've re-written the MULTIBYTE_ENABLED cpstripped() on git's master
branch, not the 1.7 one. Could you give it a go with what failed
before, and ideally run a `make check' and if all's well a
`NMH_VALGRIND=1 VALGRIND_ME=1 make check' to give it a work out, it
takes a while, with your different definitions of Unicode widths.
docs/README.developers explains those two variables.
--
Cheers, Ralph.
https://plus.google.com/+RalphCorderoy
Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core, Ralph Corderoy, 2017/08/05
Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core, David Levine, 2017/08/03
Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core, Ralph Corderoy, 2017/08/05
- Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core, Leonardo Taccari, 2017/08/05
- Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core, Ralph Corderoy, 2017/08/05
- Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core, Leonardo Taccari, 2017/08/05
- Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core,
Ralph Corderoy <=
- Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core, Leonardo Taccari, 2017/08/06
- Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core, Ralph Corderoy, 2017/08/07
- Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core, Leonardo Taccari, 2017/08/07
- Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core, David Levine, 2017/08/07
- Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core, Ken Hornstein, 2017/08/15
- Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core, Ralph Corderoy, 2017/08/16
- Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core, Ken Hornstein, 2017/08/16
Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core, David Levine, 2017/08/07
Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core, Ralph Corderoy, 2017/08/08
Re: [Nmh-workers] nmh-1.7-RC1: scan with complex subjects dumps core, Ken Hornstein, 2017/08/15