]> code.delx.au - gnu-emacs/commitdiff
Fix coding system for Tramp on OS X.
authorMichael Albinus <michael.albinus@gmx.de>
Sat, 9 Jan 2016 12:55:02 +0000 (13:55 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Sat, 9 Jan 2016 12:55:02 +0000 (13:55 +0100)
* lisp/net/tramp-compat.el: Require ucs-normalize.

* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
Set coding system to `utf-8-hfs' for Mac OS X.

* test/automated/tramp-tests.el (tramp-test29-vc-registered):
Flush directory properties when needed.
(tramp--test-utf8): Include Chinese file name, again.

lisp/net/tramp-compat.el
lisp/net/tramp-sh.el
test/automated/tramp-tests.el

index c6de1837e9a484b3a42216825316a6a87a7c5dfa..44923aee895205f373c7dbedfb1c5662313b714a 100644 (file)
@@ -56,6 +56,8 @@
   (require 'custom)
   (require 'format-spec)
   (require 'shell)
+  ;; Introduced in Emacs 23.2.
+  (require 'ucs-normalize nil 'noerror)
 
   (require 'trampver)
   (require 'tramp-loaddefs)
index ca0707f5941223a9ca860d80890490fa86b2c03f..1357db0ac4271d74707e03cac51462c4689ce024 100644 (file)
@@ -4214,10 +4214,8 @@ process to set up.  VEC specifies the connection."
                      (cons 'undecided 'undecided)))
              cs-decode cs-encode)
          (when (symbolp cs) (setq cs (cons cs cs)))
-         (setq cs-decode (car cs))
-         (setq cs-encode (cdr cs))
-         (unless cs-decode (setq cs-decode 'undecided))
-         (unless cs-encode (setq cs-encode 'undecided))
+         (setq cs-decode (or (car cs) 'undecided)
+                cs-encode (or (cdr cs) 'undecided))
          (setq cs-encode
                (tramp-compat-coding-system-change-eol-conversion
                 cs-encode
@@ -4229,7 +4227,13 @@ process to set up.  VEC specifies the connection."
          (when (search-forward "\r" nil t)
            (setq cs-decode (tramp-compat-coding-system-change-eol-conversion
                             cs-decode 'dos)))
-         (tramp-compat-funcall
+          ;; Special setting for Mac OS X.
+          (when (and (string-match
+                      "^Darwin" (tramp-get-connection-property vec "uname" ""))
+                     (memq 'utf-8-hfs (coding-system-list)))
+            (setq cs-decode 'utf-8-hfs
+                  cs-encode 'utf-8-hfs))
+          (tramp-compat-funcall
           'set-buffer-process-coding-system cs-decode cs-encode)
          (tramp-message
           vec 5 "Setting coding system to `%s' and `%s'" cs-decode cs-encode))
index 73a72946db405462b12ea5a445e2fd01fbf8b9ce..c956f9cd008fd8380f68634a4d1b300fee38aed5 100644 (file)
@@ -1658,6 +1658,10 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
               (vc-register
                nil (list (car vc-handled-backends)
                          (list (file-name-nondirectory tmp-name2))))))
+           ;; vc-git uses an own process sentinel, Tramp's sentinel
+           ;; for flushing the cache isn't used.
+           (with-parsed-tramp-file-name tmp-name1 nil
+             (tramp-flush-directory-property v localname))
            (should (vc-registered (file-name-nondirectory tmp-name2)))))
 
       ;; Cleanup.
@@ -2044,8 +2048,7 @@ Use the `ls' command."
      (unless (tramp--test-hpux-p) "Γυρίστε το Γαλαξία με Ώτο Στοπ")
      (unless (or (tramp--test-hpux-p) (tramp--test-darwin-p))
        "أصبح بوسعك الآن تنزيل نسخة كاملة من موسوعة ويكيبيديا العربية لتصفحها بلا اتصال بالإنترنت")
-     (unless (tramp--test-darwin-p)
-       "银河系漫游指南系列")
+     "银河系漫游指南系列"
      "Автостопом по гала́ктике")))
 
 (ert-deftest tramp-test32-utf8 ()