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:
parent
af43f0a295
commit
c46e93b1f5
5 changed files with 44 additions and 16 deletions
|
@ -2,7 +2,7 @@
|
||||||
@c %**start of header
|
@c %**start of header
|
||||||
@setfilename ../../info/erc.info
|
@setfilename ../../info/erc.info
|
||||||
@settitle ERC Manual
|
@settitle ERC Manual
|
||||||
@set ERCVER 5.5
|
@set ERCVER 5.5.0.29.1
|
||||||
@set ERCDIST as distributed with Emacs @value{EMACSVER}
|
@set ERCDIST as distributed with Emacs @value{EMACSVER}
|
||||||
@include docstyle.texi
|
@include docstyle.texi
|
||||||
@syncodeindex fn cp
|
@syncodeindex fn cp
|
||||||
|
|
|
@ -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
|
offers the same pronounced visual cue when connecting and joining but
|
||||||
now avoids any hijacking of the active window as well.
|
now avoids any hijacking of the active window as well.
|
||||||
|
|
||||||
Beyond this, additional flexibility is now available for controlling
|
(Edited for ERC 5.5.0.29.1 in Emacs 29.1.)
|
||||||
the behavior of newly created target buffers during reconnection.
|
|
||||||
See the option 'erc-reconnect-display' for more.
|
|
||||||
|
|
||||||
** Improved handling of multiline prompt input.
|
** Improved handling of multiline prompt input.
|
||||||
This means better detection and handling of intervening and trailing
|
This means better detection and handling of intervening and trailing
|
||||||
|
|
|
@ -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.
|
"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,
|
FILE is the filename. If FILE is split into multiple arguments,
|
||||||
re-join the arguments, separated by a space.
|
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)))
|
(let* ((args (seq-group-by (lambda (s) (eq ?- (aref s 0))) (cons nick file)))
|
||||||
(flags (prog1 (cdr (assq t args))
|
(flags (prog1 (cdr (assq t args))
|
||||||
(setq args (cdr (assq nil args))
|
(setq args (cdr (assq nil args))
|
||||||
|
|
|
@ -1494,8 +1494,11 @@ to be a false alarm. If `erc-reuse-buffers' is nil, let
|
||||||
(memq (erc--target-symbol erc--target)
|
(memq (erc--target-symbol erc--target)
|
||||||
erc-networks--bouncer-targets)))
|
erc-networks--bouncer-targets)))
|
||||||
proc)
|
proc)
|
||||||
(let ((m (concat "Unexpected state detected. Please report via "
|
(let ((m (concat "Unexpected state detected. If you've just issued an"
|
||||||
(substitute-command-keys "\\[erc-bug]") ".")))
|
" /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))))
|
(erc-display-error-notice parsed m))))
|
||||||
|
|
||||||
;; For now, retain compatibility with erc-server-NNN-functions.
|
;; For now, retain compatibility with erc-server-NNN-functions.
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
;; David Edmondson (dme@dme.org)
|
;; David Edmondson (dme@dme.org)
|
||||||
;; Michael Olson (mwolson@gnu.org)
|
;; Michael Olson (mwolson@gnu.org)
|
||||||
;; Kelvin White (kwhite@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"))
|
;; Package-Requires: ((emacs "27.1") (compat "29.1.3.4"))
|
||||||
;; Keywords: IRC, chat, client, Internet
|
;; Keywords: IRC, chat, client, Internet
|
||||||
;; URL: https://www.gnu.org/software/emacs/erc.html
|
;; URL: https://www.gnu.org/software/emacs/erc.html
|
||||||
|
@ -71,7 +71,7 @@
|
||||||
(require 'iso8601)
|
(require 'iso8601)
|
||||||
(eval-when-compile (require 'subr-x) (require 'url-parse))
|
(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.")
|
"This version of ERC.")
|
||||||
|
|
||||||
(defvar erc-official-location
|
(defvar erc-official-location
|
||||||
|
@ -1495,9 +1495,19 @@ The available choices are:
|
||||||
This only affects automatic reconnections and is ignored when
|
This only affects automatic reconnections and is ignored when
|
||||||
issuing a /reconnect command or reinvoking `erc-tls' with the
|
issuing a /reconnect command or reinvoking `erc-tls' with the
|
||||||
same args (assuming success, of course). See `erc-join-buffer'
|
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")
|
:package-version '(ERC . "5.5")
|
||||||
:group 'erc-buffers
|
: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)
|
:type '(choice (const :tag "Use value of `erc-join-buffer'" nil)
|
||||||
(const :tag "Split window and select" window)
|
(const :tag "Split window and select" window)
|
||||||
(const :tag "Split window, don't select" window-noselect)
|
(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.
|
"Open a query buffer on TARGET using SERVER-BUFFER.
|
||||||
To change how this query window is displayed, use `let' to bind
|
To change how this query window is displayed, use `let' to bind
|
||||||
`erc-join-buffer' before calling this."
|
`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)
|
(unless (buffer-live-p server-buffer)
|
||||||
(error "Couldn't switch to server buffer"))
|
(error "Couldn't switch to server buffer"))
|
||||||
(with-current-buffer 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" buffer)
|
||||||
(const :tag "Use current buffer" t)))
|
(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
|
(defcustom erc-query-on-unjoined-chan-privmsg t
|
||||||
"If non-nil create query buffer on receiving any PRIVMSG at all.
|
"If non-nil create query buffer on receiving any PRIVMSG at all.
|
||||||
This includes PRIVMSGs directed to channels. If you are using an IRC
|
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
|
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
|
: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)
|
:type 'boolean)
|
||||||
|
|
||||||
(defcustom erc-format-query-as-channel-p t
|
(defcustom erc-format-query-as-channel-p t
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue