;;; ibuffer.el --- operate on buffers like dired
;; Copyright (C) 2000, 2001, 2002, 2003, 2004,
-;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
;; Author: Colin Walters <walters@verbum.org>
;; Maintainer: John Paul Wallington <jpw@gnu.org>
(ibuffer-redisplay t)))
(defun ibuffer-shrink-to-fit (&optional owin)
+ ;; Make sure that redisplay is performed, otherwise there can be a
+ ;; bad interaction with code in the window-scroll-functions hook
+ (redisplay t)
(fit-window-to-buffer nil (when owin (/ (frame-height)
(length (window-list (selected-frame)))))))
dired-directory
(car dired-directory)))
(bound-and-true-p list-buffers-directory))))
- (and dirname (expand-file-name dirname)))
- ""))
+ (and dirname (expand-file-name dirname)))))
(define-ibuffer-op ibuffer-do-save ()
"Save marked buffers as with `save-buffer'."
(t (format "%d files" total))))))
(let ((directory-abbrev-alist ibuffer-directory-abbrev-alist))
(abbreviate-file-name
- (ibuffer-buffer-file-name))))
+ (or (ibuffer-buffer-file-name) ""))))
(define-ibuffer-column filename-and-process
(:name "Filename/Process"
ibuffer-header-line-format)))
(defun ibuffer-sort-bufferlist (bmarklist)
+ (unless ibuffer-sorting-functions-alist
+ ;; make sure the sorting functions are loaded
+ (require 'ibuf-ext))
(let* ((sortdat (assq ibuffer-sorting-mode
ibuffer-sorting-functions-alist))
(func (caddr sortdat)))