diff options
| author | Romain Francoise | 2006-03-23 07:05:33 +0000 |
|---|---|---|
| committer | Romain Francoise | 2006-03-23 07:05:33 +0000 |
| commit | fde057aac8743ec04145f99d2de634fa6e2c37c7 (patch) | |
| tree | 09009ac960505501c02efd3899a158f48fd1452b | |
| parent | e9e33c19b8ae7878f448804a54c338a4d83536a1 (diff) | |
| download | emacs-fde057aac8743ec04145f99d2de634fa6e2c37c7.tar.gz emacs-fde057aac8743ec04145f99d2de634fa6e2c37c7.zip | |
(ibuffer-read-filter-group-name):
Use `ibuffer-generate-filter-groups' to make completion list match
the filter groups that are really displayed in the Ibuffer buffer.
(ibuffer-generate-filter-groups): Add new args noempty, nodefault.
| -rw-r--r-- | lisp/ChangeLog | 7 | ||||
| -rw-r--r-- | lisp/ibuf-ext.el | 36 |
2 files changed, 31 insertions, 12 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e0b7bac0697..f0964ecb825 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2006-03-23 Romain Francoise <romain@orebokech.com> | ||
| 2 | |||
| 3 | * ibuf-ext.el (ibuffer-read-filter-group-name): | ||
| 4 | Use `ibuffer-generate-filter-groups' to make completion list match | ||
| 5 | the filter groups that are really displayed in the Ibuffer buffer. | ||
| 6 | (ibuffer-generate-filter-groups): Add new args noempty, nodefault. | ||
| 7 | |||
| 1 | 2006-03-23 Kenichi Handa <handa@m17n.org> | 8 | 2006-03-23 Kenichi Handa <handa@m17n.org> |
| 2 | 9 | ||
| 3 | * international/mule-cmds.el (sort-coding-systems): Describe that | 10 | * international/mule-cmds.el (sort-coding-systems): Describe that |
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index 183da83816d..292e158c097 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el | |||
| @@ -511,9 +511,11 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'." | |||
| 511 | buf | 511 | buf |
| 512 | (cdr filter)))))))))) | 512 | (cdr filter)))))))))) |
| 513 | 513 | ||
| 514 | (defun ibuffer-generate-filter-groups (bmarklist) | 514 | (defun ibuffer-generate-filter-groups (bmarklist &optional noempty nodefault) |
| 515 | (let ((filter-group-alist (append ibuffer-filter-groups | 515 | (let ((filter-group-alist (if nodefault |
| 516 | (list (cons "Default" nil))))) | 516 | ibuffer-filter-groups |
| 517 | (append ibuffer-filter-groups | ||
| 518 | (list (cons "Default" nil)))))) | ||
| 517 | ;; (dolist (hidden ibuffer-hidden-filter-groups) | 519 | ;; (dolist (hidden ibuffer-hidden-filter-groups) |
| 518 | ;; (setq filter-group-alist (ibuffer-delete-alist | 520 | ;; (setq filter-group-alist (ibuffer-delete-alist |
| 519 | ;; hidden filter-group-alist))) | 521 | ;; hidden filter-group-alist))) |
| @@ -529,11 +531,13 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'." | |||
| 529 | (aset vec i hip-crowd) | 531 | (aset vec i hip-crowd) |
| 530 | (incf i) | 532 | (incf i) |
| 531 | (setq bmarklist lamers)))) | 533 | (setq bmarklist lamers)))) |
| 532 | (let ((ret nil)) | 534 | (let (ret) |
| 533 | (dotimes (j i ret) | 535 | (dotimes (j i ret) |
| 534 | (push (cons (car (nth j filter-group-alist)) | 536 | (let ((bufs (aref vec j))) |
| 535 | (aref vec j)) | 537 | (unless (and noempty (null bufs)) |
| 536 | ret)))))) | 538 | (push (cons (car (nth j filter-group-alist)) |
| 539 | bufs) | ||
| 540 | ret)))))))) | ||
| 537 | 541 | ||
| 538 | ;;;###autoload | 542 | ;;;###autoload |
| 539 | (defun ibuffer-filters-to-filter-group (name) | 543 | (defun ibuffer-filters-to-filter-group (name) |
| @@ -575,11 +579,19 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'." | |||
| 575 | (defun ibuffer-read-filter-group-name (msg &optional nodefault noerror) | 579 | (defun ibuffer-read-filter-group-name (msg &optional nodefault noerror) |
| 576 | (when (and (not noerror) (null ibuffer-filter-groups)) | 580 | (when (and (not noerror) (null ibuffer-filter-groups)) |
| 577 | (error "No filter groups active")) | 581 | (error "No filter groups active")) |
| 578 | (let ((groups (mapcar #'car ibuffer-filter-groups))) | 582 | ;; `ibuffer-generate-filter-groups' returns all non-hidden filter |
| 579 | (completing-read msg (if nodefault | 583 | ;; groups, possibly excluding empty groups or Default. |
| 580 | groups | 584 | ;; We add `ibuffer-hidden-filter-groups' to the list, excluding |
| 581 | (cons "Default" groups)) | 585 | ;; Default if necessary. |
| 582 | nil t))) | 586 | (completing-read msg (nconc |
| 587 | (ibuffer-generate-filter-groups | ||
| 588 | (ibuffer-current-state-list) | ||
| 589 | (not ibuffer-show-empty-filter-groups) | ||
| 590 | nodefault) | ||
| 591 | (if nodefault | ||
| 592 | (remove "Default" ibuffer-hidden-filter-groups) | ||
| 593 | ibuffer-hidden-filter-groups)) | ||
| 594 | nil t)) | ||
| 583 | 595 | ||
| 584 | ;;;###autoload | 596 | ;;;###autoload |
| 585 | (defun ibuffer-decompose-filter-group (group) | 597 | (defun ibuffer-decompose-filter-group (group) |