From d183f322f974fadbf2302c603ebe7ec3fb9646cd Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 22 Aug 1995 20:30:57 +0000 Subject: [PATCH] (icomplete-minibuffer-setup): Use make-local-hook and add and remove hooks locally. --- lisp/icomplete.el | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/lisp/icomplete.el b/lisp/icomplete.el index e7d53a1f8a5..8a9d0984704 100644 --- a/lisp/icomplete.el +++ b/lisp/icomplete.el @@ -136,34 +136,31 @@ Conditions are: (and (window-minibuffer-p (selected-window)) (not executing-macro) (not (symbolp minibuffer-completion-table)))) + ;;;_ > icomplete-minibuffer-setup () ;;;###autoload (defun icomplete-minibuffer-setup () - "Run in minibuffer on activation to establish incremental completion. - -Usually run by inclusion in minibuffer-setup-hook." - +Usually run by inclusion in `minibuffer-setup-hook'." (cond ((and icomplete-mode (icomplete-simple-completing-p)) - (make-local-variable 'pre-command-hook) - (setq pre-command-hook (copy-sequence pre-command-hook)) + (make-local-hook 'pre-command-hook) (add-hook 'pre-command-hook (function (lambda () - (run-hooks 'icomplete-pre-command-hook)))) - (make-local-variable 'post-command-hook) - (setq post-command-hook (copy-sequence post-command-hook)) + (run-hooks 'icomplete-pre-command-hook))) + nil t) + (make-local-hook 'post-command-hook) (add-hook 'post-command-hook (function (lambda () - (run-hooks 'icomplete-post-command-hook)))) + (run-hooks 'icomplete-post-command-hook))) + nil t) (run-hooks 'icomplete-minibuffer-setup-hook)))) - + ;;;_* Completion ;;;_ > icomplete-tidy () (defun icomplete-tidy () "Remove completions display \(if any) prior to new user input. - -Should be run in on the minibuffer pre-command-hook. See `icomplete-mode' +Should be run in on the minibuffer `pre-command-hook'. See `icomplete-mode' and `minibuffer-setup-hook'." (if (icomplete-simple-completing-p) (if (and (boundp 'icomplete-eoinput) @@ -178,11 +175,11 @@ and `minibuffer-setup-hook'." ;; Reestablish the local variable 'cause minibuffer-setup is weird: (make-local-variable 'icomplete-eoinput) (setq icomplete-eoinput 1)))) + ;;;_ > icomplete-exhibit () (defun icomplete-exhibit () "Insert icomplete completions display. - -Should be run via minibuffer post-command-hook. See `icomplete-mode' +Should be run via minibuffer `post-command-hook'. See `icomplete-mode' and `minibuffer-setup-hook'." (if (icomplete-simple-completing-p) (let ((contents (buffer-substring (point-min)(point-max))) @@ -204,6 +201,7 @@ and `minibuffer-setup-hook'." minibuffer-completion-predicate (not minibuffer-completion-confirm)))))))) + ;;;_ > icomplete-completions (name candidates predicate require-match) (defun icomplete-completions (name candidates predicate require-match) "Identify prospective candidates for minibuffer completion. @@ -219,8 +217,8 @@ one of \(), \[], or \{} pairs. The choice of brackets is as follows: \{...} - multiple prospects, separated by commas, are indicated, and further input is required to distingish a single one. -The displays for disambiguous matches have \" [Matched]\" appended -\(whether complete or not), or \" \[No matches]\", if no eligible +The displays for disambiguous matches have ` [Matched]' appended +\(whether complete or not), or ` \[No matches]', if no eligible matches exist." (let ((comps (all-completions name candidates predicate)) -- 2.39.2