]> code.delx.au - gnu-emacs/blobdiff - lisp/ibuf-ext.el
Replace some inappropriate uses of toggle-read-only. (Bug#7292)
[gnu-emacs] / lisp / ibuf-ext.el
index 2046c9a2b756119c157f2fc942b65badfbb78024..69eb3188862246afaae6019c00a23df1213523b5 100644 (file)
@@ -1,7 +1,7 @@
 ;;; ibuf-ext.el --- extensions for ibuffer
 
-;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-;;   2008 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+;;   2009, 2010  Free Software Foundation, Inc.
 
 ;; Author: Colin Walters <walters@verbum.org>
 ;; Maintainer: John Paul Wallington <jpw@gnu.org>
@@ -544,10 +544,11 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
       (dolist (filtergroup filter-group-alist)
        (let ((filterset (cdr filtergroup)))
          (multiple-value-bind (hip-crowd lamers)
-             (ibuffer-split-list (lambda (bufmark)
-                                   (ibuffer-included-in-filters-p (car bufmark)
-                                                                  filterset))
-                                 bmarklist)
+             (values-list
+              (ibuffer-split-list (lambda (bufmark)
+                                    (ibuffer-included-in-filters-p (car bufmark)
+                                                                   filterset))
+                                  bmarklist))
            (aset vec i hip-crowd)
            (incf i)
            (setq bmarklist lamers))))
@@ -1041,9 +1042,8 @@ currently used by buffers."
   "Toggle current view to buffers with filename matching QUALIFIER."
   (:description "filename"
    :reader (read-from-minibuffer "Filter by filename (regexp): "))
-  (ibuffer-awhen (with-current-buffer buf
-                  (ibuffer-buffer-file-name))
-                (string-match qualifier it)))
+  (ibuffer-awhen (buffer-local-value 'buffer-file-name buf)
+    (string-match qualifier it)))
 
 ;;;###autoload (autoload 'ibuffer-filter-by-size-gt  "ibuf-ext")
 (define-ibuffer-filter size-gt
@@ -1161,10 +1161,10 @@ Ordering is lexicographic."
   (string-lessp
    ;; FIXME: For now just compare the file name and the process name
    ;; (if it exists).  Is there a better way to do this?
-   (or (buffer-file-name (car a)) 
+   (or (buffer-file-name (car a))
        (let ((pr-a (get-buffer-process (car a))))
         (and (processp pr-a) (process-name pr-a))))
-   (or (buffer-file-name (car b)) 
+   (or (buffer-file-name (car b))
        (let ((pr-b (get-buffer-process (car b))))
         (and (processp pr-b) (process-name pr-b))))))
 
@@ -1338,7 +1338,7 @@ a prefix argument reverses the meaning of that variable."
                       ;; Use explicitly specified switches
                       ,@(if (listp switches) switches (list switches))
                       ,@(if (or old new)
-                            (list "-L" old
+                            (list "-L" (shell-quote-argument old)
                                   "-L" (shell-quote-argument
                                         (format "Buffer %s" (buffer-name buffer)))))
                       ,(shell-quote-argument (or oldtmp old))
@@ -1598,5 +1598,9 @@ defaults to one."
 
 (provide 'ibuf-ext)
 
+;; Local Variables:
+;; generated-autoload-file: "ibuffer.el"
+;; End:
+
 ;; arch-tag: 9af21953-deda-4c30-b76d-f81d9128e76d
 ;;; ibuf-ext.el ends here