From: Felix <felix.dick@web.de>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: [PATCH] change dired--find-possibly-alternative-file behaviour.
Date: Sun, 26 Feb 2023 08:01:01 +0100 [thread overview]
Message-ID: <87lekkewfp.fsf@web.de> (raw)
In-Reply-To: <83bklgkj2h.fsf@gnu.org>
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Felix <felix.dick@web.de>
>> Cc: emacs-devel@gnu.org
>> Date: Sun, 26 Feb 2023 07:32:27 +0100
>>
>>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>> >> From: Felix <felix.dick@web.de>
>> >> Cc: emacs-devel@gnu.org
>> >> Date: Sun, 26 Feb 2023 07:07:10 +0100
>> >>
>> >>
>> >> Eli Zaretskii <eliz@gnu.org> writes:
>> >>
>> >> >> From: Felix <felix.dick@web.de>
>> >> >> Date: Sat, 25 Feb 2023 20:43:57 +0100
>> >> >>
>> >> >> diff --git a/lisp/dired.el b/lisp/dired.el
>> >> >> index 76499d0f520..620508bef4f 100644
>> >> >> --- a/lisp/dired.el
>> >> >> +++ b/lisp/dired.el
>> >> >> @@ -2728,7 +2728,8 @@ dired-find-file
>> >> >> (defun dired--find-possibly-alternative-file (file)
>> >> >> "Find FILE, but respect `dired-kill-when-opening-new-dired-buffer'."
>> >> >> (if (and dired-kill-when-opening-new-dired-buffer
>> >> >> - (file-directory-p file))
>> >> >> + (file-directory-p file)
>> >> >> + (= (length (get-buffer-window-list)) 1))
>> >> >> (progn
>> >> >> (set-buffer-modified-p nil)
>> >> >> (dired--find-file #'find-alternate-file file))
>> >> >
>> >> > What if get-buffer-window-list returns nil?
>> >>
>> >> The optional argument BUFFER-OR-NAME of get-buffer-window-list defaults
>> >> to the current buffer, shouldn't that garantee that it never returns
>> >> nil?
>> >
>> > Only if the current buffer is displayed in some window.
>>
>> If get-buffer-window-list returns nil for any case, (length nil) returns 0.
>> In that case the if condition is false and dired--find-file will not
>> kill any buffer.
>> Is there a possible case where the function is called from dired buffer,
>> and get-buffer-window-list returns nil?
>> In that case the buffer would stay alive!
>>
>> dired--find-possibly-alternative-file is only used in 2 places
>> dired-find-file and in dired-up-directory.
>> I thought those functions are only useful inside dired buffer windows.
>
> I just asked that question to make sure we are not introducing a
> regression here. If you are certain that situation cannot cause any
> trouble, I'm okay with that conclusion.
Just to be absolutely save,
(= (length (get-buffer-window-list)) 1))
could be changed to
(> (length (get-buffer-window-list)) 1))
>> I thought those functions are only useful inside dired buffer windows.
is that not the case? If not (length (get-buffer-window-list)) will
count the windows that are displaying the current buffer whatever that
is, and kill or not kill a dired buffer depending on the result.
next prev parent reply other threads:[~2023-02-26 7:01 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-25 19:43 [PATCH] change dired--find-possibly-alternative-file behaviour Felix
2023-02-26 5:26 ` Eli Zaretskii
2023-02-26 6:07 ` Felix
2023-02-26 6:29 ` Eli Zaretskii
2023-02-26 6:32 ` Felix
2023-02-26 7:00 ` Eli Zaretskii
2023-02-26 7:01 ` Felix [this message]
2023-02-26 7:22 ` Felix
2023-02-26 8:10 ` Eli Zaretskii
2023-02-26 13:14 ` Felix
2023-02-28 14:12 ` Eli Zaretskii
2023-02-26 8:09 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87lekkewfp.fsf@web.de \
--to=felix.dick@web.de \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).