Subject: bug#23032: closed (Re: bug#23032: 25.0.91; Eshell misinterprets TRAMP multi-hop paths as pipes)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 19 Mar 2016 15:57:01 +0000

Your bug report

#23032: 25.0.91; Eshell misinterprets TRAMP multi-hop paths as pipes

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 [email-masked].

-- 
23032: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23032
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#23032: 25.0.91; Eshell misinterprets TRAMP multi-hop paths as pipes
From: Michael Albinus <[email-masked]>
To: William G. Gardella <[email-masked]>
Cc: [email-masked]
Date: Sat, 19 Mar 2016 16:55:55 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

William G. Gardella <[email-masked]> writes:

Hi William,

> Fair enough; given that quoting or escaping works around the problem,
> maybe a stronger note in the manual is a satisfactory solution.

I've added a respective sentence to the section "2.2 Arguments" of
eshell.texi. Closing the bug.

> Best,
> WGG

Best regards, Michael.

Subject: 25.0.91; Eshell misinterprets TRAMP multi-hop paths as pipes
From: William G. Gardella <[email-masked]>
To: [email-masked]
Date: Wed, 16 Mar 2016 16:21:54 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Steps to reproduce:

1. M-x eshell

2. Type a TRAMP path that makes an ad-hoc multi-hop connection,
   such as:

   cd /sshx:user@host|sudo:root@host:

3. Eshell responds "sudo:root@host:: command not found"

4. Type the same TRAMP path, but wrapped in quotes:

   cd "/sshx:user@host|sudo:root@host:"

5. Eshell successfully navigates to the path.

It seems that eshell too eagerly notices the pipe character
and assumes that it's reading a piped command line,
rather than first noticing that the character is inside a TRAMP path.

In GNU Emacs 25.0.91.1 (x86_64-slackware-linux-gnu)
 of 2016-02-16 built on eris
Windowing system distributor 'The X.Org Foundation', version 11.0.11403000
Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
 --program-prefix= --program-suffix= --mandir=/usr/man
 --infodir=/usr/info --without-gconf --without-gsettings --with-x
 --with-x-toolkit=no --build=x86_64-slackware-linux 'CFLAGS=-O2
 -fPIC''

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS NOTIFY ACL
GNUTLS LIBXML2 FREETYPE XFT ZLIB X11

Important settings:
  value of $LC_COLLATE: C
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=exim
  locale-coding-system: utf-8-unix

Major mode: ERC

Minor modes in effect:
  erc-services-mode: t
  erc-autoaway-mode: t
  xterm-mouse-mode: t
  winner-mode: t
  type-break-mode: t
  magit-wip-before-change-mode: t
  magit-wip-after-apply-mode: t
  magit-wip-after-save-mode: t
  diff-auto-refine-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  shell-dirtrack-mode: t
  async-bytecomp-package-mode: t
  electric-pair-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-match-mode: t
  erc-netsplit-mode: t
  erc-hl-nicks-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-keep-place-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  pdf-occur-global-minor-mode: t
  display-time-mode: t
  savehist-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  transient-mark-mode: t

Recent messages:
Logging in as `wgreenhouse'...
Logging in without password
Connecting to 127.0.0.1:9999... 
Type "q" in help window to restore previous buffer.
Logging in as ‘wgreenhouse’... done
Type "q" in help window to restore previous buffer.
Connecting to 127.0.0.1:9999... ...done
Logging in as `wgreenhouse'...
Logging in without password
Logging in as ‘wgreenhouse’... done

