GNU bug report logs - #11718
24.1.50; `all-completions' returns results with wrong case

Previous Next

Package: emacs;

Reported by: michael_heerdegen <at> web.de

Date: Fri, 15 Jun 2012 19:00:02 UTC

Severity: normal

Tags: fixed

Found in versions 24.1.50, 24.3

Fixed in version 24.4

Done: npostavs <at> users.sourceforge.net

Bug is archived. No further changes may be made.

Full log


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

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: "Drew Adams" <drew.adams <at> oracle.com>
Cc: 11718 <at> debbugs.gnu.org, 'Stefan Monnier' <monnier <at> iro.umontreal.ca>
Subject: Re: bug#11718: 24.1.50;
	`all-completions' returns results with wrong case
Date: Sat, 23 Jun 2012 21:51:42 +0200
"Drew Adams" <drew.adams <at> oracle.com> writes:

> I don't know what the Icicles connection is.

If you type C-x C-f ~ / t r a TAB, this is what we currently do:

  all-completions("~/tra" read-file-name-internal file-exists-p nil)
* icicle-all-completions("~/tra" read-file-name-internal file-exists-p nil)
  icicle-unsorted-file-name-prefix-candidates("~/tra")
  icicle-file-name-prefix-candidates("~/tra")
  icicle-prefix-complete-1()
  icicle-prefix-complete()

where `icicle-unsorted-file-name-prefix-candidates' looks like this:

--8<---------------cut here---------------start------------->8---
(defun icicle-unsorted-file-name-prefix-candidates (input)
  "Unsorted list of prefix completions for the current file-name INPUT.
When `icicle-expand-input-to-common-match' = 3 or 4, which implies
prefix auto-expansion, this also sets `icicle-common-match-string' to
the expanded common match of the input over all candidates."
  (condition-case nil
      (let* ((pred  (if (< emacs-major-version 23) default-directory
                      minibuffer-completion-predicate))
             (candidates
              (if (icicle-not-basic-prefix-completion-p)
                  (icicle-completion-all-completions
                   input minibuffer-completion-table pred
                   (length input)
                   (and (fboundp 'completion--field-metadata) ;Emacs24
                        (completion--field-metadata
                         (field-beginning))))
                (icicle-all-completions input minibuffer-completion-table pred
                                        icicle-ignore-space-prefix-flag)))
             (icicle-extra-candidates
              (icicle-remove-if-not ..4..))
             (icicle-proxy-candidates ..5..)
             (filtered-candidates ..16..))
        (when (and (memq icicle-expand-input-to-common-match '(3 4))
                   (consp filtered-candidates)) ..15..)
        (unless filtered-candidates  (setq icicle-common-match-string  nil))
        filtered-candidates)
    (quit (top-level))))
--8<---------------cut here---------------end--------------->8---


Thus, the minibuffer input is completed to ~/trash, although only
~/Trash exists.

Michael.




This bug report was last modified 8 years and 319 days ago.

Previous Next


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