diff options
Diffstat (limited to 'lisp/pcomplete.el')
-rw-r--r-- | lisp/pcomplete.el | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/lisp/pcomplete.el b/lisp/pcomplete.el index 79b269870b1..8116ad91fd2 100644 --- a/lisp/pcomplete.el +++ b/lisp/pcomplete.el @@ -281,6 +281,10 @@ to all arguments, such as variable names after a $." :type 'hook :group 'pcomplete) +(defsubst pcomplete-executables (&optional regexp) + "Complete amongst a list of directories and executables." + (pcomplete-entries regexp 'file-executable-p)) + (defcustom pcomplete-command-completion-function (function (lambda () @@ -599,6 +603,8 @@ this is `comint-dynamic-complete-functions'." "Setup shell-mode to use pcomplete." (pcomplete-comint-setup 'shell-dynamic-complete-functions)) +(declare-function comint-bol "comint" (&optional arg)) + (defun pcomplete-parse-comint-arguments () "Parse whitespace separated arguments in the current region." (let ((begin (save-excursion (comint-bol nil) (point))) @@ -780,10 +786,6 @@ component, `default-directory' is used as the basis for completion." "Complete amongst a list of directories." (pcomplete-entries regexp 'file-directory-p)) -(defsubst pcomplete-executables (&optional regexp) - "Complete amongst a list of directories and executables." - (pcomplete-entries regexp 'file-executable-p)) - ;; generation of completion lists (defun pcomplete-find-completion-function (command) @@ -944,17 +946,16 @@ generate the completions list. This means that the hook ;; Abstractions so that the code below will work for both Emacs 20 and ;; XEmacs 21 -(unless (fboundp 'event-matches-key-specifier-p) - (defalias 'event-matches-key-specifier-p 'eq)) +(defalias 'pcomplete-event-matches-key-specifier-p + (if (featurep 'xemacs) + 'event-matches-key-specifier-p + 'eq)) (defun pcomplete-read-event (&optional prompt) (if (fboundp 'read-event) (read-event prompt) (aref (read-key-sequence prompt) 0))) -(unless (fboundp 'event-basic-type) - (defalias 'event-basic-type 'event-key)) - (defun pcomplete-show-completions (completions) "List in help buffer sorted COMPLETIONS. Typing SPC flushes the help buffer." @@ -973,13 +974,13 @@ Typing SPC flushes the help buffer." (while (with-current-buffer (get-buffer "*Completions*") (setq event (pcomplete-read-event))) (cond - ((event-matches-key-specifier-p event ?\s) + ((pcomplete-event-matches-key-specifier-p event ?\s) (set-window-configuration pcomplete-last-window-config) (setq pcomplete-last-window-config nil) (throw 'done nil)) - ((or (event-matches-key-specifier-p event 'tab) + ((or (pcomplete-event-matches-key-specifier-p event 'tab) ;; Needed on a terminal - (event-matches-key-specifier-p event 9)) + (pcomplete-event-matches-key-specifier-p event 9)) (let ((win (or (get-buffer-window "*Completions*" 0) (display-buffer "*Completions*" 'not-this-window)))) |