From 038b550196d92b9844a4efecf1c2ded0f920e957 Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Wed, 19 Mar 2003 11:58:25 +0000 Subject: [PATCH] * 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. --- lisp/dired.el | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) 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) -- 2.39.5