On 7 November 2016 at 17:29, James E Keenan via RT <perlbug-followup@perl.org> wrote: > On Mon, 07 Nov 2016 13:47:55 GMT, jkeenan wrote: >> >> The question is: What is it about this the pattern: >> >> ##### >> /([^\S\x{202f}\x{00a0}]+)|(\p{InFullwidth})|((?:[^\s\p{InFullwidth}]|[\x{202f}\x{00a0}])+)/ >> ##### >> >> ... that (a) as of commit C<a5540cf> but not previously; and (b) in >> the context of this test suite but not in isolation, perceives >> something to be a read-only value not subject to modification? > > My next brainstorm: Add "use re 'debug';" to sub add_text() in tp/Texinfo/Convert/ParagraphNonXS.pm. > > When I did so and ran the debugging program found in one of my previous attachments, I got this output: > > ##### > Texinfo::Convert::ParagraphNonXS::add_text(../../tp/Texinfo/Convert/ParagraphNonXS.pm:329): > 329: my @segments = split > 330: /([^\S\x{202f}\x{00a0}]+)|(\p{InFullwidth})|((?:[^\s\p{InFullwidth}]|[\x{202f}\x{00a0}])+)/, > 331: $text; > DB<6> n > Matching REx "([^\S\x{202f}\x{00a0}]+)|(\p{InFullwidth})|((?:[^\s\p{InFull"... against "This is " > 0 <> <This is > | 0| 1:BRANCH(18) > 0 <> <This is > | 1| 2:OPEN1(4) > 0 <> <This is > | 1| 4:PLUS(16) > | 1| ANYOF[\t\n\x0B\f\r \x85][1680 2000-200A 2028-2029 205F 3000] can match 0 times out of 2147483647... > | 1| failed... > 0 <> <This is > | 0| 18:BRANCH(34) > 0 <> <This is > | 1| 19:OPEN2(21) > 0 <> <This is > | 1| 21:ANYOF[+utf8::Texinfo::Convert::ParagraphNonXS::InFullwidth](32) > | 1| failed... > 0 <> <This is > | 0| 34:BRANCH(68) > 0 <> <This is > | 1| 35:OPEN3(37) > 0 <> <This is > | 1| 37:CURLYM[0]{1,INFTY}(66) > 0 <> <This is > | 2| 39:BRANCH(51) > 0 <> <This is > | 3| 40:ANYOF[^\t\n\x0B\f\r \x85\xA0{+utf8::Texinfo::Convert::ParagraphNonXS::InFullwidth}1680 2000-200A 2028-2029 202F 205F 3000](64) > Modification of a read-only value attempted at ../../tp/Texinfo/Convert/ParagraphNonXS.pm line 329. > at ../../tp/Texinfo/Convert/ParagraphNonXS.pm line 329. > Texinfo::Convert::ParagraphNonXS::add_text(Texinfo::Convert::ParagraphNonXS=HASH(0x35ba938), "This is ") called at ../../tp/Texinfo/Convert/Info.pm line 308 > Texinfo::Convert::Info::_info_header(Texinfo::Convert::Info=HASH(0x35b3038)) called at ../../tp/Texinfo/Convert/Info.pm line 81 > Texinfo::Convert::Info::output(Texinfo::Convert::Info=HASH(0x35b3038), HASH(0x35ab7c0)) called at ../texi2any.pl line 1348 > panic: POPSTACK > Debugged program terminated. > ##### > > Since I have never previously used the regex debugger, I have no idea if there are any clues to a solution in that output. > > Thoughts? It looks like the pattern [^\s\p{InFullwidth}] causes this. Yves -- perl -Mre=debug -e "/just|another|perl|hacker/"Thread Previous | Thread Next