GNU bug report logs - #20351
isearch-lax-whitespace should be customizable variable

Previous Next

Package: emacs;

Reported by: Ken T Takusagawa <kenta <at> mit.edu>

Date: Thu, 16 Apr 2015 22:54:02 UTC

Severity: wishlist

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 20351 in the body.
You can then email your comments to 20351 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Thu, 16 Apr 2015 22:54:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ken T Takusagawa <kenta <at> mit.edu>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 16 Apr 2015 22:54:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ken T Takusagawa <kenta <at> mit.edu>
To: bug-gnu-emacs <at> gnu.org
Subject: isearch-lax-whitespace should be customizable variable
Date: Thu, 16 Apr 2015 18:49:50 -0400 (EDT)
This bug report will be sent to the Bug-GNU-Emacs mailing list
and the GNU bug tracker at debbugs.gnu.org.  Please check that
the From: line contains a valid email address.  After a delay of up
to one day, you should receive an acknowledgment at that address.

Please write in English if possible, as the Emacs maintainers
usually do not have translators for other languages.

Please describe exactly what actions triggered the bug, and
the precise symptoms of the bug.  If you can, give a recipe
starting from `emacs -Q':

M-x customize-variable
does NOT list isearch-lax-whitespace as a customizable variable

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/usr/share/emacs/24.3/etc/DEBUG.


In GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.10.7)
 of 2014-03-07 on lamiak, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11501000
System Description:	Ubuntu 14.04.2 LTS

Configured using:
 `configure '--build' 'x86_64-linux-gnu' '--build' 'x86_64-linux-gnu'
 '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
 '--localstatedir=/var/lib' '--infodir=/usr/share/info'
 '--mandir=/usr/share/man' '--with-pop=yes'
 '--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-lisp:/usr/share/emacs/site-lisp'
 '--with-crt-dir=/usr/lib/x86_64-linux-gnu' '--with-x=yes'
 '--with-x-toolkit=gtk3' '--with-toolkit-scroll-bars'
 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector
 --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall'
 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro'
 'CPPFLAGS=-D_FORTIFY_SOURCE=2''

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  show-paren-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <right> <backspace> A <up> C-a <tab> <down> 
C-a <tab> <down> <tab> <down> <tab> <down> <tab> C-n 
<return> SPC SPC e l s e <return> SPC SPC SPC SPC <tab> 
e c h o SPC " C-a C-k <tab> e r r o r SPC 1 SPC " U 
n r e c o g n i z e d SPC o r i g i n a l SPC I S O 
" <return> <tab> f i <tab> C-r SPC SPC <up> <up> <up> 
<up> C-s SPC SPC C-s C-s C-s SPC C-g <up> <down> C-a 
C-s SPC SPC C-g C-g C-g <escape> x i n <backspace> 
s e r <tab> <backspace> a <tab> - t o <tab> l a <tab> 
<return> <up> <up> C-s SPC SPC <down> <down> C-s C-s 
C-s C-s <return> <backspace> C-x C-s C-h f i s e <tab> 
- t <tab> <backspace> t o <tab> l a <tab> <return> 
<up> C-h v i s e <tab> l a <tab> x - w h <tab> <return> 
<up> <up> <escape> x c u s t o <tab> i <tab> - v <tab> 
<return> i s e <tab> l a x - w h <tab> <tab> <tab> 
<tab> C-g C-g <help-echo> <help-echo> <down-mouse-1> 
<mouse-2> <down-mouse-1> <mouse-1> C-x 1 C-x 2 <escape> 
< C-s c u s C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s 
C-s C-s C-s C-s C-s C-s C-s C-s C-s <up> C-s d e v 
<backspace> f v a r C-s C-s C-s C-s C-s C-s C-s <down> 
<down> <down> <down> <down> <down> <down> <down> <up> 
<right> <down-mouse-1> <mouse-1> ` x <down-mouse-1> 
<mouse-1> M-x r e p o <tab> r <tab> <return>

Recent messages:
Type "q" in help window to restore its previous buffer.
Making completion list...

Quit [2 times]
uncompressing isearch.el.gz...done
Note: file is write protected
Mark set
Mark saved where search started [2 times]
call-interactively: Buffer is read-only: #<buffer isearch.el.gz> [2 times]
Making completion list...

Load-path shadows:
/usr/share/emacs/24.3/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils jka-compr find-func cus-edit wid-edit help-mode
easymenu help-fns misearch multi-isearch vc-git sh-script smie
executable paren cus-start cus-load time-date tooltip ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment lisp-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty emacs)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Mon, 29 Jun 2015 22:44:02 GMT) Full text and rfc822 format available.

Message #8 received at 20351 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: Ken T Takusagawa <kenta <at> mit.edu>
Cc: 20351 <at> debbugs.gnu.org
Subject: Re: bug#20351: isearch-lax-whitespace should be customizable variable
Date: Tue, 30 Jun 2015 01:30:59 +0300
> M-x customize-variable
> does NOT list isearch-lax-whitespace as a customizable variable

I believe both ‘isearch-lax-whitespace’ and ‘character-fold-search’
should be customizable.  bug#11378 proposed a patch that adds a new
user variable to customize all such search parameters:

(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)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Mon, 29 Jun 2015 23:11:02 GMT) Full text and rfc822 format available.

Message #11 received at 20351 <at> debbugs.gnu.org (full text, mbox):

From: Artur Malabarba <bruce.connor.am <at> gmail.com>
To: Juri Linkov <juri <at> linkov.net>
Cc: 20351 <at> debbugs.gnu.org, Ken T Takusagawa <kenta <at> mit.edu>
Subject: Re: bug#20351: isearch-lax-whitespace should be customizable variable
Date: Tue, 30 Jun 2015 00:10:06 +0100
[Message part 1 (text/plain, inline)]
On Jun 29, 2015 11:30 PM, "Juri Linkov" <juri <at> linkov.net> wrote:
>
> > M-x customize-variable
> > does NOT list isearch-lax-whitespace as a customizable variable
>
> I believe [...] ‘character-fold-search’
> should be customizable.

As long as people understand the implementation is still subject to change,
and that variable's existence isn't assured.

> (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.
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Mon, 29 Jun 2015 23:15:03 GMT) Full text and rfc822 format available.

Message #14 received at 20351 <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: Juri Linkov <juri <at> linkov.net>, Ken T Takusagawa <kenta <at> mit.edu>
Cc: 20351 <at> debbugs.gnu.org
Subject: RE: bug#20351: isearch-lax-whitespace should be customizable variable
Date: Mon, 29 Jun 2015 16:14:24 -0700 (PDT)
> I believe both ‘isearch-lax-whitespace’ and ‘character-fold-search’
> should be customizable.  bug#11378 proposed a patch that adds a new
> user variable to customize all such search parameters:
> 
> (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)." ...

FWIW, I agree (strongly) that some such feature is desirable.
I think you and I have discussed this a bit before.

Isearch+ has this feature, in a different form.  There is option
`isearchp-toggle-option-flag' and its associated toggle command.

  Non-nil means Isearch toggling commands can affect option values.
  If nil, the option value remains unchanged - the effect is temporary.

  Applies to toggle commands for behavior that has an associated user
  option.  Currently this means `M-s i' (`isearch-toggle-invisible')
  and `M-c' (`isearch-toggle-case-fold').

