X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/865fe16fd25fb066c3da1f71a2bb115aa807af8d..a2a538b15e483eddffb555352bc0316ec44ac806:/lisp/ibuffer.el diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el index 7746146904..8f934b8628 100644 --- a/lisp/ibuffer.el +++ b/lisp/ibuffer.el @@ -1,6 +1,6 @@ ;;; ibuffer.el --- operate on buffers like dired -;; Copyright (C) 2000-2012 Free Software Foundation, Inc. +;; Copyright (C) 2000-2013 Free Software Foundation, Inc. ;; Author: Colin Walters ;; Maintainer: John Paul Wallington @@ -632,10 +632,13 @@ directory, like `default-directory'." '(menu-item "Disable all filtering" ibuffer-filter-disable :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers))) (define-key-after map [menu-bar view filter filter-by-mode] - '(menu-item "Add filter by major mode..." ibuffer-filter-by-mode)) - (define-key-after map [menu-bar view filter filter-by-mode] - '(menu-item "Add filter by major mode in use..." + '(menu-item "Add filter by any major mode..." ibuffer-filter-by-mode)) + (define-key-after map [menu-bar view filter filter-by-used-mode] + '(menu-item "Add filter by a major mode in use..." ibuffer-filter-by-used-mode)) + (define-key-after map [menu-bar view filter filter-by-derived-mode] + '(menu-item "Add filter by derived mode..." + ibuffer-filter-by-derived-mode)) (define-key-after map [menu-bar view filter filter-by-name] '(menu-item "Add filter by buffer name..." ibuffer-filter-by-name)) (define-key-after map [menu-bar view filter filter-by-filename] @@ -1283,7 +1286,7 @@ With optional ARG, make read-only only if ARG is not negative." (:opstring "toggled read only status in" :interactive "P" :modifier-p t) - (call-interactively 'toggle-read-only)) + (read-only-mode 'toggle)) (define-ibuffer-op ibuffer-do-delete () "Kill marked buffers as with `kill-this-buffer'." @@ -1359,24 +1362,27 @@ group." (defun ibuffer-mark-forward (arg) "Mark the buffer on this line, and move forward ARG lines. If point is on a group name, this function operates on that group." - (interactive "P") - (ibuffer-mark-interactive arg ibuffer-marked-char 1)) + (interactive "p") + (ibuffer-mark-interactive arg ibuffer-marked-char)) (defun ibuffer-unmark-forward (arg) "Unmark the buffer on this line, and move forward ARG lines. If point is on a group name, this function operates on that group." - (interactive "P") - (ibuffer-mark-interactive arg ?\s 1)) + (interactive "p") + (ibuffer-mark-interactive arg ?\s)) (defun ibuffer-unmark-backward (arg) "Unmark the buffer on this line, and move backward ARG lines. If point is on a group name, this function operates on that group." - (interactive "P") - (ibuffer-mark-interactive arg ?\s -1)) + (interactive "p") + (ibuffer-unmark-forward (- arg))) -(defun ibuffer-mark-interactive (arg mark movement) +(defun ibuffer-mark-interactive (arg mark &optional movement) (ibuffer-assert-ibuffer-mode) (or arg (setq arg 1)) + ;; deprecated movement argument + (when (and movement (< movement 0)) + (setq arg (- arg))) (ibuffer-forward-line 0) (ibuffer-aif (get-text-property (point) 'ibuffer-filter-group-name) (progn @@ -1386,8 +1392,12 @@ If point is on a group name, this function operates on that group." (let ((inhibit-read-only t)) (while (> arg 0) (ibuffer-set-mark mark) - (ibuffer-forward-line movement t) - (setq arg (1- arg)))))) + (ibuffer-forward-line 1 t) + (setq arg (1- arg))) + (while (< arg 0) + (ibuffer-forward-line -1 t) + (ibuffer-set-mark mark) + (setq arg (1+ arg)))))) (defun ibuffer-set-mark (mark) (ibuffer-assert-ibuffer-mode) @@ -2438,8 +2448,9 @@ Marking commands: Filtering commands: - '\\[ibuffer-filter-by-mode]' - Add a filter by major mode. - '\\[ibuffer-filter-by-used-mode]' - Add a filter by major mode now in use. + '\\[ibuffer-filter-by-mode]' - Add a filter by any major mode. + '\\[ibuffer-filter-by-used-mode]' - Add a filter by a major mode now in use. + '\\[ibuffer-filter-by-derived-mode]' - Add a filter by derived mode. '\\[ibuffer-filter-by-name]' - Add a filter by buffer name. '\\[ibuffer-filter-by-content]' - Add a filter by buffer content. '\\[ibuffer-filter-by-filename]' - Add a filter by filename. @@ -2641,7 +2652,7 @@ will be inserted before the group at point." ;;;;;; ibuffer-backward-filter-group ibuffer-forward-filter-group ;;;;;; ibuffer-toggle-filter-group ibuffer-mouse-toggle-filter-group ;;;;;; ibuffer-interactive-filter-by-mode ibuffer-mouse-filter-by-mode -;;;;;; ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" "c255d1ebe80ccabd8385f40bdd0b5451") +;;;;;; ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" "9950bdf995e4b5e962a17d754a35f2c6") ;;; Generated autoloads from ibuf-ext.el (autoload 'ibuffer-auto-mode "ibuf-ext" "\