* net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
Reduce the amount of set environment variable commands.
This commit is contained in:
parent
3f8c645caa
commit
5fa75d8eba
2 changed files with 18 additions and 7 deletions
|
@ -1,3 +1,9 @@
|
|||
2014-10-14 Jérémy Compostella <jeremy.compostella@intel.com>
|
||||
Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
|
||||
Reduce the amount of set environment variable commands.
|
||||
|
||||
2014-10-12 Fabián Ezequiel Gallina <fgallina@gnu.org>
|
||||
|
||||
Fix import completion. (Bug#18582)
|
||||
|
|
|
@ -3955,10 +3955,8 @@ process to set up. VEC specifies the connection."
|
|||
|
||||
(tramp-message vec 5 "Setting shell prompt")
|
||||
(tramp-send-command
|
||||
vec (format "PS1=%s" (tramp-shell-quote-argument tramp-end-of-output)) t)
|
||||
(tramp-send-command vec "PS2=''" t)
|
||||
(tramp-send-command vec "PS3=''" t)
|
||||
(tramp-send-command vec "PROMPT_COMMAND=''" t)
|
||||
vec (format "PS1=%s PS2='' PS3='' PROMPT_COMMAND=''"
|
||||
(tramp-shell-quote-argument tramp-end-of-output)) t)
|
||||
|
||||
;; Try to set up the coding system correctly.
|
||||
;; CCC this can't be the right way to do it. Hm.
|
||||
|
@ -4078,15 +4076,22 @@ process to set up. VEC specifies the connection."
|
|||
(let ((env (append (when (tramp-get-remote-locale vec) ; Discard `(nil)'.
|
||||
`(,(tramp-get-remote-locale vec)))
|
||||
(copy-sequence tramp-remote-process-environment)))
|
||||
unset item)
|
||||
unset vars item)
|
||||
(while env
|
||||
(setq item (tramp-compat-split-string (car env) "="))
|
||||
(setcdr item (mapconcat 'identity (cdr item) "="))
|
||||
(if (and (stringp (cdr item)) (not (string-equal (cdr item) "")))
|
||||
(tramp-send-command
|
||||
vec (format "%s=%s; export %s" (car item) (cdr item) (car item)) t)
|
||||
(push (format "%s %s" (car item) (cdr item)) vars)
|
||||
(push (car item) unset))
|
||||
(setq env (cdr env)))
|
||||
(when vars
|
||||
(tramp-send-command
|
||||
vec
|
||||
(format "while read var val; do export $var=$val; done <<'%s'\n%s\n%s"
|
||||
tramp-end-of-heredoc
|
||||
(mapconcat 'identity vars "\n")
|
||||
tramp-end-of-heredoc)
|
||||
t))
|
||||
(when unset
|
||||
(tramp-send-command
|
||||
vec (format "unset %s" (mapconcat 'identity unset " ")) t))))
|
||||
|
|
Loading…
Add table
Reference in a new issue