aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorF. Jason Park2023-09-25 06:06:13 -0700
committerF. Jason Park2023-10-02 17:23:29 -0700
commitffd5d2f38d3bf521aa97e22cb134bc687429f01b (patch)
tree61d9d1f4d90c37ae453aa4f1726a37c00b41f231
parent019baf28599783162659b668330a4dab3d368ffe (diff)
downloademacs-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.el16
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)