summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2012-11-19 14:22:07 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2012-11-19 14:22:07 -0500
commit93b050412adab7512b7ebc77077fdbbe72730114 (patch)
tree94119c77c5403f12b096db6529b0bb2dc5fce2a4 /lisp
parent88c4a13c3b573e0fa844c88ab89765ef308c267e (diff)
downloademacs-93b050412adab7512b7ebc77077fdbbe72730114.tar.gz
* lisp/eshell/em-cmpl.el (eshell-pcomplete): Refine fix for bug#12838:
Fallback on completion-at-point rather than pcomplete-expand-and-complete, and only if pcomplete actually failed. (eshell-cmpl-initialize): Setup completion-at-point. * lisp/pcomplete.el (pcomplete--entries): Obey pcomplete-ignore-case.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog7
-rw-r--r--lisp/eshell/em-cmpl.el8
-rw-r--r--lisp/pcomplete.el3
3 files changed, 14 insertions, 4 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d88aac7bc61..e2299df822f 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,12 @@
2012-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
+ * eshell/em-cmpl.el (eshell-pcomplete): Refine fix for bug#12838:
+ Fallback on completion-at-point rather than
+ pcomplete-expand-and-complete, and only if pcomplete actually failed.
+ (eshell-cmpl-initialize): Setup completion-at-point.
+
+ * pcomplete.el (pcomplete--entries): Obey pcomplete-ignore-case.
+
* emacs-lisp/ert.el (ert--expand-should-1): Adapt to cl-lib.
2012-11-19 Michael Albinus <michael.albinus@gmx.de>
diff --git a/lisp/eshell/em-cmpl.el b/lisp/eshell/em-cmpl.el
index aa8aae2d245..b4c86e39e86 100644
--- a/lisp/eshell/em-cmpl.el
+++ b/lisp/eshell/em-cmpl.el
@@ -297,6 +297,8 @@ to writing a completion function."
(define-key eshell-command-map [? ] 'pcomplete-expand)
(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?
(if (featurep 'xemacs)
(define-key eshell-mode-map [iso-left-tab] 'pcomplete-reverse)
@@ -452,9 +454,9 @@ to writing a completion function."
(defun eshell-pcomplete ()
"Eshell wrapper for `pcomplete'."
(interactive)
- (if eshell-cmpl-ignore-case
- (pcomplete-expand-and-complete) ; hack workaround for bug#12838
- (pcomplete)))
+ (condition-case nil
+ (pcomplete)
+ (text-read-only (completion-at-point)))) ; Workaround for bug#12838.
(provide 'em-cmpl)
diff --git a/lisp/pcomplete.el b/lisp/pcomplete.el
index 9e55976a8bd..13cf7356e7f 100644
--- a/lisp/pcomplete.el
+++ b/lisp/pcomplete.el
@@ -833,7 +833,8 @@ this is `comint-dynamic-complete-functions'."
. ,(lambda (comps)
(sort comps pcomplete-compare-entry-function)))
,@(cdr (completion-file-name-table s p a)))
- (let ((completion-ignored-extensions nil))
+ (let ((completion-ignored-extensions nil)
+ (completion-ignore-case pcomplete-ignore-case))
(completion-table-with-predicate
#'comint-completion-file-name-table pred 'strict s p a))))))