The option determines whether commands that toggle behavior also
toggle an associated user option.  For such commands, a prefix arg
flips the behavior, as if `isearchp-toggle-option-flag' were
toggled temporarily.

You can toggle this option itself, using `M-s v'
(`isearchp-toggle-option-toggle').

I mention this approach, but your suggestion sounds good too.

The point is to let users decide whether toggling the state (for
any given state attribute) also toggles the option value - so that
the effect remains after Isearch is finished.  And to let them
override their preference temporarily (e.g., with a prefix arg).

What you have added is the ability for users to pick which options
to put under the sway of something like `isearchp-toggle-option-flag',
IOW, you have in effect, provided a `isearchp-toggle-option-flag'
for each togglable option separately.  And that sounds like a good
thing, a priori.

I'd propose combining your suggestion with the temporary-flipping
behavior I describe: a prefix arg (or whatever) lets a user
temporarily change her mind about the `isearch-keep-mode-variables'
setting for that toggle: if the option is not listed in `i-s-k-m-v'
then `C-u' toggles the option; if the option is listed there then
`C-u' does not toggle the option (it toggles the state/behavior
only for the current Isearch duration).




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Tue, 30 Jun 2015 20:55:03 GMT) Full text and rfc822 format available.

Message #17 received at 20351 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: Artur Malabarba <bruce.connor.am <at> gmail.com>
Cc: 20351 <at> debbugs.gnu.org, Ken T Takusagawa <kenta <at> mit.edu>
Subject: Re: bug#20351: isearch-lax-whitespace should be customizable variable
Date: Tue, 30 Jun 2015 23:52:32 +0300
>> (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.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Tue, 30 Jun 2015 21:06:01 GMT) Full text and rfc822 format available.

Message #20 received at 20351 <at> debbugs.gnu.org (full text, mbox):

From: Artur Malabarba <bruce.connor.am <at> gmail.com>
To: Juri Linkov <juri <at> linkov.net>
Cc: 20351 <at> debbugs.gnu.org, Ken T Takusagawa <kenta <at> mit.edu>
Subject: Re: bug#20351: isearch-lax-whitespace should be customizable variable
Date: Tue, 30 Jun 2015 22:05:03 +0100
2015-06-30 21:52 GMT+01:00 Juri Linkov <juri <at> linkov.net>:
>>> (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).




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Wed, 01 Jul 2015 22:39:02 GMT) Full text and rfc822 format available.

Message #23 received at 20351 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: Artur Malabarba <bruce.connor.am <at> gmail.com>
Cc: 20351 <at> debbugs.gnu.org, Ken T Takusagawa <kenta <at> mit.edu>
Subject: Re: bug#20351: isearch-lax-whitespace should be customizable variable
Date: Thu, 02 Jul 2015 01:30:47 +0300
>>>> (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).

It seems we can't avoid turning `isearch-lax-whitespace' into a defcustom
because users need to be able to disable these features initially, and
there is no convenient way to customize initial values with a single
defcustom such as ‘isearch-initial-variables’.

‘case-fold-search’ is a customizable variable - and rightfully so
‘char-fold-search’ has to be customizable as well.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Thu, 02 Jul 2015 10:16:02 GMT) Full text and rfc822 format available.

