From 51e14f13f084bc41b863e5cd0308f5fd7da23fff Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 12 Sep 2013 16:38:35 -0400 Subject: [PATCH] * eshell/em-cmpl.el: Undo accidental part of last commit. --- lisp/eshell/em-cmpl.el | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/lisp/eshell/em-cmpl.el b/lisp/eshell/em-cmpl.el index fe7a79cf952..a940eb5cd36 100644 --- a/lisp/eshell/em-cmpl.el +++ b/lisp/eshell/em-cmpl.el @@ -297,16 +297,19 @@ to writing a completion function." (define-key eshell-mode-map [(meta tab)] 'eshell-complete-lisp-symbol) (define-key eshell-mode-map [(meta control ?i)] 'eshell-complete-lisp-symbol) (define-key eshell-command-map [(meta ?h)] 'eshell-completion-help) + (define-key eshell-command-map [tab] 'pcomplete-expand-and-complete) (define-key eshell-command-map [(control ?i)] 'pcomplete-expand-and-complete) (define-key eshell-command-map [space] 'pcomplete-expand) (define-key eshell-command-map [? ] 'pcomplete-expand) - (define-key eshell-mode-map [(control ?i)] 'pcomplete) + (define-key eshell-mode-map [tab] 'eshell-pcomplete) + (define-key eshell-mode-map [(control ?i)] 'eshell-pcomplete) (add-hook 'completion-at-point-functions #'pcomplete-completions-at-point nil t) ;; jww (1999-10-19): Will this work on anything but X? - (define-key eshell-mode-map (if (featurep 'xemacs) [iso-left-tab] [backtab]) - 'pcomplete-reverse) + (if (featurep 'xemacs) + (define-key eshell-mode-map [iso-left-tab] 'pcomplete-reverse) + (define-key eshell-mode-map [backtab] 'pcomplete-reverse)) (define-key eshell-mode-map [(meta ??)] 'pcomplete-list)) (defun eshell-completion-command-name () @@ -455,7 +458,16 @@ to writing a completion function." (all-completions filename obarray 'functionp)) completions))))))) -(define-obsolete-function-alias 'eshell-pcomplete 'completion-at-point) +(defun eshell-pcomplete (&optional interactively) + "Eshell wrapper for `pcomplete'." + (interactive "p") + ;; Pretend to be pcomplete so that cycling works (bug#13293). + (setq this-command 'pcomplete) + (condition-case nil + (if interactively + (call-interactively 'pcomplete) + (pcomplete)) + (text-read-only (completion-at-point)))) ; Workaround for bug#12838. (provide 'em-cmpl) -- 2.39.2