GNU bug report logs -
#7238
24.0.50; find-library gives wrong library - REGRESSION
Previous Next
Reported by: "Drew Adams" <drew.adams <at> oracle.com>
Date: Mon, 18 Oct 2010 16:53:01 UTC
Severity: normal
Found in version 24.0.50
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
Message #10 received at 7238-done <at> debbugs.gnu.org (full text, mbox):
> emacs -Q
> M-x find-library dired. TAB
> TAB completes to dired.elc. It should, by priority, complete to
> dired.el, as it used to do (Emacs 22, 23 etc.).
Indeed. The behavior of M-x find-library RET dired TAB is odd, but the
one for dired. TAB is really a bug, which I fixed with the patch below.
Thanks,
Stefan
=== modified file 'lisp/files.el'
--- lisp/files.el 2010-10-02 13:21:43 +0000
+++ lisp/files.el 2010-10-18 20:51:50 +0000
@@ -801,9 +801,10 @@
;; Switching from names to names+fullnames creates a non-monotonicity
;; which can cause problems with things like partial-completion.
;; To minimize the problem, filter out completion-regexp-list, so that
- ;; M-x load-library RET t/x.e TAB finds some files.
- (if completion-regexp-list
- (setq names (all-completions "" names)))
+ ;; M-x load-library RET t/x.e TAB finds some files. Also remove elements
+ ;; from `names' which only matched `string' when they still had
+ ;; their suffix.
+ (setq names (all-completions string names))
;; Remove duplicates of the first element, so that we can easily check
;; if `names' really only contains a single element.
(when (cdr names) (setcdr names (delete (car names) (cdr names))))
This bug report was last modified 14 years and 221 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.