Message #26 received at 20351 <at> debbugs.gnu.org (full text, mbox):

From: Artur Malabarba <bruce.connor.am <at> gmail.com>
To: Juri Linkov <juri <at> linkov.net>
Cc: 20351 <at> debbugs.gnu.org, Ken T Takusagawa <kenta <at> mit.edu>
Subject: Re: bug#20351: isearch-lax-whitespace should be customizable variable
Date: Thu, 2 Jul 2015 11:15:18 +0100
> It seems we can't avoid turning `isearch-lax-whitespace' into a defcustom
> because users need to be able to disable these features initially, and
> there is no convenient way to customize initial values with a single
> defcustom such as ‘isearch-initial-variables’.

Yes, you're right. Feel free to ignore my previous comments.

> ‘case-fold-search’ is a customizable variable - and rightfully so
> ‘char-fold-search’ has to be customizable as well.

Yes, we should make it a defcustom before release. I didn't make it a
defcustom when I implementing it because the implementation itself is
still up for debate.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Sat, 04 Jul 2015 21:12:01 GMT) Full text and rfc822 format available.

Message #29 received at 20351 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: Artur Malabarba <bruce.connor.am <at> gmail.com>
Cc: 20351 <at> debbugs.gnu.org, Ken T Takusagawa <kenta <at> mit.edu>
Subject: Re: bug#20351: isearch-lax-whitespace should be customizable variable
Date: Sun, 05 Jul 2015 00:09:51 +0300
>> ‘case-fold-search’ is a customizable variable - and rightfully so
>> ‘char-fold-search’ has to be customizable as well.
>
> Yes, we should make it a defcustom before release. I didn't make it a
> defcustom when I implementing it because the implementation itself is
> still up for debate.

What do you think about using the shorter name ‘char-fold-search’?
All char-related functions in Emacs are shortened to “char”, e.g.
‘char-code’, ‘char-table’, ‘char-to-string’, etc.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Sat, 04 Jul 2015 21:16:02 GMT) Full text and rfc822 format available.

Message #32 received at 20351 <at> debbugs.gnu.org (full text, mbox):

From: Artur Malabarba <bruce.connor.am <at> gmail.com>
To: Juri Linkov <juri <at> linkov.net>
Cc: 20351 <at> debbugs.gnu.org, Ken T Takusagawa <kenta <at> mit.edu>
Subject: Re: bug#20351: isearch-lax-whitespace should be customizable variable
Date: Sat, 4 Jul 2015 22:15:10 +0100
[Message part 1 (text/plain, inline)]
On Jul 4, 2015 10:09 PM, "Juri Linkov" <juri <at> linkov.net> wrote:
>
> >> ‘case-fold-search’ is a customizable variable - and rightfully so
> >> ‘char-fold-search’ has to be customizable as well.
> >
> > Yes, we should make it a defcustom before release. I didn't make it a
> > defcustom when I implementing it because the implementation itself is
> > still up for debate.
>
> What do you think about using the shorter name ‘char-fold-search’?
> All char-related functions in Emacs are shortened to “char”, e.g.
> ‘char-code’, ‘char-table’, ‘char-to-string’, etc.

