From unknown Fri Sep 19 13:24:52 2025 X-Loop: help-debbugs@gnu.org Subject: bug#52148: 29.0.50; [PATCH] Make `project-kill-buffers' display list of buffers to kill Resent-From: Matthias Meulien Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 27 Nov 2021 21:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 52148 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 52148@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16380496132406 (code B ref -1); Sat, 27 Nov 2021 21:47:02 +0000 Received: (at submit) by debbugs.gnu.org; 27 Nov 2021 21:46:53 +0000 Received: from localhost ([127.0.0.1]:34613 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mr5X2-0000cj-Mu for submit@debbugs.gnu.org; Sat, 27 Nov 2021 16:46:53 -0500 Received: from lists.gnu.org ([209.51.188.17]:42274) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mr5Wm-0000cJ-O7 for submit@debbugs.gnu.org; Sat, 27 Nov 2021 16:46:51 -0500 Received: from eggs.gnu.org ([209.51.188.92]:42330) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mr5Wm-0007Qm-Gl for bug-gnu-emacs@gnu.org; Sat, 27 Nov 2021 16:46:36 -0500 Received: from [2a00:1450:4864:20::332] (port=51952 helo=mail-wm1-x332.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mr5Wk-0006vE-5v for bug-gnu-emacs@gnu.org; Sat, 27 Nov 2021 16:46:36 -0500 Received: by mail-wm1-x332.google.com with SMTP id 137so11236585wma.1 for ; Sat, 27 Nov 2021 13:46:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:mime-version; bh=Ik3EaavngfmOfL4eQd1ARCCLzBeQ1Rn5CTMgXoTxQoU=; b=WDMUjXz5meE7FEELLz5nwqEi6ZHz8g6j6qEEjtC48gk/sZGyM+RhE4CuEvPZNqCDgs Lm7dmZh7t6O7TELGHgPS30dNHfYjHQaXcBs/kG9n+SH/jfuzBw/Devwn9GI21tyybimJ Zde7WPXpherSqUbePsI6qjgqSMaQeRvYC2lek4xScmBOVaebxO3pll+Jbs40hmKiapK0 1DNNQWB2r5FRpnbpkVLso9v/7zgiu6KGWD7liWDF9brbTdeXGdj3LpPfI5tRrv4g5W+z xPr8y2GbbTCtPFJtajCw7PG0EpiODbduh4UKiZZARGzXzTium4me8/QqYZAumbrKlpn0 ns9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=Ik3EaavngfmOfL4eQd1ARCCLzBeQ1Rn5CTMgXoTxQoU=; b=5z6BugLA1GAQ9kQpd+1fzff2zOop80zn1Ec8DmLQ7NtrpIW+t9YOwfYf6Uz+l1juIt 6/ooQ6/7RP+GLcaJkil1CJLKPz7t5M7jOgvsWw6gZs+m6r3B7bmXs6kA7AI1lQrxYqQU +lVSBL4Yh820cDLbJTQwTENkPW9CpmDdWVG0vI/y5gw0lsGjAO9iEMvA2uXxD0vBQYgB 7DyVuTKLEu5w+FK8/fnGu3IzP41wAjZonPX6xMIdhk2JHKJ40+82ykV6FuNwGcwBeeBr 3rB6pZhbcp23d7oGGKZInW8rg1h7enbkwUttZ6R2r0+HJmFksOTUbrA5ne6NMEJX8kbe 3Otg== X-Gm-Message-State: AOAM531Ckc1dQKXXtKNuoshTgfdzAz5qv7Q94k5KdNmozej1GguTM5Cw lx8XbbcG+6q+80w1AzuHoxxMgzkcfio= X-Google-Smtp-Source: ABdhPJzE9yIjtM0lf6N2m8ok7axamIlLGtuWWMKjdzFkpogErKgJmBg2wJ6RS5nJZZ+OFTNlO3BWnw== X-Received: by 2002:a05:600c:190e:: with SMTP id j14mr24676697wmq.75.1638049592253; Sat, 27 Nov 2021 13:46:32 -0800 (PST) Received: from carbon.localdomain ([2a01:e0a:245:c850:a5c0:9416:5835:2b57]) by smtp.gmail.com with ESMTPSA id w4sm10000855wrs.88.2021.11.27.13.46.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 27 Nov 2021 13:46:31 -0800 (PST) From: Matthias Meulien Date: Sat, 27 Nov 2021 22:46:31 +0100 Message-ID: <87zgppl1ag.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::332 (failed) Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=orontee@gmail.com; helo=mail-wm1-x332.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: 2.3 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: This is a feature request. I would find convenient and safer to list buffers to kill when `project-kill-buffers' is called. The attached patch is an attempt to implement this feature, inspired by what I read in `save-buffers-kill-emacs' implementation. Content analysis details: (2.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (orontee[at]gmail.com) 0.0 T_SPF_TEMPERROR SPF: test of record failed (temperror) -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 1.3 SPOOFED_FREEMAIL No description available. 0.9 SPOOF_GMAIL_MID From Gmail but it doesn't seem to be... X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -2.3 (--) --=-=-= Content-Type: text/plain This is a feature request. I would find convenient and safer to list buffers to kill when `project-kill-buffers' is called. The attached patch is an attempt to implement this feature, inspired by what I read in `save-buffers-kill-emacs' implementation. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-project-kill-buffers-displays-list-of-buffers-to-kil.patch >From 2041a621ba5be0c4b2f563a554263b37d4192ce2 Mon Sep 17 00:00:00 2001 From: Matthias Meulen Date: Sat, 27 Nov 2021 22:43:20 +0100 Subject: [PATCH] `project-kill-buffers` displays list of buffers to kill * lisp/progmodes/project.el (project-kill-buffers): Temporarily display list of buffers to kill --- lisp/progmodes/project.el | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index ed076a683d..0d8ed3646a 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -1281,9 +1281,26 @@ project-kill-buffers (mapc #'kill-buffer bufs)) ((null bufs) (message "No buffers to kill")) - ((yes-or-no-p (format "Kill %d buffers in %s? " - (length bufs) - (project-root pr))) + ((with-current-buffer-window + (get-buffer-create "*Buffer List*") + `(display-buffer--maybe-at-bottom + (dedicated . t) + (window-height . (fit-window-to-buffer)) + (preserve-size . (nil . t)) + (body-function + . ,#'(lambda (_window) + (list-buffers-noselect nil bufs)))) + #'(lambda (window _value) + (with-selected-window window + (unwind-protect + (progn + (setq confirm nil) + (yes-or-no-p + (format "Kill %d buffers in %s? " + (length bufs) + (project-root pr)))) + (when (window-live-p window) + (quit-restore-window window 'kill)))))) (mapc #'kill-buffer bufs))))) -- 2.30.2 --=-=-= Content-Type: text/plain In GNU Emacs 29.0.50 (build 3, x86_64-pc-linux-gnu, GTK+ Version 3.24.24, cairo version 1.16.0) of 2021-11-27 built on carbon Repository revision: 338f7802373f1cfcc1b3749bbd46091fdef727f4 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12011000 System Description: Debian GNU/Linux 11 (bullseye) Configured using: 'configure --with-native-compilation' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB Important settings: value of $LANG: fr_FR.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Shell Minor modes in effect: highlight-changes-visible-mode: t goto-address-mode: t shell-dirtrack-mode: t minions-mode: t global-company-mode: t company-mode: t desktop-save-mode: t save-place-mode: t electric-pair-mode: t icomplete-mode: t global-so-long-mode: t global-auto-revert-mode: t auto-insert-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-layout-mode: t electric-indent-mode: t mouse-wheel-mode: t tab-bar-mode: t file-name-shadow-mode: t context-menu-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t window-divider-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t Load-path shadows: /home/matthias/.config/emacs/elpa/transient-20211105.100/transient hides /usr/local/share/emacs/29.0.50/lisp/transient /home/matthias/.config/emacs/elpa/dictionary-20201001.1727/dictionary hides /usr/local/share/emacs/29.0.50/lisp/net/dictionary Features: (shadow sort mail-extr gnus-msg emacsbug sendmail log-edit pcvs-util smerge-mode diff whitespace cl-print mule-diag hl-line dabbrev misearch multi-isearch pulse reftex-dcr reftex reftex-loaddefs reftex-vars tex-mode mule-util shortdoc help-fns radix-tree add-log checkdoc lisp-mnt url-http url-auth url-gw nsm mhtml-mode css-mode smie sgml-mode typescript-mode yaml-mode hideshow cap-words superword subword js python tramp-sh tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat ls-lisp follow view enriched disp-table facemenu dired-aux bug-reference display-line-numbers hilit-chg vc-dir reveal flyspell ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar org-agenda ox-html table ox-ascii ox-publish ox goto-addr org-element avl-tree ol-eww eww xdg url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-search eieio-opt speedbar ezimage dframe gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum shr kinsoku svg dom ol-docview doc-view jka-compr image-mode exif ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi vc-mtn vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs vc bash-completion shell eglot array jsonrpc ert ewoc debug backtrace flymake-proc flymake compile imenu company-oddmuse company-keywords company-etags etags fileloop generator xref project company-gtags company-dabbrev-code company-dabbrev company-files company-clang company-capf company-cmake company-semantic company-template company-bbdb avoid minions company pcase carbon-custom cus-edit cus-load gnus-demon nntp gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 netrc parse-time gnus-spec gnus-win nnoo gnus-int gnus-range message yank-media rmc puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums mail-utils mm-util mail-prsvr wid-edit gnus-dired dired-x dired dired-loaddefs org-capture org-refile org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete pcomplete comint ansi-color ring org-list org-faces org-entities org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex iso8601 time-date ol org-keys oc org-compat org-macs org-loaddefs format-spec find-func cal-menu calendar cal-loaddefs dictionary link connection advice markdown-mode edit-indirect color thingatpt noutline outline skeleton find-file vc-git diff-mode easy-mmode vc-dispatcher ispell comp comp-cstr warnings rx cl-extra help-mode desktop frameset server bookmark text-property-search pp saveplace elec-pair icomplete so-long autorevert filenotify autoinsert cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs generic-x face-remap proof-site proof-autoloads info package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json map url-vars seq gv subr-x byte-opt bytecomp byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 685836 76682) (symbols 48 40552 1) (strings 32 162716 13581) (string-bytes 1 5304884) (vectors 16 76386) (vector-slots 8 1642333 90680) (floats 8 721 1258) (intervals 56 23699 2008) (buffers 992 143)) --=-=-=-- From unknown Fri Sep 19 13:24:52 2025 X-Loop: help-debbugs@gnu.org Subject: bug#52148: 29.0.50; [PATCH] Make `project-kill-buffers' display list of buffers to kill Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 28 Nov 2021 07:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 52148 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Matthias Meulien Cc: 52148@debbugs.gnu.org Received: via spool by 52148-submit@debbugs.gnu.org id=B52148.163808303628702 (code B ref 52148); Sun, 28 Nov 2021 07:04:02 +0000 Received: (at 52148) by debbugs.gnu.org; 28 Nov 2021 07:03:56 +0000 Received: from localhost ([127.0.0.1]:34870 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrEE7-0007Ss-UB for submit@debbugs.gnu.org; Sun, 28 Nov 2021 02:03:56 -0500 Received: from eggs.gnu.org ([209.51.188.92]:57542) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrEE6-0007Sd-9Q for 52148@debbugs.gnu.org; Sun, 28 Nov 2021 02:03:55 -0500 Received: from [2001:470:142:3::e] (port=54192 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mrEE1-0000WK-02; Sun, 28 Nov 2021 02:03:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=Tsw6in6Dx56nUs4OpGzMeBAuByznlqDmveD8zLLpoak=; b=pWp4BWiLQHuQ bPT6NJrsULcc5KFeifkKdaQWSn8QjjOEM+JtJbGEDr236YzxVdb8hF7hQXqwZ2sk/fdP7qlPn182q tdOKJ/HtHbisDQcnws+CtP/LqY89lLkBt6gsH62E2aIoBIpJfbetNDor4jIBtYsGLhqCnnNa+iKsL DwcUOykESBE+26b34XZ4j/NdGpn3EUI2UUwyFoHth+EXlNhW562q++CTtHY8DNZIW/E1kz+75Ix/y gcqUS7qsLqk2gjnjyrlU6kdBCjYv02Ev3NQUmgSSSdMWwJzrhEQa8Z2uSirh99SgcEX5lnsxvabmy qoB7GpsRDd80yqFQvDSZhQ==; Received: from [87.69.77.57] (port=2582 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mrEE0-0007SL-Nl; Sun, 28 Nov 2021 02:03:49 -0500 Date: Sun, 28 Nov 2021 09:03:58 +0200 Message-Id: <83lf18yd5t.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87zgppl1ag.fsf@gmail.com> (message from Matthias Meulien on Sat, 27 Nov 2021 22:46:31 +0100) References: <87zgppl1ag.fsf@gmail.com> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -3.3 (---) > From: Matthias Meulien > Date: Sat, 27 Nov 2021 22:46:31 +0100 > > This is a feature request. I would find convenient and safer to list > buffers to kill when `project-kill-buffers' is called. > > The attached patch is an attempt to implement this feature, inspired by > what I read in `save-buffers-kill-emacs' implementation. Thanks. My suggestion is to make this display optional, since it isn't clear that everyone would like such a buffer to pop up. From unknown Fri Sep 19 13:24:52 2025 X-Loop: help-debbugs@gnu.org Subject: bug#52148: 29.0.50; [PATCH] Make `project-kill-buffers' display list of buffers to kill Resent-From: Matthias Meulien Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 28 Nov 2021 08:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 52148 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 52148@debbugs.gnu.org Received: via spool by 52148-submit@debbugs.gnu.org id=B52148.16380871212530 (code B ref 52148); Sun, 28 Nov 2021 08:12:02 +0000 Received: (at 52148) by debbugs.gnu.org; 28 Nov 2021 08:12:01 +0000 Received: from localhost ([127.0.0.1]:34897 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrFI1-0000ek-4H for submit@debbugs.gnu.org; Sun, 28 Nov 2021 03:12:01 -0500 Received: from mail-wm1-f52.google.com ([209.85.128.52]:39523) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrFHz-0000eV-F9 for 52148@debbugs.gnu.org; Sun, 28 Nov 2021 03:12:00 -0500 Received: by mail-wm1-f52.google.com with SMTP id n33-20020a05600c502100b0032fb900951eso14213299wmr.4 for <52148@debbugs.gnu.org>; Sun, 28 Nov 2021 00:11:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=fEhcYlTNtGbmg6iv3uxL+HRNq+ZXMCslMGCnJS1sTxs=; b=AhdKYZL9hGQfAzIWwK3MpH3oKuUKYOlhe/EFAYmgGMEXB0u7xGxELBhDtr3628aro4 Q/jhkvNMUYRe9aBEl79qXxhOeNTb8xuK3fxmnpgrDhEPUiLu85Jv4Zt9TitXbE5ftJJU ShvZQM4O9pnjszCUWbM5ZKXKpRltN4BGMN8uARlm4YPstQ7nRtloWXpYr3MRc7gyMKe/ P5frPVG90ViStXrUvbUVvEMxTQLPmhfvrCFRvBI6VEN2f+SWO6aiST7mo39xYcywJ9eK ndJ7J33/XYaLkHHk9XN1MPeSknN8YA/63Uln5gtxI5SdQmP3gFKZPO1IF+F7RUlwx5zh 4y2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=fEhcYlTNtGbmg6iv3uxL+HRNq+ZXMCslMGCnJS1sTxs=; b=cbxle/4WlKVGTCmTJuxWbiOB62omXTTHCizr2kW7atUov3UOga1BYmcUn48xN8IbMw P6iwhduGDBZ9PUE2R1mtbB6qTscIFSauObgo5UyBa6uXap6Co7WCWvg7hifBIexyItAY /spuUtoWNlnd6JZO3gmPHA8wBe6NfhcRvueEhGMOI0L6GKqH+kol7IXoutYEKQ6kRjL/ 3lgvBluNNXOhVniDj+tbv6d2OZe+mTfJHk/a+XjMghMF9W7nHR4zAjzmOagXsMFyl+sf U+U476WVqAimwsvf6N2Kig1KiLo2dJZCHHHryPiHCNe+VQTg+biyaHsCmD0k/hmF0Nt5 fb1A== X-Gm-Message-State: AOAM531uiYJMn94Nu+7jcxea2pzrsWmM1+3T4lDLqk3/6gZ90f83GdN5 tpwKYHCUNNQVn0Fg/u6H6tJA23hO8NU= X-Google-Smtp-Source: ABdhPJwfcPJGDQikBbffhDOoJRr4FQxZrAPsJyjsasROBMNo0r08UKy+pDKSiEkqvtYUsbT2bJDYUg== X-Received: by 2002:a1c:790d:: with SMTP id l13mr28992719wme.101.1638087113559; Sun, 28 Nov 2021 00:11:53 -0800 (PST) Received: from carbon.localdomain ([2a01:e0a:245:c850:98f5:429a:aa8e:95bb]) by smtp.gmail.com with ESMTPSA id 38sm10682170wrc.1.2021.11.28.00.11.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Nov 2021 00:11:53 -0800 (PST) From: Matthias Meulien References: <87zgppl1ag.fsf@gmail.com> <83lf18yd5t.fsf@gnu.org> Date: Sun, 28 Nov 2021 09:11:52 +0100 In-Reply-To: <83lf18yd5t.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 28 Nov 2021 09:03:58 +0200") Message-ID: <87v90clmwn.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.0 (-) --=-=-= Content-Type: text/plain Eli Zaretskii writes: > Thanks. My suggestion is to make this display optional, since it > isn't clear that everyone would like such a buffer to pop up. You're right. Here is an updated patch. Not sure of the value of "package-version" I should have used... I also added a NEWS entry. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-project-kill-buffers-can-display-list-of-buffers-to-.patch >From 904f06bbfec2468a0417454f7d8dcdbbe5ff8434 Mon Sep 17 00:00:00 2001 From: Matthias Meulien Date: Sat, 27 Nov 2021 22:43:20 +0100 Subject: [PATCH] project-kill-buffers can display list of buffers to kill * lisp/progmodes/project.el (project-kill-buffers-display-buffer-list): Option to toggle temporarily display of the list of buffers to kill when calling project-kill-buffers (project-kill-buffers): Handle project-kill-buffers-display-buffer-list option --- etc/NEWS | 4 ++++ lisp/progmodes/project.el | 38 ++++++++++++++++++++++++++++++++++---- 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 87a7a43a5e..2bc1e0046a 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -427,6 +427,10 @@ it with new 'term-{faint,italic,slow-blink,fast-blink}' faces. *** 'project-find-file' and 'project-or-external-find-file' now accept a prefix argument which is interpreted to mean "include all files". +*** 'project-kill-buffers' can display the list of buffers to kill. +Customize the user option 'project-kill-buffers-display-buffer-list' +to enable the display of the buffer list. + +++ *** New command 'xref-go-forward'. It is bound to 'C-M-,' and jumps to the location where 'xref-go-back' diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index ed076a683d..47cd5d28d8 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -1210,6 +1210,14 @@ project-kill-buffer-conditions :group 'project :package-version '(project . "0.6.0")) +(defcustom project-kill-buffers-display-buffer-list nil + "Non-nil to display list of buffers to kill before killing project buffers." + :type 'boolean + :version "29.0" + :group 'project + :package-version '(project . "0.8.1") + :safe #'booleanp) + (defun project--buffer-list (pr) "Return the list of all buffers in project PR." (let ((conn (file-remote-p (project-root pr))) @@ -1276,14 +1284,36 @@ project-kill-buffers interactively." (interactive) (let* ((pr (project-current t)) - (bufs (project--buffers-to-kill pr))) + (bufs (project--buffers-to-kill pr)) + (query-user (lambda () + (yes-or-no-p + (format "Kill %d buffers in %s? " + (length bufs) + (project-root pr)))))) (cond (no-confirm (mapc #'kill-buffer bufs)) ((null bufs) (message "No buffers to kill")) - ((yes-or-no-p (format "Kill %d buffers in %s? " - (length bufs) - (project-root pr))) + (project-kill-buffers-display-buffer-list + (with-current-buffer-window + (get-buffer-create "*Buffer List*") + `(display-buffer--maybe-at-bottom + (dedicated . t) + (window-height . (fit-window-to-buffer)) + (preserve-size . (nil . t)) + (body-function + . ,#'(lambda (_window) + (list-buffers-noselect nil bufs)))) + #'(lambda (window _value) + (with-selected-window window + (unwind-protect + (progn + (setq confirm nil) + (funcall query-user)) + (when (window-live-p window) + (quit-restore-window window 'kill)))))) + (mapc #'kill-buffer bufs)) + ((funcall query-user) (mapc #'kill-buffer bufs))))) -- 2.30.2 --=-=-= Content-Type: text/plain -- Matthias --=-=-=-- From unknown Fri Sep 19 13:24:52 2025 X-Loop: help-debbugs@gnu.org Subject: bug#52148: 29.0.50; [PATCH] Make `project-kill-buffers' display list of buffers to kill Resent-From: Matthias Meulien Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 28 Nov 2021 08:22:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 52148 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 52148@debbugs.gnu.org Received: via spool by 52148-submit@debbugs.gnu.org id=B52148.16380876823543 (code B ref 52148); Sun, 28 Nov 2021 08:22:02 +0000 Received: (at 52148) by debbugs.gnu.org; 28 Nov 2021 08:21:22 +0000 Received: from localhost ([127.0.0.1]:34912 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrFR3-0000v4-SB for submit@debbugs.gnu.org; Sun, 28 Nov 2021 03:21:22 -0500 Received: from mail-wm1-f51.google.com ([209.85.128.51]:44933) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrFR2-0000ur-T2 for 52148@debbugs.gnu.org; Sun, 28 Nov 2021 03:21:21 -0500 Received: by mail-wm1-f51.google.com with SMTP id p27-20020a05600c1d9b00b0033bf8532855so10003724wms.3 for <52148@debbugs.gnu.org>; Sun, 28 Nov 2021 00:21:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=kLLpexZ8+nkhuahuz/Bfng+ag2SxwuXTYsizWo9wM+4=; b=jCsl4hisdFbyMhCyMMk+4bdhyZCHqpWieJ58bynqR40S24dPei6GSHDPUS9rEN+iNU BxFtZkEilU0eIG5iPqESdPywuzxKE1iYEMvW+F+0VRj9cjiENcVB07jDfTXAtsfhMmER 0SexJgqbAJ07B8Yq3m8lf/SOlkREF7x0HrtlWln78jq7sCCz9yXHTkvQk3jw0MSuL3YN O5wMZfVxQTOSP1c0hQUBXeOS+5VAMG8LHsZcpcKsAsAsBKQx1b0r1ItrmyQMS2ffRSV4 TILHO1W6GS7He9mMpTK1zFuQGDWPCnLR7lwQ1rdu54iVG+W5gXqqM84RGI4wWuhwZVML JJFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=kLLpexZ8+nkhuahuz/Bfng+ag2SxwuXTYsizWo9wM+4=; b=JhoIjpUbGzPenA/9Z1G0pBPRUfmhD9vMpQjTeBIdd87nToNticKuczIkb1LzD6CPQh h6Lk+f5VpfWmb+MjAMoWkPpz5+aX4txFMTGSjG1KsoIRT6PtbPCVnYLDvfT+9Ocim7z0 R1Gb1uVrOPx4GA+AGNUXvgET8iqRcbRKlm9UZ2BHZ66zoDANJ7ktTm4h2DuQ4M82TVP7 E8e0H7eBsBsVkboeZE8ACxfGmO1eGt8ZAMJKFiQf5cqWu/yHDRzCQaVo27bVaECP/Myg ecFX2m7CfTGjeAnC1lTC/twfNf11JeZaOvxkFNeGDbrz+VY/+Wvhk9+FEZ/ERzxKgF0g 12XA== X-Gm-Message-State: AOAM531D7ObttQbWBZZdiKXnowlvvH3ljbPMlydJpewIEfNnxspzgRu2 NyBa+O6ctlaZ8jfdTa89T+4x7YWBOYY= X-Google-Smtp-Source: ABdhPJzyIeUf6h2ERtYTiLlOdyf2U72zB3AsjrVfRuEKMG879BvONw+XnwjJbn5SwzUPSbm9pwS4LA== X-Received: by 2002:a05:600c:1990:: with SMTP id t16mr27337295wmq.48.1638087675056; Sun, 28 Nov 2021 00:21:15 -0800 (PST) Received: from carbon.localdomain ([2a01:e0a:245:c850:98f5:429a:aa8e:95bb]) by smtp.gmail.com with ESMTPSA id h27sm17725530wmc.43.2021.11.28.00.21.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Nov 2021 00:21:14 -0800 (PST) From: Matthias Meulien References: <87zgppl1ag.fsf@gmail.com> <83lf18yd5t.fsf@gnu.org> Date: Sun, 28 Nov 2021 09:21:13 +0100 In-Reply-To: <83lf18yd5t.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 28 Nov 2021 09:03:58 +0200") Message-ID: <87r1b0lmh2.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.0 (-) --=-=-= Content-Type: text/plain Minor patch update to remove an unused variable. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-project-kill-buffers-can-display-list-of-buffers-to-.patch >From 22a88c638c0404a5d28b1904edac1462258d9a1e Mon Sep 17 00:00:00 2001 From: Matthias Meulien Date: Sat, 27 Nov 2021 22:43:20 +0100 Subject: [PATCH] project-kill-buffers can display list of buffers to kill * lisp/progmodes/project.el (project-kill-buffers-display-buffer-list): Option to toggle temporarily display of the list of buffers to kill when calling project-kill-buffers (project-kill-buffers): Handle project-kill-buffers-display-buffer-list option --- etc/NEWS | 4 ++++ lisp/progmodes/project.el | 36 ++++++++++++++++++++++++++++++++---- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 87a7a43a5e..2bc1e0046a 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -427,6 +427,10 @@ it with new 'term-{faint,italic,slow-blink,fast-blink}' faces. *** 'project-find-file' and 'project-or-external-find-file' now accept a prefix argument which is interpreted to mean "include all files". +*** 'project-kill-buffers' can display the list of buffers to kill. +Customize the user option 'project-kill-buffers-display-buffer-list' +to enable the display of the buffer list. + +++ *** New command 'xref-go-forward'. It is bound to 'C-M-,' and jumps to the location where 'xref-go-back' diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index ed076a683d..f845a01136 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -1210,6 +1210,14 @@ project-kill-buffer-conditions :group 'project :package-version '(project . "0.6.0")) +(defcustom project-kill-buffers-display-buffer-list nil + "Non-nil to display list of buffers to kill before killing project buffers." + :type 'boolean + :version "29.0" + :group 'project + :package-version '(project . "0.8.1") + :safe #'booleanp) + (defun project--buffer-list (pr) "Return the list of all buffers in project PR." (let ((conn (file-remote-p (project-root pr))) @@ -1276,14 +1284,34 @@ project-kill-buffers interactively." (interactive) (let* ((pr (project-current t)) - (bufs (project--buffers-to-kill pr))) + (bufs (project--buffers-to-kill pr)) + (query-user (lambda () + (yes-or-no-p + (format "Kill %d buffers in %s? " + (length bufs) + (project-root pr)))))) (cond (no-confirm (mapc #'kill-buffer bufs)) ((null bufs) (message "No buffers to kill")) - ((yes-or-no-p (format "Kill %d buffers in %s? " - (length bufs) - (project-root pr))) + (project-kill-buffers-display-buffer-list + (with-current-buffer-window + (get-buffer-create "*Buffer List*") + `(display-buffer--maybe-at-bottom + (dedicated . t) + (window-height . (fit-window-to-buffer)) + (preserve-size . (nil . t)) + (body-function + . ,#'(lambda (_window) + (list-buffers-noselect nil bufs)))) + #'(lambda (window _value) + (with-selected-window window + (unwind-protect + (funcall query-user) + (when (window-live-p window) + (quit-restore-window window 'kill)))))) + (mapc #'kill-buffer bufs)) + ((funcall query-user) (mapc #'kill-buffer bufs))))) -- 2.30.2 --=-=-= Content-Type: text/plain -- Matthias --=-=-=-- From unknown Fri Sep 19 13:24:52 2025 X-Loop: help-debbugs@gnu.org Subject: bug#52148: 29.0.50; [PATCH] Make `project-kill-buffers' display list of buffers to kill Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 28 Nov 2021 08:34:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 52148 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Matthias Meulien Cc: 52148@debbugs.gnu.org Received: via spool by 52148-submit@debbugs.gnu.org id=B52148.16380884044657 (code B ref 52148); Sun, 28 Nov 2021 08:34:02 +0000 Received: (at 52148) by debbugs.gnu.org; 28 Nov 2021 08:33:24 +0000 Received: from localhost ([127.0.0.1]:34917 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrFci-0001D3-2r for submit@debbugs.gnu.org; Sun, 28 Nov 2021 03:33:24 -0500 Received: from eggs.gnu.org ([209.51.188.92]:43744) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrFcg-0001Cp-GZ for 52148@debbugs.gnu.org; Sun, 28 Nov 2021 03:33:23 -0500 Received: from [2001:470:142:3::e] (port=56068 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mrFcb-0003WC-45; Sun, 28 Nov 2021 03:33:17 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=e17ymZlu6eXKrP5S13lgS39l4EFQa4l+qgPou7du8FQ=; b=jwUKIkRaTCyE Zh/G6zds2oTS2uVu8nLYOb7XtPcI+MFvueatcdy58uf/kCVAjoiXGfOZGMHo4U5IgZTn8mvRhd7ug XV86H/PuBfvs+dUcsJq6ZBgKuddVfJgtMTrdUg4ef7aYx1dzAg+qrz20rYKxrpnsBrTmTTB1nG//z JDGjK1ji0riYVCyqsmudLi63w54RF6/W5kODPg+h6O2oUtY+Gx/gbaiUTi0RRHwvATLkBdGxU9saW LMUHNMPdX6oy9gh/pWXu+d4PvVGOhaBBABdIQE8jcVBaN1ivIKilzTJirWChLDcBmwMA7VL3JTaRq 8RN39kaWGnSqfj4rSL45Hg==; Received: from [87.69.77.57] (port=4234 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mrFca-0000Gz-6C; Sun, 28 Nov 2021 03:33:17 -0500 Date: Sun, 28 Nov 2021 10:33:26 +0200 Message-Id: <8335ngy90p.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87v90clmwn.fsf@gmail.com> (message from Matthias Meulien on Sun, 28 Nov 2021 09:11:52 +0100) References: <87zgppl1ag.fsf@gmail.com> <83lf18yd5t.fsf@gnu.org> <87v90clmwn.fsf@gmail.com> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -3.3 (---) > From: Matthias Meulien > Cc: 52148@debbugs.gnu.org > Date: Sun, 28 Nov 2021 09:11:52 +0100 > > Here is an updated patch. Not sure of the value of "package-version" I > should have used... > > I also added a NEWS entry. Thanks. A couple of minor comments below. > +(defcustom project-kill-buffers-display-buffer-list nil > + "Non-nil to display list of buffers to kill before killing project buffers." The doc string should mention 'project-kill-buffers' (not necessarily in the first sentence), to make the context and domain of the option more clear. > + :version "29.0" This should be "29.1". We never release NN.0 versions, the first version of a major release is always NN.1. From unknown Fri Sep 19 13:24:52 2025 X-Loop: help-debbugs@gnu.org Subject: bug#52148: 29.0.50; [PATCH] Make `project-kill-buffers' display list of buffers to kill Resent-From: Matthias Meulien Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 28 Nov 2021 08:43:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 52148 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 52148@debbugs.gnu.org Received: via spool by 52148-submit@debbugs.gnu.org id=B52148.16380889395463 (code B ref 52148); Sun, 28 Nov 2021 08:43:01 +0000 Received: (at 52148) by debbugs.gnu.org; 28 Nov 2021 08:42:19 +0000 Received: from localhost ([127.0.0.1]:34928 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrFlL-0001Q3-D2 for submit@debbugs.gnu.org; Sun, 28 Nov 2021 03:42:19 -0500 Received: from mail-wr1-f45.google.com ([209.85.221.45]:37546) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrFlI-0001Pp-SA for 52148@debbugs.gnu.org; Sun, 28 Nov 2021 03:42:17 -0500 Received: by mail-wr1-f45.google.com with SMTP id d9so8490921wrw.4 for <52148@debbugs.gnu.org>; Sun, 28 Nov 2021 00:42:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=KeBGtj8R7A8rvf7RAPmDBxxdRQBnI0hQB3e3QPcyTj4=; b=Aj8U3yRYUNVfzoaFBy4vnD/diCTMJjlitVoirSY53Ai64J6Jwd/uXuMNAc74EP8Len PLRXu06cOTJVp61HtZTl5V4ecnk46ljw8Urn9ynxegfS3QAm9ROIQ4sTm1BjWn45ZwxX Y26apeQzfB5MUa16o0a2aQyddnRiNXX9u3UyADI7RYO6505Nc4DHx/2TKGb5IhjLNxD2 y/UEqNyXhesCKLOL+V+Kj12JpY6CK85npVW+p/ZoAC5cXAogqKlOVDyPuyzDa0ChaKo7 Ds8gFpq2lBUY76UH3IrcbMqN9hGUV3Bwtl7zIKOTrStYD6kLvO2XXfAU0KJcpcWS4mhL xZ4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=KeBGtj8R7A8rvf7RAPmDBxxdRQBnI0hQB3e3QPcyTj4=; b=EarmCbZ89tONXfy9IOb46/qplNf9rTWzFjCklGk7/rDGZNoKJ62ajJ7xZIngqzqdeB t0A6QfcB5V+ZSXTWFAsHG1LZSmEwgb4qEFavXFoxuXtB7UKqGf9+Ly6xviubrlKVrbKM 1+GPY49qTIN6RNZdEirFgNJbl2uLUb5VNQsIxflL66b0Xmjpf37lGT21Dw3pQR9xhoLU VDw+YUkLYi5egRArA3WA9sVEbrhdCfR1aj0Gro0bBNxrnt6SIq+mcnwUsju0E/aBYpHz YPw229h5ezLSeblarEG978wMSarfBzDn13L6A/+Va3aFaIIte1dQXN2M6L/I884/XDXj xB2A== X-Gm-Message-State: AOAM5307eLnGwl/svSJbIcaEAzUXa7qgHwOIlHp6TUsEG0Idj/nR3Atm xXI2EqcMIEoybzQd23R/6wnSJY+PJN0= X-Google-Smtp-Source: ABdhPJzzlyc8B2lcohnLS83aP9p4Fha07526CTynSmBjX2CllP1Zxycm29VLzP/4Wslb844ms8Tp1w== X-Received: by 2002:adf:d1cb:: with SMTP id b11mr25740277wrd.33.1638088930825; Sun, 28 Nov 2021 00:42:10 -0800 (PST) Received: from carbon.localdomain ([2a01:e0a:245:c850:98f5:429a:aa8e:95bb]) by smtp.gmail.com with ESMTPSA id l4sm10262900wrv.94.2021.11.28.00.42.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Nov 2021 00:42:10 -0800 (PST) From: Matthias Meulien References: <87zgppl1ag.fsf@gmail.com> <83lf18yd5t.fsf@gnu.org> <87v90clmwn.fsf@gmail.com> <8335ngy90p.fsf@gnu.org> Date: Sun, 28 Nov 2021 09:42:09 +0100 In-Reply-To: <8335ngy90p.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 28 Nov 2021 10:33:26 +0200") Message-ID: <87k0gslli6.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.0 (-) --=-=-= Content-Type: text/plain Eli Zaretskii writes: > Thanks. A couple of minor comments below. Updated patch: --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-project-kill-buffers-can-display-list-of-buffers-to-.patch >From fbb8829f93f7e898b3d243e9ed80101f0f0e1b8b Mon Sep 17 00:00:00 2001 From: Matthias Meulien Date: Sat, 27 Nov 2021 22:43:20 +0100 Subject: [PATCH] project-kill-buffers can display list of buffers to kill * lisp/progmodes/project.el (project-kill-buffers-display-buffer-list): Option to toggle temporarily display of the list of buffers to kill when calling project-kill-buffers (project-kill-buffers): Handle project-kill-buffers-display-buffer-list option --- etc/NEWS | 4 ++++ lisp/progmodes/project.el | 37 +++++++++++++++++++++++++++++++++---- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 87a7a43a5e..2bc1e0046a 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -427,6 +427,10 @@ it with new 'term-{faint,italic,slow-blink,fast-blink}' faces. *** 'project-find-file' and 'project-or-external-find-file' now accept a prefix argument which is interpreted to mean "include all files". +*** 'project-kill-buffers' can display the list of buffers to kill. +Customize the user option 'project-kill-buffers-display-buffer-list' +to enable the display of the buffer list. + +++ *** New command 'xref-go-forward'. It is bound to 'C-M-,' and jumps to the location where 'xref-go-back' diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index ed076a683d..14df03570d 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -1210,6 +1210,15 @@ project-kill-buffer-conditions :group 'project :package-version '(project . "0.6.0")) +(defcustom project-kill-buffers-display-buffer-list nil + "Non-nil to display list of buffers to kill before killing project buffers. +Used by `project-kill-buffers'." + :type 'boolean + :version "29.1" + :group 'project + :package-version '(project . "0.8.1") + :safe #'booleanp) + (defun project--buffer-list (pr) "Return the list of all buffers in project PR." (let ((conn (file-remote-p (project-root pr))) @@ -1276,14 +1285,34 @@ project-kill-buffers interactively." (interactive) (let* ((pr (project-current t)) - (bufs (project--buffers-to-kill pr))) + (bufs (project--buffers-to-kill pr)) + (query-user (lambda () + (yes-or-no-p + (format "Kill %d buffers in %s? " + (length bufs) + (project-root pr)))))) (cond (no-confirm (mapc #'kill-buffer bufs)) ((null bufs) (message "No buffers to kill")) - ((yes-or-no-p (format "Kill %d buffers in %s? " - (length bufs) - (project-root pr))) + (project-kill-buffers-display-buffer-list + (with-current-buffer-window + (get-buffer-create "*Buffer List*") + `(display-buffer--maybe-at-bottom + (dedicated . t) + (window-height . (fit-window-to-buffer)) + (preserve-size . (nil . t)) + (body-function + . ,#'(lambda (_window) + (list-buffers-noselect nil bufs)))) + #'(lambda (window _value) + (with-selected-window window + (unwind-protect + (funcall query-user) + (when (window-live-p window) + (quit-restore-window window 'kill)))))) + (mapc #'kill-buffer bufs)) + ((funcall query-user) (mapc #'kill-buffer bufs))))) -- 2.30.2 --=-=-= Content-Type: text/plain -- Matthias --=-=-=-- From unknown Fri Sep 19 13:24:52 2025 X-Loop: help-debbugs@gnu.org Subject: bug#52148: Acknowledgement (29.0.50; [PATCH] Make `project-kill-buffers' display list of buffers to kill) Resent-From: Matthias Meulien Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 28 Nov 2021 20:26:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 52148 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 52148@debbugs.gnu.org X-Debbugs-Original-To: help-debbugs@gnu.org (GNU bug Tracking System) X-Debbugs-Original-Cc: 52148@debbugs.gnu.org Received: via spool by 52148-submit@debbugs.gnu.org id=B52148.163813115812629 (code B ref 52148); Sun, 28 Nov 2021 20:26:02 +0000 Received: (at 52148) by debbugs.gnu.org; 28 Nov 2021 20:25:58 +0000 Received: from localhost ([127.0.0.1]:36408 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrQkI-0003Hc-9P for submit@debbugs.gnu.org; Sun, 28 Nov 2021 15:25:58 -0500 Received: from mail-wr1-f48.google.com ([209.85.221.48]:41886) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrQkF-0003HP-QW for 52148@debbugs.gnu.org; Sun, 28 Nov 2021 15:25:56 -0500 Received: by mail-wr1-f48.google.com with SMTP id a9so32105685wrr.8 for <52148@debbugs.gnu.org>; Sun, 28 Nov 2021 12:25:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=0Z8jWywP1rqkk/4I2UfxdtMVJgtZ3qVZulZTzfZMtaQ=; b=dVDvzBhjKwYtmRZVJOTy1PCjeNh7zLzXF/77eTz2Zuv3fg++fb3kyUg5c13uPLdCHd YqsHb+BFD+rysNqOEpJdFDO1o57j/gMK0Ps65T9NtHtysFbgMAAVFjt9mt2DZ9OL3/fy V2glTnZaQUzTIt1zHZjRvglJ0aY79cklwJOmBX5CS31d0ZuQ/Xq1M/aE/s13LNaN/jqD udtDFxU0ZiUFERWIdkAAoBnKBBRpwRX33TtgYPMdIRgFoZaZTySvbSidLV18S/w+LZ8N qSTx4Yc8B3gDDawQrXJb8RfaiQ3o/MJ5p+nwnh8SeMNnuEfFIp9shGX3fWPNtLoKhFpr 7oFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=0Z8jWywP1rqkk/4I2UfxdtMVJgtZ3qVZulZTzfZMtaQ=; b=F3/+a8xF+Bf5emBb8RHqtXYCG6dukQBVXs62iBtJpNr/7K2PSrX6Glzuu1qSsgY97i 3476UX4aVVdjM0sgQrosuvWAp4YKIgD0PzLQ0jiq+F9LL2PPcZTulOQRECS0zNbVrEY+ 1gg0KtTE3oymw8Hd8QzuCjCHymfWuinSD5fqiAtProc2PBBWWprgLjn+o2aqVPlcmkIP clmtft+ogrLPhxwAGV4JBlkruE0PpLB2zexIRuvp4L/ddtgRTrrl5POAzHHd1tZ860CA XBkUY9JQf69+uz8JywOu5VM7TEtlUi+yke/p0bbR0YR1Hz9juwBbmfmHhgLmTtyBHnIE Y+gg== X-Gm-Message-State: AOAM532py2x3udRJgiXNYVmbx3/XMHOApv8ZMMEfsMFjVGmH6L37CCOC Pno8meoDB8/LiztsYxeIorf1VWOSthQ= X-Google-Smtp-Source: ABdhPJxsbHJvzlpytnRf/SPvLCjfYIT0l+/zd+2pS0hdPb4xVIl7Vixju1x0Oa22s0vDRxGdtLRgig== X-Received: by 2002:a5d:64ea:: with SMTP id g10mr29277078wri.137.1638131149887; Sun, 28 Nov 2021 12:25:49 -0800 (PST) Received: from carbon.localdomain ([2a01:e0a:245:c850:98f5:429a:aa8e:95bb]) by smtp.gmail.com with ESMTPSA id m7sm11994592wml.38.2021.11.28.12.25.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Nov 2021 12:25:49 -0800 (PST) From: Matthias Meulien References: <87zgppl1ag.fsf@gmail.com> Date: Sun, 28 Nov 2021 21:25:48 +0100 In-Reply-To: (GNU bug Tracking System's message of "Sat, 27 Nov 2021 21:47:02 +0000") Message-ID: <87fsrgkoxf.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.0 (-) --=-=-= Content-Type: text/plain Patch update: After I introduced the user option, the code was broken and buffers killed whatever the user answered. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-project-kill-buffers-can-display-list-of-buffers-to-.patch >From 65225000aabd1464bb81b655b5c0e7103bea4333 Mon Sep 17 00:00:00 2001 From: Matthias Meulien Date: Sat, 27 Nov 2021 22:43:20 +0100 Subject: [PATCH] project-kill-buffers can display list of buffers to kill * lisp/progmodes/project.el (project-kill-buffers-display-buffer-list): Option to toggle temporarily display of the list of buffers to kill when calling project-kill-buffers (project-kill-buffers): Handle project-kill-buffers-display-buffer-list option --- etc/NEWS | 4 ++++ lisp/progmodes/project.el | 39 +++++++++++++++++++++++++++++++++++---- 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 87a7a43a5e..2bc1e0046a 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -427,6 +427,10 @@ it with new 'term-{faint,italic,slow-blink,fast-blink}' faces. *** 'project-find-file' and 'project-or-external-find-file' now accept a prefix argument which is interpreted to mean "include all files". +*** 'project-kill-buffers' can display the list of buffers to kill. +Customize the user option 'project-kill-buffers-display-buffer-list' +to enable the display of the buffer list. + +++ *** New command 'xref-go-forward'. It is bound to 'C-M-,' and jumps to the location where 'xref-go-back' diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index ed076a683d..fba9c7b2f5 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -1210,6 +1210,15 @@ project-kill-buffer-conditions :group 'project :package-version '(project . "0.6.0")) +(defcustom project-kill-buffers-display-buffer-list nil + "Non-nil to display list of buffers to kill before killing project buffers. +Used by `project-kill-buffers'." + :type 'boolean + :version "29.1" + :group 'project + :package-version '(project . "0.8.1") + :safe #'booleanp) + (defun project--buffer-list (pr) "Return the list of all buffers in project PR." (let ((conn (file-remote-p (project-root pr))) @@ -1276,14 +1285,36 @@ project-kill-buffers interactively." (interactive) (let* ((pr (project-current t)) - (bufs (project--buffers-to-kill pr))) + (bufs (project--buffers-to-kill pr)) + (query-user (lambda () + (yes-or-no-p + (format "Kill %d buffers in %s? " + (length bufs) + (project-root pr))))) + (confirm)) (cond (no-confirm (mapc #'kill-buffer bufs)) ((null bufs) (message "No buffers to kill")) - ((yes-or-no-p (format "Kill %d buffers in %s? " - (length bufs) - (project-root pr))) + (project-kill-buffers-display-buffer-list + (when + (with-current-buffer-window + (get-buffer-create "*Buffer List*") + `(display-buffer--maybe-at-bottom + (dedicated . t) + (window-height . (fit-window-to-buffer)) + (preserve-size . (nil . t)) + (body-function + . ,#'(lambda (_window) + (list-buffers-noselect nil bufs)))) + #'(lambda (window _value) + (with-selected-window window + (unwind-protect + (funcall query-user) + (when (window-live-p window) + (quit-restore-window window 'kill)))))) + (mapc #'kill-buffer bufs))) + ((funcall query-user) (mapc #'kill-buffer bufs))))) -- 2.30.2 --=-=-= Content-Type: text/plain -- Matthias --=-=-=-- From unknown Fri Sep 19 13:24:52 2025 X-Loop: help-debbugs@gnu.org Subject: bug#52148: 29.0.50; [PATCH] Make `project-kill-buffers' display list of buffers to kill Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 29 Nov 2021 15:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 52148 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Matthias Meulien Cc: 52148@debbugs.gnu.org Received: via spool by 52148-submit@debbugs.gnu.org id=B52148.16382005452485 (code B ref 52148); Mon, 29 Nov 2021 15:43:02 +0000 Received: (at 52148) by debbugs.gnu.org; 29 Nov 2021 15:42:25 +0000 Received: from localhost ([127.0.0.1]:38956 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrinR-0000e0-IB for submit@debbugs.gnu.org; Mon, 29 Nov 2021 10:42:25 -0500 Received: from quimby.gnus.org ([95.216.78.240]:59356) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrinQ-0000dW-3R for 52148@debbugs.gnu.org; Mon, 29 Nov 2021 10:42:24 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=cGiieaI60HeZPZEgL3SdRb3Dut/fQyZuTSFQBQGe0WM=; b=LOvPYeuQLM5VkmnCe1FCVvMOOc miRYr51qSCLukSJa/WtonC1+nw/vG0lErDOBfQ/FyuZw0d8XFo5Mu8d2ubFdq6xAwgh0ahpIQAtjR VhCS0rMK/qTRqHvo6aXg/wmN9fXS2crSOgZWhMBGWD2F4NJNxCnTgKn8eNSniF6XlDSE=; Received: from [84.212.220.105] (helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mrinH-0005kY-6t; Mon, 29 Nov 2021 16:42:18 +0100 From: Lars Ingebrigtsen References: <87zgppl1ag.fsf@gmail.com> <87fsrgkoxf.fsf@gmail.com> X-Now-Playing: Mia Doi Todd's _Music Life_: "Little Bird (feat. Fabiano do Nascimento & Miguel Atwood-Ferguson)" Date: Mon, 29 Nov 2021 16:42:13 +0100 In-Reply-To: <87fsrgkoxf.fsf@gmail.com> (Matthias Meulien's message of "Sun, 28 Nov 2021 21:25:48 +0100") Message-ID: <875ysbvui2.fsf_-_@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Matthias Meulien writes: > Subject: [PATCH] project-kill-buffers can display list of buffers to kill Thanks; applied to Emacs 29. Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -3.3 (---) Matthias Meulien writes: > Subject: [PATCH] project-kill-buffers can display list of buffers to kill Thanks; applied to Emacs 29. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 29 10:42:33 2021 Received: (at control) by debbugs.gnu.org; 29 Nov 2021 15:42:33 +0000 Received: from localhost ([127.0.0.1]:38965 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrinY-0000eq-Qv for submit@debbugs.gnu.org; Mon, 29 Nov 2021 10:42:32 -0500 Received: from quimby.gnus.org ([95.216.78.240]:59370) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrinW-0000dz-IF for control@debbugs.gnu.org; Mon, 29 Nov 2021 10:42:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=XLAnjy4b1IVm0wLM2vhvPj0V//7ldGmp2+AgWv5FnMo=; b=jrBdCFD8k2oI2IxpIEDSheeHj0 0zVY5bkAprwPEUx89jnsKydR7dLe06K/QpUokbcMHYyQlQ9fF89TS+aOW1xFtjEhl6RPtA/SFFppO yLEa/67yX1N8f66XD9Nq8FF2p3VhDdHYs/uzP9M1IAvnDGi4jQZk0xd67oZwaEK0dMIA=; Received: from [84.212.220.105] (helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mrinO-0005ki-QA for control@debbugs.gnu.org; Mon, 29 Nov 2021 16:42:24 +0100 Date: Mon, 29 Nov 2021 16:42:21 +0100 Message-Id: <874k7vvuhu.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #52148 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: close 52148 29.1 quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -3.3 (---) close 52148 29.1 quit