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

From: Juri Linkov <[email-masked]>
Date: Sun, 15 May 2016 23:56:30 +0300

>> I'm starting to recollect all the remaining pieces to finish this
>> release blocking issue, but I can't download this library,
>> because the link is broken and it seems the whole site is down.
>>
>> Drew, could you please send the latest version as an attachment?
>
> 1. EmacsWiki seems to be up now.  Also, you should be able to get to
> what is on EmacsWiki at the EmacsMirror: https://github.com/emacsmirror.
> And you should also be able to get my libraries from MELPA.  I've
> attached `character-fold+.el' anyway.  Let me know if you also want
> to look at `isearch+.el' and you cannot get to it for some reason.

EmacsWiki is inaccessible to me due to its invalid server certificate.
But thanks for pointing to EmacsMirror - I found your code at
https://github.com/emacsmirror/character-fold-plus
https://github.com/emacsmirror/isearch-plus
which I hope is at the latest version.

> 2. More importantly, what I wrote in `character-fold+.el' worked
> only at the time I wrote it and for a while thereafter, unfortunately.
> Not too long after that, Artur Malabarba rewrote `character-fold.el',
> so the code I wrote is no longer appropriate.

I see that you just moved the hard-coded alist to defcustom
char-fold-ad-hoc.  I think that char-fold-ad-hoc is too ad-hoc naming.
Using more wide-spread naming convention with a data type suffix -alist
(like in display-buffer-alist, etc.) would provide a defcustom name
char-fold-alist.

Another thing we need to do is to allow customization to remove
default mappings.  Maybe this is possible by using the same
defcustom with a rule like: remove default mappings when a char
is mapped to an empty list, e.g.

- adding more mappings for ‘`’:

  (defcustom char-fold-ad-hoc '((?` "❛" "‘" "‛" "󠀢" "❮" "‹"))

- removing default mappings for ‘`’:

  (defcustom char-fold-ad-hoc '((?`))