Subject: bug#9793: 24.0.90; Unwanted tramp connection on eshell completion.

From: Stefan Monnier <[email-masked]>
Date: Sun, 23 Oct 2011 13:47:30 -0400

> `pcomplete-dirs' uses `file-directory-p' as predicate, which is applied
> to all completion candidates. The following patch ought to fix it:

> --8<---------------cut here---------------start------------->8---
> *** /home/albinus/src/emacs/lisp/pcomplete.el.~106161~	2011-10-22 11:31:11.996458454 +0200
> --- /home/albinus/src/emacs/lisp/pcomplete.el	2011-10-22 11:30:20.796204566 +0200
> ***************
> *** 948,954 ****
  
>   (defsubst pcomplete-dirs (&optional regexp)
>     "Complete amongst a list of directories."
> !   (pcomplete-entries regexp 'file-directory-p))
  
>   ;; generation of completion lists
  
> --- 948,957 ----
  
>   (defsubst pcomplete-dirs (&optional regexp)
>     "Complete amongst a list of directories."
> !   (pcomplete-entries regexp
> ! 		     (lambda (dir)
> ! 		       (or (file-remote-p (expand-file-name dir))
> ! 			   (file-directory-p dir)))))
  
>   ;; generation of completion lists
  
> --8<---------------cut here---------------end--------------->8---

> Comments?

This looks like a workaround rather than a fix.  Also, I notice that in
`shell' (rather than `eshell') the problem does not occur.  So I'd like
to better understand what's going on.

        Stefan