GNU bug report logs - #60428
30.0.50; ERC >5.5: Make M-x erc a more welcoming entry point

Previous Next

Package: emacs;

Reported by: "J.P." <jp <at> neverwas.me>

Date: Fri, 30 Dec 2022 14:16:01 UTC

Severity: normal

Found in version 29.0.60

Done: "J.P." <jp <at> neverwas.me>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 60428 in the body.
You can then email your comments to 60428 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to emacs-erc <at> gnu.org, bug-gnu-emacs <at> gnu.org:
bug#60428; Package emacs. (Fri, 30 Dec 2022 14:16:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "J.P." <jp <at> neverwas.me>:
New bug report received and forwarded. Copy sent to emacs-erc <at> gnu.org, bug-gnu-emacs <at> gnu.org. (Fri, 30 Dec 2022 14:16:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "J.P." <jp <at> neverwas.me>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.60; ERC 5.4.1: Fix default-port regression in
 erc-select-read-args
Date: Fri, 30 Dec 2022 06:15:30 -0800
[Message part 1 (text/plain, inline)]
Tags: patch

To reproduce from emacs -Q, do an M-x erc and accept the default offered
at every prompt. Assuming your IP is not blacklisted by Libera, you
should see a connection failure immediately because a TLS endpoint is
dialed but negotiation never occurs.

This all stems from a lapse in professionalism on my part: an
underrealized feature snuck in with the changes from bug#56514, but
missing logic made it impossible to connect using the default prompt
values, which should probably always succeed because some people don't
care about parameters and just want to get there somehow (so I'm told).
Alternatively, if a deliberate failure is indeed warranted (an arguably
valid position), the error message should at least explain as much.

FWIW, the missing feature was supposed to offer an interactive upgrade
to TLS upon detecting a user's intent to connect to the default server
and, on confirmation, adjust ERC's parameters on the fly. The proposed
patch abandons most of the envisioned niceties and instead employs a
hack to just force a non-local exit and schedule a call to `erc-tls'
when appropriate. It also instructs users to do that themselves in the
future (issue an M-x erc-tls, that is). Hopefully, this makes for an
acceptable compromise.

BTW, a POC patch set far more faithful to the original breadth of the
feature (and way less hacky) is also attached. Perhaps it'll inform
further exploration in this area down the road (but not for Emacs 29).

Thanks.

P.S. Shout out to the Libera users who brought this to my attention.


In GNU Emacs 29.0.60 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.35, cairo version 1.17.6) of 2022-12-29 built on localhost
Repository revision: d086cd6cf877c6ca7af6712f9b79b52dd0caa934
Repository branch: emacs-29
Windowing system distributor 'The X.Org Foundation', version 11.0.12014000
System Description: Fedora Linux 36 (Workstation Edition)

Configured using:
 'configure --enable-check-lisp-object-type --enable-checking=yes,glyphs
 'CFLAGS=-O0 -g3'
 PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec epa epg rfc6068 epg-config gnus-util
text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils erc rx derived pcase url-parse url-vars
iso8601 time-date auth-source cl-seq eieio eieio-core cl-macs
password-cache json subr-x map thingatpt pp format-spec cl-loaddefs
cl-lib erc-backend erc-goodies erc-networks byte-opt gv bytecomp
byte-compile erc-common erc-compat erc-loaddefs rmc iso-transl tooltip
cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process
emacs)

Memory information:
((conses 16 91094 5621)
 (symbols 48 9313 0)
 (strings 32 24582 1551)
 (string-bytes 1 743674)
 (vectors 16 14587)
 (vector-slots 8 205402 10021)
 (floats 8 24 35)
 (intervals 56 234 0)
 (buffers 976 10))

[0001-Fix-default-port-regression-in-erc-select-read-args.patch (text/x-patch, attachment)]
[0002-POC-Offer-TLS-by-default-for-M-x-erc.patch (text/x-patch, attachment)]
[0003-POC-Display-buffers-differently-for-M-x-erc.patch (text/x-patch, attachment)]
[0004-POC-Optionally-prompt-for-more-ERC-entry-point-param.patch (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60428; Package emacs. (Mon, 02 Jan 2023 01:42:01 GMT) Full text and rfc822 format available.

Message #8 received at 60428 <at> debbugs.gnu.org (full text, mbox):

From: "J.P." <jp <at> neverwas.me>
To: 60428 <at> debbugs.gnu.org
Cc: emacs-erc <at> gnu.org
Subject: Re: bug#60428: 29.0.60; ERC 5.4.1: Fix default-port regression in
 erc-select-read-args
Date: Sun, 01 Jan 2023 17:41:12 -0800
[Message part 1 (text/plain, inline)]
v2. Respect `erc-prompt-for-password'. Remove `run-at-time' hack from
regression fix.

"J.P." <jp <at> neverwas.me> writes:

> The proposed patch abandons most of the envisioned niceties and
> instead employs a hack to just force a non-local exit and schedule a
> call to `erc-tls' when appropriate. It also instructs users to do that
> themselves in the future (issue an M-x erc-tls, that is). Hopefully,
> this makes for an acceptable compromise.

I've forsaken the first part out of an abundance of caution. So this now
just prints a warning and proceeds with a non-TLS connection. If anyone
finds that unsatisfactory, please say something.

> BTW, a POC patch set far more faithful to the original breadth of the
> feature (and way less hacky) is also attached. Perhaps it'll inform
> further exploration in this area down the road (but not for Emacs 29).

IOW, the de facto goal here is to make interactive `erc' a "universal"
entry point for both plain and TLS connections.

[0000-v1-v2.diff (text/x-patch, attachment)]
[0001-Fix-default-port-regression-in-erc-select-read-args.patch (text/x-patch, attachment)]
[0002-5.6-Be-smarter-about-switching-to-TLS-from-M-x-erc.patch (text/x-patch, attachment)]
[0003-5.6-Add-display-option-for-interactive-ERC-invocatio.patch (text/x-patch, attachment)]
[0004-5.6-Optionally-prompt-for-more-ERC-entry-point-param.patch (text/x-patch, attachment)]

Changed bug title to '30.0.50; ERC >5.5: Make M-x erc a more welcoming entry point' from '29.0.60; ERC 5.4.1: Fix default-port regression in erc-select-read-args' Request was from "J.P." <jp <at> neverwas.me> to control <at> debbugs.gnu.org. (Tue, 03 Jan 2023 02:53:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60428; Package emacs. (Thu, 19 Jan 2023 14:19:02 GMT) Full text and rfc822 format available.

Message #13 received at 60428 <at> debbugs.gnu.org (full text, mbox):

From: "J.P." <jp <at> neverwas.me>
To: 60428 <at> debbugs.gnu.org
Cc: emacs-erc <at> gnu.org
Subject: Re: bug#60428: 30.0.50; ERC >5.5: Make M-x erc a more welcoming
 entry point
Date: Thu, 19 Jan 2023 06:18:05 -0800
"J.P." <jp <at> neverwas.me> writes:

> v2. Respect `erc-prompt-for-password'. Remove `run-at-time' hack from
> regression fix.

The first patch

  0001-Fix-default-port-regression-in-erc-select-read-args.patch

was added to emacs-29 as

  ff35ac9dfabf7ac33199c42bc56c8bb0f53eebc4

The rest will have to wait for 5.6, hopefully after some discussion and
improvements. Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60428; Package emacs. (Tue, 07 Feb 2023 15:22:01 GMT) Full text and rfc822 format available.

Message #16 received at 60428 <at> debbugs.gnu.org (full text, mbox):

From: "J.P." <jp <at> neverwas.me>
To: 60428 <at> debbugs.gnu.org
Cc: emacs-erc <at> gnu.org
Subject: Re: bug#60428: 30.0.50; ERC >5.5: Make M-x erc a more welcoming
 entry point
Date: Tue, 07 Feb 2023 07:21:33 -0800
[Message part 1 (text/plain, inline)]
v3. Don't shadow special vars in entry-point lambda lists. Improve
tests.

[0000-v2-v3.diff (text/x-patch, attachment)]
[0001-5.6-Be-smarter-about-switching-to-TLS-from-M-x-erc.patch (text/x-patch, attachment)]
[0002-5.6-Add-display-option-for-interactive-ERC-invocatio.patch (text/x-patch, attachment)]
[0003-5.6-Optionally-prompt-for-more-ERC-entry-point-param.patch (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60428; Package emacs. (Sun, 19 Feb 2023 15:06:02 GMT) Full text and rfc822 format available.

Message #19 received at 60428 <at> debbugs.gnu.org (full text, mbox):

From: "J.P." <jp <at> neverwas.me>
To: 60428 <at> debbugs.gnu.org
Cc: emacs-erc <at> gnu.org
Subject: Re: bug#60428: 30.0.50; ERC >5.5: Make M-x erc a more welcoming
 entry point
Date: Sun, 19 Feb 2023 07:05:17 -0800
[Message part 1 (text/plain, inline)]
v4. Stop requiring `url-parse' library when compiling. Improve test.

[0000-v3-v4.diff (text/x-patch, attachment)]
[0001-5.6-Be-smarter-about-switching-to-TLS-from-M-x-erc.patch (text/x-patch, attachment)]
[0002-5.6-Add-display-option-for-interactive-ERC-invocatio.patch (text/x-patch, attachment)]
[0003-5.6-Optionally-prompt-for-more-ERC-entry-point-param.patch (text/x-patch, attachment)]

Reply sent to "J.P." <jp <at> neverwas.me>:
You have taken responsibility. (Sat, 08 Apr 2023 23:07:02 GMT) Full text and rfc822 format available.

Notification sent to "J.P." <jp <at> neverwas.me>:
bug acknowledged by developer. (Sat, 08 Apr 2023 23:07:02 GMT) Full text and rfc822 format available.

Message #24 received at 60428-done <at> debbugs.gnu.org (full text, mbox):

From: "J.P." <jp <at> neverwas.me>
To: 60428-done <at> debbugs.gnu.org
Cc: emacs-erc <at> gnu.org
Subject: Re: bug#60428: 30.0.50; ERC >5.5: Make M-x erc a more welcoming
 entry point
Date: Sat, 08 Apr 2023 16:06:30 -0700
"J.P." <jp <at> neverwas.me> writes:

> v4. Stop requiring `url-parse' library when compiling. Improve test.

Despite pleas from at least one person, I've decided against expanding
this patch to allow for specifying a client certificate interactively
(patches welcome, however). For now, users can add per-server certs via
auth-source. Thanks and closing.




Did not alter fixed versions and reopened. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 11 Apr 2023 03:24:02 GMT) Full text and rfc822 format available.

Removed tag(s) patch. Request was from "J.P." <jp <at> neverwas.me> to control <at> debbugs.gnu.org. (Tue, 11 Apr 2023 03:24:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60428; Package emacs. (Tue, 11 Apr 2023 03:31:02 GMT) Full text and rfc822 format available.

Message #31 received at 60428 <at> debbugs.gnu.org (full text, mbox):

From: "J.P." <jp <at> neverwas.me>
To: 60428 <at> debbugs.gnu.org
Cc: emacs-erc <at> gnu.org
Subject: Re: bug#60428: 30.0.50; ERC >5.5: Make M-x erc a more welcoming
 entry point
Date: Mon, 10 Apr 2023 20:29:55 -0700
[Message part 1 (text/plain, inline)]
Reopening.

This bug's original patch set tried to walk back an austere aspect of
bug#51753's changes that lumped interactive buffer creation in with
protocol driven creation. It mainly did so by introducing a new option,
`erc-interactive-display', that reinstated direct window-buffer
replacement when running M-x erc. However, as pointed out by Corwin on
Libera, this did not account for interactive /JOINs.

The attached patch aims to address this oversight as well as simplify
the display-options picture a bit further by consolidating the roles of
`erc-interactive-display' and `erc-query-display'. The thinking is that
both options cover the same basic ground involving buffers created as a
consequence of issuing slash commands. This patch also adds an interface
for other such commands to use for detecting when they're being called
from the command line.

[0001-5.6-Extend-erc-interactive-display-to-cover-JOINs.patch (text/x-patch, attachment)]

Reply sent to "J.P." <jp <at> neverwas.me>:
You have taken responsibility. (Fri, 14 Apr 2023 14:02:02 GMT) Full text and rfc822 format available.

Notification sent to "J.P." <jp <at> neverwas.me>:
bug acknowledged by developer. (Fri, 14 Apr 2023 14:02:02 GMT) Full text and rfc822 format available.

Message #36 received at 60428-done <at> debbugs.gnu.org (full text, mbox):

From: "J.P." <jp <at> neverwas.me>
To: 60428-done <at> debbugs.gnu.org
Cc: emacs-erc <at> gnu.org
Subject: Re: bug#60428: 30.0.50; ERC >5.5: Make M-x erc a more welcoming
 entry point
Date: Fri, 14 Apr 2023 07:01:05 -0700
Since this discussion is now focused entirely on buffer-display options,
I've moved it to a new bug that will also serve as a follow-on to

  bug#51753: "ERC switches to channel buffer on reconnect"

Please direct any responses to

  bug#62833: 30.0.50; ERC 5.6: Rethink buffer-display options and behavior

Thanks.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 13 May 2023 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 1 day ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.