unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* read-buffer-completion-ignore-case
@ 2009-05-05 17:46 Drew Adams
  2009-05-06  2:29 ` read-buffer-completion-ignore-case Miles Bader
  2009-05-06  3:20 ` read-buffer-completion-ignore-case Stefan Monnier
  0 siblings, 2 replies; 8+ messages in thread
From: Drew Adams @ 2009-05-05 17:46 UTC (permalink / raw)
  To: emacs-devel

There is no real use of `read-buffer-completion-ignore-case' in the Emacs Lisp
files, and I haven't bothered to download the C source code to check all the
places it might be used (besides `read-buffer').

Question: How can Emacs-Lisp code know whether completion involves buffer names?


Suppose I want to do something depending on the value of
`read-buffer-completion-ignore-case', but only when completion is for buffer
names - how can I test that? It's relatively easy to test for file-name
completion, but how to do that for buffer-name completion?





^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: read-buffer-completion-ignore-case
  2009-05-05 17:46 read-buffer-completion-ignore-case Drew Adams
@ 2009-05-06  2:29 ` Miles Bader
  2009-05-06  2:38   ` read-buffer-completion-ignore-case Drew Adams
  2009-05-06  3:20 ` read-buffer-completion-ignore-case Stefan Monnier
  1 sibling, 1 reply; 8+ messages in thread
From: Miles Bader @ 2009-05-06  2:29 UTC (permalink / raw)
  To: emacs-devel

"Drew Adams" <drew.adams@oracle.com> writes:
> There is no real use of `read-buffer-completion-ignore-case' in the Emacs Lisp
> files, and I haven't bothered to download the C source code to check all the
> places it might be used (besides `read-buffer').
>
> Question: How can Emacs-Lisp code know whether completion involves buffer names?
>
> Suppose I want to do something depending on the value of
> `read-buffer-completion-ignore-case', but only when completion is for buffer
> names - how can I test that? It's relatively easy to test for file-name
> completion, but how to do that for buffer-name completion?

Do you really need to know explicitly?  Could you instead just test
`completion-ignore-case', which is let-bound to the value of
read-buffer-completion-ignore-case inside of read-buffer?

-Miles

-- 
Philosophy, n. A route of many roads leading from nowhere to nothing.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: read-buffer-completion-ignore-case
  2009-05-06  2:29 ` read-buffer-completion-ignore-case Miles Bader
@ 2009-05-06  2:38   ` Drew Adams
  2009-05-06  3:00     ` read-buffer-completion-ignore-case Miles Bader
  0 siblings, 1 reply; 8+ messages in thread
From: Drew Adams @ 2009-05-06  2:38 UTC (permalink / raw)
  To: 'Miles Bader', emacs-devel

> > There is no real use of 
> > `read-buffer-completion-ignore-case' in the Emacs Lisp
> > files, and I haven't bothered to download the C source code 
> > to check all the places it might be used (besides `read-buffer').
> >
> > Question: How can Emacs-Lisp code know whether completion 
> > involves buffer names?
> >
> > Suppose I want to do something depending on the value of
> > `read-buffer-completion-ignore-case', but only when 
> > completion is for buffer names - how can I test that?
> > It's relatively easy to test for file-name
> > completion, but how to do that for buffer-name completion?
> 
> Do you really need to know explicitly?  Could you instead just test
> `completion-ignore-case', which is let-bound to the value of
> read-buffer-completion-ignore-case inside of read-buffer?

Not sure I follow you. Do you mean compare the values of
`completion-ignore-case' and `read-buffer-completion-ignore-case', and assume
that a buffer name is being read if (and only if) they are different?

For what I have in mind that test wouldn't be sufficient. I really want to know
whether buffer-name completion is happening.

But I wouldn't go so far as to say I "need" this. I don't really need any
particular feature - or Emacs itself, for that matter. ;-)





