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#67220: 30.0.50; ERC 5.6: Prefer parameter-driven MODE processing in ERC Date: Sat, 13 Apr 2024 15:17:00 -0700 Message-ID: <877ch09acj.fsf__25935.2406299271$1713046705$gmane$org@neverwas.me> References: <87pm0aphr2.fsf@neverwas.me> <871q9fhl8j.fsf@neverwas.me> <87o7cabou8.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="9731"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: emacs-erc@gnu.org To: 67220@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Apr 14 00:18:17 2024 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 1rvlhQ-0002KV-U2 for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 14 Apr 2024 00:18:17 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rvlh8-0002gE-EQ; Sat, 13 Apr 2024 18:17:58 -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 1rvlh7-0002g2-6L for bug-gnu-emacs@gnu.org; Sat, 13 Apr 2024 18:17:57 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rvlh6-0003ZR-U4 for bug-gnu-emacs@gnu.org; Sat, 13 Apr 2024 18:17:56 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rvlhH-0003zO-Ba for bug-gnu-emacs@gnu.org; Sat, 13 Apr 2024 18:18:07 -0400 X-Loop: help-debbugs@gnu.org Resent-From: "J.P." Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 13 Apr 2024 22:18:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 67220 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 67220-submit@debbugs.gnu.org id=B67220.171304664813801 (code B ref 67220); Sat, 13 Apr 2024 22:18:06 +0000 Original-Received: (at 67220) by debbugs.gnu.org; 13 Apr 2024 22:17:28 +0000 Original-Received: from localhost ([127.0.0.1]:33927 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rvlgb-0003Yz-VM for submit@debbugs.gnu.org; Sat, 13 Apr 2024 18:17:28 -0400 Original-Received: from mail-108-mta124.mxroute.com ([136.175.108.124]:45301) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rvlgT-0003Ul-Lu for 67220@debbugs.gnu.org; Sat, 13 Apr 2024 18:17:22 -0400 Original-Received: from filter006.mxroute.com ([136.175.111.2] filter006.mxroute.com) (Authenticated sender: mN4UYu2MZsgR) by mail-108-mta124.mxroute.com (ZoneMTA) with ESMTPSA id 18ed989149c0003bea.001 for <67220@debbugs.gnu.org> (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Sat, 13 Apr 2024 22:17:03 +0000 X-Zone-Loop: a1d799084c5f837c94aafaba0e3f4008ab3f32156f92 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=4fNUoRqshbuJL3/kZ+JB52Srtni3Q0Qab/g9qZMtYho=; b=AcXSzDV+moaoqrNyh2+MP3yhvM QZ1zLEi1yQiQA8XN1VDLA2FR70Y470Zd/p6qdSPPmRJa8rBXK2xbSBY+5UqDyt3i96g10wMNaqcbP 2gh+mZym7zw1C5YkLxkgufOxum4Qxjo4rU/vB3mq+/ZEG0EdSWWWG9XLwRRDSlcKOEwSpJFyjMlG/ v/Et00/41o2TPbAZ7WYMmz2k8O34yJjpPi+6Z6obB75TU/yAUxSBn7ytMNOlzDFB7ERV8AkH6qFff Ha+x4SB/I7YiImZ2JxPbGrxVgmfmcKn1zqZ0HkC0zXSPWpvXQPlS4acVUtM+afvXaP7r3fUtJnLvv SQ2Z7+OA==; In-Reply-To: <87o7cabou8.fsf@neverwas.me> (J. P.'s message of "Tue, 20 Feb 2024 17:14:39 -0800") 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:283237 Archived-At: --=-=-= Content-Type: text/plain "J.P." writes: >> I think it's worth correcting this in ERC 5.6. Proposed changes >> attached. (The first patch is unrelated.) > > These changes now live on master as > > 3d87e343276 * Use modern fallback for channel name detection in ERC > 25d15391f26 * Normalize ISUPPORT params with empty values in ERC > > If anyone experiences new difficulties related to detecting channel > names, these are likely to blame. A regression involving `erc-query-buffer-p' has surfaced that basically makes the function unsuable in many situations. The root cause is some combination of stupdiity and laziness on my part, as usual. The attached patch should fix the issue. Thanks to Libera user mekeor for reporting this. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Fix-regression-involving-erc-query-buffer-p.patch >From 415bde2403aa9564d138d0f504df36e6f9e956a3 Mon Sep 17 00:00:00 2001 From: "F. Jason Park" Date: Sat, 13 Apr 2024 14:58:13 -0700 Subject: [PATCH] Fix regression involving erc-query-buffer-p * lisp/erc/erc.el (erc-query-buffer-p): Don't return non-nil in non-ERC buffers and server buffers, and continue to honor string arguments. The regression was introduced by 3d87e343 "Use modern fallback for channel name detection in ERC". Thanks to Libera user mekeor for reporting this bug. * test/lisp/erc/erc-tests.el (erc-query-buffer-p): New test. (Bug#67220) --- lisp/erc/erc.el | 9 +++++++-- test/lisp/erc/erc-tests.el | 29 +++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index 4ed77655f19..ecb884fb1ab 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -1662,8 +1662,13 @@ erc-open-server-buffer-p (defun erc-query-buffer-p (&optional buffer) "Return non-nil if BUFFER is an ERC query buffer. -If BUFFER is nil, the current buffer is used." - (not (erc-channel-p (or buffer (current-buffer))))) +If BUFFER is nil, use the current buffer." + (and-let* ((target (if buffer + (progn (when (stringp buffer) + (setq buffer (get-buffer buffer))) + (buffer-local-value 'erc--target buffer)) + erc--target))) + (not (erc--target-channel-p target)))) (defun erc-ison-p (nick) "Return non-nil if NICK is online." diff --git a/test/lisp/erc/erc-tests.el b/test/lisp/erc/erc-tests.el index 22432a68034..52c6f8e75b6 100644 --- a/test/lisp/erc/erc-tests.el +++ b/test/lisp/erc/erc-tests.el @@ -1227,6 +1227,35 @@ erc-channel-p (erc-tests-common-kill-buffers)) +(ert-deftest erc-query-buffer-p () + ;; Nil in a non-ERC buffer. + (should-not (erc-query-buffer-p)) + (should-not (erc-query-buffer-p (current-buffer))) + (should-not (erc-query-buffer-p (buffer-name))) + + (erc-tests-common-make-server-buf) + ;; Nil in a server buffer. + (should-not (erc-query-buffer-p)) + (should-not (erc-query-buffer-p (current-buffer))) + (should-not (erc-query-buffer-p (buffer-name))) + + ;; Nil in a channel buffer. + (with-current-buffer (erc--open-target "#chan") + (should-not (erc-query-buffer-p)) + (should-not (erc-query-buffer-p (current-buffer))) + (should-not (erc-query-buffer-p (buffer-name)))) + + ;; Non-nil in a query buffer. + (with-current-buffer (erc--open-target "alice") + (should (erc-query-buffer-p)) + (should (erc-query-buffer-p (current-buffer))) + (should (erc-query-buffer-p (buffer-name)))) + + (should (erc-query-buffer-p (get-buffer "alice"))) + (should (erc-query-buffer-p "alice")) + + (erc-tests-common-kill-buffers)) + (ert-deftest erc--valid-local-channel-p () (ert-info ("Local channels not supported") (let ((erc--isupport-params (make-hash-table))) -- 2.44.0 --=-=-=--