Re: bug#60784: 29.0.60; ERC 5.5: Don't interfere with non-module minor modes in erc-open
"J.P." <[email protected]>
| Newsgroups | gmane.emacs.erc.general |
|---|---|
| Message-ID | <[email protected]> |
"J.P." <[email protected]> writes: > ERC currently takes ownership of any minor mode it encounters whose name > happens to be prefixed with "erc-" as long as its mode variable is set > locally in an ERC buffer. That is, it propagates the enabled/disabled > state to new `erc-mode' buffers, possibly by calling the namesake > minor-mode function. This makes sense for modes defined by "local" > modules, whether built-in or third-party. But other, non-module minor > modes that just happen to use the same top-level library namespace > should be left alone. I've addressed this in a slightly more reliable way that doesn't depend on heuristics. Instead of banking on the unlikelihood of a non-module minor mode also defining a function suffixed with "-enable," I've opted for tagging a module's minor-mode symbol with the property `erc-module', to be paired with its canonical symbol as a value. It happens that while addressing this, I stumbled upon another, closely related (and arguably more important) bug stemming from the "local modules" change set (bug#57955), which was installed last November to support the SASL module. Basically, a local module's activation state (i.e., that of its minor-mode variable) wouldn't survive reconnections, as vociferously claimed. My oversight here owes its inception, in part, to the SASL module's lack of interest in target buffers, which its test cases came to reflect. And while the (vital) matter of reinstating a local module's associated data falls beyond the scope of this change, it ranks highly among the improvements I'd like to see in ERC's next major release. Thanks (and closing).