^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: read-buffer-completion-ignore-case
  2009-05-06  2:38   ` read-buffer-completion-ignore-case Drew Adams
@ 2009-05-06  3:00     ` Miles Bader
  2009-05-06  5:42       ` read-buffer-completion-ignore-case Drew Adams
  0 siblings, 1 reply; 8+ messages in thread
From: Miles Bader @ 2009-05-06  3:00 UTC (permalink / raw)
  To: emacs-devel

"Drew Adams" <drew.adams@oracle.com> writes:
>> Do you really need to know explicitly?  Could you instead just test
>> `completion-ignore-case', which is let-bound to the value of
>> read-buffer-completion-ignore-case inside of read-buffer?
>
> Not sure I follow you. Do you mean compare the values of
> `completion-ignore-case' and `read-buffer-completion-ignore-case', and
> assume that a buffer name is being read if (and only if) they are
> different?

No, I mean, make your code generic, and only pay attention to
`completion-ignore-case', as it will have the correct value in the
various different circumstances.

> For what I have in mind that test wouldn't be sufficient. I really
> want to know whether buffer-name completion is happening.

Why?  Maybe the fact that you want to know indicates the completion
interface is missing something...

-Miles

-- 
Selfish, adj. Devoid of consideration for the selfishness of others.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: read-buffer-completion-ignore-case
  2009-05-05 17:46 read-buffer-completion-ignore-case Drew Adams
  2009-05-06  2:29 ` read-buffer-completion-ignore-case Miles Bader
@ 2009-05-06  3:20 ` Stefan Monnier
  1 sibling, 0 replies; 8+ messages in thread
From: Stefan Monnier @ 2009-05-06  3:20 UTC (permalink / raw)
  To: Drew Adams; +Cc: emacs-devel

> Question: How can Emacs-Lisp code know whether completion involves
> buffer names?

It can't, currently.  Can you explain to us what you're trying to do?


        Stefan





^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: read-buffer-completion-ignore-case
  2009-05-06  3:00     ` read-buffer-completion-ignore-case Miles Bader
@ 2009-05-06  5:42       ` Drew Adams
  2009-05-06  7:27         ` read-buffer-completion-ignore-case Miles Bader
  0 siblings, 1 reply; 8+ messages in thread
From: Drew Adams @ 2009-05-06  5:42 UTC (permalink / raw)
  To: 'Miles Bader', emacs-devel

