[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: old problem popping up again
From: |
Michael Albinus |
Subject: |
Re: old problem popping up again |
Date: |
Mon, 17 Jun 2013 11:11:33 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) |
Gilles Pion <address@hidden> writes:
> Hello,
Hi Gilles,
> I'm having the same problem as the one described here:
>
> http://lists.gnu.org/archive/html/tramp-devel/2010-10/msg00010.html
>
> Tramp-version: 2.2.6-24.3
> Emacs-version GNU Emacs 24.3.1 (i686-pc-cygwin)
>
> The target system is a Synology NAS running under busybox based Linux OS
>
> Link to tramp debug buffer contents
> https://www.box.com/s/joyrwdjd6h9lt7wp0z81
Hmm, yes. There was a report that the fix for that problem caused
problems on busyboxes. See <http://thread.gmane.org/gmane.emacs.tramp/7937>.
I have debugged that back in 2011, but I don't remember the details what
happened with that busybox. Somehow, it didn't accept the extended
command for here-documents as used in `tramp-send-command'. That's why I
have blacklisted busyboxes for this fix, see the change related to
--8<---------------cut here---------------start------------->8---
2011-12-29 Michael Albinus <address@hidden>
* tramp-sh.el (tramp-find-shell): Set "remote-shell" property also
for alternative shells.
(tramp-open-connection-setup-interactive-shell): Check, whether
the shell is a busybox.
(tramp-send-command): Don't suppress multiple prompts for
busyboxes, it hurts.
--8<---------------cut here---------------end--------------->8---
Maybe busyboxes implementations vary. The one I have debugged was
located on an n800, which sounds very limited.
What happens on your NAS, if you suppress the busybox blacklisting in
tramp-sh.el, like this (line numbers might vary):
--8<---------------cut here---------------start------------->8---
*** /home/albinus/src/tramp/lisp/tramp-sh.el.orig 2013-06-17
11:06:26.546446032 +0200
--- /home/albinus/src/tramp/lisp/tramp-sh.el 2013-06-17 09:53:19.890305083
+0200
***************
*** 4517,4524 ****
;; We mark the command string that it can be erased in the output
buffer.
(tramp-set-connection-property p "check-remote-echo" t)
(setq command (format "%s%s%s" tramp-echo-mark command
tramp-echo-mark)))
! (when (and (string-match "<<'EOF'" command)
! (not (tramp-get-connection-property vec "busybox" nil)))
;; Unset $PS1 when using here documents, in order to avoid
;; multiple prompts.
(setq command (concat "(PS1= ; " command "\n)")))
--- 4517,4524 ----
;; We mark the command string that it can be erased in the output
buffer.
(tramp-set-connection-property p "check-remote-echo" t)
(setq command (format "%s%s%s" tramp-echo-mark command
tramp-echo-mark)))
! (when (and (string-match "<<'EOF'" command) t)
! ; (not (tramp-get-connection-property vec "busybox" nil)))
;; Unset $PS1 when using here documents, in order to avoid
;; multiple prompts.
(setq command (concat "(PS1= ; " command "\n)")))
--8<---------------cut here---------------end--------------->8---
Best regards, Michael.