[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master ed44217: Fix completion in `read-library-name'
From: |
Lars Ingebrigtsen |
Subject: |
[Emacs-diffs] master ed44217: Fix completion in `read-library-name' |
Date: |
Tue, 27 Aug 2019 03:46:38 -0400 (EDT) |
branch: master
commit ed44217d3245ddc8f2cf75c9499d5bb37848cfd7
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>
Fix completion in `read-library-name'
* lisp/emacs-lisp/find-func.el (read-library-name): Only list
.el/.el.gz files when completing (bug#36945).
---
lisp/emacs-lisp/find-func.el | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el
index 9fc7e4a..142c99e 100644
--- a/lisp/emacs-lisp/find-func.el
+++ b/lisp/emacs-lisp/find-func.el
@@ -285,10 +285,19 @@ Interactively, prompt for LIBRARY using the one at or
near point."
A library name is the filename of an Emacs Lisp library located
in a directory under `load-path' (or `find-function-source-path',
if non-nil)."
- (let* ((dirs (or find-function-source-path load-path))
- (suffixes (find-library-suffixes))
- (table (apply-partially 'locate-file-completion-table
- dirs suffixes))
+ (let* ((suffix-regexp (mapconcat
+ (lambda (suffix)
+ (concat (regexp-quote suffix) "\\'"))
+ (find-library-suffixes)
+ "\\|"))
+ (table (cl-loop for dir in (or find-function-source-path load-path)
+ when (file-readable-p dir)
+ append (mapcar
+ (lambda (file)
+ (replace-regexp-in-string suffix-regexp
+ "" file))
+ (directory-files dir nil
+ suffix-regexp))))
(def (if (eq (function-called-at-point) 'require)
;; `function-called-at-point' may return 'require
;; with `point' anywhere on this line. So wrap the
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master ed44217: Fix completion in `read-library-name',
Lars Ingebrigtsen <=