> No, I mean, make your code generic, and only pay attention to
> `completion-ignore-case', as it will have the correct value in the
> various different circumstances.

Not in what I have in mind.

> > For what I have in mind that test wouldn't be sufficient. I really
> > want to know whether buffer-name completion is happening.
> 
> Why?  Maybe the fact that you want to know indicates the completion
> interface is missing something...

No, nevermind, but thanks. I would like to be able to know whether completion
involves buffer names, but there is ultimately no complete solution to that
anyway, obviously. There is in the end no way for completing-read to know
whether its COLLECTION argument involves buffer names. Sticking with
recognizable commands and functions (e.g. read-buffer), as I'm doing anyway, is
a partial solution.

I was thinking of something akin to `minibuffer-completing-file-name', but the
buffer case is not really parallel. (Yes, even for file names there is no 100%
solution, since you can complete them using completing-read instead of
read-file-name, but `minibuffer-completing-file-name' is a pretty good
indicator.)





^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: read-buffer-completion-ignore-case
  2009-05-06  5:42       ` read-buffer-completion-ignore-case Drew Adams
@ 2009-05-06  7:27         ` Miles Bader
  2009-05-06  8:29           ` read-buffer-completion-ignore-case Drew Adams
  0 siblings, 1 reply; 8+ messages in thread
From: Miles Bader @ 2009-05-06  7:27 UTC (permalink / raw)
  To: emacs-devel

"Drew Adams" <drew.adams@oracle.com> writes:
>> No, I mean, make your code generic, and only pay attention to
>> `completion-ignore-case', as it will have the correct value in the
>> various different circumstances.
>
> Not in what I have in mind.
>
>> > For what I have in mind that test wouldn't be sufficient. I really
>> > want to know whether buffer-name completion is happening.
>> 
>> Why?  Maybe the fact that you want to know indicates the completion
>> interface is missing something...
>
> No, nevermind, but thanks.

Drew, it seems like _every time_ somebody asks you for more information
about what you're doing in hopes of trying to understand the general
problem better, you demure, saying "never mind what I'm doing, I just
_need_ functionality X."

Of course it requires some effort on your part to describe things, and
there's some risk that the response will be "no, no, you're approaching
the problem all wrong" but it's very hard for Emacs to develop good
general features without information on what is actually needed...

-Miles

-- 
The automobile has not merely taken over the street, it has dissolved the
living tissue of the city.  Its appetite for space is absolutely insatiable;
moving and parked, it devours urban land, leaving the buildings as mere
islands of habitable space in a sea of dangerous and ugly traffic.
[James Marston Fitch, New York Times, 1 May 1960]





^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: read-buffer-completion-ignore-case
  2009-05-06  7:27         ` read-buffer-completion-ignore-case Miles Bader
@ 2009-05-06  8:29           ` Drew Adams
  0 siblings, 0 replies; 8+ messages in thread
From: Drew Adams @ 2009-05-06  8:29 UTC (permalink / raw)
  To: 'Miles Bader', emacs-devel

> > No, nevermind, but thanks.
> 
> Drew, it seems like _every time_ somebody asks you for more 
> information about what you're doing in hopes of trying to
> understand the general problem better, you demure, saying
> "never mind what I'm doing, I just _need_ functionality X."

No, I never said that I "_need_" this. And I never said "never mind what I'm
doing". In fact, I explicitly said that I do _not_ need this, in just so many
words. And there is no "what I'm doing" to nevermind - I'm not doing anything.

I said I might like such a thing, if it were available. And I later said I
realized that it is not too realistic. That is why (and when) I said nevermind -
I dropped it; you can too. ;-)

There is no special reason for the "Suppose I want to do something...when
completion is for buffer names - how can I test that?" (to quote the original
query). I just think it might be handy to be able to recognize buffer
completion.

If you insist "But what are you really trying to do?", there is no answer. I'm
not _really_ trying to do anything. There is no hidden motivation or agenda. I
simply thought it would be useful to be able to recognize buffer-name
completion, just as it can be useful to recognize file-name completion. That was
"what I have in mind". That's all.

Perhaps I shouldn't have mentioned `read-buffer-completion-ignore-case' at all.
My question, from the beginning, was about recognizing buffer-name completion -
no more, no less. Anything else was beside the point, which is what I was trying
to clarify by saying that it didn't respond to what I was requesting.

I accept responsibility for not being 100% clear. I really only had the one
question. And I dropped it, afer talking it out and convincing myself that it
wasn't realistic. Thinking out loud, I guess.

> Of course it requires some effort on your part to describe things, and
> there's some risk that the response will be "no, no, you're 
> approaching the problem all wrong" but it's very hard for Emacs
> to develop good general features without information on what is
> actually needed...

I don't think you need worry about that. When I really need something, or I
really think Emacs could use some good general feature I have in mind, I tend to
provide more than enough detail wrt the problem/need/feature, as I'm sure you're
aware. ;-)

Thanks for trying to help; sorry if I wasted your time.





^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2009-05-06  8:29 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-05 17:46 read-buffer-completion-ignore-case Drew Adams
2009-05-06  2:29 ` read-buffer-completion-ignore-case Miles Bader
2009-05-06  2:38   ` read-buffer-completion-ignore-case Drew Adams
2009-05-06  3:00     ` read-buffer-completion-ignore-case Miles Bader
2009-05-06  5:42       ` read-buffer-completion-ignore-case Drew Adams
2009-05-06  7:27         ` read-buffer-completion-ignore-case Miles Bader
2009-05-06  8:29           ` read-buffer-completion-ignore-case Drew Adams
2009-05-06  3:20 ` read-buffer-completion-ignore-case Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).