summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/inline.el
diff options
context:
space:
mode:
authorF. Jason Park <jp@neverwas.me>2024-04-25 05:16:23 -0700
committerF. Jason Park <jp@neverwas.me>2024-05-27 16:39:18 -0700
commit5f84213c9802181b4d800615915e3c8dded7b94f (patch)
tree97bb5c8c58ad64cf5252aa53e33d8fa4cdcc5ff8 /lisp/emacs-lisp/inline.el
parent04477cf97be9eb2bb5ae09eff114252864461f05 (diff)
downloademacs-5f84213c9802181b4d800615915e3c8dded7b94f.tar.gz
emacs-5f84213c9802181b4d800615915e3c8dded7b94f.tar.bz2
emacs-5f84213c9802181b4d800615915e3c8dded7b94f.zip
Retain client's own user in erc-server-users
* lisp/erc/erc-backend.el (erc-server-KICK, erc-server-PART): Use new function `erc--remove-channel-user-but' instead of `erc-remove-channel-users'. In `erc-server-KICK', remove sender's channel membership data after displaying the message so that nicks are buttonized. Return nil. In `erc-server-PART', don't run `erc-remove-channel-member' when the client itself has parted. * lisp/erc/erc-common.el (erc--remove-user-from-targets): New function. * lisp/erc/erc.el (erc-remove-server-user): Redo doc string. (erc--forget-server-user-function): New variable. (erc--forget-server-user): New function. (erc--forget-server-user-ignoring-queries): New function, the default value of `erc--forget-server-user-function'. (erc-remove-channel-user): Defer to `erc--forget-server-user-function' to do the actual removal. (erc-remove-user): Defer to `erc--remove-user-from-targets'. (erc-remove-channel-users): Redo doc (erc--remove-channel-users-but): New function. The only use case thus far is for protecting the client's own `erc-server-users' entry from removal when draining `erc-channel-members' tables after the client leaves a target buffer or quits. (erc-kill-buffer-function): Don't remove own user from `erc-server-users'. * test/lisp/erc/erc-scenarios-base-renick.el (erc-scenarios-base-renick-queries-solo): Assert own client parting its only channel doesn't remove own user from server. Also assert that another user parting their only channel removes them from all queries. (Bug#70928)
Diffstat (limited to 'lisp/emacs-lisp/inline.el')
0 files changed, 0 insertions, 0 deletions