Subject: bug#20351: isearch-lax-whitespace should be customizable variable

From: Artur Malabarba <[email-masked]>
Date: Tue, 30 Jun 2015 22:05:03 +0100

2015-06-30 21:52 GMT+01:00 Juri Linkov <[email-masked]>:
>>> (defcustom isearch-keep-mode-variables nil
>>>   "A set of search variables to keep between different searches.
>>> When a search variable is customized to exist in this set, then
>>> starting a new search doesn't reset the corresponding isearch variable
>>> to its default value, thus keeping the value from the previous search
>>> \(changed using toggling commands)."
>>>   :type '(set (const :tag "Case folding" isearch-case-fold-search)
>>>               (const :tag "Character folding" character-fold-search)
>>>               (const :tag "Invisible text" isearch-invisible)
>>>               (const :tag "Filters" isearch-filter-predicate)
>>>               (const :tag "Lax whitespace" isearch-lax-whitespace)
>>>               (const :tag "Regexp lax whitespace" isearch-regexp-lax-whitespace))
>>>   :group 'isearch)
>>
>> Though this is not strictly in conflict with turning the individual
>> variables into defcustoms, I think it's a bit in ideological conflict, and
>> we should probably pick one of the two.
>
> Would it be better to pollute the namespace with N*M more customizable variables
> like ‘isearch-keep-case-fold-search’, ‘isearch-keep-lax-whitespace’,
> ‘isearch-initial-case-fold-search’, ‘isearch-initial-lax-whitespace’, I'm not sure.

No. I like the idea of this variable, and I much prefer this defcustom
over N different `isearch-keep-...' defcustoms.
What I said is that if we have *this* defcustom, we don't need to turn
`isearch-lax-whitespace' into a defcustom too (the actual variable,
not the `keep...' variable).