GNU bug report logs - #2261
Dired with long ls switches

Previous Next

Package: emacs;

Reported by: <dmbrown <at> icubed.com>

Date: Tue, 10 Feb 2009 06:15:03 UTC

Severity: normal

Done: Chong Yidong <cyd <at> stupidchicken.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 2261 in the body.
You can then email your comments to 2261 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#2261; Package emacs. (Tue, 10 Feb 2009 06:15:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to <dmbrown <at> icubed.com>:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Tue, 10 Feb 2009 06:15:04 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: "David Brown" <dmbrown <at> icubed.com>
To: <bug-gnu-emacs <at> gnu.org>
Subject: Dired with long ls switches
Date: Tue, 10 Feb 2009 01:06:48 -0500
[Message part 1 (text/plain, inline)]
I have "GNU Emacs 22.2.1 (i486-pc-linux-gnu, GTK+ Version 2.14.1) of
2008-09-05 on vernadsky, modified by Ubuntu," known as emacs22-gtk by my
distro.

I like --group-directories-first as an ls switch:  (setq
dired-listing-switches "-al --group-directories-first")

In dired, when I do a file operation such as R-rename or M-chmod, the system
file operation works, but the dired buffer does not update properly, giving:
Listing directory failed but `access-file' worked

This is because a character "d" is being appended to dired-actual-switches
about 50 lines into dired-add-entry:
  (dired-insert-directory directory
     (concat dired-actual-switches "d")
     (list filename)))

Just concatenating "d" assumes short switches.  For example "-ald" works
fine.  But "-al --group-directories-firstd" fails.

I fixed my installation by putting " -d" instead of "d".  This seems to work
just fine for files and directories

Here is the debugger backtrace:

Debugger entered--Lisp error: (error "Listing directory failed but
`access-file' worked")
  signal(error ("Listing directory failed but `access-file' worked"))
  error("Listing directory failed but `access-file' worked")
  insert-directory("foobar" "--dired -al --group-directories-firstd" nil
nil)
  dired-insert-directory("/home/dmb/bin/" "-al --group-directories-firstd"
("foobar"))
  (let ((default-directory directory)) (dired-insert-directory directory
(concat dired-actual-switches "d") (list filename)))
  (let (buffer-read-only opoint) (beginning-of-line) (setq opoint (point))
(let (...) (dired-insert-directory directory ... ...)) (goto-char opoint)
(when marker-char (let ... ...)) (goto-char opoint) (let (...) (if ... ...
...)) (forward-line -1) (if dired-after-readin-hook (save-excursion ...))
(dired-move-to-filename))
  (catch (quote not-found) (if (string= directory cur-dir) (progn ... ...
...) (if ... ... ...)) (let (buffer-read-only opoint) (beginning-of-line)
(setq opoint ...) (let ... ... ...) (goto-char opoint) (when marker-char
...) (goto-char opoint) (let ... ...) (forward-line -1) (if
dired-after-readin-hook ...) (dired-move-to-filename)) nil)
  (setq filename (if relative (file-relative-name filename directory)
(file-name-nondirectory filename)) reason (catch (quote not-found) (if ...
... ...) (let ... ... ... ... ... ... ... ... ... ... ...) nil))
  (let* ((opoint ...) (cur-dir ...) (orig-file-name filename) (directory
...) reason) (setq filename (if relative ... ...) reason (catch ... ... ...
nil)) (if reason (goto-char opoint)) (not reason))
  dired-add-entry("/home/dmb/bin/foobar" nil)
  apply(dired-add-entry ("/home/dmb/bin/foobar" nil))
  dired-fun-in-all-buffers("/home/dmb/bin/" "foobar" dired-add-entry
"/home/dmb/bin/foobar" nil)
  dired-add-file("/home/dmb/bin/foobar" nil)
  byte-code(" \n#ˆ\fƒ


[Message part 2 (text/html, inline)]

Reply sent to Chong Yidong <cyd <at> stupidchicken.com>:
You have taken responsibility. (Wed, 11 Feb 2009 14:55:08 GMT) Full text and rfc822 format available.

Notification sent to <dmbrown <at> icubed.com>:
bug acknowledged by developer. (Wed, 11 Feb 2009 14:55:09 GMT) Full text and rfc822 format available.

Message #10 received at 2261-done <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Chong Yidong <cyd <at> stupidchicken.com>
To: "David Brown" <dmbrown <at> icubed.com>
Cc: 2261-done <at> debbugs.gnu.org
Subject: Re: Dired with long ls switches
Date: Wed, 11 Feb 2009 09:47:52 -0500
> In dired, when I do a file operation such as R-rename or M-chmod, the
> system file operation works, but the dired buffer does not update
> properly, giving: Listing directory failed but `access-file' worked
>
> This is because a character "d" is being appended to
> dired-actual-switches about 50 lines into dired-add-entry:

Thanks for spotting and analyzing this bug.  I've checked a fix into
CVS.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> emacsbugs.donarmstrong.com. (Thu, 12 Mar 2009 14:24:10 GMT) Full text and rfc822 format available.

This bug report was last modified 16 years and 160 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.