Load-path shadows:
~/git/org-mode/contrib/lisp/org-mime hides /home/wgg/.emacs.d/elpa/org-mime-20120112/org-mime
/usr/share/emacs/site-lisp/t-mouse hides /usr/share/emacs/25.0.91/lisp/t-mouse
~/git/org-mode/lisp/ob-screen hides /usr/share/emacs/25.0.91/lisp/org/ob-screen
~/git/org-mode/lisp/ob-C hides /usr/share/emacs/25.0.91/lisp/org/ob-C
~/git/org-mode/lisp/org-capture hides /usr/share/emacs/25.0.91/lisp/org/org-capture
~/git/org-mode/lisp/org-w3m hides /usr/share/emacs/25.0.91/lisp/org/org-w3m
~/git/org-mode/lisp/org-eshell hides /usr/share/emacs/25.0.91/lisp/org/org-eshell
~/git/org-mode/lisp/org-clock hides /usr/share/emacs/25.0.91/lisp/org/org-clock
~/git/org-mode/lisp/org-gnus hides /usr/share/emacs/25.0.91/lisp/org/org-gnus
~/git/org-mode/lisp/org-indent hides /usr/share/emacs/25.0.91/lisp/org/org-indent
~/git/org-mode/lisp/ox-texinfo hides /usr/share/emacs/25.0.91/lisp/org/ox-texinfo
~/git/org-mode/lisp/org-macs hides /usr/share/emacs/25.0.91/lisp/org/org-macs
~/git/org-mode/lisp/ob-java hides /usr/share/emacs/25.0.91/lisp/org/ob-java
~/git/org-mode/lisp/ox-ascii hides /usr/share/emacs/25.0.91/lisp/org/ox-ascii
~/git/org-mode/lisp/ob-octave hides /usr/share/emacs/25.0.91/lisp/org/ob-octave
~/git/org-mode/lisp/org-bbdb hides /usr/share/emacs/25.0.91/lisp/org/org-bbdb
~/git/org-mode/lisp/ob-latex hides /usr/share/emacs/25.0.91/lisp/org/ob-latex
~/git/org-mode/lisp/org-plot hides /usr/share/emacs/25.0.91/lisp/org/org-plot
~/git/org-mode/lisp/ox-man hides /usr/share/emacs/25.0.91/lisp/org/ox-man
~/git/org-mode/lisp/org-id hides /usr/share/emacs/25.0.91/lisp/org/org-id
~/git/org-mode/lisp/ob-sass hides /usr/share/emacs/25.0.91/lisp/org/ob-sass
~/git/org-mode/lisp/org-datetree hides /usr/share/emacs/25.0.91/lisp/org/org-datetree
~/git/org-mode/lisp/ox hides /usr/share/emacs/25.0.91/lisp/org/ox
~/git/org-mode/lisp/ob-org hides /usr/share/emacs/25.0.91/lisp/org/ob-org
~/git/org-mode/lisp/org-timer hides /usr/share/emacs/25.0.91/lisp/org/org-timer
~/git/org-mode/lisp/org-attach hides /usr/share/emacs/25.0.91/lisp/org/org-attach
~/git/org-mode/lisp/org-mouse hides /usr/share/emacs/25.0.91/lisp/org/org-mouse
~/git/org-mode/lisp/ob-R hides /usr/share/emacs/25.0.91/lisp/org/ob-R
~/git/org-mode/lisp/ob-awk hides /usr/share/emacs/25.0.91/lisp/org/ob-awk
~/git/org-mode/lisp/ob-perl hides /usr/share/emacs/25.0.91/lisp/org/ob-perl
~/git/org-mode/lisp/org-colview hides /usr/share/emacs/25.0.91/lisp/org/org-colview
~/git/org-mode/lisp/ob-comint hides /usr/share/emacs/25.0.91/lisp/org/ob-comint
~/git/org-mode/lisp/org-mobile hides /usr/share/emacs/25.0.91/lisp/org/org-mobile
~/git/org-mode/lisp/ob-mscgen hides /usr/share/emacs/25.0.91/lisp/org/ob-mscgen
~/git/org-mode/lisp/ob-haskell hides /usr/share/emacs/25.0.91/lisp/org/ob-haskell
~/git/org-mode/lisp/ob-table hides /usr/share/emacs/25.0.91/lisp/org/ob-table
~/git/org-mode/lisp/ob-ocaml hides /usr/share/emacs/25.0.91/lisp/org/ob-ocaml
~/git/org-mode/lisp/ox-icalendar hides /usr/share/emacs/25.0.91/lisp/org/ox-icalendar
~/git/org-mode/lisp/org-pcomplete hides /usr/share/emacs/25.0.91/lisp/org/org-pcomplete
~/git/org-mode/lisp/org-agenda hides /usr/share/emacs/25.0.91/lisp/org/org-agenda
~/git/org-mode/lisp/ob-ditaa hides /usr/share/emacs/25.0.91/lisp/org/ob-ditaa
~/git/org-mode/lisp/org-faces hides /usr/share/emacs/25.0.91/lisp/org/org-faces
~/git/org-mode/lisp/org-ctags hides /usr/share/emacs/25.0.91/lisp/org/org-ctags
~/git/org-mode/lisp/org hides /usr/share/emacs/25.0.91/lisp/org/org
~/git/org-mode/lisp/ob-picolisp hides /usr/share/emacs/25.0.91/lisp/org/ob-picolisp
~/git/org-mode/lisp/ob-exp hides /usr/share/emacs/25.0.91/lisp/org/ob-exp
~/git/org-mode/lisp/ob-core hides /usr/share/emacs/25.0.91/lisp/org/ob-core
~/git/org-mode/lisp/ox-publish hides /usr/share/emacs/25.0.91/lisp/org/ox-publish
~/git/org-mode/lisp/ob hides /usr/share/emacs/25.0.91/lisp/org/ob
~/git/org-mode/lisp/org-compat hides /usr/share/emacs/25.0.91/lisp/org/org-compat
~/git/org-mode/lisp/ob-io hides /usr/share/emacs/25.0.91/lisp/org/ob-io
~/git/org-mode/lisp/ob-scala hides /usr/share/emacs/25.0.91/lisp/org/ob-scala
~/git/org-mode/lisp/org-irc hides /usr/share/emacs/25.0.91/lisp/org/org-irc
~/git/org-mode/lisp/ob-plantuml hides /usr/share/emacs/25.0.91/lisp/org/ob-plantuml
~/git/org-mode/lisp/ob-maxima hides /usr/share/emacs/25.0.91/lisp/org/ob-maxima
~/git/org-mode/lisp/ob-clojure hides /usr/share/emacs/25.0.91/lisp/org/ob-clojure
~/git/org-mode/lisp/ob-emacs-lisp hides /usr/share/emacs/25.0.91/lisp/org/ob-emacs-lisp
~/git/org-mode/lisp/ob-tangle hides /usr/share/emacs/25.0.91/lisp/org/ob-tangle
~/git/org-mode/lisp/ob-asymptote hides /usr/share/emacs/25.0.91/lisp/org/ob-asymptote
~/git/org-mode/lisp/ob-sql hides /usr/share/emacs/25.0.91/lisp/org/ob-sql
~/git/org-mode/lisp/org-bibtex hides /usr/share/emacs/25.0.91/lisp/org/org-bibtex
~/git/org-mode/lisp/org-src hides /usr/share/emacs/25.0.91/lisp/org/org-src
~/git/org-mode/lisp/ob-sqlite hides /usr/share/emacs/25.0.91/lisp/org/ob-sqlite
~/git/org-mode/lisp/org-mhe hides /usr/share/emacs/25.0.91/lisp/org/org-mhe
~/git/org-mode/lisp/ob-lisp hides /usr/share/emacs/25.0.91/lisp/org/ob-lisp
~/git/org-mode/lisp/ob-makefile hides /usr/share/emacs/25.0.91/lisp/org/ob-makefile
~/git/org-mode/lisp/ob-python hides /usr/share/emacs/25.0.91/lisp/org/ob-python
~/git/org-mode/lisp/org-habit hides /usr/share/emacs/25.0.91/lisp/org/org-habit
~/git/org-mode/lisp/org-archive hides /usr/share/emacs/25.0.91/lisp/org/org-archive
~/git/org-mode/lisp/ob-ledger hides /usr/share/emacs/25.0.91/lisp/org/ob-ledger
~/git/org-mode/lisp/org-crypt hides /usr/share/emacs/25.0.91/lisp/org/org-crypt
~/git/org-mode/lisp/org-list hides /usr/share/emacs/25.0.91/lisp/org/org-list
~/git/org-mode/lisp/org-table hides /usr/share/emacs/25.0.91/lisp/org/org-table
~/git/org-mode/lisp/org-info hides /usr/share/emacs/25.0.91/lisp/org/org-info
~/git/org-mode/lisp/ob-js hides /usr/share/emacs/25.0.91/lisp/org/ob-js
~/git/org-mode/lisp/ox-html hides /usr/share/emacs/25.0.91/lisp/org/ox-html
~/git/org-mode/lisp/ob-ruby hides /usr/share/emacs/25.0.91/lisp/org/ob-ruby
~/git/org-mode/lisp/ox-md hides /usr/share/emacs/25.0.91/lisp/org/ox-md
~/git/org-mode/lisp/ox-latex hides /usr/share/emacs/25.0.91/lisp/org/ox-latex
~/git/org-mode/lisp/ob-fortran hides /usr/share/emacs/25.0.91/lisp/org/ob-fortran
~/git/org-mode/lisp/ox-org hides /usr/share/emacs/25.0.91/lisp/org/ox-org
~/git/org-mode/lisp/ob-css hides /usr/share/emacs/25.0.91/lisp/org/ob-css
~/git/org-mode/lisp/org-rmail hides /usr/share/emacs/25.0.91/lisp/org/org-rmail
~/git/org-mode/lisp/ob-ref hides /usr/share/emacs/25.0.91/lisp/org/ob-ref
~/git/org-mode/lisp/ob-calc hides /usr/share/emacs/25.0.91/lisp/org/ob-calc
~/git/org-mode/lisp/org-inlinetask hides /usr/share/emacs/25.0.91/lisp/org/org-inlinetask
~/git/org-mode/lisp/org-element hides /usr/share/emacs/25.0.91/lisp/org/org-element
~/git/org-mode/lisp/org-docview hides /usr/share/emacs/25.0.91/lisp/org/org-docview
~/git/org-mode/lisp/ox-beamer hides /usr/share/emacs/25.0.91/lisp/org/ox-beamer
~/git/org-mode/lisp/ob-lob hides /usr/share/emacs/25.0.91/lisp/org/ob-lob
~/git/org-mode/lisp/ob-eval hides /usr/share/emacs/25.0.91/lisp/org/ob-eval
~/git/org-mode/lisp/org-protocol hides /usr/share/emacs/25.0.91/lisp/org/org-protocol
~/git/org-mode/lisp/ob-shen hides /usr/share/emacs/25.0.91/lisp/org/ob-shen
~/git/org-mode/lisp/org-entities hides /usr/share/emacs/25.0.91/lisp/org/org-entities
~/git/org-mode/lisp/ox-odt hides /usr/share/emacs/25.0.91/lisp/org/ox-odt
~/git/org-mode/lisp/ob-scheme hides /usr/share/emacs/25.0.91/lisp/org/ob-scheme
~/git/org-mode/lisp/ob-keys hides /usr/share/emacs/25.0.91/lisp/org/ob-keys
~/git/org-mode/lisp/ob-gnuplot hides /usr/share/emacs/25.0.91/lisp/org/ob-gnuplot
~/git/org-mode/lisp/ob-dot hides /usr/share/emacs/25.0.91/lisp/org/ob-dot
~/git/org-mode/lisp/ob-matlab hides /usr/share/emacs/25.0.91/lisp/org/ob-matlab
~/git/org-mode/lisp/org-macro hides /usr/share/emacs/25.0.91/lisp/org/org-macro
~/git/org-mode/lisp/org-footnote hides /usr/share/emacs/25.0.91/lisp/org/org-footnote
~/git/org-mode/lisp/ob-lilypond hides /usr/share/emacs/25.0.91/lisp/org/ob-lilypond
~/git/org-mode/lisp/org-feed hides /usr/share/emacs/25.0.91/lisp/org/org-feed
~/git/org-mode/lisp/org-version hides /usr/share/emacs/25.0.91/lisp/org/org-version
~/git/org-mode/lisp/org-loaddefs hides /usr/share/emacs/25.0.91/lisp/org/org-loaddefs
~/git/org-mode/lisp/org-install hides /usr/share/emacs/25.0.91/lisp/org/org-install
/usr/share/emacs/site-lisp/emms/tq hides /usr/share/emacs/25.0.91/lisp/emacs-lisp/tq
/usr/share/emacs/25.0.91/lisp/emacs-lisp/cl-generic hides /home/wgg/.emacs.d/elpa/cl-generic-0.2/cl-generic

