* Re: master d879c40f68c: * etc/NEWS: Mention it.
[not found] ` <20240906161755.0CEECC2BC7A@vcs2.savannah.gnu.org>
@ 2024-09-09 8:42 ` Eshel Yaron
2024-09-09 11:40 ` Dmitry Gutov
0 siblings, 1 reply; 4+ messages in thread
From: Eshel Yaron @ 2024-09-09 8:42 UTC (permalink / raw)
To: emacs-devel; +Cc: Spencer Baugh, Dmitry Gutov
Hi,
Dmitry Gutov <dgutov@yandex.ru> writes:
> branch: master
> commit d879c40f68c078bdba15122e4e886a2052fbddf4
[...]
> +;;;###autoload
> +(defun project-find-file-in-root ()
> + "..."
> + (interactive)
> + (let* ((pr (project-current t))
> + (default-directory (project-root pr)))
> + (call-interactively #'find-file)))
Nice addition, thanks!
Nitpick: I find the use of call-interactively with a constant argument
slightly awkward. What do y'all think about a revision along the
following lines?
--8<---------------cut here---------------start------------->8---
;;;###autoload
(defun project-find-file-in-root (filename)
"Edit file FILENAME.
Interactively, prompt for FILENAME, defaulting to the root directory of
the current project."
(declare (interactive-only find-file))
(interactive
(list (read-file-name "Find project file: "
(project-root (project-current t)) nil
(confirm-nonexistent-file-or-buffer))))
(find-file filename t))
--8<---------------cut here---------------end--------------->8---
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: master d879c40f68c: * etc/NEWS: Mention it.
2024-09-09 8:42 ` master d879c40f68c: * etc/NEWS: Mention it Eshel Yaron
@ 2024-09-09 11:40 ` Dmitry Gutov
2024-09-09 16:03 ` Spencer Baugh
0 siblings, 1 reply; 4+ messages in thread
From: Dmitry Gutov @ 2024-09-09 11:40 UTC (permalink / raw)
To: Eshel Yaron, emacs-devel; +Cc: Spencer Baugh
On 09/09/2024 11:42, Eshel Yaron wrote:
> Nitpick: I find the use of call-interactively with a constant argument
> slightly awkward. What do y'all think about a revision along the
> following lines?
Yeah, I think that works too (the only real duplication is the call to
confirm-nonexistent-file-or-buffer, that's minor).
> --8<---------------cut here---------------start------------->8---
> ;;;###autoload
> (defun project-find-file-in-root (filename)
> "Edit file FILENAME.
> Interactively, prompt for FILENAME, defaulting to the root directory of
> the current project."
> (declare (interactive-only find-file))
> (interactive
> (list (read-file-name "Find project file: "
Maybe "Find in root: "? The command variant doesn't necessarily show all
project files, or only project files.
> (project-root (project-current t)) nil
> (confirm-nonexistent-file-or-buffer))))
> (find-file filename t))
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: master d879c40f68c: * etc/NEWS: Mention it.
2024-09-09 11:40 ` Dmitry Gutov
@ 2024-09-09 16:03 ` Spencer Baugh
2024-09-09 17:52 ` Eshel Yaron
0 siblings, 1 reply; 4+ messages in thread
From: Spencer Baugh @ 2024-09-09 16:03 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: Eshel Yaron, emacs-devel
[-- Attachment #1: Type: text/plain, Size: 1211 bytes --]
I'm fine with this change. "Find file in root: " seems like it would be a
decent prompt.
On Mon, Sep 9, 2024 at 7:40 AM Dmitry Gutov <dmitry@gutov.dev> wrote:
> On 09/09/2024 11:42, Eshel Yaron wrote:
> > Nitpick: I find the use of call-interactively with a constant argument
> > slightly awkward. What do y'all think about a revision along the
> > following lines?
>
> Yeah, I think that works too (the only real duplication is the call to
> confirm-nonexistent-file-or-buffer, that's minor).
>
> > --8<---------------cut here---------------start------------->8---
> > ;;;###autoload
> > (defun project-find-file-in-root (filename)
> > "Edit file FILENAME.
> > Interactively, prompt for FILENAME, defaulting to the root directory of
> > the current project."
> > (declare (interactive-only find-file))
> > (interactive
> > (list (read-file-name "Find project file: "
>
> Maybe "Find in root: "? The command variant doesn't necessarily show all
> project files, or only project files.
>
> > (project-root (project-current t)) nil
> > (confirm-nonexistent-file-or-buffer))))
> > (find-file filename t))
>
>
[-- Attachment #2: Type: text/html, Size: 1684 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: master d879c40f68c: * etc/NEWS: Mention it.
2024-09-09 16:03 ` Spencer Baugh
@ 2024-09-09 17:52 ` Eshel Yaron
0 siblings, 0 replies; 4+ messages in thread
From: Eshel Yaron @ 2024-09-09 17:52 UTC (permalink / raw)
To: Spencer Baugh; +Cc: Dmitry Gutov, emacs-devel
Spencer Baugh <sbaugh@janestreet.com> writes:
> I'm fine with this change. "Find file in root: " seems like it would be a decent prompt.
>
> On Mon, Sep 9, 2024 at 7:40 AM Dmitry Gutov <dmitry@gutov.dev> wrote:
>
> On 09/09/2024 11:42, Eshel Yaron wrote:
> > Nitpick: I find the use of call-interactively with a constant argument
> > slightly awkward. What do y'all think about a revision along the
> > following lines?
>
> Yeah, I think that works too (the only real duplication is the call to
> confirm-nonexistent-file-or-buffer, that's minor).
>
> > --8<---------------cut here---------------start------------->8---
> > ;;;###autoload
> > (defun project-find-file-in-root (filename)
> > "Edit file FILENAME.
> > Interactively, prompt for FILENAME, defaulting to the root directory of
> > the current project."
> > (declare (interactive-only find-file))
> > (interactive
> > (list (read-file-name "Find project file: "
>
> Maybe "Find in root: "? The command variant doesn't necessarily show all
> project files, or only project files.
>
> > (project-root (project-current t)) nil
> > (confirm-nonexistent-file-or-buffer))))
> > (find-file filename t))
Great, now done in 466db358772.
Thanks,
Eshel
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-09-09 17:52 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <172563947472.4957.18260024928108489506@vcs2.savannah.gnu.org>
[not found] ` <20240906161755.0CEECC2BC7A@vcs2.savannah.gnu.org>
2024-09-09 8:42 ` master d879c40f68c: * etc/NEWS: Mention it Eshel Yaron
2024-09-09 11:40 ` Dmitry Gutov
2024-09-09 16:03 ` Spencer Baugh
2024-09-09 17:52 ` Eshel Yaron
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).