Mercurial > emacs
changeset 43491:8d50d4fa8c4b
(shell-pcomplete, shell-pcomplete-reverse): New functions.
(toplevel): Bind them.
(shell-mode): Don't set `comint-dynamic-complete-functions'; it is
not necessary now that we use pcomplete.
author | Colin Walters <walters@gnu.org> |
---|---|
date | Sat, 23 Feb 2002 21:34:11 +0000 |
parents | a08f4763cba4 |
children | 6afed71ef190 |
files | lisp/shell.el |
diffstat | 1 files changed, 25 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/shell.el Sat Feb 23 21:33:49 2002 +0000 +++ b/lisp/shell.el Sat Feb 23 21:34:11 2002 +0000 @@ -310,7 +310,8 @@ (setq shell-mode-map (nconc (make-sparse-keymap) comint-mode-map)) (define-key shell-mode-map "\C-c\C-f" 'shell-forward-command) (define-key shell-mode-map "\C-c\C-b" 'shell-backward-command) - (define-key shell-mode-map "\t" 'comint-dynamic-complete) + (define-key shell-mode-map "\t" 'shell-pcomplete) + (define-key shell-mode-map "\M-\t" 'shell-pcomplete-reverse) (define-key shell-mode-map "\M-?" 'comint-dynamic-list-filename-completions) (define-key shell-mode-map [menu-bar completion] @@ -396,7 +397,6 @@ (setq comint-delimiter-argument-list shell-delimiter-argument-list) (setq comint-file-name-chars shell-file-name-chars) (setq comint-file-name-quote-list shell-file-name-quote-list) - (setq comint-dynamic-complete-functions shell-dynamic-complete-functions) (make-local-variable 'paragraph-start) (setq paragraph-start comint-prompt-regexp) (make-local-variable 'font-lock-defaults) @@ -857,6 +857,29 @@ (progn (goto-char (match-beginning 1)) (skip-chars-forward ";&|"))))) +(defun shell-pcomplete () + "Cycle forwards through completions at point, using `pcomplete'. +This function merely invokes `pcomplete', after ensuring this buffer +is set up for it." + (interactive) + (unless (prog1 shell-pcomplete-setup-p + (setq shell-pcomplete-setup-p t)) + (pcomplete-comint-setup 'shell-dynamic-complete-functions)) + ;; Convince pcomplete we are calling it directly + (setq this-command 'pcomplete) + (call-interactively #'pcomplete)) + +(defun shell-pcomplete-reverse () + "Cycle backwards through completions at point, using `pcomplete'. +This function merely invokes `pcomplete-reverse', after ensuring this +buffer is set up for it." + (interactive) + (unless (prog1 shell-pcomplete-setup-p + (setq shell-pcomplete-setup-p t)) + (pcomplete-comint-setup 'shell-dynamic-complete-functions)) + ;; Convince pcomplete we are calling it directly + (setq this-command 'pcomplete-reverse) + (call-interactively #'pcomplete-reverse)) (defun shell-dynamic-complete-command () "Dynamically complete the command at point.