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

From: Artur Malabarba <[email-masked]>
Date: Wed, 18 May 2016 17:40:22 -0300

Juri Linkov <[email-masked]> writes:

> 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)'.

> -      (dolist (it '((?\" "＂" "“" "”" "”" "„" "⹂" "〞" "‟" "‟" "❞" "❝" "❠" "“" "„" "〝" "〟" "🙷" "🙶" "🙸" "«" "»")
> -                    (?' "❟" "❛" "❜" "‘" "’" "‚" "‛" "‚" "󠀢" "❮" "❯" "‹" "›")
> -                    (?` "❛" "‘" "‛" "󠀢" "❮" "‹")))
> +    (dolist (it char-fold-include-alist)
>          (let ((idx (car it))

The indentation looks wrong here.