From unknown Fri Sep 05 11:00:36 2025 X-Loop: help-debbugs@gnu.org Subject: bug#6943: 23.2; [PATCH] * lisp/ido.el (ido-kill-buffer-at-head): support killing virtual buffers. Resent-From: Leo Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 30 Aug 2010 03:22:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 6943 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 6943@debbugs.gnu.org Cc: Juanma Barranquero X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.128313848130483 (code B ref -1); Mon, 30 Aug 2010 03:22:02 +0000 Received: (at submit) by debbugs.gnu.org; 30 Aug 2010 03:21:21 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Opuvw-0007vc-CA for submit@debbugs.gnu.org; Sun, 29 Aug 2010 23:21:20 -0400 Received: from mx10.gnu.org ([199.232.76.166]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Opuvu-0007vX-7H for submit@debbugs.gnu.org; Sun, 29 Aug 2010 23:21:18 -0400 Received: from lists.gnu.org ([199.232.76.165]:40521) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1OpuxQ-0001K5-K7 for submit@debbugs.gnu.org; Sun, 29 Aug 2010 23:22:52 -0400 Received: from [140.186.70.92] (port=35817 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OpuxP-0005CB-5C for bug-gnu-emacs@gnu.org; Sun, 29 Aug 2010 23:22:52 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_MED,T_RP_MATCHES_RCVD,T_TO_NO_BRKTS_FREEMAIL, T_TVD_MIME_NO_HEADERS autolearn=unavailable version=3.3.1 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OpuxN-00037a-T4 for bug-gnu-emacs@gnu.org; Sun, 29 Aug 2010 23:22:51 -0400 Received: from ppsw-33.csi.cam.ac.uk ([131.111.8.133]:54626) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OpuxN-00037S-Lc for bug-gnu-emacs@gnu.org; Sun, 29 Aug 2010 23:22:49 -0400 X-Cam-AntiVirus: no malware found X-Cam-SpamDetails: not scanned X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/ Received: from cpc1-cmbg13-0-0-cust596.5-4.cable.virginmedia.com ([86.9.122.85]:55558 helo=Victoria.local) by ppsw-33.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.159]:587) with esmtpsa (PLAIN:sl392) (TLSv1:DHE-RSA-AES128-SHA:128) id 1OpuxL-00053A-hR (Exim 4.72) (return-path ); Mon, 30 Aug 2010 04:22:47 +0100 From: Leo Date: Mon, 30 Aug 2010 04:22:46 +0100 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-Spam-Score: -5.4 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.3 (------) --=-=-= The attached patch makes C-k in ido kills virtual buffers too. --=-=-= Content-Type: text/x-diff Content-Disposition: inline Content-Description: ido C-k patch >From fb3cb0a3c3c6ab82a3ec7c8061478b59366ae77a Mon Sep 17 00:00:00 2001 From: Leo sdl.web@gmail.com Date: Mon, 30 Aug 2010 04:17:03 +0100 Subject: [PATCH] * lisp/ido.el (ido-kill-buffer-at-head): support killing virtual buffers. --- lisp/ido.el | 43 +++++++++++++++++++++++++------------------ 1 files changed, 25 insertions(+), 18 deletions(-) diff --git a/lisp/ido.el b/lisp/ido.el index 858ee3e..944499e 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -3920,24 +3920,31 @@ If cursor is not at the end of the user input, delete to end of input." (let ((enable-recursive-minibuffers t) (buf (ido-name (car ido-matches))) (nextbuf (cadr ido-matches))) - (when (get-buffer buf) - ;; If next match names a buffer use the buffer object; buffer - ;; name may be changed by packages such as uniquify; mindful - ;; of virtual buffers. - (when (and nextbuf (get-buffer nextbuf)) - (setq nextbuf (get-buffer nextbuf))) - (if (null (kill-buffer buf)) - ;; Buffer couldn't be killed. - (setq ido-rescan t) - ;; Else `kill-buffer' succeeds so re-make the buffer list - ;; taking into account packages like uniquify may rename - ;; buffers. - (if (bufferp nextbuf) - (setq nextbuf (buffer-name nextbuf))) - (setq ido-default-item nextbuf - ido-text-init ido-text - ido-exit 'refresh) - (exit-minibuffer)))))) + (if (get-buffer buf) + (progn + ;; If next match names a buffer use the buffer object; buffer + ;; name may be changed by packages such as uniquify; mindful + ;; of virtual buffers. + (when (and nextbuf (get-buffer nextbuf)) + (setq nextbuf (get-buffer nextbuf))) + (if (null (kill-buffer buf)) + ;; Buffer couldn't be killed. + (setq ido-rescan t) + ;; Else `kill-buffer' succeeds so re-make the buffer list + ;; taking into account packages like uniquify may rename + ;; buffers. + (if (bufferp nextbuf) + (setq nextbuf (buffer-name nextbuf))) + (setq ido-default-item nextbuf + ido-text-init ido-text + ido-exit 'refresh) + (exit-minibuffer))) + ;; Handle virtual buffers + (when recentf-list + (setq recentf-list + (delete (cdr (assoc buf ido-virtual-buffers)) recentf-list)) + (setq ido-cur-list (delete buf ido-cur-list)) + (setq ido-rescan t)))))) ;;; DELETE CURRENT FILE (defun ido-delete-file-at-head () -- 1.7.1 --=-=-=-- From unknown Fri Sep 05 11:00:36 2025 X-Loop: help-debbugs@gnu.org Subject: bug#6943: 23.2; [PATCH] * lisp/ido.el (ido-kill-buffer-at-head): support killing virtual buffers. Resent-From: Leo Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 30 Aug 2010 10:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 6943 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 6943@debbugs.gnu.org Cc: Juanma Barranquero Received: via spool by 6943-submit@debbugs.gnu.org id=B6943.12831652088532 (code B ref 6943); Mon, 30 Aug 2010 10:47:02 +0000 Received: (at 6943) by debbugs.gnu.org; 30 Aug 2010 10:46:48 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Oq1t0-0002DZ-K8 for submit@debbugs.gnu.org; Mon, 30 Aug 2010 06:46:46 -0400 Received: from ppsw-33.csi.cam.ac.uk ([131.111.8.133]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Oq1sx-0002DR-DG for 6943@debbugs.gnu.org; Mon, 30 Aug 2010 06:46:44 -0400 X-Cam-AntiVirus: no malware found X-Cam-SpamDetails: not scanned X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/ Received: from cpc1-cmbg13-0-0-cust596.5-4.cable.virginmedia.com ([86.9.122.85]:60030 helo=Victoria.local) by ppsw-33.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.159]:587) with esmtpsa (PLAIN:sl392) (TLSv1:DHE-RSA-AES128-SHA:128) id 1Oq1uT-0001T0-iF (Exim 4.72) (return-path ); Mon, 30 Aug 2010 11:48:17 +0100 From: Leo References: Date: Mon, 30 Aug 2010 11:48:17 +0100 In-Reply-To: (Leo's message of "Mon, 30 Aug 2010 04:22:46 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (Mac OS X 10.6.4) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -6.3 (------) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.3 (------) --=-=-= Please use this patch instead. --=-=-= Content-Type: text/x-diff Content-Disposition: inline Content-Description: ido C-k virtual buffers >From b7c131717aa761de1ad91eedf03b4d53d2e4bb27 Mon Sep 17 00:00:00 2001 Date: Mon, 30 Aug 2010 11:43:27 +0100 Subject: [PATCH] Support killing virtual buffers in ido * lisp/ido.el (ido-kill-buffer-at-head): support killing virtual buffers. (ido-buffer-internal): allow method 'kill for virtual buffers. --- lisp/ido.el | 18 +++++++++++------- 1 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lisp/ido.el b/lisp/ido.el index 858ee3e..f1bd7e6 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -2181,9 +2181,7 @@ If cursor is not at the end of the user input, move to end of input." (ido-current-directory nil) (ido-directory-nonreadable nil) (ido-directory-too-big nil) - (ido-use-virtual-buffers (if (eq method 'kill) - nil ;; Don't consider virtual buffers for killing - ido-use-virtual-buffers)) + (ido-use-virtual-buffers ido-use-virtual-buffers) (require-match (confirm-nonexistent-file-or-buffer)) (buf (ido-read-internal 'buffer (or prompt "Buffer: ") 'ido-buffer-history default require-match initial)) @@ -3920,10 +3918,10 @@ If cursor is not at the end of the user input, delete to end of input." (let ((enable-recursive-minibuffers t) (buf (ido-name (car ido-matches))) (nextbuf (cadr ido-matches))) - (when (get-buffer buf) + (cond + ((get-buffer buf) ;; If next match names a buffer use the buffer object; buffer - ;; name may be changed by packages such as uniquify; mindful - ;; of virtual buffers. + ;; name may be changed by packages such as uniquify. (when (and nextbuf (get-buffer nextbuf)) (setq nextbuf (get-buffer nextbuf))) (if (null (kill-buffer buf)) @@ -3937,7 +3935,13 @@ If cursor is not at the end of the user input, delete to end of input." (setq ido-default-item nextbuf ido-text-init ido-text ido-exit 'refresh) - (exit-minibuffer)))))) + (exit-minibuffer))) + ;; Handle virtual buffers + ((assoc buf ido-virtual-buffers) + (setq recentf-list + (delete (cdr (assoc buf ido-virtual-buffers)) recentf-list)) + (setq ido-cur-list (delete buf ido-cur-list)) + (setq ido-rescan t)))))) ;;; DELETE CURRENT FILE (defun ido-delete-file-at-head () -- 1.7.1 --=-=-=-- From unknown Fri Sep 05 11:00:36 2025 X-Loop: help-debbugs@gnu.org Subject: bug#6943: 23.2; [PATCH] * lisp/ido.el (ido-kill-buffer-at-head): support killing virtual buffers. Resent-From: Chong Yidong Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 10 Apr 2011 20:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 6943 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Leo Cc: 6943@debbugs.gnu.org Received: via spool by 6943-submit@debbugs.gnu.org id=B6943.130246841125683 (code B ref 6943); Sun, 10 Apr 2011 20:47:01 +0000 Received: (at 6943) by debbugs.gnu.org; 10 Apr 2011 20:46:51 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Q91X1-0006gC-1N for submit@debbugs.gnu.org; Sun, 10 Apr 2011 16:46:51 -0400 Received: from vm-emlprdomr-03.its.yale.edu ([130.132.50.144]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Q91Wz-0006g0-1V for 6943@debbugs.gnu.org; Sun, 10 Apr 2011 16:46:49 -0400 Received: from furball (dhcp128036159042.central.yale.edu [128.36.159.42]) (authenticated bits=0) by vm-emlprdomr-03.its.yale.edu (8.14.4/8.14.4) with ESMTP id p3AKkh9q010634 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Sun, 10 Apr 2011 16:46:43 -0400 Received: by furball (Postfix, from userid 1000) id 00185160461; Sun, 10 Apr 2011 16:46:42 -0400 (EDT) From: Chong Yidong References: Date: Sun, 10 Apr 2011 16:46:42 -0400 In-Reply-To: (Leo's message of "Mon, 30 Aug 2010 11:48:17 +0100") Message-ID: <87ei59ltql.fsf@stupidchicken.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Scanned-By: MIMEDefang 2.71 on 130.132.50.144 X-Spam-Score: -2.7 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.7 (--) Leo writes: > Please use this patch instead. Looks OK to me. I don't use ido, so I can't do much useful testing, but since no one else has commented on this, please go ahead and install. > * lisp/ido.el (ido-kill-buffer-at-head): support killing virtual buffers. > (ido-buffer-internal): allow method 'kill for virtual buffers. Please capitalize ChangeLog entries. Thanks. From unknown Fri Sep 05 11:00:36 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.427 (Entity 5.427) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Leo Subject: bug#6943: closed (Re: bug#6943: 23.2; [PATCH] * lisp/ido.el (ido-kill-buffer-at-head): support killing virtual buffers.) Message-ID: References: X-Gnu-PR-Message: they-closed 6943 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 6943@debbugs.gnu.org Date: Mon, 11 Apr 2011 03:56:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1302494162-8838-1" This is a multi-part message in MIME format... ------------=_1302494162-8838-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #6943: 23.2; [PATCH] * lisp/ido.el (ido-kill-buffer-at-head): support killi= ng virtual buffers. 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 6943@debbugs.gnu.org. --=20 6943: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D6943 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1302494162-8838-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 6943-done) by debbugs.gnu.org; 11 Apr 2011 03:55:10 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Q98DW-0002HS-JC for submit@debbugs.gnu.org; Sun, 10 Apr 2011 23:55:10 -0400 Received: from mail-iw0-f172.google.com ([209.85.214.172]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Q98DV-0002HE-Ir for 6943-done@debbugs.gnu.org; Sun, 10 Apr 2011 23:55:10 -0400 Received: by iwn39 with SMTP id 39so5281994iwn.3 for <6943-done@debbugs.gnu.org>; Sun, 10 Apr 2011 20:55:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:from:to:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-type; bh=/+rO+df0RhFqmXh8OUXa1ijAhhSzStRVEKMODhXy37k=; b=bl84ReWwaL7+nxRyWpXEZLBp+CasIoUvf/yMRIrjIkDeO8uteMmV3EWJsDc3cQDFF0 t4fRKMQlPGQ15fKMjIaKfNy2qeJJMHJUFX/MZ19OtJeQw+0kUIFXhHh7n7WmUKs0w6Lb M8VqzJ2NJkHaFJFGtpZz39WYSgN5DzV/LlJ+Q= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:subject:references:date:in-reply-to:message-id:user-agent :mime-version:content-type; b=hOFGgN5Sw3cc7nZ+ZlcXZiWQnB39Yox2L2TkPm8MCItMw4uFVuKAV6VM3r/iyqbmNm iTHl+lkSHutkHtDCssqvq2EocDlguJwFl765lIpAmoPoA7/rMWrORA93ZoOoxSLudQlx vgyQ5as4qgAMWG+SSEVl04+twHIZlQebUAFCo= Received: by 10.42.117.137 with SMTP id t9mr7063110icq.277.1302494103417; Sun, 10 Apr 2011 20:55:03 -0700 (PDT) Received: from th041087.ip.tsinghua.edu.cn (th041113.ip.tsinghua.edu.cn [59.66.41.113]) by mx.google.com with ESMTPS id c1sm3915026ibe.51.2011.04.10.20.55.00 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 10 Apr 2011 20:55:02 -0700 (PDT) From: Leo To: 6943-done@debbugs.gnu.org Subject: Re: bug#6943: 23.2; [PATCH] * lisp/ido.el (ido-kill-buffer-at-head): support killing virtual buffers. References: <87ei59ltql.fsf@stupidchicken.com> Date: Mon, 11 Apr 2011 11:54:56 +0800 In-Reply-To: <87ei59ltql.fsf@stupidchicken.com> (Chong Yidong's message of "Sun, 10 Apr 2011 16:46:42 -0400") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3.50 (Mac OS X 10.6.7) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: 6943-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.0 (----) Version: 24.1 ------------=_1302494162-8838-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 30 Aug 2010 03:21:21 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Opuvw-0007vc-CA for submit@debbugs.gnu.org; Sun, 29 Aug 2010 23:21:20 -0400 Received: from mx10.gnu.org ([199.232.76.166]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Opuvu-0007vX-7H for submit@debbugs.gnu.org; Sun, 29 Aug 2010 23:21:18 -0400 Received: from lists.gnu.org ([199.232.76.165]:40521) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1OpuxQ-0001K5-K7 for submit@debbugs.gnu.org; Sun, 29 Aug 2010 23:22:52 -0400 Received: from [140.186.70.92] (port=35817 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OpuxP-0005CB-5C for bug-gnu-emacs@gnu.org; Sun, 29 Aug 2010 23:22:52 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_MED,T_RP_MATCHES_RCVD,T_TO_NO_BRKTS_FREEMAIL, T_TVD_MIME_NO_HEADERS autolearn=unavailable version=3.3.1 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OpuxN-00037a-T4 for bug-gnu-emacs@gnu.org; Sun, 29 Aug 2010 23:22:51 -0400 Received: from ppsw-33.csi.cam.ac.uk ([131.111.8.133]:54626) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OpuxN-00037S-Lc for bug-gnu-emacs@gnu.org; Sun, 29 Aug 2010 23:22:49 -0400 X-Cam-AntiVirus: no malware found X-Cam-SpamDetails: not scanned X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/ Received: from cpc1-cmbg13-0-0-cust596.5-4.cable.virginmedia.com ([86.9.122.85]:55558 helo=Victoria.local) by ppsw-33.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.159]:587) with esmtpsa (PLAIN:sl392) (TLSv1:DHE-RSA-AES128-SHA:128) id 1OpuxL-00053A-hR (Exim 4.72) (return-path ); Mon, 30 Aug 2010 04:22:47 +0100 From: Leo To: bug-gnu-emacs@gnu.org Subject: 23.2; [PATCH] * lisp/ido.el (ido-kill-buffer-at-head): support killing virtual buffers. Date: Mon, 30 Aug 2010 04:22:46 +0100 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-Spam-Score: -5.4 (-----) X-Debbugs-Envelope-To: submit Cc: Juanma Barranquero X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.3 (------) --=-=-= The attached patch makes C-k in ido kills virtual buffers too. --=-=-= Content-Type: text/x-diff Content-Disposition: inline Content-Description: ido C-k patch >From fb3cb0a3c3c6ab82a3ec7c8061478b59366ae77a Mon Sep 17 00:00:00 2001 From: Leo sdl.web@gmail.com Date: Mon, 30 Aug 2010 04:17:03 +0100 Subject: [PATCH] * lisp/ido.el (ido-kill-buffer-at-head): support killing virtual buffers. --- lisp/ido.el | 43 +++++++++++++++++++++++++------------------ 1 files changed, 25 insertions(+), 18 deletions(-) diff --git a/lisp/ido.el b/lisp/ido.el index 858ee3e..944499e 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -3920,24 +3920,31 @@ If cursor is not at the end of the user input, delete to end of input." (let ((enable-recursive-minibuffers t) (buf (ido-name (car ido-matches))) (nextbuf (cadr ido-matches))) - (when (get-buffer buf) - ;; If next match names a buffer use the buffer object; buffer - ;; name may be changed by packages such as uniquify; mindful - ;; of virtual buffers. - (when (and nextbuf (get-buffer nextbuf)) - (setq nextbuf (get-buffer nextbuf))) - (if (null (kill-buffer buf)) - ;; Buffer couldn't be killed. - (setq ido-rescan t) - ;; Else `kill-buffer' succeeds so re-make the buffer list - ;; taking into account packages like uniquify may rename - ;; buffers. - (if (bufferp nextbuf) - (setq nextbuf (buffer-name nextbuf))) - (setq ido-default-item nextbuf - ido-text-init ido-text - ido-exit 'refresh) - (exit-minibuffer)))))) + (if (get-buffer buf) + (progn + ;; If next match names a buffer use the buffer object; buffer + ;; name may be changed by packages such as uniquify; mindful + ;; of virtual buffers. + (when (and nextbuf (get-buffer nextbuf)) + (setq nextbuf (get-buffer nextbuf))) + (if (null (kill-buffer buf)) + ;; Buffer couldn't be killed. + (setq ido-rescan t) + ;; Else `kill-buffer' succeeds so re-make the buffer list + ;; taking into account packages like uniquify may rename + ;; buffers. + (if (bufferp nextbuf) + (setq nextbuf (buffer-name nextbuf))) + (setq ido-default-item nextbuf + ido-text-init ido-text + ido-exit 'refresh) + (exit-minibuffer))) + ;; Handle virtual buffers + (when recentf-list + (setq recentf-list + (delete (cdr (assoc buf ido-virtual-buffers)) recentf-list)) + (setq ido-cur-list (delete buf ido-cur-list)) + (setq ido-rescan t)))))) ;;; DELETE CURRENT FILE (defun ido-delete-file-at-head () -- 1.7.1 --=-=-=-- ------------=_1302494162-8838-1--