* change to try-completion behavior
@ 2007-02-22 18:33 Johan Bockgård
0 siblings, 0 replies; only message in thread
From: Johan Bockgård @ 2007-02-22 18:33 UTC (permalink / raw)
To: emacs-devel
There was an old thread in gnu.emacs.help (see below) about the change
in behavior of try-completion in CVS.
This code
(let ((completion-ignore-case t))
(try-completion "w" '(("W") ("Write") ("w"))))
returns "W" in Emacs 22. In Emacs 21 is used to return "w", that is
the best match _including_ case.
I should have said in that discussion that I think that this is a
bug/regression. Ftry_completion contains this comment:
/* If there is more than one exact match ignoring case, and one of
them is exact including case, prefer that one. */
The new short-circuiting behavior means that this note is not true in
general.
http://article.gmane.org/gmane.emacs.help/32010
From: Johan Bockgård <bojohan+news <at> dd.chalmers.se>
Subject: Re: change to try-completion behavior in 21.3?
Newsgroups: gmane.emacs.help
Date: 2005-12-17 06:49:54 GMT
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
>> Why should it ever return the capital letter W?
>
> Because in your completion table, you have "W".
"w" was also in the table.
This change
revision 1.237
date: 2002-04-09 19:28:42 +0000; author: monnier; state: Exp; lines: +89 -47 [...]
(Ftry_completion): Allow lambda forms and lists of strings for
`alist'.
Short-circuit the search as soon as it "failed". [...]
added this piece of code (approximately)
if (matchsize <= SCHARS (string)
&& matchcount > 1)
/* No need to look any further. */
break;
When completion-ignore-case is t this doesn't necessarily find the
best match _including case_ (AFAICS).
--
Johan Bockgård
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2007-02-22 18:33 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-02-22 18:33 change to try-completion behavior Johan Bockgård
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.