From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Alex Branham Newsgroups: gmane.emacs.bugs Subject: bug#28373: [PATCH] New variable controls whether dired confirms to kill buffers visiting deleted files Date: Wed, 06 Sep 2017 13:11:45 -0500 Message-ID: <87pob3k87y.fsf@gmail.com> References: <87r2vjkf4i.fsf@gmail.com> <83ingv238f.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: blaine.gmane.org 1504721575 5963 195.159.176.226 (6 Sep 2017 18:12:55 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 6 Sep 2017 18:12:55 +0000 (UTC) User-Agent: mu4e 0.9.18; emacs 25.2.1 Cc: 28373@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Sep 06 20:12:45 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dpeoJ-0008Ky-B1 for geb-bug-gnu-emacs@m.gmane.org; Wed, 06 Sep 2017 20:12:23 +0200 Original-Received: from localhost ([::1]:37387 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dpeoL-00014R-B1 for geb-bug-gnu-emacs@m.gmane.org; Wed, 06 Sep 2017 14:12:25 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47785) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dpeo3-0000u9-13 for bug-gnu-emacs@gnu.org; Wed, 06 Sep 2017 14:12:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dpeny-00030T-Uv for bug-gnu-emacs@gnu.org; Wed, 06 Sep 2017 14:12:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:44641) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dpeny-00030J-Pn for bug-gnu-emacs@gnu.org; Wed, 06 Sep 2017 14:12:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dpeny-0008O7-Ex for bug-gnu-emacs@gnu.org; Wed, 06 Sep 2017 14:12:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Alex Branham Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 06 Sep 2017 18:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28373 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 28373-submit@debbugs.gnu.org id=B28373.150472151632232 (code B ref 28373); Wed, 06 Sep 2017 18:12:02 +0000 Original-Received: (at 28373) by debbugs.gnu.org; 6 Sep 2017 18:11:56 +0000 Original-Received: from localhost ([127.0.0.1]:53322 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dpenr-0008Nm-UT for submit@debbugs.gnu.org; Wed, 06 Sep 2017 14:11:56 -0400 Original-Received: from mail-oi0-f49.google.com ([209.85.218.49]:36148) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dpenq-0008Na-9N for 28373@debbugs.gnu.org; Wed, 06 Sep 2017 14:11:54 -0400 Original-Received: by mail-oi0-f49.google.com with SMTP id x190so30520422oix.3 for <28373@debbugs.gnu.org>; Wed, 06 Sep 2017 11:11:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=Oi+g3vm78kOsqRreZXMmzO5iMq27gaJhd6reo3Xmbfg=; b=KLBVj095bjhPSPkpUDFk1BM9hmNNqTdtsyfaPe9mHXKIkXUaaBQnystewULc03Bo58 2HksFpjkUngIJiMrkD14HXENQbo7j2BDph5gM1YGiFVNueRhncDRrNk8eNiOYk7GvwGO 9mq+XipDNJWk422k1i1agcUBrxMJcdxpourEscpx8uRag+mxaPW0aLdWHYuM1WXQelxm Xs2Kxd6H2stZ7ZnzADCmPN1eUTqzJU/1p+fx/voK+wDzb1H014d6LHZYaju3EJYLEkmb fmOY9AS4IF2N9IZzNv4OxGQOIXwyTUY8SRuyC25iHd406GJLmHFCPIcr6K9Q7fVF/TmI AXvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=Oi+g3vm78kOsqRreZXMmzO5iMq27gaJhd6reo3Xmbfg=; b=ZzkNZx3zlxl0pwnyS4G9wZRsTasvC9oRhABnxparSAf2kxzYp9PKR7UCuI2jeQdeU5 Ncl7FiUHIrGF2F4e1xmh78Q4Mxib2IBBUzo1nnPjGhAHr3a0fU3EzHLCb+jE0icKPJog U04q40X2YfADGj7lWEmuDNRi9HJ2vRaAqkftqdMzEBaVetoibEONTKU9BywnALz4f9oA gtR6ev1RnsE5yZsuUTdufTayzmO/QAWilYx2A4C+RQHU7AI1r4uNnb7L+7ttv362ybTF Mdgn5QTujPkndUbqxDODMYzhigdQSSpwpT/ia1872h3x8XPs5+nEyIEmeRzIh+FI3fXQ v1vg== X-Gm-Message-State: AHPjjUhpnLtl8ECND9wdGwYjSPYUXUiaukI0pLwY9dzrVsIHjMhYkw7x zmstM63YKYx/iLzsMd4= X-Google-Smtp-Source: ADKCNb7AzxMvABhwK4s2guGnJjI0odIhYbmvM35Og7EdzHzII9tv2MmPylEvSNH2LLdoHMdA1qvR/A== X-Received: by 10.202.79.206 with SMTP id d197mr21011oib.192.1504721508064; Wed, 06 Sep 2017 11:11:48 -0700 (PDT) Original-Received: from mars (nat-128-62-50-36.public.utexas.edu. [128.62.50.36]) by smtp.gmail.com with ESMTPSA id m63sm416387oia.21.2017.09.06.11.11.46 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 06 Sep 2017 11:11:46 -0700 (PDT) In-reply-to: <83ingv238f.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 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.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:136644 Archived-At: --=-=-= Content-Type: text/plain Thanks for the review. I think I've addressed the things you've brought up; specific replies below. While I have your attention, how do I start the process of FSF copyright assignment? I'd rather start it now so I don't have to deal with it later. And do I have to do one form for Emacs and another for org-mode, or will one form take care of both? Thanks! On Wed 06 Sep 2017 at 16:36, Eli Zaretskii wrote: >> * lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers): >> * lisp/dired.el (dired-clean-up-after-deletion): Just kill buffers >> visiting deleted files without confirming if >> dired-clean-confirm-killing-deleted-buffers is nil > > This log entry makes it sound as if similar changes were made in both > dired.el and dired-x.el, which is not what your changes do. The entry > for dired-x.el should only say this: > > * lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers): New variable. Thanks, modified > >> diff --git a/lisp/dired.el b/lisp/dired.el >> index ff62183f09..bac3933502 100644 >> --- a/lisp/dired.el >> +++ b/lisp/dired.el >> @@ -3164,28 +3164,34 @@ dired-delete-entry >> (dired-clean-up-after-deletion file)) >> >> (defvar dired-clean-up-buffers-too) >> +(defvar dired-clean-confirm-killing-deleted-buffers) > > Why did you need this defvar? I assumed I did since the other dired-clean variable is there. I guess I don't, though. > >> (defun dired-clean-up-after-deletion (fn) >> "Clean up after a deleted file or directory FN. >> -Removes any expanded subdirectory of deleted directory. >> -If `dired-x' is loaded and `dired-clean-up-buffers-too' is non-nil, >> -also offers to kill buffers visiting deleted files and directories." >> +Removes any expanded subdirectory of deleted directory. If >> +`dired-x' is loaded and `dired-clean-up-buffers-too' is non-nil, >> +also offers to kill buffers visiting deleted files and >> +directories. Similarly, if `dired-x' is loaded and >> +`dired-clean-confirm-killing-deleted-buffers is nil, kill the >> +buffers without asking.'" > > We use the US English convention of leaving 2 spaces between > sentences. Also, I'd simplify the last sentence to avoid repeating > what the previous one says, and perhaps even make one sentence out of > the two. Modified, thanks. > >> (save-excursion (and (cdr dired-subdir-alist) >> - (dired-goto-subdir fn) >> - (dired-kill-subdir))) >> + (dired-goto-subdir fn) >> + (dired-kill-subdir))) > > Please don't change whitespace where you aren't changing code. That slipped past me, sorry! > >> + (or (not dired-clean-confirm-killing-deleted-buffers) >> + (funcall #'y-or-n-p >> + (format "Kill buffer of %s, too? " >> + (file-name-nondirectory fn)))) > > Isn't it better to use this instead: > > (and dired-clean-confirm-killing-deleted-buffers > (funcall ... > > ? What you wrote is akin to double negation, IMO. I changed it to this. I could've sworn this is what I wrote originally and it didn't work, but it seems to work fine now. --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0002-Add-dired-confirm-killing-deleted-buffers.patch >From 452435ac4816b7561056ad0ab75f6387e09b0296 Mon Sep 17 00:00:00 2001 From: Alex Branham Date: Wed, 6 Sep 2017 13:05:38 -0500 Subject: [PATCH] Add dired-confirm-killing-deleted-buffers * lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers): New variable. * lisp/dired.el (dired-clean-up-after-deletion): Just kill buffers visiting deleted files without confirming if dired-clean-confirm-killing-deleted-buffers is nil * etc/NEWS: Document the change Copyright-paperwork-exempt: yes --- etc/NEWS | 4 ++++ lisp/dired-x.el | 6 ++++++ lisp/dired.el | 22 +++++++++++++--------- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 2824349a53..4194f307b4 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -594,6 +594,10 @@ this is controlled by the 'wdired-create-parent-directories' variable. *** 'W' is now bound to 'browse-url-of-dired-file', and is useful for viewing HTML files and the like. ++++ +*** New variable 'dired-clean-confirm-killing-deleted-buffers' +controls whether dired asks to kill buffers visiting deleted files + --- ** html2text is now marked obsolete. diff --git a/lisp/dired-x.el b/lisp/dired-x.el index 1425278bdc..bfb5574da3 100644 --- a/lisp/dired-x.el +++ b/lisp/dired-x.el @@ -243,6 +243,12 @@ dired-clean-up-buffers-too :type 'boolean :group 'dired-x) +(defcustom dired-clean-confirm-killing-deleted-buffers t + "If nil, don't ask whether to kill buffers visiting deleted files." + :version "26.1" + :type 'boolean + :group 'dired-x) + ;;; KEY BINDINGS. (define-key dired-mode-map "\C-x\M-o" 'dired-omit-mode) diff --git a/lisp/dired.el b/lisp/dired.el index ff62183f09..33b9e66704 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -3167,9 +3167,11 @@ dired-clean-up-buffers-too (defun dired-clean-up-after-deletion (fn) "Clean up after a deleted file or directory FN. -Removes any expanded subdirectory of deleted directory. -If `dired-x' is loaded and `dired-clean-up-buffers-too' is non-nil, -also offers to kill buffers visiting deleted files and directories." +Removes any expanded subdirectory of deleted directory. If +`dired-x' is loaded and `dired-clean-up-buffers-too' is non-nil, +kill any buffers visiting those files, prompting for +confirmation. To disable confirmation, see +`dired-clean-confirm-killing-deleted-buffers'." (save-excursion (and (cdr dired-subdir-alist) (dired-goto-subdir fn) (dired-kill-subdir))) @@ -3177,15 +3179,17 @@ dired-clean-up-after-deletion (when (and (featurep 'dired-x) dired-clean-up-buffers-too) (let ((buf (get-file-buffer fn))) (and buf - (funcall #'y-or-n-p - (format "Kill buffer of %s, too? " - (file-name-nondirectory fn))) + (and dired-clean-confirm-killing-deleted-buffers + (funcall #'y-or-n-p + (format "Kill buffer of %s, too? " + (file-name-nondirectory fn)))) (kill-buffer buf))) (let ((buf-list (dired-buffers-for-dir (expand-file-name fn)))) (and buf-list - (y-or-n-p (format "Kill Dired buffer%s of %s, too? " - (dired-plural-s (length buf-list)) - (file-name-nondirectory fn))) + (and dired-clean-confirm-killing-deleted-buffers + (y-or-n-p (format "Kill Dired buffer%s of %s, too? " + (dired-plural-s (length buf-list)) + (file-name-nondirectory fn)))) (dolist (buf buf-list) (kill-buffer buf)))))) -- 2.14.1 --=-=-=--