emacs-bug-tracker
[Top][All Lists]
Advanced

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

[debbugs-tracker] bug#18762: closed ([PATCH] dfa: don't consider RE_DOT_


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#18762: closed ([PATCH] dfa: don't consider RE_DOT_NEWLINE and RE_DOT_NOT_NULL in matching with a bracket expression)
Date: Mon, 20 Oct 2014 01:26:01 +0000

Your message dated Sun, 19 Oct 2014 18:24:56 -0700
with message-id <address@hidden>
and subject line Re: bug#18762: [PATCH] dfa: don't consider RE_DOT_NEWLINE and 
RE_DOT_NOT_NULL in matching with a bracket expression
has caused the debbugs.gnu.org bug report #18762,
regarding [PATCH] dfa: don't consider RE_DOT_NEWLINE and RE_DOT_NOT_NULL in 
matching with a bracket expression
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
18762: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18762
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: [PATCH] dfa: don't consider RE_DOT_NEWLINE and RE_DOT_NOT_NULL in matching with a bracket expression Date: Sat, 18 Oct 2014 21:39:37 +0900
RE_DOT_NEW_LINE and NOT_NULL work for '.' only in regex.  OTOH, they
work for MBCSET in addition to '.' in DFA.  This patch adapts the behavior
of DFA to of regex.

BTW, at the moment, grep and gawk never use match_mb_charset function to
be fixed by it.

Attachment: 0001-dfa-don-t-consider-RE_DOT_NEWLINE-and-RE_DOT_NOT_NUL.patch
Description: Text document


--- End Message ---
--- Begin Message --- Subject: Re: bug#18762: [PATCH] dfa: don't consider RE_DOT_NEWLINE and RE_DOT_NOT_NULL in matching with a bracket expression Date: Sun, 19 Oct 2014 18:24:56 -0700
On Sat, Oct 18, 2014 at 7:07 PM, Norihiro Tanaka <address@hidden> wrote:
> Jim Meyering <address@hidden> wrote:
>> dfa.c's match_mb_charset function *is* used, e.g., in a
>> command like this one:
>>
>>   printf '\0' |src/grep -aE '^\s?$'
>
> Wow, just it isn't good.  I think that behavior of `fails' should be
> same as of `trans' except `fails' checks accepted conditions, including
> following part.  match_mb_charset() should be avoided as far as possible,
> as it doesn't support collating symbols and equivalence classes.
>
>>               /* Falling back to the glibc matcher in this case gives
>>                  better performance (up to 25% better on [a-z], for
>>                  example) and enables support for collating symbols and
>>                  equivalence classes.  */
>>               if (d->states[s].has_mbcset && backref)
>>                 {
>>                   *backref = 1;
>>                   goto done;
>>                 }

Nice change.  I've adjusted the commit log and added the test
above, since no other code even excercised the
now-inaccessible function. I will push it tomorrow.

Attachment: 0001-dfa-process-all-MBCSET-constructs-via-glibc-s-matche.patch
Description: Binary data


--- End Message ---

reply via email to

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