diff options
| author | F. Jason Park | 2023-09-25 06:06:13 -0700 |
|---|---|---|
| committer | F. Jason Park | 2023-10-02 17:23:29 -0700 |
| commit | ffd5d2f38d3bf521aa97e22cb134bc687429f01b (patch) | |
| tree | 61d9d1f4d90c37ae453aa4f1726a37c00b41f231 | |
| parent | 019baf28599783162659b668330a4dab3d368ffe (diff) | |
| download | emacs-ffd5d2f38d3bf521aa97e22cb134bc687429f01b.tar.gz emacs-ffd5d2f38d3bf521aa97e22cb134bc687429f01b.zip | |
Fix wrong "User" column count in erc-ibuffer
(ibuffer-make-column-erc-members): Show tally of all server users for
non-target buffers, and show correct count for targets. Thanks to
Mattias EngdegÄrd for reporting this.
(erc-ibuffer-limit-map): Use "new" `define-ibuffer-filter'
API. (Bug#66191)
| -rw-r--r-- | lisp/erc/erc-ibuffer.el | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/lisp/erc/erc-ibuffer.el b/lisp/erc/erc-ibuffer.el index 612814ac6da..790efae97ac 100644 --- a/lisp/erc/erc-ibuffer.el +++ b/lisp/erc/erc-ibuffer.el | |||
| @@ -27,6 +27,9 @@ | |||
| 27 | ;; needs work. Usage: Type / C-e C-h when in Ibuffer-mode to see new | 27 | ;; needs work. Usage: Type / C-e C-h when in Ibuffer-mode to see new |
| 28 | ;; limiting commands | 28 | ;; limiting commands |
| 29 | 29 | ||
| 30 | ;; This library does not contain a module, but you can `require' it | ||
| 31 | ;; after loading `erc' to make use of its functionality. | ||
| 32 | |||
| 30 | ;;; Code: | 33 | ;;; Code: |
| 31 | 34 | ||
| 32 | (require 'ibuffer) | 35 | (require 'ibuffer) |
| @@ -118,11 +121,11 @@ | |||
| 118 | 121 | ||
| 119 | (define-ibuffer-column | 122 | (define-ibuffer-column |
| 120 | erc-members (:name "Users") | 123 | erc-members (:name "Users") |
| 121 | (if (and (eq major-mode 'erc-mode) | 124 | (if-let ((table (or erc-channel-users erc-server-users)) |
| 122 | (boundp 'erc-channel-users) | 125 | ((hash-table-p table)) |
| 123 | (hash-table-p erc-channel-users) | 126 | (count (hash-table-count table)) |
| 124 | (> (hash-table-size erc-channel-users) 0)) | 127 | ((> count 0))) |
| 125 | (number-to-string (hash-table-size erc-channel-users)) | 128 | (number-to-string count) |
| 126 | "")) | 129 | "")) |
| 127 | 130 | ||
| 128 | (define-ibuffer-column erc-away (:name "A") | 131 | (define-ibuffer-column erc-away (:name "A") |
| @@ -177,8 +180,7 @@ | |||
| 177 | (defvar erc-ibuffer-limit-map nil | 180 | (defvar erc-ibuffer-limit-map nil |
| 178 | "Prefix keymap to use for ERC related limiting.") | 181 | "Prefix keymap to use for ERC related limiting.") |
| 179 | (define-prefix-command 'erc-ibuffer-limit-map) | 182 | (define-prefix-command 'erc-ibuffer-limit-map) |
| 180 | ;; FIXME: Where is `ibuffer-limit-by-erc-server' defined? | 183 | (define-key 'erc-ibuffer-limit-map (kbd "s") #'ibuffer-filter-by-erc-server) |
| 181 | (define-key 'erc-ibuffer-limit-map (kbd "s") 'ibuffer-limit-by-erc-server) | ||
| 182 | (define-key ibuffer-mode-map (kbd "/ \C-e") 'erc-ibuffer-limit-map) | 184 | (define-key ibuffer-mode-map (kbd "/ \C-e") 'erc-ibuffer-limit-map) |
| 183 | 185 | ||
| 184 | (provide 'erc-ibuffer) | 186 | (provide 'erc-ibuffer) |