emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/ibuf-ext.el


From: John Paul Wallington
Subject: [Emacs-diffs] Changes to emacs/lisp/ibuf-ext.el
Date: Thu, 23 Jan 2003 23:53:31 -0500

Index: emacs/lisp/ibuf-ext.el
diff -c emacs/lisp/ibuf-ext.el:1.28 emacs/lisp/ibuf-ext.el:1.29
*** emacs/lisp/ibuf-ext.el:1.28 Mon Dec  9 18:46:11 2002
--- emacs/lisp/ibuf-ext.el      Thu Jan 23 23:53:31 2003
***************
*** 1,9 ****
! ;;; ibuf-ext.el --- extensions for ibuffer 
  
  ;; Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
  
  ;; Author: Colin Walters <address@hidden>
! ;; Maintainer: John Paul Wallington <address@hidden>
  ;; Created: 2 Dec 2001
  ;; Keywords: buffer, convenience
  
--- 1,9 ----
! ;;; ibuf-ext.el --- extensions for ibuffer
  
  ;; Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
  
  ;; Author: Colin Walters <address@hidden>
! ;; Maintainer: John Paul Wallington <address@hidden>
  ;; Created: 2 Dec 2001
  ;; Keywords: buffer, convenience
  
***************
*** 62,68 ****
    (let ((hip-crowd nil)
        (lamers nil))
      (dolist (ibuffer-split-list-elt ibuffer-split-list-elts)
!       (if (funcall ibuffer-split-list-fn ibuffer-split-list-elt) 
          (push ibuffer-split-list-elt hip-crowd)
        (push ibuffer-split-list-elt lamers)))
      ;; Too bad Emacs Lisp doesn't have multiple values.
--- 62,68 ----
    (let ((hip-crowd nil)
        (lamers nil))
      (dolist (ibuffer-split-list-elt ibuffer-split-list-elts)
!       (if (funcall ibuffer-split-list-fn ibuffer-split-list-elt)
          (push ibuffer-split-list-elt hip-crowd)
        (push ibuffer-split-list-elt lamers)))
      ;; Too bad Emacs Lisp doesn't have multiple values.
***************
*** 103,115 ****
                                    ((or (mode . message-mode)
                                         (mode . mail-mode)
                                         (mode . gnus-group-mode)
!                                        (mode . gnus-summary-mode) 
                                         (mode . gnus-article-mode))))
                                   ("programming"
                                    ((or (mode . emacs-lisp-mode)
                                         (mode . cperl-mode)
                                         (mode . c-mode)
!                                        (mode . java-mode) 
                                         (mode . idl-mode)
                                         (mode . lisp-mode)))))
                                  
--- 103,115 ----
                                    ((or (mode . message-mode)
                                         (mode . mail-mode)
                                         (mode . gnus-group-mode)
!                                        (mode . gnus-summary-mode)
                                         (mode . gnus-article-mode))))
                                   ("programming"
                                    ((or (mode . emacs-lisp-mode)
                                         (mode . cperl-mode)
                                         (mode . c-mode)
!                                        (mode . java-mode)
                                         (mode . idl-mode)
                                         (mode . lisp-mode)))))
                                  
***************
*** 156,162 ****
    :group 'ibuffer)
  
  (defvar ibuffer-cached-filter-formats nil)
