* lisp/eshell/em-cmpl.el (eshell-pcomplete): New command.
authorGlenn Morris <rgm@gnu.org>
Thu, 15 Nov 2012 07:59:46 +0000 (23:59 -0800)
committerGlenn Morris <rgm@gnu.org>
Thu, 15 Nov 2012 07:59:46 +0000 (23:59 -0800)
(eshell-cmpl-initialize): Bind eshell-pcomplete to TAB, C-i.

Fixes: debbugs:12838

lisp/ChangeLog
lisp/eshell/em-cmpl.el

index e53b667..74981d0 100644 (file)
@@ -1,5 +1,8 @@
 2012-11-15  Glenn Morris  <rgm@gnu.org>
 
+       * eshell/em-cmpl.el (eshell-pcomplete): New command.  (Bug#12838)
+       (eshell-cmpl-initialize): Bind eshell-pcomplete to TAB, C-i.
+
        * faces.el (face-underline-p): Doc fix.  Handle :underline being
        things other than `t' (a string, a list).
        (face-inverse-video-p): Doc fix.
index a67861e..aa8aae2 100644 (file)
@@ -295,8 +295,8 @@ to writing a completion function."
     'pcomplete-expand-and-complete)
   (define-key eshell-command-map [space] 'pcomplete-expand)
   (define-key eshell-command-map [? ] 'pcomplete-expand)
-  (define-key eshell-mode-map [tab] 'pcomplete)
-  (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)
   ;; jww (1999-10-19): Will this work on anything but X?
   (if (featurep 'xemacs)
       (define-key eshell-mode-map [iso-left-tab] 'pcomplete-reverse)
@@ -449,6 +449,13 @@ to writing a completion function."
                        (all-completions filename obarray 'functionp))
                   completions)))))))
 
+(defun eshell-pcomplete ()
+  "Eshell wrapper for `pcomplete'."
+  (interactive)
+  (if eshell-cmpl-ignore-case
+      (pcomplete-expand-and-complete)  ; hack workaround for bug#12838
+    (pcomplete)))
+
 (provide 'em-cmpl)
 
 ;; Local Variables: