* buffer name completion is case-sensitive now
@ 2008-06-08 16:40 Drew Adams
2008-06-08 17:29 ` John Paul Wallington
0 siblings, 1 reply; 35+ messages in thread
From: Drew Adams @ 2008-06-08 16:40 UTC (permalink / raw)
To: Emacs-Devel; +Cc: 'Richard G Riley'
Sometime between April 19 and May 4, at least on Windows, buffer-name completion
seems to have been changed to become case-sensitive.
I have been annoyed by this, and I just got a message from an Icicles user who
complained of the same thing, thinking it had something to do with Icicles.
Was this change intentional? I didn't notice any discussion of it here, and I
can find nothing in NEWS about it? I'm surprised no one has mentioned this yet.
To me, this is a bug. If this is intentional, however, count me as one vote
against it. If the decision is final, then how about at least adding a user
option to deal with this? Users should not need to redefine `read-buffer' or
commands that use buffer-name completion, just to bind `completion-ignore-case'
to non-nil.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 16:40 buffer name completion is case-sensitive now Drew Adams
@ 2008-06-08 17:29 ` John Paul Wallington
2008-06-08 17:48 ` Drew Adams
0 siblings, 1 reply; 35+ messages in thread
From: John Paul Wallington @ 2008-06-08 17:29 UTC (permalink / raw)
To: Drew Adams; +Cc: 'Richard G Riley', Emacs-Devel
On 8 Jun 2008, at 17:40, Drew Adams wrote:
> Sometime between April 19 and May 4, at least on Windows, buffer-
> name completion
> seems to have been changed to become case-sensitive.
>
> I have been annoyed by this, and I just got a message from an
> Icicles user who
> complained of the same thing, thinking it had something to do with
> Icicles.
>
> Was this change intentional? I didn't notice any discussion of it
> here, and I
> can find nothing in NEWS about it? I'm surprised no one has
> mentioned this yet.
The change is experimental rather than final. I've documented it in
NEWS for now.
>
> To me, this is a bug. If this is intentional, however, count me as
> one vote
> against it. If the decision is final, then how about at least adding
> a user
> option to deal with this? Users should not need to redefine `read-
> buffer' or
> commands that use buffer-name completion, just to bind `completion-
> ignore-case'
> to non-nil.
With the introduction of `read-file-name-completion-ignore-case'
there's less need to have an MS-Windows specific
default value of `completion-ignore-case'. However, buffer names --
particularly those that are based upon filenames -- would probably
benefit from case-insensitivity in completion, at least on systems
with case insensitive file systems. Are there any other examples
where case sensitivity is problematic?
^ permalink raw reply [flat|nested] 35+ messages in thread
* RE: buffer name completion is case-sensitive now
2008-06-08 17:29 ` John Paul Wallington
@ 2008-06-08 17:48 ` Drew Adams
2008-06-08 18:08 ` David Kastrup
` (3 more replies)
0 siblings, 4 replies; 35+ messages in thread
From: Drew Adams @ 2008-06-08 17:48 UTC (permalink / raw)
To: 'John Paul Wallington'
Cc: 'Richard G Riley', 'Emacs-Devel'
> > Sometime between April 19 and May 4, at least on Windows, buffer-
> > name completion seems to have been changed to become
> > case-sensitive.
> >
> > I have been annoyed by this, and I just got a message from an
> > Icicles user who complained of the same thing, thinking it had
> > something to do with Icicles.
> >
> > Was this change intentional? I didn't notice any discussion of it
> > here, and I can find nothing in NEWS about it? I'm surprised no
> > one has mentioned this yet.
>
> The change is experimental rather than final. I've documented it in
> NEWS for now.
So I guess you are saying that this change was intentional, not accidental (not
a bug).
No discussion here (AFAICT)? How do such "experiments" get implemented without
any proposal and discussion?
This changes long-standing standard Emacs behavior. It should be reverted.
> > To me, this is a bug. If this is intentional, however, count me as
> > one vote against it. If the decision is final, then how about at
> > least adding a user option to deal with this? Users should not
> > need to redefine `read-buffer' or commands that use buffer-name
> > completion, just to bind `completion-ignore-case' to non-nil.
>
> With the introduction of `read-file-name-completion-ignore-case'
> there's less need to have an MS-Windows specific
> default value of `completion-ignore-case'.
Irrelevant. This is about completion of _buffer_ names, not file names. Try
completing `*m' to *Messages* now - doesn't work.
No one is questioning what `read-file-name' should do; this is about
`completing-read' with buffer names.
> However, buffer names -- particularly those that are based
> upon filenames -- would probably benefit from case-insensitivity
> in completion, at least on systems with case insensitive file
> systems.
"Probably"? That has been the behavior for decades. How can it be changed
willy-nilly, with no discussion?
> Are there any other examples
> where case sensitivity is problematic?
Dunno what you mean.
Are you proposing to also change the traditional behavior for other kinds of
completion? I certainly hope other such changes won't be made.
Or are you asking if the same improper behavior occurs now for more than just
buffer names? I've only noticed it wrt buffer names.
Please revert this "experimental" change.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 17:48 ` Drew Adams
@ 2008-06-08 18:08 ` David Kastrup
2008-06-08 18:19 ` Richard G Riley
2008-06-08 18:24 ` David Kastrup
2008-06-08 18:13 ` buffer name completion is case-sensitive now Miles Bader
` (2 subsequent siblings)
3 siblings, 2 replies; 35+ messages in thread
From: David Kastrup @ 2008-06-08 18:08 UTC (permalink / raw)
To: Drew Adams
Cc: 'Emacs-Devel', 'Richard G Riley',
'John Paul Wallington'
"Drew Adams" <drew.adams@oracle.com> writes:
> This changes long-standing standard Emacs behavior. It should be
> reverted.
Everything except bug fixes changes long-standing standard Emacs
behavior. Actually, even bug fixes do...
> "Probably"? That has been the behavior for decades. How can it be
> changed willy-nilly, with no discussion?
A rant is not a discussion.
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 17:48 ` Drew Adams
2008-06-08 18:08 ` David Kastrup
@ 2008-06-08 18:13 ` Miles Bader
2008-06-08 18:22 ` Óscar Fuentes
2008-06-08 19:20 ` Drew Adams
2008-06-08 18:28 ` Eli Zaretskii
2008-06-08 19:21 ` John Paul Wallington
3 siblings, 2 replies; 35+ messages in thread
From: Miles Bader @ 2008-06-08 18:13 UTC (permalink / raw)
To: Drew Adams
Cc: 'Emacs-Devel', 'Richard G Riley',
'John Paul Wallington'
"Drew Adams" <drew.adams@oracle.com> writes:
>> With the introduction of `read-file-name-completion-ignore-case'
>> there's less need to have an MS-Windows specific
>> default value of `completion-ignore-case'.
>
> Irrelevant. This is about completion of _buffer_ names, not file names. Try
> completing `*m' to *Messages* now - doesn't work.
>
> No one is questioning what `read-file-name' should do; this is about
> `completing-read' with buffer names.
Emacs has always been case-sensitive by default on most platforms.
Why should it be any different on windows?
-Miles
--
Opportunity, n. A favorable occasion for grasping a disappointment.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 18:08 ` David Kastrup
@ 2008-06-08 18:19 ` Richard G Riley
2008-06-08 18:29 ` David Kastrup
2008-06-08 18:24 ` David Kastrup
1 sibling, 1 reply; 35+ messages in thread
From: Richard G Riley @ 2008-06-08 18:19 UTC (permalink / raw)
To: David Kastrup
Cc: 'Emacs-Devel', 'Richard G Riley', Drew Adams,
'John Paul Wallington'
David Kastrup <dak@gnu.org> writes:
> "Drew Adams" <drew.adams@oracle.com> writes:
>
>> This changes long-standing standard Emacs behavior. It should be
>> reverted.
>
> Everything except bug fixes changes long-standing standard Emacs
> behavior. Actually, even bug fixes do...
>
>> "Probably"? That has been the behavior for decades. How can it be
>> changed willy-nilly, with no discussion?
>
> A rant is not a discussion.
With all due respect, this is quite a fundamental change to the way a
major emacs UI component works. It should remain case insensitive IMO
and Drew's comments were hardly a rant.
Keep up the good work folks - emacs is a wonderful environment.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 18:13 ` buffer name completion is case-sensitive now Miles Bader
@ 2008-06-08 18:22 ` Óscar Fuentes
2008-06-08 19:01 ` Miles Bader
2008-06-08 19:20 ` Drew Adams
1 sibling, 1 reply; 35+ messages in thread
From: Óscar Fuentes @ 2008-06-08 18:22 UTC (permalink / raw)
To: emacs-devel
Miles Bader <miles@gnu.org> writes:
> Emacs has always been case-sensitive by default on most platforms.
"most platforms" are those with case-sensitive file systems, right?
> Why should it be any different on windows?
Because Windows' file system is not case-sensitive?
--
Oscar
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 18:08 ` David Kastrup
2008-06-08 18:19 ` Richard G Riley
@ 2008-06-08 18:24 ` David Kastrup
2008-06-08 19:21 ` Drew Adams
1 sibling, 1 reply; 35+ messages in thread
From: David Kastrup @ 2008-06-08 18:24 UTC (permalink / raw)
To: Drew Adams
Cc: 'John Paul Wallington', 'Richard G Riley',
'Emacs-Devel'
David Kastrup <dak@gnu.org> writes:
> "Drew Adams" <drew.adams@oracle.com> writes:
>
>> This changes long-standing standard Emacs behavior. It should be
>> reverted.
>
> Everything except bug fixes changes long-standing standard Emacs
> behavior. Actually, even bug fixes do...
>
>> "Probably"? That has been the behavior for decades. How can it be
>> changed willy-nilly, with no discussion?
>
> A rant is not a discussion.
More to the point: the behavior that you vociferate about is the
long-standing standard Emacs behavior with the exception of some
proprietary platforms.
So the question is why have an exception for that? You bring up
basically two different cases:
a) file-name related buffers. Do we want to have case-insensitive
completion on them? When there is case insensitivity to get them, it
would seem like a plausible choice to have case insensitivity to get at
their buffers. What when case sensitivity was involved in getting them?
Do we want to have buffer completion offer "Makefile" for "mak" even
then we are on a basically case sensitive system?
b) non file-name related buffers like *mail* and *Messages*. Do we want
to have them share "*m" as prefix with regard to completion?
Overall, it seems to me like there might a case be made for having case
insensitivity all around. However, this begs the question:
If "Makefile" and "makefile" and "Makefile.unix" and "makefile.dos" can
be different buffer names, how does case insensitive completion deal
with them nicely?
If it does, case insensitivity on buffer completion could probably be
picked to be the default independent of operating system. I don't
really have an opinion whether I would like it or not. So it is
something I'd not object to as an experimental setting (we are not even
in feature freeze mode, let alone default freeze mode).
But since the buffer system is not really tied into the file system, I
think it a reasonable hypothesis that the completion default should not
depend on the file system completion default.
I guess we already have Drew's vote about buffer name case sensitivity
on Windows in (even though he confuses "Windows" and "standard"). Other
opinions both of the proprietary case insensitive file system users as
well as others might be interesting.
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 17:48 ` Drew Adams
2008-06-08 18:08 ` David Kastrup
2008-06-08 18:13 ` buffer name completion is case-sensitive now Miles Bader
@ 2008-06-08 18:28 ` Eli Zaretskii
2008-06-08 19:21 ` John Paul Wallington
3 siblings, 0 replies; 35+ messages in thread
From: Eli Zaretskii @ 2008-06-08 18:28 UTC (permalink / raw)
To: Drew Adams; +Cc: emacs-devel, rileyrgdev, jpw
> From: "Drew Adams" <drew.adams@oracle.com>
> Date: Sun, 8 Jun 2008 10:48:18 -0700
> Cc: 'Richard G Riley' <rileyrgdev@googlemail.com>,
> 'Emacs-Devel' <emacs-devel@gnu.org>
>
> > With the introduction of `read-file-name-completion-ignore-case'
> > there's less need to have an MS-Windows specific
> > default value of `completion-ignore-case'.
>
> Irrelevant. This is about completion of _buffer_ names, not file names. Try
> completing `*m' to *Messages* now - doesn't work.
>
> No one is questioning what `read-file-name' should do; this is about
> `completing-read' with buffer names.
Buffer-name completion was case-insensitive on Windows because there
was no mechanism to request case-insensitive file-name completion
except making _all_ completions case-insensitive. Now there _is_ a
way to request that for file names only.
I'm not saying that I'm necessarily in favor of the change, I'm just
explaining what John was saying, because it's not ``irrelevant''.
> > Are there any other examples
> > where case sensitivity is problematic?
>
> Dunno what you mean.
>
> Are you proposing to also change the traditional behavior for other kinds of
> completion? I certainly hope other such changes won't be made.
>
> Or are you asking if the same improper behavior occurs now for more than just
> buffer names? I've only noticed it wrt buffer names.
>
> Please revert this "experimental" change.
Please at least explain why you think buffer-name completion should be
case-insensitive, on Windows or elsewhere. Otherwise, this is not a
rational discussion, and will lead nowhere.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 18:19 ` Richard G Riley
@ 2008-06-08 18:29 ` David Kastrup
2008-06-08 18:32 ` Richard G Riley
2008-06-08 18:32 ` İsmail Dönmez
0 siblings, 2 replies; 35+ messages in thread
From: David Kastrup @ 2008-06-08 18:29 UTC (permalink / raw)
To: Richard G Riley
Cc: 'Emacs-Devel', Drew Adams, 'John Paul Wallington'
Richard G Riley <rileyrgdev@googlemail.com> writes:
> David Kastrup <dak@gnu.org> writes:
>
>> "Drew Adams" <drew.adams@oracle.com> writes:
>>
>>> "Probably"? That has been the behavior for decades. How can it be
>>> changed willy-nilly, with no discussion?
>>
>> A rant is not a discussion.
>
> With all due respect, this is quite a fundamental change to the way a
> major emacs UI component works.
On Windows and MacOS, nowhere else. And the buffer system is not
operating system dependent.
> It should remain case insensitive IMO and Drew's comments were hardly
> a rant.
I suggest you read the whole of Drew's post through again. There is
very little actual content (mostly repetitions in different words), and
quite loaded vocabulary. Pretty much the definition of a rant.
> Keep up the good work folks - emacs is a wonderful environment.
As long as one does not have to read the developer list for working with
it...
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 18:29 ` David Kastrup
@ 2008-06-08 18:32 ` Richard G Riley
2008-06-08 19:03 ` Miles Bader
2008-06-08 19:17 ` Eli Zaretskii
2008-06-08 18:32 ` İsmail Dönmez
1 sibling, 2 replies; 35+ messages in thread
From: Richard G Riley @ 2008-06-08 18:32 UTC (permalink / raw)
To: David Kastrup
Cc: 'Emacs-Devel', Richard G Riley, Drew Adams,
'John Paul Wallington'
David Kastrup <dak@gnu.org> writes:
> Richard G Riley <rileyrgdev@googlemail.com> writes:
>
>> David Kastrup <dak@gnu.org> writes:
>>
>>> "Drew Adams" <drew.adams@oracle.com> writes:
>>>
>>>> "Probably"? That has been the behavior for decades. How can it be
>>>> changed willy-nilly, with no discussion?
>>>
>>> A rant is not a discussion.
>>
>> With all due respect, this is quite a fundamental change to the way a
>> major emacs UI component works.
>
> On Windows and MacOS, nowhere else. And the buffer system is not
> operating system dependent.
I am sorry - I use Debian and it changed for me. Buffer selection was
always case insensitive for me before. At least I'm pretty sure it
was....
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 18:29 ` David Kastrup
2008-06-08 18:32 ` Richard G Riley
@ 2008-06-08 18:32 ` İsmail Dönmez
2008-06-08 18:48 ` Eli Zaretskii
1 sibling, 1 reply; 35+ messages in thread
From: İsmail Dönmez @ 2008-06-08 18:32 UTC (permalink / raw)
To: David Kastrup; +Cc: Emacs-Devel
Hi,
On Sun, Jun 8, 2008 at 9:29 PM, David Kastrup <dak@gnu.org> wrote:
> Richard G Riley <rileyrgdev@googlemail.com> writes:
>
>> David Kastrup <dak@gnu.org> writes:
>>
>>> "Drew Adams" <drew.adams@oracle.com> writes:
>>>
>>>> "Probably"? That has been the behavior for decades. How can it be
>>>> changed willy-nilly, with no discussion?
>>>
>>> A rant is not a discussion.
>>
>> With all due respect, this is quite a fundamental change to the way a
>> major emacs UI component works.
>
> On Windows and MacOS, nowhere else. And the buffer system is not
> operating system dependent.
Unlike Windows, MacOS allows you to format your disk as HFS+ case sensitive.
Regards,
ismail
--
Never learn by your mistakes, if you do you may never dare to try again.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 18:32 ` İsmail Dönmez
@ 2008-06-08 18:48 ` Eli Zaretskii
0 siblings, 0 replies; 35+ messages in thread
From: Eli Zaretskii @ 2008-06-08 18:48 UTC (permalink / raw)
To: İsmail Dönmez; +Cc: emacs-devel
> Date: Sun, 8 Jun 2008 21:32:51 +0300
> From: "=?UTF-8?Q?=C4=B0smail_D=C3=B6nmez?=" <ismail@namtrac.org>
> Cc: Emacs-Devel <emacs-devel@gnu.org>
>
> Unlike Windows, MacOS allows you to format your disk as HFS+ case sensitive.
Actually, Windows has an equivalent option as well, except that it
isn't done via formatting, but rather via a special flag passed to the
API that opens files. So if we want Emacs on Windows to become
case-sensitive (personally, I don't think this is a good idea for a
number of gory technical reasons), we can do that.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 18:22 ` Óscar Fuentes
@ 2008-06-08 19:01 ` Miles Bader
0 siblings, 0 replies; 35+ messages in thread
From: Miles Bader @ 2008-06-08 19:01 UTC (permalink / raw)
To: Óscar Fuentes; +Cc: emacs-devel
Óscar Fuentes <ofv@wanadoo.es> writes:
>> Emacs has always been case-sensitive by default on most platforms.
>
> "most platforms" are those with case-sensitive file systems, right?
>
>> Why should it be any different on windows?
>
> Because Windows' file system is not case-sensitive?
As jpw mentioned, filename completion is handled separately.
The issue (apparently; I have have misread something) is other types of
completion.
-Miles
--
Marriage, n. The state or condition of a community consisting of a master, a
mistress and two slaves, making in all, two.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 18:32 ` Richard G Riley
@ 2008-06-08 19:03 ` Miles Bader
2008-06-08 19:17 ` Eli Zaretskii
1 sibling, 0 replies; 35+ messages in thread
From: Miles Bader @ 2008-06-08 19:03 UTC (permalink / raw)
To: Richard G Riley
Cc: 'John Paul Wallington', Drew Adams, 'Emacs-Devel'
Richard G Riley <rileyrgdev@googlemail.com> writes:
> I am sorry - I use Debian and it changed for me. Buffer selection was
> always case insensitive for me before. At least I'm pretty sure it
> was....
If it was, then it was you who made it so... that has never been the
default.
-Miles
--
Cabbage, n. A familiar kitchen-garden vegetable about as large and wise as a
man's head.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 18:32 ` Richard G Riley
2008-06-08 19:03 ` Miles Bader
@ 2008-06-08 19:17 ` Eli Zaretskii
2008-06-08 19:55 ` Richard G Riley
1 sibling, 1 reply; 35+ messages in thread
From: Eli Zaretskii @ 2008-06-08 19:17 UTC (permalink / raw)
To: Richard G Riley; +Cc: jpw, rileyrgdev, drew.adams, emacs-devel
> Date: Sun, 08 Jun 2008 20:32:46 +0200
> From: Richard G Riley <rileyrgdev@googlemail.com>
> Cc: 'Emacs-Devel' <emacs-devel@gnu.org>,
> Richard G Riley <rileyrgdev@googlemail.com>,
> Drew Adams <drew.adams@oracle.com>, 'John Paul Wallington' <jpw@pobox.com>
>
> > On Windows and MacOS, nowhere else. And the buffer system is not
> > operating system dependent.
>
> I am sorry - I use Debian and it changed for me. Buffer selection was
> always case insensitive for me before. At least I'm pretty sure it
> was....
Well, then please tell in what version of Emacs is that, because in
Emacs 22.1 on Ubuntu it's case-sensitive.
^ permalink raw reply [flat|nested] 35+ messages in thread
* RE: buffer name completion is case-sensitive now
2008-06-08 18:13 ` buffer name completion is case-sensitive now Miles Bader
2008-06-08 18:22 ` Óscar Fuentes
@ 2008-06-08 19:20 ` Drew Adams
1 sibling, 0 replies; 35+ messages in thread
From: Drew Adams @ 2008-06-08 19:20 UTC (permalink / raw)
To: 'Miles Bader'
Cc: 'Emacs-Devel', 'Richard G Riley',
'John Paul Wallington'
> >> With the introduction of `read-file-name-completion-ignore-case'
> >> there's less need to have an MS-Windows specific
> >> default value of `completion-ignore-case'.
> >
> > Irrelevant. This is about completion of _buffer_ names, not
> > file names. Try completing `*m' to *Messages* now - doesn't work.
> >
> > No one is questioning what `read-file-name' should do; this is about
> > `completing-read' with buffer names.
>
> Emacs has always been case-sensitive by default on most platforms.
My bad; I mistakenly thought that was not the case.
I used to use Emacs on UNIX a lot, and I still use it sometimes on GNU/Linux,
but I forgot and didn't notice, respectively.
The behavior change I noted was for Windows.
> Why should it be any different on windows?
No good reason that I'm aware of.
It would be good to give users on all platforms an easy way to control the
behavior. E.g. a user option for buffer-name completion case sensitivity.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 17:48 ` Drew Adams
` (2 preceding siblings ...)
2008-06-08 18:28 ` Eli Zaretskii
@ 2008-06-08 19:21 ` John Paul Wallington
2008-06-08 19:38 ` Drew Adams
` (2 more replies)
3 siblings, 3 replies; 35+ messages in thread
From: John Paul Wallington @ 2008-06-08 19:21 UTC (permalink / raw)
To: Drew Adams; +Cc: 'Richard G Riley', 'Emacs-Devel'
Drew Adams wrote:
> So I guess you are saying that this change was intentional, not
> accidental (not
> a bug).
>
> No discussion here (AFAICT)? How do such "experiments" get
> implemented without
> any proposal and discussion?
I proposed the change on emacs-devel on April 26th 2008 and Stefan
gave it the go-ahead:
http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg01877.html
> This changes long-standing standard Emacs behavior. It should be
> reverted.
Well, that's a matter of opinion. The default value of `completion-
ignore-case' is nil for all other systems bar MS-Windows. I agree
with you that buffer names are another case, in addition to filenames,
where MS-Windows systems should do case-insensitive completion. I
think that Emacs on MS-Windows has historically had an exceptional
default value of t for `completion-ignore-case' precisely to handle
filename and buffer name completion and that its effect on other
completions was largely coincidental. I would like to avoid all
completion being case-insensitive on MS-Windows.
^ permalink raw reply [flat|nested] 35+ messages in thread
* RE: buffer name completion is case-sensitive now
2008-06-08 18:24 ` David Kastrup
@ 2008-06-08 19:21 ` Drew Adams
2008-06-08 19:53 ` Drew Adams
0 siblings, 1 reply; 35+ messages in thread
From: Drew Adams @ 2008-06-08 19:21 UTC (permalink / raw)
To: 'David Kastrup'
Cc: 'John Paul Wallington', 'Richard G Riley',
'Emacs-Devel'
> But since the buffer system is not really tied into the file system, I
> think it a reasonable hypothesis that the completion default
> should not depend on the file system completion default.
I agree.
> I guess we already have Drew's vote about buffer name case sensitivity
> on Windows in (even though he confuses "Windows" and "standard").
I think we should add a user option for this, similar to
`read-file-name-completion-ignore-case': `buffer-name-completion-ignore-case'.
I don't care much what the default value of that option would be. I'd vote for
t, but the important thing is to give users a way to get the behavior they want.
^ permalink raw reply [flat|nested] 35+ messages in thread
* RE: buffer name completion is case-sensitive now
2008-06-08 19:21 ` John Paul Wallington
@ 2008-06-08 19:38 ` Drew Adams
2008-06-08 21:01 ` Óscar Fuentes
2008-06-08 20:51 ` Juanma Barranquero
2008-06-09 1:47 ` Stefan Monnier
2 siblings, 1 reply; 35+ messages in thread
From: Drew Adams @ 2008-06-08 19:38 UTC (permalink / raw)
To: 'John Paul Wallington'
Cc: 'Richard G Riley', 'Emacs-Devel'
> > No discussion here (AFAICT)? How do such "experiments" get
> > implemented without any proposal and discussion?
>
> I proposed the change on emacs-devel on April 26th 2008 and Stefan
> gave it the go-ahead:
> http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg01877.html
Sorry, I didn't notice it. I remember reading that, but I didn't grasp the
consequences.
> > This changes long-standing standard Emacs behavior. It should be
> > reverted.
>
> Well, that's a matter of opinion. The default value of `completion-
> ignore-case' is nil for all other systems bar MS-Windows.
I was mistaken; I forgot about the behavior on non-Windows platforms.
> I agree with you that buffer names are another case, in addition
> to filenames, where MS-Windows systems should do case-insensitive
> completion.
Actually, I think that buffer-name completion and file-name completion should be
treated independently, regardless of the platform.
I think that users should be able to configure their preference for buffer-name
completion, just as they can for file-name completion.
> I think that Emacs on MS-Windows has historically had an exceptional
> default value of t for `completion-ignore-case' precisely to handle
> filename and buffer name completion and that its effect on other
> completions was largely coincidental.
I agree.
> I would like to avoid all completion being case-insensitive on
> MS-Windows.
I would like to give control over that to users, via an option - regardless of
the platform.
^ permalink raw reply [flat|nested] 35+ messages in thread
* RE: buffer name completion is case-sensitive now
2008-06-08 19:21 ` Drew Adams
@ 2008-06-08 19:53 ` Drew Adams
2008-06-08 21:21 ` John Paul Wallington
2008-06-08 23:49 ` case-insensitive if no insensitive dups? Drew Adams
0 siblings, 2 replies; 35+ messages in thread
From: Drew Adams @ 2008-06-08 19:53 UTC (permalink / raw)
Cc: 'Emacs-Devel', 'Richard G Riley',
'John Paul Wallington'
I said:
> I think we should add a user option for this, similar to
> `read-file-name-completion-ignore-case':
> `buffer-name-completion-ignore-case'.
Implementation of respect for such an option would likely be limited to
`read-buffer' and `interactive' buffer specs ("B" and "b").
Unlike the case for `read-file-name' and
`read-file-name-completion-ignore-case', it is impossible for `completing-read'
to reliably determine whether its completion candidates are (all) buffer names.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 19:17 ` Eli Zaretskii
@ 2008-06-08 19:55 ` Richard G Riley
0 siblings, 0 replies; 35+ messages in thread
From: Richard G Riley @ 2008-06-08 19:55 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: jpw, Richard G Riley, drew.adams, emacs-devel
Eli Zaretskii <eliz@gnu.org> writes:
>> Date: Sun, 08 Jun 2008 20:32:46 +0200
>> From: Richard G Riley <rileyrgdev@googlemail.com>
>> Cc: 'Emacs-Devel' <emacs-devel@gnu.org>,
>> Richard G Riley <rileyrgdev@googlemail.com>,
>> Drew Adams <drew.adams@oracle.com>, 'John Paul Wallington' <jpw@pobox.com>
>>
>> > On Windows and MacOS, nowhere else. And the buffer system is not
>> > operating system dependent.
>>
>> I am sorry - I use Debian and it changed for me. Buffer selection was
>> always case insensitive for me before. At least I'm pretty sure it
>> was....
>
> Well, then please tell in what version of Emacs is that, because in
> Emacs 22.1 on Ubuntu it's case-sensitive.
This is all very strange. I only noticed the case sensitive change
recently. I had never experienced it before. I am willing to believe
that something else I had loaded made if case insensitive - possibly
ido? But when I dumped IDO in favour of Icicles I noticed the case
sensitive behaviour.
Anyway, I will leave it to you more experienced sorts to figure out the
best way. But, fwiw, I feel it's better to have case insensitive buffer
selection. It just seems quicker and more appropriate.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 19:21 ` John Paul Wallington
2008-06-08 19:38 ` Drew Adams
@ 2008-06-08 20:51 ` Juanma Barranquero
2008-06-09 1:47 ` Stefan Monnier
2 siblings, 0 replies; 35+ messages in thread
From: Juanma Barranquero @ 2008-06-08 20:51 UTC (permalink / raw)
To: John Paul Wallington; +Cc: Richard G Riley, Drew Adams, Emacs-Devel
On Sun, Jun 8, 2008 at 21:21, John Paul Wallington <jpw@pobox.com> wrote:
> [...] buffer names are another case, in addition to filenames,
> where MS-Windows systems should do case-insensitive completion.
+1
Juanma
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 19:38 ` Drew Adams
@ 2008-06-08 21:01 ` Óscar Fuentes
2008-06-08 21:15 ` Óscar Fuentes
0 siblings, 1 reply; 35+ messages in thread
From: Óscar Fuentes @ 2008-06-08 21:01 UTC (permalink / raw)
To: emacs-devel
"Drew Adams" <drew.adams@oracle.com> writes:
>> > No discussion here (AFAICT)? How do such "experiments" get
>> > implemented without any proposal and discussion?
>>
>> I proposed the change on emacs-devel on April 26th 2008 and Stefan
>> gave it the go-ahead:
>> http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg01877.html
>
> Sorry, I didn't notice it. I remember reading that, but I didn't grasp the
> consequences.
Same here.
[snip]
>> I agree with you that buffer names are another case, in addition
>> to filenames, where MS-Windows systems should do case-insensitive
>> completion.
>
> Actually, I think that buffer-name completion and file-name completion
> should be treated independently, regardless of the platform.
I differ. For an Emacs hacker, `buffer' and `file' are clearly distinct
concepts, but for your average newbie a buffer is just the place where
you edit the file. For him, the name of the buffer is just the file
name, and he expects to refer to it the same way he refers to files. If
he is accustomed to a case-insensitive file system, having to think
about the case of the buffer name is an annoyance.
> I think that users should be able to configure their preference for
> buffer-name completion, just as they can for file-name completion.
Right, and I would add that the defaults should adapt to user
expectations on each platform, if possible.
[snip]
--
Oscar
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 21:01 ` Óscar Fuentes
@ 2008-06-08 21:15 ` Óscar Fuentes
0 siblings, 0 replies; 35+ messages in thread
From: Óscar Fuentes @ 2008-06-08 21:15 UTC (permalink / raw)
To: emacs-devel
Óscar Fuentes <ofv@wanadoo.es> writes:
>> Actually, I think that buffer-name completion and file-name completion
>> should be treated independently, regardless of the platform.
>
> I differ.
[snip]
Sorry. Wrong interpretation of Drew's words. I agree that buffer name
and file name should have their own completion settings.
--
Oscar
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 19:53 ` Drew Adams
@ 2008-06-08 21:21 ` John Paul Wallington
2008-06-08 23:49 ` case-insensitive if no insensitive dups? Drew Adams
1 sibling, 0 replies; 35+ messages in thread
From: John Paul Wallington @ 2008-06-08 21:21 UTC (permalink / raw)
To: Drew Adams; +Cc: Richard G Riley, Emacs-Devel
On 8 Jun 2008, at 20:53, Drew Adams wrote:
> I said:
>
>> I think we should add a user option for this, similar to
>> `read-file-name-completion-ignore-case':
>> `buffer-name-completion-ignore-case'.
>
> Implementation of respect for such an option would likely be limited
> to
> `read-buffer' and `interactive' buffer specs ("B" and "b").
>
> Unlike the case for `read-file-name' and
> `read-file-name-completion-ignore-case', it is impossible for
> `completing-read'
> to reliably determine whether its completion candidates are (all)
> buffer names.
Hm. I guess people should call `read-buffer' when they want a buffer
name and frob `read-buffer-function' to change its behaviour. I'll
propose a simple `read-buffer-completion-ignore-case' change in a
minute.
^ permalink raw reply [flat|nested] 35+ messages in thread
* case-insensitive if no insensitive dups?
2008-06-08 19:53 ` Drew Adams
2008-06-08 21:21 ` John Paul Wallington
@ 2008-06-08 23:49 ` Drew Adams
2008-06-09 0:01 ` Drew Adams
2008-06-09 1:46 ` Stefan Monnier
1 sibling, 2 replies; 35+ messages in thread
From: Drew Adams @ 2008-06-08 23:49 UTC (permalink / raw)
To: 'Emacs-Devel'
Here's a crazy idea.
Whenever there are no completion candidates that differ only by case, treat
completion as case-insensitive. Even when the governing variables (e.g.
`case-fold-search', `completion-ignores-case') say it needs to be
case-sensitive. IOW, treat the variables as only a worst-case guideline.
Dunno how performant this would be in some cases, or even how feasible it would
be in some cases.
But where possible and performant, it could be handy. In cases where case
couldn't possibly make any difference, users would be able to complete without
bothering with the Shift key. Users could configure the variables, in effect, to
have case sensitivity turn on (only) whenever it makes sense.
On the other hand, a user might sometimes want to be able to test whether
particular case-sensitive candidates are available - s?he might then want to use
case-sensitive matching even when there weren't any alternative candidates with
the same spelling, modulo case.
Perhaps another user option? `completion-ignore-case-unless-dups-flag' or
whatever.
This idea could even be used beyond completion: `case-fold-generously' or
whatever. That is, let matching try to find a case-insensitive match, unless
that leads to some matches that differ only by case.
On the down side, such an approach might sometimes be confusing. Suppose the
first thing you type is `ab', and there are candidates `abcd' and `abcD'.
Assuming case sensitivity is required by the governing variables, it would be
imposed in this case, because of the insensitivity duplicates. If you then hit
`e', however, and there are only the matches `abexyz' and `abeLincoln', then
completion would automatically switch to being case-insensitive.
We could of course choose to never let your input affect things. That is, just
decide once and for all, based on the current domain of candidates, whether it
allows for case-insensitivity. In this case, the fact that your input is `abe'
(or anything else) would have no effect: completion would remain case-sensitive
because of the insensitivity duplicates `abcd' and `abcD'.
That would be quite conservative and much less handy, however. Personally, I'd
opt for allowing the potential confusion of an automatic switch from sensitive
to insensitive, because it would let me complete `*m' to `*Messages*' even if
there were also two buffers `foo' and `FoO'. (There could of course never be a
switch from insensitive to sensitive.)
The performance in the conservative case would be better, because the test would
only be made once (using all domain candidates); it wouldn't be updated for each
character you type (or when you hit `TAB', if there is no incremental
completion).
On the other hand, if the first few characters were allowed to be typed before
making any test, and if your input were used in the test, then performance would
be improved, due to the smaller search space.
To me, that would probably be the way to go: have either a minimum number of
chars (e.g. 1) or a tiny delay, after which your input would be matched against
the candidates to see whether or not matching could be insensitive. If the
minimum were 1 char, then typing `*' would limit the set of buffers to check for
duplicates to just a few. If a delay were used instead, then you might need to
type `*m' a little slowly, to automatically switch to case-insensitive matching
against `*Messages*'.
Just some food for thought.
^ permalink raw reply [flat|nested] 35+ messages in thread
* RE: case-insensitive if no insensitive dups?
2008-06-08 23:49 ` case-insensitive if no insensitive dups? Drew Adams
@ 2008-06-09 0:01 ` Drew Adams
2008-06-09 1:46 ` Stefan Monnier
1 sibling, 0 replies; 35+ messages in thread
From: Drew Adams @ 2008-06-09 0:01 UTC (permalink / raw)
To: 'Emacs-Devel'
I said:
> The performance in the conservative case would be better,
> because the test would only be made once (using all domain
> candidates); it wouldn't be updated for each character you
> type (or when you hit `TAB', if there is no incremental
> completion).
>
> On the other hand, if the first few characters were allowed
> to be typed before making any test, and if your input were
> used in the test, then performance would be improved, due
> to the smaller search space.
>
> To me, that would probably be the way to go: have either a
> minimum number of chars (e.g. 1) or a tiny delay, after
> which your input would be matched against the candidates
> to see whether or not matching could be insensitive.
Sorry, for this part I was thinking of incremental completion, as in Icicles.
With vanilla Emacs completion, this would be under user control via TAB: wait
until s?he hits TAB to perform the test.
My remarks about min chars and a delay are pertinent for vanilla Emacs only in
the context of incremental matching, such as in incremental search. They don't
apply to completion.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: case-insensitive if no insensitive dups?
2008-06-08 23:49 ` case-insensitive if no insensitive dups? Drew Adams
2008-06-09 0:01 ` Drew Adams
@ 2008-06-09 1:46 ` Stefan Monnier
2008-06-09 6:38 ` Drew Adams
1 sibling, 1 reply; 35+ messages in thread
From: Stefan Monnier @ 2008-06-09 1:46 UTC (permalink / raw)
To: Drew Adams; +Cc: 'Emacs-Devel'
> Here's a crazy idea.
> Whenever there are no completion candidates that differ only by case, treat
> completion as case-insensitive. Even when the governing variables (e.g.
I don't consider myself as crazy, but I've already several times
considered doing just that. I haven't tried to code it up yet, tho.
Stefan
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-08 19:21 ` John Paul Wallington
2008-06-08 19:38 ` Drew Adams
2008-06-08 20:51 ` Juanma Barranquero
@ 2008-06-09 1:47 ` Stefan Monnier
2008-06-09 6:43 ` Drew Adams
2 siblings, 1 reply; 35+ messages in thread
From: Stefan Monnier @ 2008-06-09 1:47 UTC (permalink / raw)
To: John Paul Wallington
Cc: 'Richard G Riley', Drew Adams, 'Emacs-Devel'
> Well, that's a matter of opinion. The default value of `completion-
> ignore-case' is nil for all other systems bar MS-Windows. I agree with you
> that buffer names are another case, in addition to filenames, where
> MS-Windows systems should do case-insensitive completion. I think that
Given the fact that buffer-names are generally derived directly from
file-names, I suggest we change read-buffer to obey
read-file-name-completion-ignore-case.
Stefan
^ permalink raw reply [flat|nested] 35+ messages in thread
* RE: case-insensitive if no insensitive dups?
2008-06-09 1:46 ` Stefan Monnier
@ 2008-06-09 6:38 ` Drew Adams
0 siblings, 0 replies; 35+ messages in thread
From: Drew Adams @ 2008-06-09 6:38 UTC (permalink / raw)
To: 'Stefan Monnier'; +Cc: 'Emacs-Devel'
> > Here's a crazy idea.
> > Whenever there are no completion candidates that differ
> > only by case, treat completion as case-insensitive.
> > Even when the governing variables (e.g.
>
> I don't consider myself as crazy, but I've already several times
> considered doing just that. I haven't tried to code it up yet, tho.
Glad to hear it. I will think about it also. Maybe one of us (someone) will get
around to trying something out.
Some care needs to be taken to allow user control over this, IMO - exceptions,
etc. The last thing we would want is something that doesn't let you impose
case-sensitive matching when you are sure that is what you want. IOW, we
shouldn't assume you necessarily want generous matching - you might sometimes
want completion to fail if there is no case-sensitive match.
^ permalink raw reply [flat|nested] 35+ messages in thread
* RE: buffer name completion is case-sensitive now
2008-06-09 1:47 ` Stefan Monnier
@ 2008-06-09 6:43 ` Drew Adams
2008-06-10 1:11 ` Stefan Monnier
0 siblings, 1 reply; 35+ messages in thread
From: Drew Adams @ 2008-06-09 6:43 UTC (permalink / raw)
To: 'Stefan Monnier', 'John Paul Wallington'
Cc: 'Richard G Riley', 'Emacs-Devel'
> > Well, that's a matter of opinion. The default value of `completion-
> > ignore-case' is nil for all other systems bar MS-Windows. I agree
> > with you that buffer names are another case, in addition to
> > filenames, where MS-Windows systems should do case-insensitive
> > completion. I think that
>
> Given the fact that buffer-names are generally derived directly from
> file-names, I suggest we change read-buffer to obey
> read-file-name-completion-ignore-case.
For the record, I disagree. I won't repeat all that was said, but some of us
have pointed out that the two kinds of object are different. Buffer names are
_not_ generally derived directly from file names.
> > Is it okay to install the following change?
>
> I don't think we need yet-another configuration variable for that.
> We should just reuse read-file-name-completion-ignore-case.
Again, I disagree. A screw is not a nail, even if it is sometimes good enough to
just hammer it in.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-09 6:43 ` Drew Adams
@ 2008-06-10 1:11 ` Stefan Monnier
2008-06-10 1:29 ` Richard G Riley
0 siblings, 1 reply; 35+ messages in thread
From: Stefan Monnier @ 2008-06-10 1:11 UTC (permalink / raw)
To: Drew Adams
Cc: 'Emacs-Devel', 'Richard G Riley',
'John Paul Wallington'
>> > Well, that's a matter of opinion. The default value of `completion-
>> > ignore-case' is nil for all other systems bar MS-Windows. I agree
>> > with you that buffer names are another case, in addition to
>> > filenames, where MS-Windows systems should do case-insensitive
>> > completion. I think that
>>
>> Given the fact that buffer-names are generally derived directly from
>> file-names, I suggest we change read-buffer to obey
>> read-file-name-completion-ignore-case.
> For the record, I disagree.
Duly noted...
> I won't repeat all that was said, but some of us have pointed out that
> the two kinds of object are different. Buffer names are _not_
> generally derived directly from file names.
...but irrelevant if it doesn't come with more concrete arguments.
Stefan
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-10 1:11 ` Stefan Monnier
@ 2008-06-10 1:29 ` Richard G Riley
2008-06-10 2:39 ` Stefan Monnier
0 siblings, 1 reply; 35+ messages in thread
From: Richard G Riley @ 2008-06-10 1:29 UTC (permalink / raw)
To: Stefan Monnier
Cc: 'Emacs-Devel', 'Richard G Riley', Drew Adams,
'John Paul Wallington'
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>>> > Well, that's a matter of opinion. The default value of `completion-
>>> > ignore-case' is nil for all other systems bar MS-Windows. I agree
>>> > with you that buffer names are another case, in addition to
>>> > filenames, where MS-Windows systems should do case-insensitive
>>> > completion. I think that
>>>
>>> Given the fact that buffer-names are generally derived directly from
>>> file-names, I suggest we change read-buffer to obey
>>> read-file-name-completion-ignore-case.
>
>> For the record, I disagree.
>
> Duly noted...
>
>> I won't repeat all that was said, but some of us have pointed out that
>> the two kinds of object are different. Buffer names are _not_
>> generally derived directly from file names.
>
> ...but irrelevant if it doesn't come with more concrete arguments.
>
>
> Stefan
It is very possible that I have lost the track here, but you are surely
not suggesting that buffer selection SHOULD be case sensitive? It
strikes me as rather unfriendly to say the least since many buffers are
application created in mixed case.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: buffer name completion is case-sensitive now
2008-06-10 1:29 ` Richard G Riley
@ 2008-06-10 2:39 ` Stefan Monnier
0 siblings, 0 replies; 35+ messages in thread
From: Stefan Monnier @ 2008-06-10 2:39 UTC (permalink / raw)
To: Richard G Riley
Cc: 'Emacs-Devel', Drew Adams, 'John Paul Wallington'
> It is very possible that I have lost the track here,
Indeed you have ;-)
Stefan
^ permalink raw reply [flat|nested] 35+ messages in thread
end of thread, other threads:[~2008-06-10 2:39 UTC | newest]
Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-08 16:40 buffer name completion is case-sensitive now Drew Adams
2008-06-08 17:29 ` John Paul Wallington
2008-06-08 17:48 ` Drew Adams
2008-06-08 18:08 ` David Kastrup
2008-06-08 18:19 ` Richard G Riley
2008-06-08 18:29 ` David Kastrup
2008-06-08 18:32 ` Richard G Riley
2008-06-08 19:03 ` Miles Bader
2008-06-08 19:17 ` Eli Zaretskii
2008-06-08 19:55 ` Richard G Riley
2008-06-08 18:32 ` İsmail Dönmez
2008-06-08 18:48 ` Eli Zaretskii
2008-06-08 18:24 ` David Kastrup
2008-06-08 19:21 ` Drew Adams
2008-06-08 19:53 ` Drew Adams
2008-06-08 21:21 ` John Paul Wallington
2008-06-08 23:49 ` case-insensitive if no insensitive dups? Drew Adams
2008-06-09 0:01 ` Drew Adams
2008-06-09 1:46 ` Stefan Monnier
2008-06-09 6:38 ` Drew Adams
2008-06-08 18:13 ` buffer name completion is case-sensitive now Miles Bader
2008-06-08 18:22 ` Óscar Fuentes
2008-06-08 19:01 ` Miles Bader
2008-06-08 19:20 ` Drew Adams
2008-06-08 18:28 ` Eli Zaretskii
2008-06-08 19:21 ` John Paul Wallington
2008-06-08 19:38 ` Drew Adams
2008-06-08 21:01 ` Óscar Fuentes
2008-06-08 21:15 ` Óscar Fuentes
2008-06-08 20:51 ` Juanma Barranquero
2008-06-09 1:47 ` Stefan Monnier
2008-06-09 6:43 ` Drew Adams
2008-06-10 1:11 ` Stefan Monnier
2008-06-10 1:29 ` Richard G Riley
2008-06-10 2:39 ` Stefan Monnier
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.