When ERC loses a connection and then regains it, if I have channels open on another server as well, it will reconnect to the other server's channels, too.
Now jerk the connection to server2, or (as a rough approximation) kill the associated buffer server2:ircd
M-x kill-buffer <RET> server2:ircd <RET>
Then reconnect:
M-x erc-select <RET> server2 <RET>
Expected result:
ERC should rejoin #twotest on server2 but no other channels.
Actual result:
ERC joins back on #twotest but in addition joins #onetest on server2 (sic).
Reproducible:
Always
I guess the list of active channels does not contain the information about which server a channel is on, or the information is simply not used when reconnecting to lost channels.
Binary package hint: erc
When ERC loses a connection and then regains it, if I have channels open on another server as well, it will reconnect to the other server's channels, too.
To reproduce (clumsily):
M-x erc-select <RET> server1 <RET> <RET> <RET>
/join #onetest <RET>
M-x erc-select <RET> server2 <RET> <RET> <RET>
/join #twotest <RET>
Now jerk the connection to server2, or (as a rough approximation) kill the associated buffer server2:ircd
M-x kill-buffer <RET> server2:ircd <RET>
Then reconnect:
M-x erc-select <RET> server2 <RET>
Expected result:
ERC should rejoin #twotest on server2 but no other channels.
Actual result:
ERC joins back on #twotest but in addition joins #onetest on server2 (sic).
Reproducible:
Always
I guess the list of active channels does not contain the information about which server a channel is on, or the information is simply not used when reconnecting to lost channels.