ERC: Fix ERC's IBuffer format "crash" on killed server buffer
* lisp/erc/erc-ibuffer.el (erc-server-name): Fix a crash when displaying (or updating) an IBuffer buffer using ERC's first IBuffer format. This happens when one ERC buffer has its associated server buffer killed, e.g., voluntarily or automatically after server disconnection when `erc-kill-server-buffer-on-quit' is set to t. The culprit is the "Server" column, which returns nil in this case. Display "(closed)" instead (bug#44156). Copyright-paperwork-exempt: yes
This commit is contained in:
parent
ead957a2c3
commit
944c470835
1 changed files with 8 additions and 4 deletions
|
@ -92,10 +92,14 @@
|
|||
" "))
|
||||
|
||||
(define-ibuffer-column erc-server-name (:name "Server")
|
||||
(if (and erc-server-process (processp erc-server-process))
|
||||
(with-current-buffer (process-buffer erc-server-process)
|
||||
(or erc-server-announced-name erc-session-server))
|
||||
""))
|
||||
(or
|
||||
(when (and erc-server-process (processp erc-server-process))
|
||||
(let ((buffer (process-buffer erc-server-process)))
|
||||
(if (buffer-live-p buffer)
|
||||
(with-current-buffer buffer
|
||||
(or erc-server-announced-name erc-session-server))
|
||||
"(closed)")))
|
||||
""))
|
||||
|
||||
(define-ibuffer-column erc-target (:name "Target")
|
||||
(if (eq major-mode 'erc-mode)
|
||||
|
|
Loading…
Add table
Reference in a new issue