Fix OS X specific settings in tramp-tests
* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it. * lisp/net/tramp.el (tramp-get-local-locale): New defun. * test/automated/tramp-tests.el (tramp--test-darwin-p): Remove. (tramp--test-utf8): Improve settings of coding systems. Do not use `tramp--test-darwin-p' anymore. (Bug#22145)
This commit is contained in:
parent
2244331218
commit
df441b362c
3 changed files with 30 additions and 16 deletions
|
@ -2865,7 +2865,7 @@ This is like `dired-recursive-delete-directory' for Tramp files."
|
||||||
(narrow-to-region (point) (point))
|
(narrow-to-region (point) (point))
|
||||||
;; We cannot use `insert-buffer-substring' because the Tramp
|
;; We cannot use `insert-buffer-substring' because the Tramp
|
||||||
;; buffer changes its contents before insertion due to calling
|
;; buffer changes its contents before insertion due to calling
|
||||||
;; `expand-file' and alike.
|
;; `expand-file-name' and alike.
|
||||||
(insert
|
(insert
|
||||||
(with-current-buffer (tramp-get-buffer v)
|
(with-current-buffer (tramp-get-buffer v)
|
||||||
(buffer-string)))
|
(buffer-string)))
|
||||||
|
@ -4865,7 +4865,7 @@ connection if a previous connection has died for some reason."
|
||||||
(when (and p (processp p))
|
(when (and p (processp p))
|
||||||
(delete-process p))
|
(delete-process p))
|
||||||
(setenv "TERM" tramp-terminal-type)
|
(setenv "TERM" tramp-terminal-type)
|
||||||
(setenv "LC_ALL" "en_US.utf8")
|
(setenv "LC_ALL" (tramp-get-local-locale vec))
|
||||||
(if (stringp tramp-histfile-override)
|
(if (stringp tramp-histfile-override)
|
||||||
(setenv "HISTFILE" tramp-histfile-override)
|
(setenv "HISTFILE" tramp-histfile-override)
|
||||||
(if tramp-histfile-override
|
(if tramp-histfile-override
|
||||||
|
|
|
@ -3939,6 +3939,26 @@ This is used internally by `tramp-file-mode-from-int'."
|
||||||
(tramp-compat-funcall 'group-gid)
|
(tramp-compat-funcall 'group-gid)
|
||||||
(nth 3 (tramp-compat-file-attributes "~/" id-format))))
|
(nth 3 (tramp-compat-file-attributes "~/" id-format))))
|
||||||
|
|
||||||
|
(defun tramp-get-local-locale (&optional vec)
|
||||||
|
;; We use key nil for local connection properties.
|
||||||
|
(with-tramp-connection-property nil "locale"
|
||||||
|
(let ((candidates '("en_US.utf8" "C.utf8" "en_US.UTF-8"))
|
||||||
|
locale)
|
||||||
|
(with-temp-buffer
|
||||||
|
(unless (or (memq system-type '(windows-nt))
|
||||||
|
(not (zerop (tramp-call-process
|
||||||
|
nil "locale" nil t nil "-a"))))
|
||||||
|
(while candidates
|
||||||
|
(goto-char (point-min))
|
||||||
|
(if (string-match (format "^%s\r?$" (regexp-quote (car candidates)))
|
||||||
|
(buffer-string))
|
||||||
|
(setq locale (car candidates)
|
||||||
|
candidates nil)
|
||||||
|
(setq candidates (cdr candidates))))))
|
||||||
|
;; Return value.
|
||||||
|
(when vec (tramp-message vec 7 "locale %s" (or locale "C")))
|
||||||
|
(or locale "C"))))
|
||||||
|
|
||||||
;;;###tramp-autoload
|
;;;###tramp-autoload
|
||||||
(defun tramp-check-cached-permissions (vec access)
|
(defun tramp-check-cached-permissions (vec access)
|
||||||
"Check `file-attributes' caches for VEC.
|
"Check `file-attributes' caches for VEC.
|
||||||
|
|
|
@ -1785,14 +1785,6 @@ Several special characters do not work properly there."
|
||||||
(file-truename tramp-test-temporary-file-directory) nil
|
(file-truename tramp-test-temporary-file-directory) nil
|
||||||
(string-match "^HP-UX" (tramp-get-connection-property v "uname" ""))))
|
(string-match "^HP-UX" (tramp-get-connection-property v "uname" ""))))
|
||||||
|
|
||||||
(defun tramp--test-darwin-p ()
|
|
||||||
"Check, whether the remote host runs Mac OS X.
|
|
||||||
Several special characters do not work properly there."
|
|
||||||
;; We must refill the cache. `file-truename' does it.
|
|
||||||
(with-parsed-tramp-file-name
|
|
||||||
(file-truename tramp-test-temporary-file-directory) nil
|
|
||||||
(string-match "^Darwin" (tramp-get-connection-property v "uname" ""))))
|
|
||||||
|
|
||||||
(defun tramp--test-check-files (&rest files)
|
(defun tramp--test-check-files (&rest files)
|
||||||
"Run a simple but comprehensive test over every file in FILES."
|
"Run a simple but comprehensive test over every file in FILES."
|
||||||
;; We must use `file-truename' for the temporary directory, because
|
;; We must use `file-truename' for the temporary directory, because
|
||||||
|
@ -2041,15 +2033,17 @@ Use the `ls' command."
|
||||||
|
|
||||||
(defun tramp--test-utf8 ()
|
(defun tramp--test-utf8 ()
|
||||||
"Perform the test in `tramp-test32-utf8*'."
|
"Perform the test in `tramp-test32-utf8*'."
|
||||||
(let ((coding-system-for-read 'utf-8)
|
(let* ((utf8 (if (and (eq system-type 'darwin)
|
||||||
(coding-system-for-write 'utf-8)
|
(memq 'utf-8-hfs (coding-system-list)))
|
||||||
(file-name-coding-system 'utf-8))
|
'utf-8-hfs 'utf-8))
|
||||||
|
(coding-system-for-read utf8)
|
||||||
|
(coding-system-for-write utf8)
|
||||||
|
(file-name-coding-system utf8))
|
||||||
(tramp--test-check-files
|
(tramp--test-check-files
|
||||||
(unless (tramp--test-hpux-p) "Γυρίστε το Γαλαξία με Ώτο Στοπ")
|
(unless (tramp--test-hpux-p) "Γυρίστε το Γαλαξία με Ώτο Στοπ")
|
||||||
(unless (or (tramp--test-hpux-p) (tramp--test-darwin-p))
|
(unless (tramp--test-hpux-p)
|
||||||
"أصبح بوسعك الآن تنزيل نسخة كاملة من موسوعة ويكيبيديا العربية لتصفحها بلا اتصال بالإنترنت")
|
"أصبح بوسعك الآن تنزيل نسخة كاملة من موسوعة ويكيبيديا العربية لتصفحها بلا اتصال بالإنترنت")
|
||||||
(unless (tramp--test-darwin-p)
|
"银河系漫游指南系列"
|
||||||
"银河系漫游指南系列")
|
|
||||||
"Автостопом по гала́ктике")))
|
"Автостопом по гала́ктике")))
|
||||||
|
|
||||||
(ert-deftest tramp-test32-utf8 ()
|
(ert-deftest tramp-test32-utf8 ()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue