From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Paul Stoeber Newsgroups: gmane.emacs.bugs Subject: Re: emacs misbehaves without --unibyte Date: Wed, 29 May 2002 15:13:41 +0200 Sender: bug-gnu-emacs-admin@gnu.org Message-ID: <20020529131340.GA497068@bruegel.RZ.TU-Ilmenau.DE> References: <20020529085604.GA499186@bruegel.RZ.TU-Ilmenau.DE> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1022680971 898 127.0.0.1 (29 May 2002 14:02:51 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 29 May 2002 14:02:51 +0000 (UTC) Return-path: Original-Received: from fencepost.gnu.org ([199.232.76.164]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17D42L-0000EN-00 for ; Wed, 29 May 2002 16:02:50 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 17D432-0004hS-00; Wed, 29 May 2002 10:03:32 -0400 Original-Received: from bruegel.rz.tu-ilmenau.de ([141.24.190.37]) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 17D3GN-0000H2-00 for ; Wed, 29 May 2002 09:13:15 -0400 Original-Received: (from past-in@localhost) by bruegel.rz.tu-ilmenau.de (SGI-8.9.3/8.9.3) id PAA02722 for bug-gnu-emacs@gnu.org; Wed, 29 May 2002 15:13:42 +0200 (MDT) Original-To: bug-gnu-emacs@gnu.org Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.3.28i Errors-To: bug-gnu-emacs-admin@gnu.org X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.0.9 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for GNU Emacs, the Swiss army knife of text editors List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.bugs:1669 X-Report-Spam: http://spam.gmane.org/gmane.emacs.bugs:1669 On Wed, 29 May 2002, Paul Stoeber wrote: > If you simply want to use dired as a robust filesystem browser > (like bash, only more comfortable), regardless of your language > or the language of who created the files, then > > (setq file-name-coding-system 'no-conversion) > > seems to be a solution. Alas, this is no longer true: q@xyz:~$ mkdir -p $'\340/\350' q@xyz:~$ echo XXX > $'\340/\350/x' q@xyz:~$ /e/bin/emacs --eval "(progn (setq file-name-coding-system 'no-conversion) (dired \"~/\"))" Go to \340. RET. Works. Go to \350. RET. "File no longer exists; type `g' to update Dired buffer". Again, --unibyte fixes this, even when not setting file-name-coding-system. Emacs docs: dired-listing-switches's value is "-al" Documentation: *Switches passed to `ls' for dired. MUST contain the `l' option. May contain all other options that don't contradict `-l'; may contain even `F', `b', `i' and `s'. See also the variable `dired-ls-F-marks-symlinks' concerning the `F' switch. This looks very promising, especially the `b' option. After (setq dired-listing-switches "-alb") , not using --unibyte, the above bug (changing into \340 but not \350) still happens, but dired will correctly open the files $'a\340b' and even $'a\nb' (filename with a newline in it. and C-x C-s will even write to the correct file). So, using the `b' option of ls seems to be the right way to go for robustness, but the `b' support is still buggy: dired won't open files with spaces in their name (for example q@xyz:~$ echo XXX > 'a b' ). It says "File no longer exists; type `g' to update Dired buffer", and of course *that* is not fixed by --unibyte. When using the `b' option, dired-do-shell-command passes some filenames incorrectly to the program: 'a b' and $'a\nb' are both passed as 'ab', but $'a\tb' and $'a\340b' are passed correctly (without --unibyte).