GNU bug report logs - #22099
Path to fix bug in function erc-kill-query-buffers

Previous Next

Package: emacs;

Reported by: Francis Litterio <flitterio <at> gmail.com>

Date: Sun, 6 Dec 2015 01:15:03 UTC

Severity: normal

Tags: fixed, patch

Fixed in version 25.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

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 22099 in the body.
You can then email your comments to 22099 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 bug-gnu-emacs <at> gnu.org:
bug#22099; Package emacs. (Sun, 06 Dec 2015 01:15:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Francis Litterio <flitterio <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sun, 06 Dec 2015 01:15:03 GMT) Full text and rfc822 format available.

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

From: Francis Litterio <flitterio <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Path to fix bug in function erc-kill-query-buffers
Date: Sun, 6 Dec 2015 01:13:57 +0000 (UTC)
In the latest Emacs sources (Git branch "master"), function
erc-kill-query-buffers fails to protect against being passed nil
for argument PROCESS, which causes all channel buffers on all
servers to be deleted!  This can happen if command /QUIT is issued
in a disconnected server buffer and variable erc-kill-queries-on-quit
is non-nil.

This patch fixes this problem.
--
Fran
flitterio <at> gmail.com


--- erc.el~	2015-08-09 16:04:46.097043200 -0400
+++ erc.el	2015-08-09 16:07:19.082925200 -0400
@@ -6071,13 +6071,14 @@
   (or (file-accessible-directory-p dir) (error "Cannot access %s" dir)))
 
 (defun erc-kill-query-buffers (process)
-  "Kill all buffers of PROCESS."
+  "Kill all buffers of PROCESS.  Does nothing if PROCESS is not a process
object."
   ;; here, we only want to match the channel buffers, to avoid
   ;; "selecting killed buffers" b0rkage.
-  (erc-with-all-buffers-of-server process
-    (lambda ()
-      (not (erc-server-buffer-p)))
-    (kill-buffer (current-buffer))))
+  (if (processp process)
+      (erc-with-all-buffers-of-server process
+        (lambda ()
+          (not (erc-server-buffer-p)))
+        (kill-buffer (current-buffer))))
 
 (defun erc-nick-at-point ()
   "Give information about the nickname at `point'.






Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#22099; Package emacs. (Sun, 27 Dec 2015 07:45:01 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Francis Litterio <flitterio <at> gmail.com>
Cc: 22099 <at> debbugs.gnu.org
Subject: Re: bug#22099: Path to fix bug in function erc-kill-query-buffers
Date: Sun, 27 Dec 2015 08:43:47 +0100
Francis Litterio <flitterio <at> gmail.com> writes:

> In the latest Emacs sources (Git branch "master"), function
> erc-kill-query-buffers fails to protect against being passed nil
> for argument PROCESS, which causes all channel buffers on all
> servers to be deleted!  This can happen if command /QUIT is issued
> in a disconnected server buffer and variable erc-kill-queries-on-quit
> is non-nil.
>
> This patch fixes this problem.

Thanks; but the patch seems malformed (probably during transmission).
Can you attach it instead?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) fixed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 04 Feb 2016 05:57:01 GMT) Full text and rfc822 format available.

bug marked as fixed in version 25.1, send any further explanations to 22099 <at> debbugs.gnu.org and Francis Litterio <flitterio <at> gmail.com> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 04 Feb 2016 05:57:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#22099; Package emacs. (Thu, 04 Feb 2016 06:02:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Francis Litterio <flitterio <at> gmail.com>
Cc: 22099 <at> debbugs.gnu.org
Subject: Re: bug#22099: Path to fix bug in function erc-kill-query-buffers
Date: Thu, 04 Feb 2016 16:55:52 +1100
Francis Litterio <flitterio <at> gmail.com> writes:

> In the latest Emacs sources (Git branch "master"), function
> erc-kill-query-buffers fails to protect against being passed nil
> for argument PROCESS, which causes all channel buffers on all
> servers to be deleted!  This can happen if command /QUIT is issued
> in a disconnected server buffer and variable erc-kill-queries-on-quit
> is non-nil.
>
> This patch fixes this problem.

Thanks; applied to emacs-25.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 03 Mar 2016 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 9 years and 103 days ago.

Previous Next


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