From: Kenichi Handa Date: Wed, 19 Mar 2003 11:58:25 +0000 (+0000) Subject: * dired.el (dired-get-filename): Pay attention to the case that X-Git-Tag: ttn-vms-21-2-B4~10844 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=038b550196d92b9844a4efecf1c2ded0f920e957;p=emacs.git * dired.el (dired-get-filename): Pay attention to the case that `read' returns a unibyte string. Don't encode the file name by buffer-file-coding-system. --- diff --git a/lisp/dired.el b/lisp/dired.el index 69dafbe6bfc..db067c5da16 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -1462,16 +1462,17 @@ Optional arg NO-ERROR-IF-NOT-FILEP means return nil if no filename on (or (dired-string-replace-match "\\([^\\]\\|\\`\\)\"" file "\\1\\\\\"" nil t) file) - "\""))))) + "\""))) + ;; The above `read' will return a unibyte string if FILE + ;; contains eight-bit-control/graphic characters. + (if (and enable-multibyte-characters + (not (multibyte-string-p file))) + (setq file (string-to-multibyte file))))) (and file (file-name-absolute-p file) ;; A relative file name can start with ~. ;; Don't treat it as absolute in this context. (not (eq (aref file 0) ?~)) (setq already-absolute t)) - (and file buffer-file-coding-system - (not file-name-coding-system) - (not default-file-name-coding-system) - (setq file (encode-coding-string file buffer-file-coding-system))) (cond ((null file) nil)