]> git.eshelyaron.com Git - emacs.git/commitdiff
; * etc/ERC-NEWS: Mention more deprecations.
authorF. Jason Park <jp@neverwas.me>
Fri, 3 Mar 2023 07:33:28 +0000 (23:33 -0800)
committerF. Jason Park <jp@neverwas.me>
Fri, 3 Mar 2023 13:33:33 +0000 (05:33 -0800)
etc/ERC-NEWS

index d5e256d9d334e006242c110767b9ff377ae0dec9..434bfab94e9373d4e74fa8d434347b71c1ead86f 100644 (file)
@@ -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.
 
 \f