* 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)
51 lines
3.6 KiB
Plaintext
51 lines
3.6 KiB
Plaintext
;; -*- mode: lisp-data; -*-
|
|
((pass 10 "PASS :foonet:changeme"))
|
|
((nick 1 "NICK tester"))
|
|
((user 1 "USER user 0 * :tester")
|
|
(0 ":irc.foonet.org 001 tester :Welcome to the FooNet Internet Relay Chat Network tester")
|
|
(0 ":irc.foonet.org 002 tester :Your host is irc.foonet.org[188.240.145.101/6697], running version solanum-1.0-dev")
|
|
(0 ":irc.foonet.org 003 tester :This server was created Sat May 22 2021 at 19:04:17 UTC")
|
|
(0 ":irc.foonet.org 004 tester irc.foonet.org solanum-1.0-dev DGQRSZaghilopsuwz CFILMPQSbcefgijklmnopqrstuvz bkloveqjfI")
|
|
(0 ":irc.foonet.org 005 tester WHOX FNC KNOCK SAFELIST ELIST=CTU CALLERID=g MONITOR=100 ETRACE CHANTYPES=# EXCEPTS INVEX CHANMODES=eIbq,k,flj,CFLMPQScgimnprstuz :are supported by this server")
|
|
(0 ":irc.foonet.org 005 tester CHANLIMIT=#:250 PREFIX=(ov)@+ MAXLIST=bqeI:100 MODES=4 NETWORK=foonet STATUSMSG=@+ CASEMAPPING=rfc1459 NICKLEN=16 MAXNICKLEN=16 CHANNELLEN=50 TOPICLEN=390 DEAF=D :are supported by this server")
|
|
(0 ":irc.foonet.org 005 tester TARGMAX=NAMES:1,LIST:1,KICK:1,WHOIS:1,PRIVMSG:4,NOTICE:4,ACCEPT:,MONITOR: EXTBAN=$,ajrxz CLIENTVER=3.0 :are supported by this server")
|
|
(0 ":irc.foonet.org 251 tester :There are 33 users and 14113 invisible on 17 servers")
|
|
(0 ":irc.foonet.org 252 tester 34 :IRC Operators online")
|
|
(0 ":irc.foonet.org 254 tester 12815 :channels formed")
|
|
(0 ":irc.foonet.org 255 tester :I have 726 clients and 1 servers")
|
|
(0 ":irc.foonet.org 265 tester 726 739 :Current local users 726, max 739")
|
|
(0 ":irc.foonet.org 266 tester 14146 14541 :Current global users 14146, max 14541")
|
|
(0 ":irc.foonet.org 250 tester :Highest connection count: 740 (739 clients) (3790 connections received)")
|
|
(0 ":irc.foonet.org 375 tester :- irc.foonet.org Message of the Day - ")
|
|
(0 ":irc.foonet.org 372 tester :- This server provided by NORDUnet/SUNET")
|
|
(0 ":irc.foonet.org 372 tester :- Welcome to foonet, the IRC network for free & open-source software")
|
|
(0 ":irc.foonet.org 372 tester :- and peer directed projects.")
|
|
(0 ":irc.foonet.org 372 tester :- ")
|
|
(0 ":irc.foonet.org 372 tester :- Please visit us in #libera for questions and support.")
|
|
(0 ":irc.foonet.org 376 tester :End of /MOTD command."))
|
|
|
|
((mode-user 10 "MODE tester +i")
|
|
(0 ":tester!~u@gq7yjr7gsu7nn.irc MODE tester :+RZi")
|
|
(0 ":irc.znc.in 306 tester :You have been marked as being away")
|
|
(0 ":tester!~u@gq7yjr7gsu7nn.irc JOIN #foo")
|
|
|
|
(0 ":irc.foonet.org 353 tester = #foo :alice @bob Lal tester")
|
|
(0 ":irc.foonet.org 366 tester #foo :End of /NAMES list.")
|
|
(0 ":***!znc@znc.in PRIVMSG #foo :Buffer Playback...")
|
|
(0 ":alice!~u@gq7yjr7gsu7nn.irc PRIVMSG #foo :[10:00:02] bob: All that he is hath reference to your highness.")
|
|
(0 ":bob!~u@gq7yjr7gsu7nn.irc PRIVMSG #foo :[10:00:06] alice: Excellent workman! Thou canst not paint a man so bad as is thyself.")
|
|
(0 ":***!znc@znc.in PRIVMSG #foo :Playback Complete.")
|
|
(0 ":irc.foonet.org NOTICE tester :[09:56:57] This server is in debug mode and is logging all user I/O. If you do not wish for everything you send to be readable by the server owner(s), please disconnect.")
|
|
(0 ":irc.foonet.org 305 tester :You are no longer marked as being away"))
|
|
|
|
((mode-foo 10 "MODE #foo")
|
|
(0 ":irc.foonet.org 324 tester #foo +nt")
|
|
(0 ":irc.foonet.org 329 tester #foo 1622454985")
|
|
(0.1 ":alice!~u@gq7yjr7gsu7nn.irc PRIVMSG #foo :bob: Farewell, pretty lady: you must hold the credit of your father.")
|
|
(0.1 ":bob!~u@gq7yjr7gsu7nn.irc PRIVMSG #foo :alice: On Thursday, sir ? the time is very short."))
|
|
|
|
((nick 10 "NICK dummy")
|
|
(0 ":tester!~u@gq7yjr7gsu7nn.irc NICK :dummy")
|
|
(0.1 ":dummy!~u@gq7yjr7gsu7nn.irc MODE dummy :+RZi")
|
|
(0.1 ":bob!~u@gq7yjr7gsu7nn.irc PRIVMSG #foo :dummy: Hi."))
|