GNU bug report logs - #31704
26.1; tramp-remote-path/shell: broken executable completion

Previous Next

Package: emacs;

Reported by: xristos <xristos <at> sdf.org>

Date: Mon, 4 Jun 2018 07:24:02 UTC

Severity: normal

Tags: fixed

Found in version 26.1

Fixed in version 27.1

Done: Michael Albinus <michael.albinus <at> gmx.de>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: xristos <xristos <at> sdf.org>
Subject: bug#31704: closed (Re: bug#31704: fixed commit not handle
 eshell-path-env properly in Windows platform)
Date: Mon, 10 Sep 2018 07:55:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#31704: 26.1; tramp-remote-path/shell: broken executable completion

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 31704 <at> debbugs.gnu.org.

-- 
31704: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31704
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Michael Albinus <michael.albinus <at> gmx.de>
To: Tao Fang <fangtao0901 <at> gmail.com>
Cc: 31704-done <at> debbugs.gnu.org
Subject: Re: bug#31704: fixed commit not handle eshell-path-env properly in
 Windows platform
Date: Mon, 10 Sep 2018 09:54:43 +0200
Version: 27.1

Tao Fang <fangtao0901 <at> gmail.com> writes:

> Hi, Michael

Hi,

>  I can confirm this bug was fixed in your commit and second problem
> fixed either, thanks!

Thanks for your confirmation, I'm closing the bug.

> Best regards,

Best regards, Michael. 

[Message part 3 (message/rfc822, inline)]
From: xristos <xristos <at> sdf.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.1; tramp-remote-path/shell: broken executable completion
Date: Sun, 03 Jun 2018 21:32:09 -0400
The issue lies in shell--command-completion-data which is called
by shell-command-completion, it only checks directories in
exec-path (local) rather than tramp-remote-path. This bug also
leaks the local exec-path to the remote server.

To reproduce:

emacs -Q

Evaluate:
(require 'tramp)

;; For debugging
(setq tramp-persistency-file-name nil
      tramp-verbose 10)

(add-to-list 'tramp-remote-path 'tramp-own-remote-path)

;; Assuming an account 'chris' exists at server 'remote',
;; to see the issue clearly make sure that there exists
;; a directory in the remote server PATH (e.g. ~/bin/)
;; but NOT in exec-path.

(let ((default-directory "/ssh:chris <at> remote:"))
  (shell "*remote*"))

;; Assuming executable 'testbin' exists in remote server ~/bin/
;; and not inside any directory in exec-path:

remote$ testb<TAB> ;; No completion

M-:
(add-to-list 'exec-path "~/bin/")

remote$ testb<TAB> ;; Completes fine

If one checks the tramp debug buffer, one will see tramp
checking (and leaking information to the remote server)
all the directories that exist in the local exec-path.




This bug report was last modified 6 years and 252 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.