From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#29189: 25.3; Dired does not work with binary filenames Date: Thu, 16 Nov 2017 18:00:55 +0200 Message-ID: <83po8ii56w.fsf@gnu.org> References: <3CE09384-E9D6-4DB9-853A-11088CF8DF80@gnu.org> <83a7ztp6p7.fsf@gnu.org> <83k1ywoq4z.fsf@gnu.org> <83h8u0on7y.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1510848099 15268 195.159.176.226 (16 Nov 2017 16:01:39 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 16 Nov 2017 16:01:39 +0000 (UTC) Cc: 29189@debbugs.gnu.org, schwab@suse.de To: Allen Li Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Nov 16 17:01:35 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eFMbe-0003bq-4b for geb-bug-gnu-emacs@m.gmane.org; Thu, 16 Nov 2017 17:01:34 +0100 Original-Received: from localhost ([::1]:41545 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eFMbj-0004Vt-Ug for geb-bug-gnu-emacs@m.gmane.org; Thu, 16 Nov 2017 11:01:39 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47454) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eFMbI-0004JH-1i for bug-gnu-emacs@gnu.org; Thu, 16 Nov 2017 11:01:16 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eFMb8-0004Ca-JR for bug-gnu-emacs@gnu.org; Thu, 16 Nov 2017 11:01:12 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:35068) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eFMb8-0004CQ-Fy for bug-gnu-emacs@gnu.org; Thu, 16 Nov 2017 11:01:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eFMb8-0002xq-8g for bug-gnu-emacs@gnu.org; Thu, 16 Nov 2017 11:01:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 16 Nov 2017 16:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 29189 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 29189-submit@debbugs.gnu.org id=B29189.151084805611375 (code B ref 29189); Thu, 16 Nov 2017 16:01:02 +0000 Original-Received: (at 29189) by debbugs.gnu.org; 16 Nov 2017 16:00:56 +0000 Original-Received: from localhost ([127.0.0.1]:43749 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eFMb2-0002xP-DW for submit@debbugs.gnu.org; Thu, 16 Nov 2017 11:00:56 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:56308) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eFMb0-0002xB-VX for 29189@debbugs.gnu.org; Thu, 16 Nov 2017 11:00:55 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eFMas-0003p8-3q for 29189@debbugs.gnu.org; Thu, 16 Nov 2017 11:00:49 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:54191) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eFMan-0003jb-Fy; Thu, 16 Nov 2017 11:00:41 -0500 Original-Received: from [176.228.60.248] (port=1959 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1eFMam-0002AX-SV; Thu, 16 Nov 2017 11:00:41 -0500 In-reply-to: (message from Allen Li on Wed, 15 Nov 2017 22:31:48 -0800) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:139961 Archived-At: > From: Allen Li > Date: Wed, 15 Nov 2017 22:31:48 -0800 > Cc: handa@gnu.org, Andreas Schwab , 29189@debbugs.gnu.org > > > diff --git a/lisp/files.el b/lisp/files.el > > index b47411f..43198bc 100644 > > --- a/lisp/files.el > > +++ b/lisp/files.el > > @@ -6803,10 +6803,13 @@ insert-directory > > val (get-text-property (point) 'dired-filename)) > > (goto-char (next-single-property-change > > (point) 'dired-filename nil (point-max))) > > - ;; Force no eol conversion on a file name, so > > - ;; that CR is preserved. > > - (decode-coding-region pos (point) > > - (if val coding-no-eol coding)) > > + (let ((fn (buffer-substring-no-properties pos (point)))) > > + (delete-region pos (point)) > > + (insert > > + ;; Force no eol conversion on a file name, so > > + ;; that CR is preserved. > > + (decode-coding-string (string-make-unibyte fn) > > + (if val coding-no-eol coding)))) > > (if val > > (put-text-property pos (point) > > 'dired-filename t))))))) > > This patch works for me. Thanks for testing. I'm still worried that we need to force text to be unibyte in order for the decoding to work. So I'd like to dig into the code to understand why, and maybe try to fix it if I find some problems there. If I succeed, the result will work faster, because the above patch is less efficient that decode-coding-region. Let me look into this and get back to you in a few days.