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>
(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)
(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)
. ,(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))))))