Explain ERC 5.5 regressions in new version 5.5.0.29.1

* doc/misc/erc.texi: Bump version to 5.5.0.29.1.
* etc/ERC-NEWS: Don't hype bugged option `erc-reconnect-display'.
* lisp/erc/erc-dcc.el (erc-dcc-do-GET-command): Add comment explaining
parsing bug in ERC 5.5 (bug#62444).
* lisp/erc/erc-networks.el (erc-networks-on-MOTD-end): Mention known
/MOTD bug in error notice so people don't waste energy reporting
it (bug#62151).
* lisp/erc/erc.el: Change Version header to 5.5.0.29.1.  Don't bother
updating the `customize-package-emacs-version-alist' entry
because no option defaults are affected.
(erc-version): Change version to 5.5.0.29.1.
(erc-reconnect-display, erc-query-on-unjoined-chan-privmsg): Add
warning to doc strings and `custom-set' functions.  It's believed that
these bugs degrade the user experience significantly enough to warrant
such mentions (bug#62833).
(erc-query): Fix erroneous redirect string in deprecation spec.
Do not merge to master.
This commit is contained in:
F. Jason Park 2023-04-21 07:39:05 -07:00
parent af43f0a295
commit c46e93b1f5
5 changed files with 44 additions and 16 deletions

View file

@ -2,7 +2,7 @@
@c %**start of header
@setfilename ../../info/erc.info
@settitle ERC Manual
@set ERCVER 5.5
@set ERCVER 5.5.0.29.1
@set ERCDIST as distributed with Emacs @value{EMACSVER}
@include docstyle.texi
@syncodeindex fn cp

View file

@ -80,9 +80,7 @@ can now opt for an improved 'window-noselect' instead. It still
offers the same pronounced visual cue when connecting and joining but
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.
(Edited for ERC 5.5.0.29.1 in Emacs 29.1.)
** Improved handling of multiline prompt input.
This means better detection and handling of intervening and trailing

View file

@ -508,7 +508,11 @@ At least one of TYPE and NICK must be provided."
"Do a DCC GET command. NICK is the person who is sending the file.
FILE is the filename. If FILE is split into multiple arguments,
re-join the arguments, separated by a space.
PROC is the server process."
PROC is the server process.
WARNING: the /DCC GET command is bugged in ERC 5.5 (Emacs 29).
File names containing the string \" -\" are not honored. If you
need a fix immediately, see Info node `(erc) Upgrading'."
(let* ((args (seq-group-by (lambda (s) (eq ?- (aref s 0))) (cons nick file)))
(flags (prog1 (cdr (assq t args))
(setq args (cdr (assq nil args))

View file

@ -1494,8 +1494,11 @@ to be a false alarm. If `erc-reuse-buffers' is nil, let
(memq (erc--target-symbol erc--target)
erc-networks--bouncer-targets)))
proc)
(let ((m (concat "Unexpected state detected. Please report via "
(substitute-command-keys "\\[erc-bug]") ".")))
(let ((m (concat "Unexpected state detected. If you've just issued an"
" /MOTD, please know that the command is bugged in ERC"
" 5.5 (Emacs 29) but will be fixed in the next release."
" Otherwise, please report this occurrence via"
(substitute-command-keys " \\[erc-bug]."))))
(erc-display-error-notice parsed m))))
;; For now, retain compatibility with erc-server-NNN-functions.

View file

@ -12,7 +12,7 @@
;; David Edmondson (dme@dme.org)
;; Michael Olson (mwolson@gnu.org)
;; Kelvin White (kwhite@gnu.org)
;; Version: 5.5
;; Version: 5.5.0.29.1
;; Package-Requires: ((emacs "27.1") (compat "29.1.3.4"))
;; Keywords: IRC, chat, client, Internet
;; URL: https://www.gnu.org/software/emacs/erc.html
@ -71,7 +71,7 @@
(require 'iso8601)
(eval-when-compile (require 'subr-x) (require 'url-parse))
(defconst erc-version "5.5"
(defconst erc-version "5.5.0.29.1"
"This version of ERC.")
(defvar erc-official-location
@ -1495,9 +1495,19 @@ The available choices are:
This only affects automatic reconnections and is ignored when
issuing a /reconnect command or reinvoking `erc-tls' with the
same args (assuming success, of course). See `erc-join-buffer'
for a description of possible values."
for a description of possible values.
WARNING: this option is bugged in ERC 5.5 (Emacs 29). Setting it
to anything other than nil results in the chosen value being
permanently adopted by all other buffer-display options for the
remainder of the ERC session. If you need this fixed
immediately, see Info node `(erc) Upgrading'."
:package-version '(ERC . "5.5")
:group 'erc-buffers
:set (lambda (sym val)
(when (set sym val)
(lwarn 'erc :warning "Setting `%s' to `%s' is currently bugged; %s"
sym val "see doc string for more information.")))
:type '(choice (const :tag "Use value of `erc-join-buffer'" nil)
(const :tag "Split window and select" window)
(const :tag "Split window, don't select" window-noselect)
@ -4501,7 +4511,7 @@ See `erc-default-server-hook'."
"Open a query buffer on TARGET using SERVER-BUFFER.
To change how this query window is displayed, use `let' to bind
`erc-join-buffer' before calling this."
(declare (obsolete "bind `erc-cmd-query' and call `erc-cmd-QUERY'" "29.1"))
(declare (obsolete "call `erc-open' in a live server buffer" "29.1"))
(unless (buffer-live-p server-buffer)
(error "Couldn't switch to server buffer"))
(with-current-buffer server-buffer
@ -4524,16 +4534,29 @@ a new window, but not to select it. See the documentation for
(const :tag "Use current buffer" buffer)
(const :tag "Use current buffer" t)))
;; FIXME either retire this or put it to use after determining how
;; it's meant to work. Clearly, the doc string does not describe
;; current behavior. It's currently only used by the obsolete
;; function `erc-auto-query'.
(defcustom erc-query-on-unjoined-chan-privmsg t
"If non-nil create query buffer on receiving any PRIVMSG at all.
This includes PRIVMSGs directed to channels. If you are using an IRC
bouncer, such as dircproxy, to keep a log of channels when you are
disconnected, you should set this option to t."
disconnected, you should set this option to t.
WARNING: this option was mistakenly removed from ERC 5.5's client
code, so setting it to nil is temporarily ineffective. That is,
ERC now always creates a buffer when receiving a PRIVMSG directed
at a channel for which none exists. And despite this option's
name and its doc string's use of \"query\" to refer to any
conversation with a target, it did not previously allow for
opting out of buffer creation for direct messages (at least not
in Emacs 27 and 28). However, such behavior has always been and
will continue to be available by setting `erc-auto-query' to nil.
If needing to restore pre-5.5 functionality immediately, see Info
node `(erc) Upgrading'."
:group 'erc-query
:set (lambda (sym val)
(unless (set sym val)
(lwarn 'erc :warning
"Setting `%s' to nil is currently ineffective; %s"
sym "see doc string for details.")))
:type 'boolean)
(defcustom erc-format-query-as-channel-p t