Features:
(shadow sort gnus-cite mail-extr nnir emacsbug sendmail gnus-topic
gnus-delay gnus-draft utf-7 nndraft nnmh nnfolder nnmaildir gnus-agent
gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu
mml2015 mm-view mml-smime smime dig mailcap nntp gnus-cache gnus-sum
gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source
utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range gnus-win gnus
gnus-ems nnheader tramp-cache browse-url eieio-opt speedbar sb-image
ezimage dframe tabify man windmove network-stream nsm starttls tls
gnutls epa-file epa em-unix em-term term disp-table ehelp em-smart
em-script em-prompt em-ls em-hist em-pred em-glob em-dirs em-cmpl
em-basic em-banner em-alias esh-var esh-io esh-cmd esh-opt esh-ext
esh-proc esh-arg esh-groups eshell esh-module esh-mode esh-util view
exim xcb-xim xcb-xlib whitespace rainbow-delimiters erc-services
erc-autoaway xt-mouse winner type-break symon battery shackle
magit-wip magit-log magit-diff smerge-mode diff-mode git-commit
log-edit message idna rfc822 mml mml-sec epg mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev
mail-utils gmm-utils mailheader pcvs-util add-log magit-core
magit-autorevert autorevert filenotify magit-process with-editor
tramp-sh tramp tramp-compat tramp-loaddefs trampver ucs-normalize
shell magit-popup easy-mmode async-bytecomp async magit-mode magit-git
crm magit-section magit-utils dash elec-pair org-loaddefs
sauron-identica sauron-jabber sauron-twittering sauron-notifications
notifications sauron-org appt diary-lib diary-loaddefs sauron-dbus
dbus xml sauron-erc erc-list erc-menu erc-join erc-ring erc-networks
erc-pcomplete pcomplete erc-track erc-match erc-netsplit erc-hl-nicks
color erc-button erc-fill erc-stamp erc-goodies erc erc-backend
erc-compat auth-source gnus-util mm-util help-fns mail-prsvr
password-cache thingatpt sauron pdf-occur ibuf-ext ibuffer tablist
tablist-filter semantic/wisent/comp semantic/wisent
semantic/wisent/wisent semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local find-func cedet dired
pdf-isearch let-alist pdf-misc imenu pdf-tools compile comint
ansi-color ring cus-edit cus-start cus-load wid-edit pdf-view bookmark
pp jka-compr pdf-cache pdf-info tq pdf-util advice format-spec
image-mode exwm-randr xcb-randr exwm-config ido seq exwm exwm-input
xcb-keysyms exwm-manage exwm-floating xcb-cursor xcb-render
exwm-layout exwm-workspace exwm-core derived xcb-ewmh xcb-icccm xcb
xcb-xproto xcb-types cl-seq edmacro kmacro
sanityinc-tomorrow-day-theme color-theme-sanityinc-tomorrow
theme-changer solar cal-dst cal-menu calendar cal-loaddefs cl time
saveplace savehist server finder-inf eieio byte-opt bytecomp
byte-compile cl-extra help-mode cconv eieio-core cl-macs gv
cl-loaddefs pcase cl-lib info package easymenu epg-config time-date
mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment elisp-mode
lisp-mode prog-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame
cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian
slovak czech european ethiopic indian cyrillic chinese charscript
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote dbusbind inotify
dynamic-setting font-render-setting x multi-tty make-network-process
emacs)

Memory information:
((conses 16 1031607 243061)
 (symbols 48 164450 2)
 (miscs 40 885 2418)
 (strings 32 462013 52277)
 (string-bytes 1 23793062)
 (vectors 16 202179)
 (vector-slots 8 2453195 207435)
 (floats 8 2632 486)
 (intervals 56 13394 1871)
 (buffers 976 69)
 (heap 1024 179153 7388))