! (defvar ibuffer-compiled-filter-formats nil)  
  
  (defvar ibuffer-filter-groups nil
    "A list like ((\"NAME\" ((SYMBOL . QUALIFIER) ...) ...) which groups 
buffers.
--- 156,162 ----
    :group 'ibuffer)
  
  (defvar ibuffer-cached-filter-formats nil)
! (defvar ibuffer-compiled-filter-formats nil)
  
  (defvar ibuffer-filter-groups nil
    "A list like ((\"NAME\" ((SYMBOL . QUALIFIER) ...) ...) which groups 
buffers.
***************
*** 216,222 ****
            (not
             (ibuffer-buf-matches-predicates buf 
ibuffer-maybe-show-predicates)))
        (or ibuffer-view-ibuffer
!           (and ibuffer-buf 
                 (not (eq ibuffer-buf buf))))
        (or
         (ibuffer-included-in-filters-p buf ibuffer-filtering-qualifiers)
--- 216,222 ----
            (not
             (ibuffer-buf-matches-predicates buf 
ibuffer-maybe-show-predicates)))
        (or ibuffer-view-ibuffer
!           (and ibuffer-buf
                 (not (eq ibuffer-buf buf))))
        (or
         (ibuffer-included-in-filters-p buf ibuffer-filtering-qualifiers)
***************
*** 268,274 ****
      (if (assq 'mode ibuffer-filtering-qualifiers)
        (setq ibuffer-filtering-qualifiers
              (ibuffer-delete-alist 'mode ibuffer-filtering-qualifiers))
!       (ibuffer-push-filter (cons 'mode 
                                (with-current-buffer buf
                                  major-mode)))))
    (ibuffer-update nil t))
--- 268,274 ----
      (if (assq 'mode ibuffer-filtering-qualifiers)
        (setq ibuffer-filtering-qualifiers
              (ibuffer-delete-alist 'mode ibuffer-filtering-qualifiers))
!       (ibuffer-push-filter (cons 'mode
                                (with-current-buffer buf
                                  major-mode)))))
    (ibuffer-update nil t))
***************
*** 284,293 ****
  ;;;###autoload
  (defun ibuffer-toggle-filter-group ()
    "Toggle the display status of the filter group on this line."
!   (interactive) 
    (ibuffer-toggle-filter-group-1 (point)))
  
! (defun ibuffer-toggle-filter-group-1 (posn)   
    (let ((name (get-text-property posn 'ibuffer-filter-group-name)))
      (unless (stringp name)
        (error "No filtering group name present"))
--- 284,293 ----
  ;;;###autoload
  (defun ibuffer-toggle-filter-group ()
    "Toggle the display status of the filter group on this line."
!   (interactive)
    (ibuffer-toggle-filter-group-1 (point)))
  
! (defun ibuffer-toggle-filter-group-1 (posn)
    (let ((name (get-text-property posn 'ibuffer-filter-group-name)))
      (unless (stringp name)
        (error "No filtering group name present"))
***************
*** 700,706 ****
    (ibuffer-update nil t))
  
  ;;;###autoload
! (defun ibuffer-save-filter-groups (name groups) 
    "Save all active filter groups GROUPS as NAME.
  They are added to `ibuffer-saved-filter-groups'.  Interactively,
  prompt for NAME, and use the current filters."
--- 700,706 ----
    (ibuffer-update nil t))
  
  ;;;###autoload
! (defun ibuffer-save-filter-groups (name groups)
    "Save all active filter groups GROUPS as NAME.
  They are added to `ibuffer-saved-filter-groups'.  Interactively,
  prompt for NAME, and use the current filters."
***************
*** 776,782 ****
  turned into two separate filters [name: foo] and [mode: bar-mode]."
    (interactive)
    (when (null ibuffer-filtering-qualifiers)
!     (error "No filters in effect"))  
    (let ((lim (pop ibuffer-filtering-qualifiers)))
      (case (car lim)
        (or
--- 776,782 ----
  turned into two separate filters [name: foo] and [mode: bar-mode]."
    (interactive)
    (when (null ibuffer-filtering-qualifiers)
!     (error "No filters in effect"))
    (let ((lim (pop ibuffer-filtering-qualifiers)))
      (case (car lim)
        (or
***************
*** 949,970 ****
        (modes)
        (this-mode))
      (while bufs
!       (setq this-mode 
!           (with-current-buffer 
                (car bufs)
              major-mode)
            bufs (cdr bufs))
!       (add-to-list 
         'modes
!        `(,(symbol-name this-mode) . 
         ,this-mode)))
!     modes)) 
  
  
  ;;; Extra operation definitions
  
  ;;;###autoload (autoload 'ibuffer-filter-by-mode "ibuf-ext.el")
! (define-ibuffer-filter mode 
    "Toggle current view to buffers with major mode QUALIFIER."
    (:description "major mode"
     :reader
--- 949,970 ----
        (modes)
        (this-mode))
      (while bufs
!       (setq this-mode
!           (with-current-buffer
                (car bufs)
              major-mode)
            bufs (cdr bufs))
!       (add-to-list
         'modes
!        `(,(symbol-name this-mode) .
         ,this-mode)))
!     modes))
  
  
  ;;; Extra operation definitions
  
  ;;;###autoload (autoload 'ibuffer-filter-by-mode "ibuf-ext.el")
! (define-ibuffer-filter mode
    "Toggle current view to buffers with major mode QUALIFIER."
    (:description "major mode"
     :reader
***************
*** 982,995 ****
    (eq qualifier (with-current-buffer buf major-mode)))
  
  ;;;###autoload (autoload 'ibuffer-filter-by-used-mode "ibuf-ext.el")
! (define-ibuffer-filter used-mode 
    "Toggle current view to buffers with major mode QUALIFIER.
  Called interactively, this function allows selection of modes
  currently used by buffers."
    (:description "major mode in use"
                :reader
!               (intern 
!                (completing-read "Filter by major mode: " 
                                  (ibuffer-list-buffer-modes)
                                  nil
                                  t
--- 982,995 ----
    (eq qualifier (with-current-buffer buf major-mode)))
  
  ;;;###autoload (autoload 'ibuffer-filter-by-used-mode "ibuf-ext.el")
! (define-ibuffer-filter used-mode
    "Toggle current view to buffers with major mode QUALIFIER.
  Called interactively, this function allows selection of modes
  currently used by buffers."
    (:description "major mode in use"
                :reader
!               (intern
!                (completing-read "Filter by major mode: "
                                  (ibuffer-list-buffer-modes)
                                  nil
                                  t
***************
*** 1001,1007 ****
    (eq qualifier (with-current-buffer buf major-mode)))
  
  ;;;###autoload (autoload 'ibuffer-filter-by-name "ibuf-ext.el")
! (define-ibuffer-filter name 
    "Toggle current view to buffers with name matching QUALIFIER."
    (:description "buffer name"
     :reader (read-from-minibuffer "Filter by name (regexp): "))
--- 1001,1007 ----
    (eq qualifier (with-current-buffer buf major-mode)))
  
  ;;;###autoload (autoload 'ibuffer-filter-by-name "ibuf-ext.el")
! (define-ibuffer-filter name
    "Toggle current view to buffers with name matching QUALIFIER."
    (:description "buffer name"
     :reader (read-from-minibuffer "Filter by name (regexp): "))
***************
*** 1016,1022 ****
      (string-match qualifier it)))
  
  ;;;###autoload (autoload 'ibuffer-filter-by-size-gt  "ibuf-ext.el")
! (define-ibuffer-filter size-gt 
    "Toggle current view to buffers with size greater than QUALIFIER."
    (:description "size greater than"
     :reader
--- 1016,1022 ----
      (string-match qualifier it)))
  
  ;;;###autoload (autoload 'ibuffer-filter-by-size-gt  "ibuf-ext.el")
! (define-ibuffer-filter size-gt
    "Toggle current view to buffers with size greater than QUALIFIER."
    (:description "size greater than"
     :reader
***************
*** 1025,1031 ****
       qualifier))
  
  ;;;###autoload (autoload 'ibuffer-filter-by-size-lt  "ibuf-ext.el")
! (define-ibuffer-filter size-lt 
     "Toggle current view to buffers with size less than QUALIFIER."
    (:description "size less than"
     :reader
--- 1025,1031 ----
       qualifier))
  
  ;;;###autoload (autoload 'ibuffer-filter-by-size-lt  "ibuf-ext.el")
! (define-ibuffer-filter size-lt
     "Toggle current view to buffers with size less than QUALIFIER."
    (:description "size less than"
     :reader
***************
*** 1248,1271 ****
  ;;;###autoload
  (defun ibuffer-copy-filename-as-kill (&optional arg)
    "Copy filenames of marked buffers into the kill ring.
  The names are separated by a space.
  If a buffer has no filename, it is ignored.
- With a zero prefix arg, use the complete pathname of each marked file.
  
! You can then feed the file name(s) to other commands with C-y.
! 
!  [ This docstring shamelessly stolen from the
!  `dired-copy-filename-as-kill' in \"dired-x\". ]"
!   ;; Add to docstring later:
!   ;; With C-u, use the relative pathname of each marked file.
!   (interactive "P")
!   (if (= (ibuffer-count-marked-lines) 0)
        (message "No buffers marked; use 'm' to mark a buffer")
      (let ((ibuffer-copy-filename-as-kill-result "")
!         (type (cond ((eql arg 0)
                       'full)
!                     ;; ((eql arg 4)
!                     ;;  'relative)
                      (t
                       'name))))
        (ibuffer-map-marked-lines
--- 1248,1271 ----
  ;;;###autoload
  (defun ibuffer-copy-filename-as-kill (&optional arg)
    "Copy filenames of marked buffers into the kill ring.
+ 
  The names are separated by a space.
  If a buffer has no filename, it is ignored.
  
! With no prefix arg, use the filename sans its directory of each marked file.
! With a zero prefix arg, use the complete filename of each marked file.
! With \\[universal-argument], use the filename of each marked file relative
! to `ibuffer-default-directory' iff non-nil, otherwise `default-directory'.
! 
! You can then feed the file name(s) to other commands with \\[yank]."
!   (interactive "p")
!   (if (zerop (ibuffer-count-marked-lines))
        (message "No buffers marked; use 'm' to mark a buffer")
      (let ((ibuffer-copy-filename-as-kill-result "")
!         (type (cond ((zerop arg)
                       'full)
!                     ((= arg 4)
!                      'relative)
                      (t
                       'name))))
        (ibuffer-map-marked-lines
***************
*** 1277,1287 ****
                               (case type
                                 (full
                                  name)
                                 (t
                                  (file-name-nondirectory name)))
                             ""))
                         " "))))
!       (push ibuffer-copy-filename-as-kill-result kill-ring))))
  
  (defun ibuffer-mark-on-buffer (func &optional ibuffer-mark-on-buffer-mark 
group)
    (let ((count
--- 1277,1291 ----
                               (case type
                                 (full
                                  name)
+                                (relative
+                                 (file-relative-name
+                                  name (or ibuffer-default-directory
+                                           default-directory)))
                                 (t
                                  (file-name-nondirectory name)))
                             ""))
                         " "))))
!       (kill-new ibuffer-copy-filename-as-kill-result))))
  
  (defun ibuffer-mark-on-buffer (func &optional ibuffer-mark-on-buffer-mark 
group)
    (let ((count




reply via email to

[Prev in Thread] Current Thread [Next in Thread]