Sounds good. But, in that case, please rename the entire namespace (and the
file?).
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Sat, 04 Jul 2015 22:25:02 GMT) Full text and rfc822 format available.

Message #35 received at 20351 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Juri Linkov <juri <at> linkov.net>
Cc: 20351 <at> debbugs.gnu.org, Ken T Takusagawa <kenta <at> mit.edu>,
 Artur Malabarba <bruce.connor.am <at> gmail.com>
Subject: Re: bug#20351: isearch-lax-whitespace should be customizable variable
Date: Sat, 04 Jul 2015 18:24:10 -0400
> What do you think about using the shorter name ‘char-fold-search’?

FWIW, I find this name rather devoid of meaning.
What's the idea behind it?


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Sat, 04 Jul 2015 22:43:02 GMT) Full text and rfc822 format available.

Message #38 received at 20351 <at> debbugs.gnu.org (full text, mbox):

From: Artur Malabarba <bruce.connor.am <at> gmail.com>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 20351 <at> debbugs.gnu.org, Ken T Takusagawa <kenta <at> mit.edu>,
 Juri Linkov <juri <at> linkov.net>
Subject: Re: bug#20351: isearch-lax-whitespace should be customizable variable
Date: Sat, 4 Jul 2015 23:42:30 +0100
[Message part 1 (text/plain, inline)]
On Jul 4, 2015 11:24 PM, "Stefan Monnier" <monnier <at> iro.umontreal.ca> wrote:
>
> > What do you think about using the shorter name ‘char-fold-search’?
>
> FWIW, I find this name rather devoid of meaning.
> What's the idea behind it?

It was being called character group folding at first. Somebody suggested
just character-folding, but I don't recall who.

Neither sound terribly expressive to me, but I can't think of anything
better.
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Sun, 05 Jul 2015 08:01:02 GMT) Full text and rfc822 format available.

Message #41 received at 20351 <at> debbugs.gnu.org (full text, mbox):

From: Andreas Schwab <schwab <at> linux-m68k.org>
To: Artur Malabarba <bruce.connor.am <at> gmail.com>
Cc: 20351 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>,
 Ken T Takusagawa <kenta <at> mit.edu>, Juri Linkov <juri <at> linkov.net>
Subject: Re: bug#20351: isearch-lax-whitespace should be customizable variable
Date: Sun, 05 Jul 2015 10:00:01 +0200
Artur Malabarba <bruce.connor.am <at> gmail.com> writes:

> On Jul 4, 2015 11:24 PM, "Stefan Monnier" <monnier <at> iro.umontreal.ca> wrote:
>>
>> > What do you think about using the shorter name ‘char-fold-search’?
>>
>> FWIW, I find this name rather devoid of meaning.
>> What's the idea behind it?
>
> It was being called character group folding at first. Somebody suggested
> just character-folding, but I don't recall who.
>
> Neither sound terribly expressive to me, but I can't think of anything
> better.

The technical term is "equivalence classes".  Perhaps it can be folded
into the name.

Andreas.

-- 
Andreas Schwab, schwab <at> linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Sun, 05 Jul 2015 16:07:02 GMT) Full text and rfc822 format available.

Message #44 received at 20351 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Andreas Schwab <schwab <at> linux-m68k.org>
Cc: 20351 <at> debbugs.gnu.org, Ken T Takusagawa <kenta <at> mit.edu>,
 Artur Malabarba <bruce.connor.am <at> gmail.com>, Juri Linkov <juri <at> linkov.net>
Subject: Re: bug#20351: isearch-lax-whitespace should be customizable variable
Date: Sun, 05 Jul 2015 12:06:54 -0400
> The technical term is "equivalence classes".

I don't think so.  This term would apply equally well to case-fold-search.
We want something more specific.


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Sun, 05 Jul 2015 16:29:01 GMT) Full text and rfc822 format available.

Message #47 received at 20351 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Cc: 20351 <at> debbugs.gnu.org, schwab <at> linux-m68k.org, kenta <at> mit.edu,
 bruce.connor.am <at> gmail.com, juri <at> linkov.net
