unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Felix <felix.dick@web.de>
Cc: emacs-devel@gnu.org
Subject: Re: [PATCH] change dired--find-possibly-alternative-file behaviour.
Date: Sun, 26 Feb 2023 09:00:06 +0200	[thread overview]
Message-ID: <83bklgkj2h.fsf@gnu.org> (raw)
In-Reply-To: <87ttz9gceo.fsf@web.de> (message from Felix on Sun, 26 Feb 2023 07:32:27 +0100)

> 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.



  reply	other threads:[~2023-02-26  7:00 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 [this message]
2023-02-26  7:01           ` Felix
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=83bklgkj2h.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=felix.dick@web.de \
    /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).