summaryrefslogtreecommitdiff
path: root/etc/ERC-NEWS
diff options
context:
space:
mode:
authorF. Jason Park <jp@neverwas.me>2023-03-02 23:33:28 -0800
committerF. Jason Park <jp@neverwas.me>2023-03-03 05:33:33 -0800
commit1e9484f2fd1d50e28d688d6e151c30b16ab7b6fe (patch)
treee2fdca189d6a9998d82c5a2885faa0a2a337783f /etc/ERC-NEWS
parent119b3a4dba17f0ab068937567c9350301690c18d (diff)
downloademacs-1e9484f2fd1d50e28d688d6e151c30b16ab7b6fe.tar.gz
; * etc/ERC-NEWS: Mention more deprecations.
Diffstat (limited to 'etc/ERC-NEWS')
-rw-r--r--etc/ERC-NEWS119
1 files changed, 72 insertions, 47 deletions
diff --git a/etc/ERC-NEWS b/etc/ERC-NEWS
index d5e256d9d33..434bfab94e9 100644
--- a/etc/ERC-NEWS
+++ b/etc/ERC-NEWS
@@ -44,8 +44,13 @@ The 'networks' module is now all but required for everyday interactive
use. A default member of 'erc-modules' since ERC 5.3, 'networks' has
grown increasingly integral to core client operations over the years.
From now on, only the most essential operations will be officially
-supported in its absence, and users will see a warning upon
-entry-point invocation when it's not present.
+supported in its absence, and users will see a warning upon invoking
+an entry point, like 'erc-tls', when that's the case.
+
+On a related note, the function 'erc-network' now always returns
+non-nil in buffers created by a successfully established IRC
+connection, even after that connection has been closed. This was done
+to aid the overall effort to improve buffer association.
** Tighter auth-source integration.
The days of hit-and-miss auth-source queries are hopefully behind us.
@@ -77,12 +82,14 @@ now avoids any hijacking of the active window as well.
Beyond this, additional flexibility is now available for controlling
the behavior of newly created target buffers during reconnection.
+See the option 'erc-reconnect-display' for more.
** Improved handling of multiline prompt input.
This means better detection and handling of intervening and trailing
blanks when 'erc-send-whitespace-lines' is active. New options have
also been added for warning when input spans multiple lines. Although
-off by default, new users are encouraged to enable them.
+off by default, new users are encouraged to enable them. See options
+'erc-inhibit-multiline-input' and 'erc-ask-about-multiline-input'.
** URL handling has improved.
Clicking on 'irc://' and 'ircs://' links elsewhere in Emacs now does
@@ -91,6 +98,21 @@ users are now prompted to confirm connection parameters prior to lift
off. See the new '(erc) Integrations' section in the Info manual for
details.
+** ERC's major-mode hook now runs slightly later.
+The function 'erc-open' now delays running 'erc-mode-hook' until ERC's
+prompt and its bounding markers and many essential local variables
+have been initialized. Those essentials include the familiar
+'erc-default-recipients', 'erc-server-users', and 'erc-network', as
+well as the various "session" variables, like 'erc-session-connector'.
+ERC activates "local modules" immediately afterward, just before
+running 'erc-connect-pre-hook', which is still useful for gaining a
+full accounting of what's been set.
+
+In similar news, 'erc-open' no longer calls 'erc-update-modules'.
+However, it still activates modules in a similar fashion, meaning,
+among other things, global-module setup still occurs before major-mode
+activation (something that's here to stay for compatibility reasons).
+
** Miscellaneous behavioral changes impacting the user experience.
A bug has been fixed that saw prompts being mangled, doubled, or
erased in server buffers upon disconnection. Instead, input prompts
@@ -99,58 +121,61 @@ now collapse into an alternate form designated by the option
but can be fine-tuned via the repurposed, formerly abandoned option
'erc-hide-prompt'.
-Certain commands provided by the 'erc-match' module, such as
-'erc-add-keyword', 'erc-add-pal', and others, now optionally ask
-whether to 'regexp-quote' the current input. A new option,
-'erc-match-quote-when-adding', has been added to allow for retaining
-the old behavior, if desired.
-
-A bug has been fixed affecting users of the Soju bouncer: outgoing
-messages during periods of heavy traffic no longer disappear.
+Another fix-turned-feature involves certain commands provided by the
+'erc-match' module, such as 'erc-add-keyword', 'erc-add-pal', and
+others, which now optionally offer to 'regexp-quote' the current
+input. The old behavior, if desired, can still be had via the new
+option 'erc-match-quote-when-adding'.
-Although rare, server passwords containing white space are now handled
-correctly.
-
-** Miscellaneous behavioral changes in the library API.
-A number of core macros and other definitions have been moved to a new
-file called erc-common.el. This was done to further lessen the
-various complications arising from the mutual dependency between 'erc'
-and 'erc-backend'.
-
-ERC now relies on the Compat library from GNU ELPA to supply forward
-compatibility shims for users running older versions of Emacs. The
-required Compat version resides atop ERC's main library file, in the
-'Package-Requires' header. Third-party ERC modules will benefit
-automatically from this adoption.
-
-The function 'erc-network' always returns non-nil in server and target
-buffers belonging to a successfully established IRC connection, even
-after that connection has been closed. (Also see the note in the
-section above about the 'networks' module basically being mandatory.)
-
-In 5.4, support for network symbols as keys was added for
+In 5.4, support for using network symbols as keys was added for
'erc-autojoin-channels-alist'. This has been extended to include
explicit symbols passed to 'erc-tls' and 'erc' as so-called
network-context identifiers via a new ':id' keyword. The latter
carries wider significance beyond autojoin and can be used for
unequivocally identifying a connection in a human-readable way.
-The function 'erc-auto-query' was deemed too difficult to reason
-through and has thus been deprecated with no public replacement; it
-has also been removed from the client code path.
-
-The function 'erc-open' now delays running 'erc-mode-hook' members
-until most local session variables have been initialized (minus those
-connection-related ones in erc-backend). 'erc-open' also no longer
-calls 'erc-update-modules', although modules are still activated
-in an identical fashion.
-
-Some groundwork has been laid for what may become a new breed of ERC
-module, namely, "connection-local" (or simply "local") modules.
+A number of UX-centric bug fixes accompany this release. For example,
+spaces are now possible in server passwords, and users of the Soju
+bouncer should no longer see outgoing messages pile up during periods
+of heavy traffic. See the Emacs change log for the full complement.
-A few internal variables have been introduced that could just as well
-have been made public, possibly as user options. Likewise for some
-internal functions. As always, users needing such functionality
+** Miscellaneous behavioral changes in the library API.
+A number of core macros and other definitions have been moved to a new
+file called erc-common.el. This was done to help mitigate various
+complications arising from the mutual dependency between 'erc' and
+'erc-backend'.
+
+Also on the maintainability front, ERC now relies on the Compat
+library from GNU ELPA to supply forward compatibility shims for users
+running older versions of Emacs. The required Compat version resides
+atop ERC's main library file, in the 'Package-Requires' header.
+Third-party modules should benefit automatically from its adoption.
+
+In an effort to help further tame ERC's complexity, the variable
+'erc-default-recipients' is now expected to hold but a single target.
+As a consequence, functions like 'erc-add-default-channel' that
+imagine an alternate, aspirational model of buffer-target relations
+have been deprecated. See Emacs change-log entries from around July
+of 2022 for specifics.
+
+A number of less consequential deprecations also debut in this
+release. For example, the function 'erc-auto-query' was deemed too
+difficult to understand, behavior wise, and has thus been stricken
+from the client code path with no public replacement. Although likely
+uncontroversial, such changes may still spell disruption for some. If
+you find yourself among them and in need of explanations, please see
+related entries in the change log and discussions on the bug tracker.
+
+Although this release is light on API features, some groundwork has
+been laid for what may become a new breed of ERC module, namely,
+"connection-local" (or simply "local") modules. This marks a small
+but crucial step forward toward a more flexible and granular revamping
+of ERC's long touted extensibility. See the Info node "(erc) Local
+Modules" for details.
+
+Lastly, a few internal variables have been introduced that could just
+as well have been made public, possibly as user options. Likewise for
+some internal functions. As always, users needing such functionality
officially exposed are encouraged to write to emacs-erc@gnu.org.