"J.P." writes: > Case 1 > [...] > > Here, `erc-track--switch-buffer' and friends do not fully account for > killed buffers hanging around in `erc-modified-channels-alist'. This > could potentially be addressed by adding a maintenance function to > `erc-kill-server-hook' on module init (er, major-mode init). However, > since the hook itself is a public option and there's a race between it > and `erc-window-configuration-change' (which sees the killed buffer as > still being alive), I've modified the command instead. If this is > potentially problematic, someone please enlighten me. > > > Case 2 > [...] > > This highlights the need for other modules to perform chores when > erc-networks kills a server buffer. Basically, when merging contexts, > it doesn't run the normal `erc-kill-server-hook' because that would > invite a host of complications. I've chosen to address this by adding > a separate, internal hook expressly for this purpose. If that's dumb, > please someone say so. > > The fix for the second case belongs on emacs-29 (IMO) because the bug is > caused by changes it introduces. This has been carried out. > The fix for the first could arguably go on master because it's been > with ERC since the beginning. This has indeed been held back in a separate patch destined for master (attached).