bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#2261: Dired with long ls switches


From: David Brown
Subject: bug#2261: Dired with long ls switches
Date: Tue, 10 Feb 2009 01:06:48 -0500

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ƒ
 
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]