Subject: Re: bug#2816: regexp-opt: does not optimize 'Abc' and 'abc'

From: Stefan Kangas <[email-masked]>
Date: Tue, 11 Mar 2025 09:44:31 -0700

Stefan Monnier <[email-masked]> writes:

>> A)
>
>>     (regexp-opt
>>       '("Abc"
>>         "abc"))
>
>>     => "\\(?:[Aa]bc\\)"
>
>> B)
>
>>     (regexp-opt
>>       '("Abc"
>>         "def"
>>         "abc"))
>
>>     => "\\(?:Abc\\|abc\\|def\\)"
>
>> Shouldn't regexp-opt optimize B case as well?
>
> The `opt' of regexp-opt should be understood in the sense of
> optimization used in compilers, not in the formal mathematical sense of
> "optimal".  I.e. it does some effort to improve things, but without any
> guarantee about what is and what isn't optimized.
>
> So, yes, it would be good if it did do what you suggest, but it's not
> a bug if it doesn't.

Without a proposed patch, I think it's unlikely that we'll make much
progress here.  After 16 years, I'm closing this bug now.

If anyone wants to propose improvements to `regexp-opt`, please open a
new bug report.