X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/bf120ed1b9f1fa5a2422465e7ca825080b7b0c65..6f1b43a0ad8ed8e231f168fcd135376414cb56cc:/lisp/filecache.el diff --git a/lisp/filecache.el b/lisp/filecache.el index 821afd6a60..9e06d6f23e 100644 --- a/lisp/filecache.el +++ b/lisp/filecache.el @@ -9,10 +9,10 @@ ;; This file is part of GNU Emacs. -;; GNU Emacs is free software; you can redistribute it and/or modify +;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 3, or (at your option) -;; any later version. +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -20,9 +20,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. +;; along with GNU Emacs. If not, see . ;;; Commentary: ;; @@ -259,7 +257,12 @@ Defaults to nil on DOS and Windows, and t on other systems." (defvar file-cache-alist nil "Internal data structure to hold cache of file names.") -(defvar file-cache-completions-keymap nil +(defvar file-cache-completions-keymap + (let ((map (make-sparse-keymap))) + (set-keymap-parent map completion-list-mode-map) + (define-key map [mouse-2] 'file-cache-mouse-choose-completion) + (define-key map "\C-m" 'file-cache-choose-completion) + map) "Keymap for file cache completions buffer.") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -609,14 +612,10 @@ the name is considered already unique; only the second substitution (substring completion-string (length string))) ;; Add our own setup function to the Completions Buffer (let ((completion-setup-hook - (reverse - (append (list 'file-cache-completion-setup-function) - completion-setup-hook))) - ) + (append completion-setup-hook + (list 'file-cache-completion-setup-function)))) (with-output-to-temp-buffer file-cache-completions-buffer - (display-completion-list completion-list string)) - ) - ) + (display-completion-list completion-list string)))) (setq file-cache-string (file-cache-file-name completion-string)) (if (string= file-cache-string (minibuffer-contents)) (file-cache-temp-minibuffer-message @@ -653,19 +652,8 @@ the name is considered already unique; only the second substitution ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun file-cache-completion-setup-function () - (set-buffer file-cache-completions-buffer) - - (if file-cache-completions-keymap - nil - (setq file-cache-completions-keymap - (copy-keymap completion-list-mode-map)) - (define-key file-cache-completions-keymap [mouse-2] - 'file-cache-mouse-choose-completion) - (define-key file-cache-completions-keymap "\C-m" - 'file-cache-choose-completion)) - - (use-local-map file-cache-completions-keymap) - ) + (with-current-buffer standard-output ;; i.e. file-cache-completions-buffer + (use-local-map file-cache-completions-keymap))) (defun file-cache-choose-completion () "Choose a completion in the `*Completions*' buffer." @@ -782,5 +770,5 @@ match REGEXP." (provide 'filecache) -;;; arch-tag: 433d3ca4-4af2-47ce-b2cf-1f727460f538 +;; arch-tag: 433d3ca4-4af2-47ce-b2cf-1f727460f538 ;;; filecache.el ends here