Subject: Re: bug#22147: Obsolete search-forward-lax-whitespace

From: Juri Linkov <[email-masked]>
Date: Mon, 30 May 2016 23:57:12 +0300

>> Now I tried to reintroduce these lists with different names:
>> ‘char-fold-include-alist’ with a list to add to default mappings and
>> ‘char-fold-exclude-alist’ with a list to remove from default mappings
>> taking into account all opinions expressed on emacs-devel for the
>> default values:
>
> Sounds good! Some minor comments:
>
>> +(defun make-char-fold-table ()
>
> Call this `char-fold--make-table'
>
>> +             (unless (and (assq char char-fold-exclude-alist)
>> +                          (member (apply #'string decomp) (assq char char-fold-exclude-alist)))
>
> This call to `member' will run dozens of times for each entry in
> `char-fold-exclude-alist'. Maybe we should optimize those two repeated
> forms: `(apply #'string decomp)' and `(assq char char-fold-exclude-alist)'.

This definitely needs to be optimized, but now it's clear there is no hurry
since this is not going to be released in 25.  Moreover, I get occasional crashes
in char-tables with the latest patch, so it was a good thing not to push
it to the release branch at the last minute.