From: Stefan Monnier Date: Mon, 19 Nov 2012 19:22:07 +0000 (-0500) Subject: * lisp/eshell/em-cmpl.el (eshell-pcomplete): Refine fix for bug#12838: X-Git-Tag: emacs-24.2.90~34 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=93b050412adab7512b7ebc77077fdbbe72730114;p=emacs.git * 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. --- 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 + * 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 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))))))