From unknown Sun Sep 21 05:09:15 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15377: 24.1; erc-mode-line-update-buffer can mishandle updates when there is no topic Resent-From: Vivek Dasmohapatra Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 14 Sep 2013 00:34:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 15377 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 15377@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.13791187922278 (code B ref -1); Sat, 14 Sep 2013 00:34:02 +0000 Received: (at submit) by debbugs.gnu.org; 14 Sep 2013 00:33:12 +0000 Received: from localhost ([127.0.0.1]:35060 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VKdnT-0000af-ID for submit@debbugs.gnu.org; Fri, 13 Sep 2013 20:33:11 -0400 Received: from eggs.gnu.org ([208.118.235.92]:39383) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VKdnQ-0000aP-Hx for submit@debbugs.gnu.org; Fri, 13 Sep 2013 20:33:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VKdnC-0003SS-Sc for submit@debbugs.gnu.org; Fri, 13 Sep 2013 20:33:03 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:36025) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VKdnC-0003SO-Pr for submit@debbugs.gnu.org; Fri, 13 Sep 2013 20:32:54 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41069) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VKdn6-0005Zq-Oo for bug-gnu-emacs@gnu.org; Fri, 13 Sep 2013 20:32:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VKdn0-0003RE-PT for bug-gnu-emacs@gnu.org; Fri, 13 Sep 2013 20:32:48 -0400 Received: from 87-127-114-209.static.enta.net ([87.127.114.209]:60964 helo=noise.cbg.collabora.co.uk) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VKdn0-0003R7-95 for bug-gnu-emacs@gnu.org; Fri, 13 Sep 2013 20:32:42 -0400 Received: from localhost.elements ([127.0.0.1] helo=noise.cbg.collabora.co.uk) by noise.cbg.collabora.co.uk with esmtp (Exim 4.80) (envelope-from ) id 1VKdmy-0001T1-FN for bug-gnu-emacs@gnu.org; Sat, 14 Sep 2013 01:32:40 +0100 From: Vivek Dasmohapatra Date: Sat, 14 Sep 2013 01:32:40 +0100 Message-ID: <8738p8utsn.fsf@noise.cbg.collabora.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Very rarely, erc can start throwing lots of errors inside its process sentinel - a couple of users on #emacs also reported it recently: [conversation edited for noise] sigh, periodically, my erc =E2=80=A6 "error in process filter: Invalid format character: `%o'" xxxx: I've seen this error a few times before--typically when my bouncer has just experienced connection difficulties and is in a disconnect/reconnect thrash. I tracked it down to: erc-header-line-format: "%n on %t (%m,%l) %o" And in erc-update-mode-line-buffer: (let ((spec (format-spec-make =E2=8B=AE ?o (erc-controls-strip erc-channel-topic) And then: (format-spec erc-header-line-format spec) But erc-controls-strip can return nil, which does make format-spec choke on "%o", since it does not differentiate between a spec with no ?o element and one containing ?o nil. The following should fix it: --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -6210,7 +6210,7 @@ if `erc-away' is non-nil." ?m (erc-format-channel-modes) ?n (or (erc-current-nick) "") ?N (erc-format-network) - ?o (erc-controls-strip erc-channel-topic) + ?o (or (erc-controls-strip erc-channel-topic) "") ?p (erc-port-to-string erc-session-port) ?s (erc-format-target-and/or-server) ?S (erc-format-target-and/or-network) I have no real test recipe, since the error is intermittent and I don't know what makes the erc-channel-topic degrade to nil, but you can try this: M-: (let (erc-channel-topic) (erc-update-mode-line-buffer (current-buffer))) with an erc-buffer current. From unknown Sun Sep 21 05:09:15 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Vivek Dasmohapatra Subject: bug#15377: closed (Re: bug#15377: 24.1; erc-mode-line-update-buffer can mishandle updates when there is no topic) Message-ID: References: <8738p8utsn.fsf@noise.cbg.collabora.co.uk> X-Gnu-PR-Message: they-closed 15377 X-Gnu-PR-Package: emacs Reply-To: 15377@debbugs.gnu.org Date: Sat, 14 Sep 2013 23:34:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1379201643-13460-1" This is a multi-part message in MIME format... ------------=_1379201643-13460-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #15377: 24.1; erc-mode-line-update-buffer can mishandle updates when there = is no topic which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 15377@debbugs.gnu.org. --=20 15377: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D15377 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1379201643-13460-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 15377-done) by debbugs.gnu.org; 14 Sep 2013 23:33:52 +0000 Received: from localhost ([127.0.0.1]:37329 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VKzLb-0003Ud-NV for submit@debbugs.gnu.org; Sat, 14 Sep 2013 19:33:51 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:50906 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VKzLZ-0003UT-Fj for 15377-done@debbugs.gnu.org; Sat, 14 Sep 2013 19:33:49 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1VKzLX-0000H3-EK; Sat, 14 Sep 2013 19:33:47 -0400 From: Glenn Morris To: 15377-done@debbugs.gnu.org Subject: Re: bug#15377: 24.1; erc-mode-line-update-buffer can mishandle updates when there is no topic References: <8738p8utsn.fsf@noise.cbg.collabora.co.uk> X-Spook: munitions LABLINK freedom Yukon Aldergrove AMEMB AFSPC X-Ran: g{xxfTF=@J-3pD'r[dDFbDR8-;uw1gC'LTI{v5#=1I'm]N2!@NPtjpW{fmf%3F)#z2zr1T X-Hue: magenta X-Debbugs-No-Ack: yes X-Attribution: GM Date: Sat, 14 Sep 2013 19:33:47 -0400 In-Reply-To: <8738p8utsn.fsf@noise.cbg.collabora.co.uk> (Vivek Dasmohapatra's message of "Sat, 14 Sep 2013 01:32:40 +0100") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -5.9 (-----) X-Debbugs-Envelope-To: 15377-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.9 (-----) Version: 24.4 Thanks; applied. ------------=_1379201643-13460-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 14 Sep 2013 00:33:12 +0000 Received: from localhost ([127.0.0.1]:35060 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VKdnT-0000af-ID for submit@debbugs.gnu.org; Fri, 13 Sep 2013 20:33:11 -0400 Received: from eggs.gnu.org ([208.118.235.92]:39383) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VKdnQ-0000aP-Hx for submit@debbugs.gnu.org; Fri, 13 Sep 2013 20:33:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VKdnC-0003SS-Sc for submit@debbugs.gnu.org; Fri, 13 Sep 2013 20:33:03 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:36025) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VKdnC-0003SO-Pr for submit@debbugs.gnu.org; Fri, 13 Sep 2013 20:32:54 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41069) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VKdn6-0005Zq-Oo for bug-gnu-emacs@gnu.org; Fri, 13 Sep 2013 20:32:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VKdn0-0003RE-PT for bug-gnu-emacs@gnu.org; Fri, 13 Sep 2013 20:32:48 -0400 Received: from 87-127-114-209.static.enta.net ([87.127.114.209]:60964 helo=noise.cbg.collabora.co.uk) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VKdn0-0003R7-95 for bug-gnu-emacs@gnu.org; Fri, 13 Sep 2013 20:32:42 -0400 Received: from localhost.elements ([127.0.0.1] helo=noise.cbg.collabora.co.uk) by noise.cbg.collabora.co.uk with esmtp (Exim 4.80) (envelope-from ) id 1VKdmy-0001T1-FN for bug-gnu-emacs@gnu.org; Sat, 14 Sep 2013 01:32:40 +0100 From: Vivek Dasmohapatra To: bug-gnu-emacs@gnu.org Subject: 24.1; erc-mode-line-update-buffer can mishandle updates when there is no topic Date: Sat, 14 Sep 2013 01:32:40 +0100 Message-ID: <8738p8utsn.fsf@noise.cbg.collabora.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Very rarely, erc can start throwing lots of errors inside its process sentinel - a couple of users on #emacs also reported it recently: [conversation edited for noise] sigh, periodically, my erc =E2=80=A6 "error in process filter: Invalid format character: `%o'" xxxx: I've seen this error a few times before--typically when my bouncer has just experienced connection difficulties and is in a disconnect/reconnect thrash. I tracked it down to: erc-header-line-format: "%n on %t (%m,%l) %o" And in erc-update-mode-line-buffer: (let ((spec (format-spec-make =E2=8B=AE ?o (erc-controls-strip erc-channel-topic) And then: (format-spec erc-header-line-format spec) But erc-controls-strip can return nil, which does make format-spec choke on "%o", since it does not differentiate between a spec with no ?o element and one containing ?o nil. The following should fix it: --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -6210,7 +6210,7 @@ if `erc-away' is non-nil." ?m (erc-format-channel-modes) ?n (or (erc-current-nick) "") ?N (erc-format-network) - ?o (erc-controls-strip erc-channel-topic) + ?o (or (erc-controls-strip erc-channel-topic) "") ?p (erc-port-to-string erc-session-port) ?s (erc-format-target-and/or-server) ?S (erc-format-target-and/or-network) I have no real test recipe, since the error is intermittent and I don't know what makes the erc-channel-topic degrade to nil, but you can try this: M-: (let (erc-channel-topic) (erc-update-mode-line-buffer (current-buffer))) with an erc-buffer current. ------------=_1379201643-13460-1--