diff lisp/net/tramp-sh.el @ 111009:43818f2cbca0

* net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): Suppress expansion of tabs to spaces.
author Michael Albinus <michael.albinus@gmx.de>
date Fri, 15 Oct 2010 14:07:38 +0200
parents 12ce8eb76d37
children e02e55f79038
line wrap: on
line diff
--- a/lisp/net/tramp-sh.el	Fri Oct 15 13:33:17 2010 +0200
+++ b/lisp/net/tramp-sh.el	Fri Oct 15 14:07:38 2010 +0200
@@ -3709,9 +3709,7 @@
 	;; because we're running on a non-MULE Emacs.  Let's try
 	;; stty, instead.
 	(tramp-send-command vec "stty -onlcr" t))))
-  ;; Dump stty settings in the traces.
-  (when (>= tramp-verbose 9)
-    (tramp-send-command vec "stty -a" t))
+
   (tramp-send-command vec "set +o vi +o emacs" t)
 
   ;; Check whether the output of "uname -sr" has been changed.  If
@@ -3782,12 +3780,21 @@
   (when (string-match "^IRIX64" (tramp-get-connection-property vec "uname" ""))
     (tramp-send-command vec "set +H" t))
 
+  ;; On BSD-like systems, ?\t is expanded to spaces.  Suppress this.
+  (when (string-match "BSD\\|Darwin"
+		      (tramp-get-connection-property vec "uname" ""))
+    (tramp-send-command vec "stty -oxtabs" t))
+
   ;; Set `remote-tty' process property.
   (ignore-errors
     (let ((tty (tramp-send-command-and-read vec "echo \\\"`tty`\\\"")))
       (unless (zerop (length tty))
 	(tramp-compat-process-put proc 'remote-tty tty))))
 
+  ;; Dump stty settings in the traces.
+  (when (>= tramp-verbose 9)
+    (tramp-send-command vec "stty -a" t))
+
   ;; Set the environment.
   (tramp-message vec 5 "Setting default environment")