From unknown Tue Jun 17 22:09:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64079: 28.2; dired-mouse-find-file does not respect dired-kill-when-opening-new-dired-buffer Resent-From: Fadi Moukayed Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 15 Jun 2023 09:58:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 64079 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 64079@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.168682304419397 (code B ref -1); Thu, 15 Jun 2023 09:58:01 +0000 Received: (at submit) by debbugs.gnu.org; 15 Jun 2023 09:57:24 +0000 Received: from localhost ([127.0.0.1]:46238 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q9jjG-00052m-OC for submit@debbugs.gnu.org; Thu, 15 Jun 2023 05:57:24 -0400 Received: from lists.gnu.org ([209.51.188.17]:54778) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q9ikg-0003Jt-RI for submit@debbugs.gnu.org; Thu, 15 Jun 2023 04:54:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q9ike-0005Mg-Kz for bug-gnu-emacs@gnu.org; Thu, 15 Jun 2023 04:54:44 -0400 Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q9ikc-0005ha-1c for bug-gnu-emacs@gnu.org; Thu, 15 Jun 2023 04:54:44 -0400 Received: by mail-ej1-x62e.google.com with SMTP id a640c23a62f3a-9827109c6e9so204721966b.3 for ; Thu, 15 Jun 2023 01:54:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686819279; x=1689411279; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=5NhbFB/LoPPvINoyzqWr0qX3psWEdUKhpJc2CZUh2Js=; b=Fv4cRcSlWkV7W7DyGotAUaiiax7pMMx2kre+wxUb1A2nCmvJd06+arW/dNdvKQRaDn kDUXrgI+ZMZQ7Z9jsGa9NHfT4ueOiq1B7O26u5wsqDCxf2uDjMqkXQ/MGM2zW8wNyUDk agDDPcMnZR+qB9Z5UYsFaEg3z/77D8s0S3g0oFTfNprliYbADJUyCiL6Jc5NjVPvZK7o 2PCPmqNuePv6YH+FCPACOdmvwl2WPIFNQkiFnA8wvLN8T1u2lqdfqfZKKPichWLa1obb AVnOw4I39aYhItOYPRw4P4IACDOqzA4r6hMJe08ynXgrAxiRYkd05Df2fRtZNauMwsMS HRcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686819279; x=1689411279; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=5NhbFB/LoPPvINoyzqWr0qX3psWEdUKhpJc2CZUh2Js=; b=D8Wz0LRsyeqSsWx64iBsxu8/kVzmjvkVE57AQxz3fslMrMy/jM6RuCqoDi/i8YdxVx 8bCeYco+RshORItjRFBOycLpefVHQHNhwsDiEC41MiEZIn+DgucAKtnyoAQF7Qgpp2pj MFaBsqhNUZ1EqaMRldIJ8Vj3vBA0kd2dIfSovzDUG8hRdyGfBeAWdPipL/sV10YOYFAT E5ZFb2LelqecbkEzoD7wStF+Nmt+ihY7Tv3W6bDQVcnMleCsgybgYVu6fomPFgLyVNs5 lP3b813L8rZku2f/dWJDk1/6n050Hb1NCkfcj9+Fff/LFB6YRgMwFmhu6pa5LjMd6e9b 5GZA== X-Gm-Message-State: AC+VfDwjcNOv75TSGWkcMFM7LraN29K2BvmWBnK1INpdMipnnLHtwQF1 DWWCgTcebcBJA/iHKAbXhOYLVh7VW5bVCh7fUX0MVaIPGb0= X-Google-Smtp-Source: ACHHUZ64oLrgt+TQdjba6ISFUOzYNY92IeBrmGcM87sghtvW2VFWShIqUn0hNFRS1yNdk7CHOSGlnItr+7Kp/F69H2M= X-Received: by 2002:a17:907:707:b0:94f:956:b3f7 with SMTP id xb7-20020a170907070700b0094f0956b3f7mr15953311ejb.2.1686819279259; Thu, 15 Jun 2023 01:54:39 -0700 (PDT) MIME-Version: 1.0 From: Fadi Moukayed Date: Thu, 15 Jun 2023 10:54:27 +0200 Message-ID: Content-Type: text/plain; charset="UTF-8" Received-SPF: pass client-ip=2a00:1450:4864:20::62e; envelope-from=smfadi@gmail.com; helo=mail-ej1-x62e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Mailman-Approved-At: Thu, 15 Jun 2023 05:57:21 -0400 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 (--) Hi all, While attempting to rebind mouse-3 to `dired-mouse-find-file', I noticed that the `dired-kill-when-opening-new-dired-buffer' customization option is not being respected. `dired-mouse-find-file' opens directories in new dired buffers in all cases. Steps to reproduce: 1. Start Emacs 2. Open a `dired' buffer, e.g. using C-x d 3. Use M-: and evaluate the expression `(define-key dired-mode-map [mouse-3] 'dired-mouse-find-file)' 4. Navigate a nested directory tree (e.g. a/b/c/d) in dired by right-clicking on the directory names. Expected behavior: Only a dired buffer for d is retained. Observed behavior: dired buffers a, b, c are created and retained in addition to d. Hints: `dired-mouse-find-file' needs to contain similar logic to `dired--find-possibly-alternative-file' for checking the customization variable, or needs to delegate to the latter function. --- In GNU Emacs 28.2 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0) of 2023-06-02 built on lcy02-amd64-102 Repository revision: 08cc469f8738bad2a31ce5b4c4c55301b71d598b Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12201001 System Description: Ubuntu 22.04.2 LTS Configured using: 'configure --prefix=/snap/emacs/current/usr --with-x-toolkit=gtk3 --without-xaw3d --with-modules --with-cairo --with-native-compilation 'CFLAGS=-isystem/build/emacs/parts/emacs/install/usr/include -isystem/build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu -O2' 'CPPFLAGS=-isystem/build/emacs/parts/emacs/install/usr/include -isystem/build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu' 'LDFLAGS=-L/build/emacs/parts/emacs/install/lib -L/build/emacs/parts/emacs/install/usr/lib -L/build/emacs/parts/emacs/install/lib/x86_64-linux-gnu -L/build/emacs/parts/emacs/install/usr/lib/x86_64-linux-gnu'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD 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: de_DE.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Org Minor modes in effect: display-line-numbers-mode: t shell-dirtrack-mode: t delete-selection-mode: t recentf-mode: t global-whitespace-mode: t global-goto-address-mode: t goto-address-mode: t fido-vertical-mode: t icomplete-vertical-mode: t icomplete-mode: t fido-mode: t desktop-save-mode: t cua-mode: t windmove-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t prettify-symbols-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug sendmail display-line-numbers org-element avl-tree generator 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 gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range message 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-win gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums text-property-search mail-utils mm-util mail-prsvr ol-docview doc-view jka-compr image-mode exif dired dired-loaddefs ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete org-list org-faces org-entities noutline outline easy-mmode org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex ol org-keys oc org-compat advice org-macs org-loaddefs find-func cal-menu calendar cal-loaddefs tramp-cache tramp-sh tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat shell pcomplete comint ansi-color ring parse-time iso8601 time-date ls-lisp format-spec disp-table dracula-theme pcase delsel recentf tree-widget wid-edit whitespace goto-addr thingatpt icomplete desktop frameset cua-base cus-load finder-inf windmove edmacro kmacro site-start comp comp-cstr warnings rx cl-extra help-mode info slime-autoloads 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 subr-x map url-vars seq byte-opt gv 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 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 495514 24906) (symbols 48 30214 1) (strings 32 149409 4103) (string-bytes 1 4176844) (vectors 16 55880) (vector-slots 8 1622923 37169) (floats 8 363 740) (intervals 56 619 88) (buffers 992 12)) From unknown Tue Jun 17 22:09:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64079: 28.2; dired-mouse-find-file does not respect dired-kill-when-opening-new-dired-buffer Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 15 Jun 2023 10:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64079 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Fadi Moukayed Cc: 64079@debbugs.gnu.org Received: via spool by 64079-submit@debbugs.gnu.org id=B64079.168682611224931 (code B ref 64079); Thu, 15 Jun 2023 10:49:02 +0000 Received: (at 64079) by debbugs.gnu.org; 15 Jun 2023 10:48:32 +0000 Received: from localhost ([127.0.0.1]:46265 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q9kWl-0006U2-Nr for submit@debbugs.gnu.org; Thu, 15 Jun 2023 06:48:32 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46058) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q9kWj-0006TM-PC for 64079@debbugs.gnu.org; Thu, 15 Jun 2023 06:48:30 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q9kWe-0004gR-I8; Thu, 15 Jun 2023 06:48:24 -0400 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=0EhWf5SnGPl/aqhP0lJVhvMtyT22aljpIHaa8raHE/Q=; b=GlSA2iJzRk3H 9rMKsuhz3L1LFFOsKtG1h84YsarXUTkOFaJDr4BdONnQabnsCcmQu1L+eS7jgHbCOpmvtTT7R5yDJ n8YOxgfaV/no0/oPr8Tt4LwVXDgxhLPqW6B0SHnRIDbZ9796N/E5DgpTSlV9ExdPgTLaUiCf9G6yi 0JDGuMh9IC/frhlzHtANO0rLDIoIaqNCMEQl161+NM2KhEkAktLMbnJ9DaRE2XOWxWWy3oowcCjvT 4N2ni8O1xZGswq9PxjUvOPetgRSQU/f1TaqyHxDYTFY/L3PyOSg6WP4sDzPNEsQ/gH3vcN9XAKmU5 52vK71nZdYrlrY33xID/Fw==; Received: from [87.69.77.57] (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 1q9kWd-0005L9-WB; Thu, 15 Jun 2023 06:48:24 -0400 Date: Thu, 15 Jun 2023 13:48:45 +0300 Message-Id: <83h6r9t302.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Fadi Moukayed on Thu, 15 Jun 2023 10:54:27 +0200) References: 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: Fadi Moukayed > Date: Thu, 15 Jun 2023 10:54:27 +0200 > > 1. Start Emacs > 2. Open a `dired' buffer, e.g. using C-x d > 3. Use M-: and evaluate the expression `(define-key dired-mode-map [mouse-3] > 'dired-mouse-find-file)' > 4. Navigate a nested directory tree (e.g. a/b/c/d) in dired by right-clicking > on the directory names. > > Expected behavior: > > Only a dired buffer for d is retained. > > Observed behavior: > > dired buffers a, b, c are created and retained in addition to d. > > Hints: > > `dired-mouse-find-file' needs to contain similar logic to > `dired--find-possibly-alternative-file' for checking the customization > variable, or needs to delegate to the latter function. Thanks. Does the patch below give good results? diff --git a/lisp/dired.el b/lisp/dired.el index 4a4ecc9..de87530 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -2765,10 +2765,11 @@ dired-mouse-find-file The optional arguments FIND-FILE-FUNC and FIND-DIR-FUNC specify functions to visit the file and directory, respectively. If omitted or nil, these arguments default to `find-file' and `dired', -respectively." +respectively. If `dired-kill-when-opening-new-dired-buffer' is +non-nil, FIND-DIR-FUNC defaults to `find-alternate-file' instead, +so that the original Dired buffer is not kept." (interactive "e") (or find-file-func (setq find-file-func 'find-file)) - (or find-dir-func (setq find-dir-func 'dired)) (let (window pos file) (save-excursion (setq window (posn-window (event-end event)) @@ -2776,6 +2777,12 @@ dired-mouse-find-file (if (not (windowp window)) (error "No file chosen")) (set-buffer (window-buffer window)) + (unless find-dir-func + (setq find-dir-func + (if (and dired-kill-when-opening-new-dired-buffer + (< (length (get-buffer-window-list)) 2)) + 'find-alternate-file + 'dired))) (goto-char pos) (setq file (dired-get-file-for-visit))) (if (file-directory-p file) From unknown Tue Jun 17 22:09:38 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64079: 28.2; dired-mouse-find-file does not respect dired-kill-when-opening-new-dired-buffer Resent-From: Fadi Moukayed Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 15 Jun 2023 11:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64079 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 64079@debbugs.gnu.org Received: via spool by 64079-submit@debbugs.gnu.org id=B64079.16868295757942 (code B ref 64079); Thu, 15 Jun 2023 11:47:02 +0000 Received: (at 64079) by debbugs.gnu.org; 15 Jun 2023 11:46:15 +0000 Received: from localhost ([127.0.0.1]:46314 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q9lQc-000242-T8 for submit@debbugs.gnu.org; Thu, 15 Jun 2023 07:46:15 -0400 Received: from mail-ed1-f43.google.com ([209.85.208.43]:58833) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q9ksF-000753-25 for 64079@debbugs.gnu.org; Thu, 15 Jun 2023 07:10:43 -0400 Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-518b69d5b5dso2280823a12.1 for <64079@debbugs.gnu.org>; Thu, 15 Jun 2023 04:10:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686827437; x=1689419437; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=/ULNByAYAFbFhJ66/Rf8pg1VqRKy97SsYoTlR2GPLZ8=; b=GHv3zUPpL3W7kJrGeOFHrtes+Quajw14r78mzloJSP/UJFkzBK08mcCHLSjCwXDVCh RRMXFCk2sImudd3AXDMwO+LcRt5czWu9hsufmkNuT7sTV8P4jG18at1vqMLQeYLSNM0W mTD/eu4PIA+vggu3Q3ooBaWJp9/zafUZMu7IsDC+IH2ZT3Mt4g/HgSPCr+I1wHfk3dxZ LKUCa2my3P15WlOahitdARyGXjA8mgHHA1sVg2rln2iwmNWW6L+KhxCVwP804eiKgdp4 ulLHZOCLbSUkTSghg/nLbGGchpL0Bgrjk69mD6VmYuuipe2X4Fh+T7Z4Ci8LAtu62gLn qssQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686827437; x=1689419437; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/ULNByAYAFbFhJ66/Rf8pg1VqRKy97SsYoTlR2GPLZ8=; b=ULOuj5Jn+jcPMZS0ocLsySjhFcsQppBcuhaxBtzWUwbVzimSKEvJ1X3ROl1i1MMjd7 oyhu8WIP4/U8Pmx+FZiIfVx91V54s07N8fC2tvi8MHmNBmsjCmuZHiNBjcmiRtTnFd39 ZgcaFrtaPiHAMPW3qyedvxNic4xGRFSjXrHWAia2q41Aqgs1jev5s3eRfijQ2ZrMrHgo +dW1bXVVYpHBZm7bGeB8gGmVzeCI5ESHNBYe9E2xUgn0ofH6nJB8BaJjOLRGDpbAbLNt ceUnWEheK0iG4S134pDXVLO+/8a4wVevKKkDZzfREUxTmLYFgNJC9ZjCI6NN4jK9JTe8 kTpw== X-Gm-Message-State: AC+VfDxXqgtvTIEIevzGgEOAAr8zU95X4/fSJM1LwHsm2uyqLd4RCb5W 1sYGTgvzjI4KAJdzXehPgPm4Uz2wWHKJTLdLPqg= X-Google-Smtp-Source: ACHHUZ4m0y2qWRA18OdLVlDGPly6C/yCCxpTe/dvhNR3Cf4E8y/DLLtWjxGPn3/Nt4o2a/oQXvKv/gvQFArEhLOhHVM= X-Received: by 2002:a17:907:e90:b0:982:8ec0:15a3 with SMTP id ho16-20020a1709070e9000b009828ec015a3mr2434487ejc.67.1686827436783; Thu, 15 Jun 2023 04:10:36 -0700 (PDT) MIME-Version: 1.0 References: <83h6r9t302.fsf@gnu.org> In-Reply-To: <83h6r9t302.fsf@gnu.org> From: Fadi Moukayed Date: Thu, 15 Jun 2023 13:10:25 +0200 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Mailman-Approved-At: Thu, 15 Jun 2023 07:46:13 -0400 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 (-) Hi Eli, Thanks a lot. Just tested your patch a few moments ago (with dired-kill-when-opening-new-dired-bufferset to t) and it fixes the issue. I also tested the default behavior (with dired-kill-when-opening-new-dired-buffer set to nil), and everything works as expected in that case as well. Cheers. Am Do., 15. Juni 2023 um 12:48 Uhr schrieb Eli Zaretskii : > > > From: Fadi Moukayed > > Date: Thu, 15 Jun 2023 10:54:27 +0200 > > > > 1. Start Emacs > > 2. Open a `dired' buffer, e.g. using C-x d > > 3. Use M-: and evaluate the expression `(define-key dired-mode-map [mouse-3] > > 'dired-mouse-find-file)' > > 4. Navigate a nested directory tree (e.g. a/b/c/d) in dired by right-clicking > > on the directory names. > > > > Expected behavior: > > > > Only a dired buffer for d is retained. > > > > Observed behavior: > > > > dired buffers a, b, c are created and retained in addition to d. > > > > Hints: > > > > `dired-mouse-find-file' needs to contain similar logic to > > `dired--find-possibly-alternative-file' for checking the customization > > variable, or needs to delegate to the latter function. > > Thanks. Does the patch below give good results? > > diff --git a/lisp/dired.el b/lisp/dired.el > index 4a4ecc9..de87530 100644 > --- a/lisp/dired.el > +++ b/lisp/dired.el > @@ -2765,10 +2765,11 @@ dired-mouse-find-file > The optional arguments FIND-FILE-FUNC and FIND-DIR-FUNC specify > functions to visit the file and directory, respectively. If > omitted or nil, these arguments default to `find-file' and `dired', > -respectively." > +respectively. If `dired-kill-when-opening-new-dired-buffer' is > +non-nil, FIND-DIR-FUNC defaults to `find-alternate-file' instead, > +so that the original Dired buffer is not kept." > (interactive "e") > (or find-file-func (setq find-file-func 'find-file)) > - (or find-dir-func (setq find-dir-func 'dired)) > (let (window pos file) > (save-excursion > (setq window (posn-window (event-end event)) > @@ -2776,6 +2777,12 @@ dired-mouse-find-file > (if (not (windowp window)) > (error "No file chosen")) > (set-buffer (window-buffer window)) > + (unless find-dir-func > + (setq find-dir-func > + (if (and dired-kill-when-opening-new-dired-buffer > + (< (length (get-buffer-window-list)) 2)) > + 'find-alternate-file > + 'dired))) > (goto-char pos) > (setq file (dired-get-file-for-visit))) > (if (file-directory-p file) From unknown Tue Jun 17 22:09:38 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Fadi Moukayed Subject: bug#64079: closed (Re: bug#64079: 28.2; dired-mouse-find-file does not respect dired-kill-when-opening-new-dired-buffer) Message-ID: References: <83edmcuatl.fsf@gnu.org> X-Gnu-PR-Message: they-closed 64079 X-Gnu-PR-Package: emacs Reply-To: 64079@debbugs.gnu.org Date: Thu, 15 Jun 2023 13:15:01 +0000 Content-Type: multipart/mixed; boundary="----------=_1686834901-16876-1" This is a multi-part message in MIME format... ------------=_1686834901-16876-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #64079: 28.2; dired-mouse-find-file does not respect dired-kill-when-openin= g-new-dired-buffer 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 64079@debbugs.gnu.org. --=20 64079: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D64079 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1686834901-16876-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 64079-done) by debbugs.gnu.org; 15 Jun 2023 13:14:17 +0000 Received: from localhost ([127.0.0.1]:46434 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q9mno-0004N4-VK for submit@debbugs.gnu.org; Thu, 15 Jun 2023 09:14:17 -0400 Received: from eggs.gnu.org ([209.51.188.92]:44372) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q9mnn-0004Mr-Nq for 64079-done@debbugs.gnu.org; Thu, 15 Jun 2023 09:14:15 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q9mni-0003Wp-F9; Thu, 15 Jun 2023 09:14:10 -0400 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=TZa2bbV/qq2tofV/hnRX73ErqV9iH5aCXokc4UKTfXA=; b=LzM7HNCb5Lpg byibgRPQozuSOkHAgobyYYGvhLaJRbRa4MteQLjqqnbaM+FdiZcGaMi0PnHORdXW8oWMFg/RGvuQJ AHGfB/2b9dShB+y/FTSN/mScE9K7h+sFTX5jvc42NQ8pG/buRPP+ghswHtq/iCJuZLem84QUKhsBr CUH0j6HCTKcLUCJmeSWKOwsHgkZspdrLlZDfPN0NScZqJttM0AZXCfiRpS1A2QV+Cb0FipMsOOGn8 EFppybGTzrSG1Nt8go7NYccx5HRDHOS7e3g0vwb1XJ37ZFAztFtCvIeXtNI6zAiawYq/61rwU8AL0 JrAs7U92ns2aIvO2JknHyw==; Received: from [87.69.77.57] (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 1q9mnh-00031C-1w; Thu, 15 Jun 2023 09:14:10 -0400 Date: Thu, 15 Jun 2023 16:14:30 +0300 Message-Id: <83edmcuatl.fsf@gnu.org> From: Eli Zaretskii To: Fadi Moukayed In-Reply-To: (message from Fadi Moukayed on Thu, 15 Jun 2023 13:10:25 +0200) Subject: Re: bug#64079: 28.2; dired-mouse-find-file does not respect dired-kill-when-opening-new-dired-buffer References: <83h6r9t302.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 64079-done Cc: 64079-done@debbugs.gnu.org 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: Fadi Moukayed > Date: Thu, 15 Jun 2023 13:10:25 +0200 > Cc: 64079@debbugs.gnu.org > > Hi Eli, > > Thanks a lot. Just tested your patch a few moments ago (with > dired-kill-when-opening-new-dired-bufferset to t) and it fixes the issue. > > I also tested the default behavior (with > dired-kill-when-opening-new-dired-buffer > set to nil), and everything works as expected in that case as well. Thanks for testing. I've now installed the fix on the emacs-29 branch, and I'm closing this bug. ------------=_1686834901-16876-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 15 Jun 2023 09:57:24 +0000 Received: from localhost ([127.0.0.1]:46238 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q9jjG-00052m-OC for submit@debbugs.gnu.org; Thu, 15 Jun 2023 05:57:24 -0400 Received: from lists.gnu.org ([209.51.188.17]:54778) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q9ikg-0003Jt-RI for submit@debbugs.gnu.org; Thu, 15 Jun 2023 04:54:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q9ike-0005Mg-Kz for bug-gnu-emacs@gnu.org; Thu, 15 Jun 2023 04:54:44 -0400 Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q9ikc-0005ha-1c for bug-gnu-emacs@gnu.org; Thu, 15 Jun 2023 04:54:44 -0400 Received: by mail-ej1-x62e.google.com with SMTP id a640c23a62f3a-9827109c6e9so204721966b.3 for ; Thu, 15 Jun 2023 01:54:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686819279; x=1689411279; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=5NhbFB/LoPPvINoyzqWr0qX3psWEdUKhpJc2CZUh2Js=; b=Fv4cRcSlWkV7W7DyGotAUaiiax7pMMx2kre+wxUb1A2nCmvJd06+arW/dNdvKQRaDn kDUXrgI+ZMZQ7Z9jsGa9NHfT4ueOiq1B7O26u5wsqDCxf2uDjMqkXQ/MGM2zW8wNyUDk agDDPcMnZR+qB9Z5UYsFaEg3z/77D8s0S3g0oFTfNprliYbADJUyCiL6Jc5NjVPvZK7o 2PCPmqNuePv6YH+FCPACOdmvwl2WPIFNQkiFnA8wvLN8T1u2lqdfqfZKKPichWLa1obb AVnOw4I39aYhItOYPRw4P4IACDOqzA4r6hMJe08ynXgrAxiRYkd05Df2fRtZNauMwsMS HRcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686819279; x=1689411279; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=5NhbFB/LoPPvINoyzqWr0qX3psWEdUKhpJc2CZUh2Js=; b=D8Wz0LRsyeqSsWx64iBsxu8/kVzmjvkVE57AQxz3fslMrMy/jM6RuCqoDi/i8YdxVx 8bCeYco+RshORItjRFBOycLpefVHQHNhwsDiEC41MiEZIn+DgucAKtnyoAQF7Qgpp2pj MFaBsqhNUZ1EqaMRldIJ8Vj3vBA0kd2dIfSovzDUG8hRdyGfBeAWdPipL/sV10YOYFAT E5ZFb2LelqecbkEzoD7wStF+Nmt+ihY7Tv3W6bDQVcnMleCsgybgYVu6fomPFgLyVNs5 lP3b813L8rZku2f/dWJDk1/6n050Hb1NCkfcj9+Fff/LFB6YRgMwFmhu6pa5LjMd6e9b 5GZA== X-Gm-Message-State: AC+VfDwjcNOv75TSGWkcMFM7LraN29K2BvmWBnK1INpdMipnnLHtwQF1 DWWCgTcebcBJA/iHKAbXhOYLVh7VW5bVCh7fUX0MVaIPGb0= X-Google-Smtp-Source: ACHHUZ64oLrgt+TQdjba6ISFUOzYNY92IeBrmGcM87sghtvW2VFWShIqUn0hNFRS1yNdk7CHOSGlnItr+7Kp/F69H2M= X-Received: by 2002:a17:907:707:b0:94f:956:b3f7 with SMTP id xb7-20020a170907070700b0094f0956b3f7mr15953311ejb.2.1686819279259; Thu, 15 Jun 2023 01:54:39 -0700 (PDT) MIME-Version: 1.0 From: Fadi Moukayed Date: Thu, 15 Jun 2023 10:54:27 +0200 Message-ID: Subject: 28.2; dired-mouse-find-file does not respect dired-kill-when-opening-new-dired-buffer To: bug-gnu-emacs@gnu.org Content-Type: text/plain; charset="UTF-8" Received-SPF: pass client-ip=2a00:1450:4864:20::62e; envelope-from=smfadi@gmail.com; helo=mail-ej1-x62e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Thu, 15 Jun 2023 05:57:21 -0400 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 (--) Hi all, While attempting to rebind mouse-3 to `dired-mouse-find-file', I noticed that the `dired-kill-when-opening-new-dired-buffer' customization option is not being respected. `dired-mouse-find-file' opens directories in new dired buffers in all cases. Steps to reproduce: 1. Start Emacs 2. Open a `dired' buffer, e.g. using C-x d 3. Use M-: and evaluate the expression `(define-key dired-mode-map [mouse-3] 'dired-mouse-find-file)' 4. Navigate a nested directory tree (e.g. a/b/c/d) in dired by right-clicking on the directory names. Expected behavior: Only a dired buffer for d is retained. Observed behavior: dired buffers a, b, c are created and retained in addition to d. Hints: `dired-mouse-find-file' needs to contain similar logic to `dired--find-possibly-alternative-file' for checking the customization variable, or needs to delegate to the latter function. --- In GNU Emacs 28.2 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0) of 2023-06-02 built on lcy02-amd64-102 Repository revision: 08cc469f8738bad2a31ce5b4c4c55301b71d598b Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12201001 System Description: Ubuntu 22.04.2 LTS Configured using: 'configure --prefix=/snap/emacs/current/usr --with-x-toolkit=gtk3 --without-xaw3d --with-modules --with-cairo --with-native-compilation 'CFLAGS=-isystem/build/emacs/parts/emacs/install/usr/include -isystem/build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu -O2' 'CPPFLAGS=-isystem/build/emacs/parts/emacs/install/usr/include -isystem/build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu' 'LDFLAGS=-L/build/emacs/parts/emacs/install/lib -L/build/emacs/parts/emacs/install/usr/lib -L/build/emacs/parts/emacs/install/lib/x86_64-linux-gnu -L/build/emacs/parts/emacs/install/usr/lib/x86_64-linux-gnu'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD 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: de_DE.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Org Minor modes in effect: display-line-numbers-mode: t shell-dirtrack-mode: t delete-selection-mode: t recentf-mode: t global-whitespace-mode: t global-goto-address-mode: t goto-address-mode: t fido-vertical-mode: t icomplete-vertical-mode: t icomplete-mode: t fido-mode: t desktop-save-mode: t cua-mode: t windmove-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t prettify-symbols-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug sendmail display-line-numbers org-element avl-tree generator 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 gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range message 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-win gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums text-property-search mail-utils mm-util mail-prsvr ol-docview doc-view jka-compr image-mode exif dired dired-loaddefs ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete org-list org-faces org-entities noutline outline easy-mmode org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex ol org-keys oc org-compat advice org-macs org-loaddefs find-func cal-menu calendar cal-loaddefs tramp-cache tramp-sh tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat shell pcomplete comint ansi-color ring parse-time iso8601 time-date ls-lisp format-spec disp-table dracula-theme pcase delsel recentf tree-widget wid-edit whitespace goto-addr thingatpt icomplete desktop frameset cua-base cus-load finder-inf windmove edmacro kmacro site-start comp comp-cstr warnings rx cl-extra help-mode info slime-autoloads 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 subr-x map url-vars seq byte-opt gv 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 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 495514 24906) (symbols 48 30214 1) (strings 32 149409 4103) (string-bytes 1 4176844) (vectors 16 55880) (vector-slots 8 1622923 37169) (floats 8 363 740) (intervals 56 619 88) (buffers 992 12)) ------------=_1686834901-16876-1--