Subject: Re: bug#20351: isearch-lax-whitespace should be customizable variable
Date: Sun, 05 Jul 2015 19:27:46 +0300
> From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
> Date: Sun, 05 Jul 2015 12:06:54 -0400
> Cc: 20351 <at> debbugs.gnu.org, Artur Malabarba <bruce.connor.am <at> gmail.com>,
> 	Ken T Takusagawa <kenta <at> mit.edu>, Juri Linkov <juri <at> linkov.net>
> 
> > The technical term is "equivalence classes".
> 
> I don't think so.  This term would apply equally well to case-fold-search.

No, I don't think so.  Case equivalence and canonical/compatibility
equivalence are separate aspects.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Sun, 05 Jul 2015 17:58:02 GMT) Full text and rfc822 format available.

Message #50 received at 20351 <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: Stefan Monnier <monnier <at> IRO.UMontreal.CA>, Andreas Schwab
 <schwab <at> linux-m68k.org>
Cc: 20351 <at> debbugs.gnu.org, Ken T Takusagawa <kenta <at> mit.edu>,
 Artur Malabarba <bruce.connor.am <at> gmail.com>, Juri Linkov <juri <at> linkov.net>
Subject: RE: bug#20351: isearch-lax-whitespace should be customizable variable
Date: Sun, 5 Jul 2015 10:56:57 -0700 (PDT)
> > The technical term is "equivalence classes".
> 
> I don't think so.  This term would apply equally well to case-fold-
> search.  We want something more specific.

Right.  But isn't that the problem?  Case folding is a subset
of character folding, where the equivalence class is defined
by ignoring letter case.

This new thing is a catch-all, no?  It means (apparently)
all character equivalences except for case folds.

We should foresee the possibility (and I hope the reality)
of multiple other character foldings, besides case folding.

And yes, each should have a name that suggests the kind of
equivalence that is involved.

What can we say about the kind of equivalence that is involved
in this catch-all?  How can we be more specific than, say,
"char folding other than case" - e.g., non-case char-folding?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Sun, 05 Jul 2015 18:00:06 GMT) Full text and rfc822 format available.

Message #53 received at 20351 <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: Eli Zaretskii <eliz <at> gnu.org>, Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Cc: 20351 <at> debbugs.gnu.org, schwab <at> linux-m68k.org, kenta <at> mit.edu,
 bruce.connor.am <at> gmail.com, juri <at> linkov.net
Subject: RE: bug#20351: isearch-lax-whitespace should be customizable variable
Date: Sun, 5 Jul 2015 10:59:40 -0700 (PDT)
> > > The technical term is "equivalence classes".
> >
> > I don't think so.  This term would apply equally well to case-
> > fold-search.
> 
> No, I don't think so.  Case equivalence and canonical/compatibility
> equivalence are separate aspects.

Are the latter not equivalence classes?  And the former?

In what way does ignoring letter case not put groups (typically
pairs) of chars into equivalence classes?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Sun, 05 Jul 2015 18:13:02 GMT) Full text and rfc822 format available.

Message #56 received at 20351 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 20351 <at> debbugs.gnu.org, schwab <at> linux-m68k.org, kenta <at> mit.edu,
 bruce.connor.am <at> gmail.com, juri <at> linkov.net
Subject: Re: bug#20351: isearch-lax-whitespace should be customizable variable
Date: Sun, 05 Jul 2015 14:12:38 -0400
>> > The technical term is "equivalence classes".
>> I don't think so.  This term would apply equally well to case-fold-search.
> No, I don't think so.  Case equivalence and canonical/compatibility
> equivalence are separate aspects.

They're indeed somewhat separate aspects, but they're both cases of
"equivalence classes".


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20351; Package emacs. (Mon, 18 Apr 2022 11:38:01 GMT) Full text and rfc822 format available.

Message #59 received at 20351 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Ken T Takusagawa <kenta <at> mit.edu>
Cc: 20351 <at> debbugs.gnu.org
Subject: Re: bug#20351: isearch-lax-whitespace should be customizable variable
Date: Mon, 18 Apr 2022 13:36:55 +0200
Ken T Takusagawa <kenta <at> mit.edu> writes:

> M-x customize-variable
> does NOT list isearch-lax-whitespace as a customizable variable

(I'm going through old bug reports that unfortunately weren't resolved
at the time.)

I've now made it a defcustom in Emacs 29.

The discussion then went on to other (related) things, but those are
covered in bug#11378, apparently, so I'm closing this bug report.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug marked as fixed in version 29.1, send any further explanations to 20351 <at> debbugs.gnu.org and Ken T Takusagawa <kenta <at> mit.edu> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Mon, 18 Apr 2022 11:38:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 17 May 2022 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 338 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.