emacs-diffs
[Top][All Lists]
Advanced

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

master ffd5d2f38d3 2/7: Fix wrong "User" column count in erc-ibuffer


From: F. Jason Park
Subject: master ffd5d2f38d3 2/7: Fix wrong "User" column count in erc-ibuffer
Date: Mon, 2 Oct 2023 20:38:27 -0400 (EDT)

branch: master
commit ffd5d2f38d3bf521aa97e22cb134bc687429f01b
Author: F. Jason Park <jp@neverwas.me>
Commit: F. Jason Park <jp@neverwas.me>

    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)
---
 lisp/erc/erc-ibuffer.el | 16 +++++++++-------
 1 file 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 @@
 ;; needs work.  Usage:  Type / C-e C-h when in Ibuffer-mode to see new
 ;; limiting commands
 
+;; This library does not contain a module, but you can `require' it
+;; after loading `erc' to make use of its functionality.
+
 ;;; Code:
 
 (require 'ibuffer)
@@ -118,11 +121,11 @@
 
 (define-ibuffer-column
  erc-members (:name "Users")
-  (if (and (eq major-mode 'erc-mode)
-          (boundp 'erc-channel-users)
-          (hash-table-p erc-channel-users)
-          (> (hash-table-size erc-channel-users) 0))
-     (number-to-string (hash-table-size erc-channel-users))
+  (if-let ((table (or erc-channel-users erc-server-users))
+           ((hash-table-p table))
+           (count (hash-table-count table))
+           ((> count 0)))
+      (number-to-string count)
     ""))
 
 (define-ibuffer-column erc-away (:name "A")
@@ -177,8 +180,7 @@
 (defvar erc-ibuffer-limit-map nil
   "Prefix keymap to use for ERC related limiting.")
 (define-prefix-command 'erc-ibuffer-limit-map)
-;; FIXME: Where is `ibuffer-limit-by-erc-server' defined?
-(define-key 'erc-ibuffer-limit-map (kbd "s") 'ibuffer-limit-by-erc-server)
+(define-key 'erc-ibuffer-limit-map (kbd "s") #'ibuffer-filter-by-erc-server)
 (define-key ibuffer-mode-map (kbd "/ \C-e") 'erc-ibuffer-limit-map)
 
 (provide 'erc-ibuffer)



reply via email to

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