From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Leo Newsgroups: gmane.emacs.bugs Subject: bug#6943: 23.2; [PATCH] * lisp/ido.el (ido-kill-buffer-at-head): support killing virtual buffers. Date: Mon, 30 Aug 2010 11:48:17 +0100 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: dough.gmane.org 1283168160 31019 80.91.229.12 (30 Aug 2010 11:36:00 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 30 Aug 2010 11:36:00 +0000 (UTC) Cc: Juanma Barranquero To: 6943@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Aug 30 13:35:59 2010 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Oq2eU-0002uC-Rt for geb-bug-gnu-emacs@m.gmane.org; Mon, 30 Aug 2010 13:35:56 +0200 Original-Received: from localhost ([127.0.0.1]:38283 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Oq2IA-0005vB-6B for geb-bug-gnu-emacs@m.gmane.org; Mon, 30 Aug 2010 07:12:46 -0400 Original-Received: from [140.186.70.92] (port=32943 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Oq2FE-0004JO-N4 for bug-gnu-emacs@gnu.org; Mon, 30 Aug 2010 07:09:49 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Oq2F9-00065t-0K for bug-gnu-emacs@gnu.org; Mon, 30 Aug 2010 07:09:44 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:40342) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Oq2F8-00065p-VF for bug-gnu-emacs@gnu.org; Mon, 30 Aug 2010 07:09:38 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1Oq1tG-0002Dm-JD; Mon, 30 Aug 2010 06:47:02 -0400 X-Loop: help-debbugs@gnu.org 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 Original-Received: via spool by 6943-submit@debbugs.gnu.org id=B6943.12831652088532 (code B ref 6943); Mon, 30 Aug 2010 10:47:02 +0000 Original-Received: (at 6943) by debbugs.gnu.org; 30 Aug 2010 10:46:48 +0000 Original-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 Original-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/ Original-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 In-Reply-To: (Leo's message of "Mon, 30 Aug 2010 04:22:46 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (Mac OS X 10.6.4) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Mon, 30 Aug 2010 06:47:02 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) 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: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:39819 Archived-At: --=-=-= 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 --=-=-=--