* lisp/erc/erc-backend.el (erc--wrangle-query-buffers-on-nick-change): New function for handling buffer renaming and message routing triggered by a nick change. Such twiddling used to reside in `erc-server-NICK' but has been separated out for use by built-in modules overriding `erc-server-NICK'. The behavior has also changed to favor always reusing an existing query buffer whenever possible instead of creating a new, <N>-suffixed buffer. This addresses some arguably unfinished business from bug#48598. (erc-server-NICK): Fix erroneous call to `erc-update-user-nick' that passed the sender's login as the function's INFO argument. Move buffer renaming logic to `erc--wrangle-query-buffers-on-nick-change' for use by "NICK" handlers managed by modules. Also, print the notice in all query buffers when the client changes its own nick. (erc-server-QUIT): Show messages in all query buffers when the client itself quits, but prevent `track' from updating the mode line with redundant noise. * lisp/erc/erc.el (erc-generate-new-buffer-name): Fix typo in doc. (erc--query-list): New function. * test/lisp/erc/erc-scenarios-base-query-participants.el: New file. * test/lisp/erc/erc-scenarios-base-renick.el (erc-scenarios-base-renick-queries-solo): Revise slightly to use modern helper API. (erc-scenarios-base-renick-queries/reassume): New test. (erc-scenarios-base-renick-self/merge-query): New test. * test/lisp/erc/resources/base/query-participants/legacy.eld: New file. * test/lisp/erc/resources/base/reconnect/options-again.eld: Adjust timeout. * test/lisp/erc/resources/base/renick/queries/reassume.eld: New file. * test/lisp/erc/resources/base/renick/self/manual.eld: Update timeouts. * test/lisp/erc/resources/base/renick/self/merge-query-a.eld: New file. * test/lisp/erc/resources/base/renick/self/merge-query-b.eld: New file. (Bug#70928)
46 lines
2.8 KiB
Plaintext
46 lines
2.8 KiB
Plaintext
;; -*- mode: lisp-data; -*-
|
|
((pass 1 "PASS :changeme"))
|
|
((nick 1 "NICK tester"))
|
|
((user 1 "USER user 0 * :tester")
|
|
(0 ":irc.foonet.org 001 tester :Welcome to the foonet IRC Network tester")
|
|
(0 ":irc.foonet.org 002 tester :Your host is irc.foonet.org, running version oragono-2.6.0-7481bf0385b95b16")
|
|
(0 ":irc.foonet.org 003 tester :This server was created Tue, 04 May 2021 05:06:18 UTC")
|
|
(0 ":irc.foonet.org 004 tester irc.foonet.org oragono-2.6.0-7481bf0385b95b16 BERTZios CEIMRUabefhiklmnoqstuv Iabefhkloqv")
|
|
(0 ":irc.foonet.org 005 tester AWAYLEN=390 BOT=B CASEMAPPING=ascii CHANLIMIT=#:100 CHANMODES=Ibe,k,fl,CEMRUimnstu CHANNELLEN=64 CHANTYPES=# ELIST=U EXCEPTS EXTBAN=,m FORWARD=f INVEX KICKLEN=390 :are supported by this server")
|
|
(0 ":irc.foonet.org 005 tester MAXLIST=beI:60 MAXTARGETS=4 MODES MONITOR=100 NETWORK=FooNet NICKLEN=32 PREFIX=(qaohv)~&@%+ STATUSMSG=~&@%+ TARGMAX=NAMES:1,LIST:1,KICK:1,WHOIS:1,USERHOST:10,PRIVMSG:4,TAGMSG:4,NOTICE:4,MONITOR:100 TOPICLEN=390 UTF8MAPPING=rfc8265 UTF8ONLY WHOX :are supported by this server")
|
|
(0 ":irc.foonet.org 005 tester draft/CHATHISTORY=100 :are supported by this server")
|
|
(0 ":irc.foonet.org 251 tester :There are 0 users and 3 invisible on 1 server(s)")
|
|
(0 ":irc.foonet.org 252 tester 0 :IRC Operators online")
|
|
(0 ":irc.foonet.org 253 tester 0 :unregistered connections")
|
|
(0 ":irc.foonet.org 254 tester 1 :channels formed")
|
|
(0 ":irc.foonet.org 255 tester :I have 3 clients and 0 servers")
|
|
(0 ":irc.foonet.org 265 tester 3 3 :Current local users 3, max 3")
|
|
(0 ":irc.foonet.org 266 tester 3 3 :Current global users 3, max 3")
|
|
(0 ":irc.foonet.org 422 tester :MOTD File is missing"))
|
|
|
|
((mode-user 10 "MODE tester +i")
|
|
(0 ":irc.foonet.org 221 tester +i")
|
|
(0 ":irc.foonet.org NOTICE tester :This server is still in debug mode."))
|
|
|
|
((~join-chan 12 "JOIN #chan")
|
|
(0 ":tester!~u@9g6b728983yd2.irc JOIN #chan")
|
|
(0 ":irc.foonet.org 353 tester = #chan :alice tester @bob")
|
|
(0 ":irc.foonet.org 366 tester #chan :End of NAMES list"))
|
|
|
|
((~join-spam 12 "JOIN #spam")
|
|
(0 ":tester!~u@9g6b728983yd2.irc JOIN #spam")
|
|
(0 ":irc.foonet.org 353 tester = #spam :alice tester @bob")
|
|
(0 ":irc.foonet.org 366 tester #spam :End of NAMES list"))
|
|
|
|
((~mode-chan 10 "MODE #chan")
|
|
(0 ":irc.foonet.org 324 tester #chan +nt")
|
|
(0 ":irc.foonet.org 329 tester #chan 1620104779")
|
|
(0.1 ":bob!~u@rz2v467q4rwhy.irc PRIVMSG #chan :alice: But, as it seems, did violence on herself.")
|
|
(0.1 ":alice!~u@rz2v467q4rwhy.irc PRIVMSG #chan :bob: Well, this is the forest of Arden."))
|
|
|
|
((mode-spam 20 "MODE #spam")
|
|
(0 ":irc.foonet.org 324 tester #spam +nt")
|
|
(0 ":irc.foonet.org 329 tester #spam 1620104779")
|
|
(0.1 ":bob!~u@rz2v467q4rwhy.irc PRIVMSG #spam :alice: Signior Iachimo will not from it. Pray, let us follow 'em.")
|
|
(0.1 ":alice!~u@rz2v467q4rwhy.irc PRIVMSG #spam :bob: Our queen and all her elves come here anon."))
|