]> git.eshelyaron.com Git - emacs.git/commitdiff
(ibuffer-buffer-file-name): New function.
authorJohn Paul Wallington <jpw@pobox.com>
Tue, 13 May 2008 21:07:21 +0000 (21:07 +0000)
committerJohn Paul Wallington <jpw@pobox.com>
Tue, 13 May 2008 21:07:21 +0000 (21:07 +0000)
(define-ibuffer-column filename): Use it.

lisp/ibuffer.el

index 7708c4dc49eb10254f84115bfd1e8a0f2044814f..085a95a65f98ebe05364e3a8e0c2944817dc8dda 100644 (file)
@@ -1233,6 +1233,17 @@ a new window in the current frame, splitting vertically."
 (defsubst ibuffer-map-deletion-lines (func)
   (ibuffer-map-on-mark ibuffer-deletion-char func))
 
+(defun ibuffer-buffer-file-name ()
+  (or buffer-file-name
+      (let ((dirname (or (and (boundp 'dired-directory)
+                             (if (stringp dired-directory)
+                                 dired-directory
+                               (car dired-directory)))
+                        (and (memq major-mode '(cvs-mode vc-dir-mode))
+                             (bound-and-true-p default-directory)))))
+       (and dirname (expand-file-name dirname)))
+      ""))
+
 (define-ibuffer-op ibuffer-do-save ()
   "Save marked buffers as with `save-buffer'."
   (:complex t
@@ -1753,14 +1764,7 @@ If point is on a group name, this function operates on that group."
             (t (format "%d files" total))))))
   (let ((directory-abbrev-alist ibuffer-directory-abbrev-alist))
     (abbreviate-file-name
-     (or buffer-file-name
-        (and (boundp 'dired-directory)
-             (if (stringp dired-directory)
-                 dired-directory
-               (car dired-directory)))
-        (and (eq major-mode 'vc-dir-mode)
-             (bound-and-true-p default-directory))
-        ""))))
+     (ibuffer-buffer-file-name))))
 
 (define-ibuffer-column filename-and-process
   (:name "Filename/Process"