[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/find-dired.el,v
From: |
Chong Yidong |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/find-dired.el,v |
Date: |
Tue, 01 Apr 2008 17:34:20 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Chong Yidong <cyd> 08/04/01 17:34:20
Index: find-dired.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/find-dired.el,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -b -r1.59 -r1.60
--- find-dired.el 8 Jan 2008 20:44:52 -0000 1.59
+++ find-dired.el 1 Apr 2008 17:34:20 -0000 1.60
@@ -240,17 +240,19 @@
;; Filter for \\[find-dired] processes.
(let ((buf (process-buffer proc))
(inhibit-read-only t))
- (if (buffer-name buf) ; not killed?
- (save-excursion
- (set-buffer buf)
+ (if (buffer-name buf)
+ (with-current-buffer buf
(save-restriction
(widen)
- (save-excursion
(let ((buffer-read-only nil)
- (end (point-max)))
- (goto-char end)
+ (beg (point-max))
+ (l-opt (and (consp find-ls-option)
+ (string-match "l" (cdr find-ls-option))))
+ (ls-regexp (concat "^ +[^ \t\r\n]+\\( +[^ \t\r\n]+\\) +"
+ "[^ \t\r\n]+ +[^ \t\r\n]+\\( +[0-9]+\\)")))
+ (goto-char beg)
(insert string)
- (goto-char end)
+ (goto-char beg)
(or (looking-at "^")
(forward-line 1))
(while (looking-at "^")
@@ -259,9 +261,21 @@
;; Convert ` ./FILE' to ` FILE'
;; This would lose if the current chunk of output
;; starts or ends within the ` ./', so back up a bit:
- (goto-char (- end 3)) ; no error if < 0
+ (goto-char (- beg 3)) ; no error if < 0
(while (search-forward " ./" nil t)
(delete-region (point) (- (point) 2)))
+ ;; Pad the number of links and file size. This is a
+ ;; quick and dirty way of getting the columns to line up
+ ;; most of the time, but it's not foolproof.
+ (when l-opt
+ (goto-char beg)
+ (goto-char (line-beginning-position))
+ (while (re-search-forward ls-regexp nil t)
+ (replace-match (format "%4s" (match-string 1))
+ nil nil nil 1)
+ (replace-match (format "%9s" (match-string 2))
+ nil nil nil 2)
+ (forward-line 1)))
;; Find all the complete lines in the unprocessed
;; output and process it to add text properties.
(goto-char (point-max))
@@ -269,8 +283,7 @@
(progn
(dired-insert-set-properties (process-mark proc)
(1+ (point)))
- (move-marker (process-mark proc) (1+ (point)))))
- ))))
+ (move-marker (process-mark proc) (1+ (point))))))))
;; The buffer has been killed.
(delete-process proc))))
- [Emacs-diffs] Changes to emacs/lisp/find-dired.el,v,
Chong Yidong <=