/[emacs]/emacs/lisp/ibuf-ext.el
ViewVC logotype

Diff of /emacs/lisp/ibuf-ext.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.33 by jpw, Fri Apr 4 21:47:03 2003 UTC revision 1.34 by jpw, Sat Jul 5 11:20:30 2003 UTC
# Line 35  Line 35 
35  (require 'ibuffer)  (require 'ibuffer)
36    
37  (eval-when-compile  (eval-when-compile
   (require 'derived)  
38    (require 'ibuf-macs)    (require 'ibuf-macs)
39    (require 'cl))    (require 'cl))
40    
# Line 556  To evaluate a form without viewing the b Line 555  To evaluate a form without viewing the b
555                    (cons (format "%s" mode) `((mode . ,mode))))                    (cons (format "%s" mode) `((mode . ,mode))))
556                  (let ((modes                  (let ((modes
557                         (ibuffer-remove-duplicates                         (ibuffer-remove-duplicates
558                          (mapcar (lambda (buf) (with-current-buffer buf major-mode))                          (mapcar (lambda (buf)
559                                      (with-current-buffer buf major-mode))
560                                  (buffer-list)))))                                  (buffer-list)))))
561                    (if ibuffer-view-ibuffer                    (if ibuffer-view-ibuffer
562                        modes                        modes
# Line 586  To evaluate a form without viewing the b Line 586  To evaluate a form without viewing the b
586  ;;;###autoload  ;;;###autoload
587  (defun ibuffer-decompose-filter-group (group)  (defun ibuffer-decompose-filter-group (group)
588    "Decompose the filter group GROUP into active filters."    "Decompose the filter group GROUP into active filters."
589    (interactive (list (ibuffer-read-filter-group-name "Decompose filter group: " t)))    (interactive
590       (list (ibuffer-read-filter-group-name "Decompose filter group: " t)))
591    (let ((data (cdr (assoc group ibuffer-filter-groups))))    (let ((data (cdr (assoc group ibuffer-filter-groups))))
592      (setq ibuffer-filter-groups (ibuffer-delete-alist      (setq ibuffer-filter-groups (ibuffer-delete-alist
593                                   group ibuffer-filter-groups)                                   group ibuffer-filter-groups)
# Line 620  To evaluate a form without viewing the b Line 621  To evaluate a form without viewing the b
621  ;;;###autoload  ;;;###autoload
622  (defun ibuffer-jump-to-filter-group (name)  (defun ibuffer-jump-to-filter-group (name)
623    "Move point to the filter group whose name is NAME."    "Move point to the filter group whose name is NAME."
624    (interactive (list (ibuffer-read-filter-group-name "Jump to filter group: ")))    (interactive
625       (list (ibuffer-read-filter-group-name "Jump to filter group: ")))
626    (ibuffer-aif (assoc name (ibuffer-current-filter-groups-with-position))    (ibuffer-aif (assoc name (ibuffer-current-filter-groups-with-position))
627        (goto-char (cdr it))        (goto-char (cdr it))
628      (error "No filter group with name %s" name)))      (error "No filter group with name %s" name)))
# Line 667  See also `ibuffer-kill-filter-group'." Line 669  See also `ibuffer-kill-filter-group'."
669                      (setq groups (cdr groups))))                      (setq groups (cdr groups))))
670                  res)))                  res)))
671      (cond ((not found)      (cond ((not found)
672             (setq ibuffer-filter-groups (nconc ibuffer-filter-groups (list newgroup))))             (setq ibuffer-filter-groups
673                     (nconc ibuffer-filter-groups (list newgroup))))
674            ((zerop pos)            ((zerop pos)
675             (push newgroup ibuffer-filter-groups))             (push newgroup ibuffer-filter-groups))
676            (t            (t
# Line 836  filter into parts." Line 839  filter into parts."
839                    (not (eq 'or (caar ibuffer-filtering-qualifiers))))                    (not (eq 'or (caar ibuffer-filtering-qualifiers))))
840            (error "Top filter is not an OR"))            (error "Top filter is not an OR"))
841          (let ((lim (pop ibuffer-filtering-qualifiers)))          (let ((lim (pop ibuffer-filtering-qualifiers)))
842            (setq ibuffer-filtering-qualifiers (nconc (cdr lim) ibuffer-filtering-qualifiers))))            (setq ibuffer-filtering-qualifiers
843                    (nconc (cdr lim) ibuffer-filtering-qualifiers))))
844      (when (< (length ibuffer-filtering-qualifiers) 2)      (when (< (length ibuffer-filtering-qualifiers) 2)
845        (error "Need two filters to OR"))        (error "Need two filters to OR"))
846      ;; If the second filter is an OR, just add to it.      ;; If the second filter is an OR, just add to it.
847      (let ((first (pop ibuffer-filtering-qualifiers))      (let ((first (pop ibuffer-filtering-qualifiers))
848            (second (pop ibuffer-filtering-qualifiers)))            (second (pop ibuffer-filtering-qualifiers)))
849        (if (eq 'or (car second))        (if (eq 'or (car second))
850            (push (nconc (list 'or first) (cdr second)) ibuffer-filtering-qualifiers)            (push (nconc (list 'or first) (cdr second))
851                    ibuffer-filtering-qualifiers)
852          (push (list 'or first second)          (push (list 'or first second)
853                ibuffer-filtering-qualifiers))))                ibuffer-filtering-qualifiers))))
854    (ibuffer-update nil t))    (ibuffer-update nil t))

Legend:
Removed from v.1.33  
changed lines
  Added in v.1.34

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26