[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#7238: 24.0.50; find-library gives wrong library - REGRESSION
From: |
Stefan Monnier |
Subject: |
bug#7238: 24.0.50; find-library gives wrong library - REGRESSION |
Date: |
Mon, 18 Oct 2010 17:02:29 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
> 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))))