From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "J.P." Newsgroups: gmane.emacs.bugs Subject: bug#62833: 30.0.50; ERC 5.6: Rethink buffer-display options and behavior Date: Sun, 04 Jun 2023 07:52:20 -0700 Message-ID: <877csje0uz.fsf__19768.6912653566$1685890409$gmane$org@neverwas.me> References: <87leiuy3cv.fsf@neverwas.me> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20772"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: emacs-erc@gnu.org, 62833@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Jun 04 16:53:20 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q5p6e-0005De-NR for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 04 Jun 2023 16:53:20 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q5p6Q-0005P6-0A; Sun, 04 Jun 2023 10:53:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q5p6M-0005Od-Tp for bug-gnu-emacs@gnu.org; Sun, 04 Jun 2023 10:53:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q5p6M-0001do-Jq for bug-gnu-emacs@gnu.org; Sun, 04 Jun 2023 10:53:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1q5p6M-00045J-9J for bug-gnu-emacs@gnu.org; Sun, 04 Jun 2023 10:53:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: "J.P." Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 04 Jun 2023 14:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62833 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 62833-submit@debbugs.gnu.org id=B62833.168589035415666 (code B ref 62833); Sun, 04 Jun 2023 14:53:02 +0000 Original-Received: (at 62833) by debbugs.gnu.org; 4 Jun 2023 14:52:34 +0000 Original-Received: from localhost ([127.0.0.1]:46871 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q5p5u-00044b-0t for submit@debbugs.gnu.org; Sun, 04 Jun 2023 10:52:34 -0400 Original-Received: from mail-108-mta196.mxroute.com ([136.175.108.196]:38573) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q5p5r-00044L-E6 for 62833@debbugs.gnu.org; Sun, 04 Jun 2023 10:52:32 -0400 Original-Received: from mail-111-mta2.mxroute.com ([136.175.111.2] filter006.mxroute.com) (Authenticated sender: mN4UYu2MZsgR) by mail-108-mta196.mxroute.com (ZoneMTA) with ESMTPSA id 18886e529dd00074ee.001 for <62833@debbugs.gnu.org> (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES128-GCM-SHA256); Sun, 04 Jun 2023 14:52:25 +0000 X-Zone-Loop: c472e53453c86534ec82286dfbdb540a8eb15229d44f X-Originating-IP: [136.175.111.2] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=neverwas.me ; s=x; h=Content-Type:MIME-Version:Message-ID:Date:References:In-Reply-To: Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=dNkx6zwxCkxHfQa0x8QYghE5OggGOSe1nTPqeoFw/+o=; b=mvo9sjFebzc/Vmn4/GIh/dcl/7 MakBaE8Cn1nBr0n3kJ51XGURksTJGybcEryoUx1t/oZhXDvD6iywaa5lm0c291g/QfgzizLsl4q4d wcoztcC/+OUvEIbwaRYAR5TojoUMTZkd73Ly8o4s1RfP7zLGGDR8bMFlfC5osondAbfrb6glkIw81 f1u9G3jxkwJ1kma6wcwMnfG5iP/8JfK0JIzKGLnaK7lXRn2zZwY/+yKg/Eqf5RKhNIiRi4UPUKp5y 0iju0mNjdU8J3IGvqQ0TdMArLpSBTlcWKlhs0W8OmBre9kG2Vz9VQnaxWpFlvVwq2gU8LEXwe26sm Il5tNPSA==; In-Reply-To: <87leiuy3cv.fsf@neverwas.me> (J. P.'s message of "Fri, 14 Apr 2023 06:56:16 -0700") X-Authenticated-Id: masked@neverwas.me X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:262959 Archived-At: --=-=-= Content-Type: text/plain Hi Eli, This is regarding a small prospective change to ERC on Emacs 29 that's been discussed here and there over the past few months [1]. Basically, ERC has long defaulted to displaying new buffers in the currently selected window, with the symbol `buffer' representing this display style in various user options. Because new buffers are often created as a result of server-initiated messages or feature-driven automated mechanisms, like "autojoin", they can suddenly appear unceremoniously and steal keyboard input. For this reason, `buffer' was deemed a nuisance (if not a hazard), and the default was changed to a no-op in ERC 5.5 [2]. However, since then, a faint but steady murmur of discontent has been thrumming among mostly new and casual users, who've described ERC as being "broken" in this regard because it provides little to no obvious feedback following certain fundamental user actions, like connecting to a server or joining a channel. IOW, users can't tell whether ERC is responding to a command they've just issued, despite subtle cues, like activity in the echo area and the mode line. The solution to all this isn't straightforward, and we're making headway on it for ERC 5.6. In the meantime, I'm wondering if we might consider appeasing these disgruntled users somehow. Normally, I'd prefer just reverting back to `buffer', but because much has been made about its potential for causing mayhem via unintended sharing, I'm thinking we might change the default in Emacs 29 to `window-noselect'. This value tells ERC to show new buffers in a sibling window of the same vertical combination. Such a change would be accompanied by a bump in the patch component of our already 29-specific ERC version, bringing us from 5.5.0.29.1 to 5.5.1.29.1. I believe the attached patch does what I've described. Thanks, J.P. [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=60428#31 https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62833#17 https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62833#23 [2] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51753#71 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Add-erc-join-buffer-hotfix-in-new-version-5.5.1.29.1.patch >From 420a95e855b4e01e57dc1a97dbeac06f6a4af779 Mon Sep 17 00:00:00 2001 From: "F. Jason Park" Date: Fri, 19 May 2023 08:10:49 -0700 Subject: [PATCH] Add erc-join-buffer hotfix in new version 5.5.1.29.1 * doc/misc/erc.texi: Change ERCVER to 5.5.1.29.1. * etc/ERC-NEWS: Add new section for 5.5.1.29.1, and mention the default for `erc-join-buffer' has changed to `window-noselect'. * lisp/erc/erc.el (erc-version): Update version to 5.5.1.29.1, and do the same for the file's Version header. The rationale for incrementing the third, "patch" component is that the trailing "29.1" portion merely indicates (1) that this exact version of ERC is Emacs-only and does not exist on GNU ELPA and (2) that it contains at most trivial changes, such as comments and documentation, atop its corresponding GNU ELPA release, if any (here, there is no such 5.5.1 counterpart on ELPA). (erc-join-buffer): Change default to `window-noselect'. * test/lisp/erc/erc-scenarios-base-association.el (erc-scenarios-networks-merge-server-track): Bind `erc-join-buffer' to `bury'. * test/lisp/erc/erc-scenarios-base-reconnect.el (erc-scenarios-base-reconnect-options--buffer, erc-scenarios-base-reconnect-options--default): Skip tests because option `erc-reconnect-display' is bugged in ERC 5.5. (Bug#62833) --- doc/misc/erc.texi | 2 +- etc/ERC-NEWS | 12 ++++++++++-- lisp/erc/erc.el | 6 +++--- test/lisp/erc/erc-scenarios-base-association.el | 1 + test/lisp/erc/erc-scenarios-base-reconnect.el | 4 ++-- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi index 7f26b9ed181..ca294788c57 100644 --- a/doc/misc/erc.texi +++ b/doc/misc/erc.texi @@ -2,7 +2,7 @@ @c %**start of header @setfilename ../../info/erc.info @settitle ERC Manual -@set ERCVER 5.5.0.29.1 +@set ERCVER 5.5.1.29.1 @set ERCDIST as distributed with Emacs @value{EMACSVER} @include docstyle.texi @syncodeindex fn cp diff --git a/etc/ERC-NEWS b/etc/ERC-NEWS index 9672a86345b..684ff932d34 100644 --- a/etc/ERC-NEWS +++ b/etc/ERC-NEWS @@ -11,6 +11,16 @@ This file is about changes in ERC, the powerful, modular, and extensible IRC (Internet Relay Chat) client distributed with GNU Emacs since Emacs version 22.1. + +* Changes in ERC 5.5.1.29.1 + +** Option 'erc-join-buffer' defaults to 'window-noselect'. +In response to pushback about the switch from 'buffer' to 'bury', this +option's default has once again been changed, this time exclusively +for Emacs 29. ERC now attempts to display a new or reassociated +buffer in another window, creating one if necessary, even when the +selected window already displays the buffer. + * Changes in ERC 5.5 @@ -80,8 +90,6 @@ 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. -(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 blanks when 'erc-send-whitespace-lines' is active. New options have diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index c7e1645ec26..688bd1c4fd4 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -12,7 +12,7 @@ ;; David Edmondson (dme@dme.org) ;; Michael Olson (mwolson@gnu.org) ;; Kelvin White (kwhite@gnu.org) -;; Version: 5.5.0.29.1 +;; Version: 5.5.1.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.0.29.1" +(defconst erc-version "5.5.1.29.1" "This version of ERC.") (defvar erc-official-location @@ -1469,7 +1469,7 @@ erc-default-port-tls "IRC port to use for encrypted connections if it cannot be \ detected otherwise.") -(defcustom erc-join-buffer 'bury +(defcustom erc-join-buffer 'window-noselect "Determines how to display a newly created IRC buffer. The available choices are: diff --git a/test/lisp/erc/erc-scenarios-base-association.el b/test/lisp/erc/erc-scenarios-base-association.el index a40a4cb7550..3ac1089c541 100644 --- a/test/lisp/erc/erc-scenarios-base-association.el +++ b/test/lisp/erc/erc-scenarios-base-association.el @@ -207,6 +207,7 @@ erc-scenarios-networks-merge-server-track (dumb-server (erc-d-run "localhost" t 'track 'track)) (port (process-contact dumb-server :service)) (erc-server-flood-penalty 0.1) + (erc-join-buffer 'bury) (expect (erc-d-t-make-expecter))) (ert-info ("Connect") diff --git a/test/lisp/erc/erc-scenarios-base-reconnect.el b/test/lisp/erc/erc-scenarios-base-reconnect.el index 5b4dc549042..63ed21ba644 100644 --- a/test/lisp/erc/erc-scenarios-base-reconnect.el +++ b/test/lisp/erc/erc-scenarios-base-reconnect.el @@ -118,7 +118,7 @@ erc-scenarios-common--base-reconnect-options (ert-deftest erc-scenarios-base-reconnect-options--buffer () :tags '(:expensive-test) - (should (eq erc-join-buffer 'bury)) + (ert-skip "Feature broken in ERC 5.5") (should-not erc-reconnect-display) ;; FooNet (the server buffer) is not switched to because it's @@ -138,7 +138,7 @@ erc-scenarios-base-reconnect-options--buffer (ert-deftest erc-scenarios-base-reconnect-options--default () :tags '(:expensive-test) - (should (eq erc-join-buffer 'bury)) + (ert-skip "Feature broken in ERC 5.5") (should-not erc-reconnect-display) (erc-scenarios-common--base-reconnect-options -- 2.40.1 --=-=-=--