GNU bug report logs -
#47287
28.0.50; [PATCH] Add command project-remove-known-project
Previous Next
Reported by: Theodor Thornhill <theo <at> thornhill.no>
Date: Sat, 20 Mar 2021 23:29:02 UTC
Severity: wishlist
Tags: patch
Found in version 28.0.50
Done: Dmitry Gutov <dgutov <at> yandex.ru>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 47287 in the body.
You can then email your comments to 47287 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Sat, 20 Mar 2021 23:29:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Theodor Thornhill <theo <at> thornhill.no>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Sat, 20 Mar 2021 23:29:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hello!
This patch adds an interactive command 'project-remove-known-project',
that lets the user interactively remove a project from the project
list. My usecase is that sometimes when a directory is moved, the
project isn't deleted from the list.
This command is modelled after the already present
'project--remove-from-project-list', but that function isn't
interactive, and also has a specific purpose.
I did not add a binding, nor add it to the
project-switch-commands. Unsure if deserves a spot there :).
--
Theodor Thornhill
[0001-Add-command-project-remove-known-project.patch (text/x-patch, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Sun, 21 Mar 2021 00:28:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 47287 <at> debbugs.gnu.org (full text, mbox):
Hi!
On 21.03.2021 01:28, Theodor Thornhill via Bug reports for GNU Emacs,
the Swiss army knife of text editors wrote:
> This patch adds an interactive command 'project-remove-known-project',
> that lets the user interactively remove a project from the project
> list. My usecase is that sometimes when a directory is moved, the
> project isn't deleted from the list.
What if we added an "inventorization" step in
project--ensure-read-project-list? After having the list read, it could
remove entries that do not exist anymore (and, if the list has been
modified in this procedure, call project--write-project-list).
This should take care of moved directories, at least once per Emacs session.
> This command is modelled after the already present
> 'project--remove-from-project-list', but that function isn't
> interactive, and also has a specific purpose.
If the logic described above still doesn't satisfy your needs, let's add
a command, sure.
> I did not add a binding, nor add it to the
> project-switch-commands. Unsure if deserves a spot there.
I don't know about a binding, but certainly it's not for
project-switch-commands.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Sun, 21 Mar 2021 06:18:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 47287 <at> debbugs.gnu.org (full text, mbox):
> Date: Sun, 21 Mar 2021 00:28:24 +0100
> From: Theodor Thornhill via "Bug reports for GNU Emacs,
> the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>
> This patch adds an interactive command 'project-remove-known-project',
> that lets the user interactively remove a project from the project
> list. My usecase is that sometimes when a directory is moved, the
> project isn't deleted from the list.
Thanks. I'll let Dmitry and others comment about the command itself,
but a couple of minor nits, mainly regarding documentation:
> ++++
> +*** New command 'project-remove-known-project'.
> +This command lets you interactively remove an entry from the list of projects
> +in 'project-list-file'
> +
The "+++" mark means that the manuals have been updated for this
change, but the patch doesn't include any change for the manuals. If
this command is accepted, I do think it should be mentioned in the
user manual.
> +(defun project-remove-known-project (dir)
> + "Remove directory DIR, a known project from the project list.
This sounds somewhat confusingly: is DIR a project or a directory?
Can this be rephrased to avoid the confusion?
> +Announce the projects removal from the `project-list-file'."
^^^^^^^^
"project's". And I'm not sure this part is needed in the doc string.
And the message itself perhaps should be suppressed if the function is
called non-interactively?
> This command is modelled after the already present
> 'project--remove-from-project-list', but that function isn't
> interactive, and also has a specific purpose.
So why doesn't your implementation call that function?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Sun, 21 Mar 2021 06:34:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 47287 <at> debbugs.gnu.org (full text, mbox):
>> This patch adds an interactive command 'project-remove-known-project',
>> that lets the user interactively remove a project from the project
>> list. My usecase is that sometimes when a directory is moved, the
>> project isn't deleted from the list.
>
> What if we added an "inventorization" step in project--ensure-read-project-list? After having the list read, it could remove entries that do not exist anymore (and, if the list has been modified in this procedure, call project--write-project-list).
>
> This should take care of moved directories, at least once per Emacs session.
>
Yeah, we could! However, there is one more use case: at work we have lot of repos, some I touch every day, some once in a blue moon. I do not want them cluttering the project-list, so I would rather delete them, and have them automatically appear for periods where I actually use them. Same with other FOSS projects I only ocasionally contribute to. These are directories I usually dont delete from my drive.
>> This command is modelled after the already present
>> 'project--remove-from-project-list', but that function isn't
>> interactive, and also has a specific purpose.
>
> I don't know about a binding, but certainly it's not for project-switch-commands.
Agreed :)
—
Theo
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Sun, 21 Mar 2021 06:39:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 47287 <at> debbugs.gnu.org (full text, mbox):
Hi and thanks for your comments - I will address them in the next patch.
>> This command is modelled after the already present
>> 'project--remove-from-project-list', but that function isn't
>> interactive, and also has a specific purpose.
>
> So why doesn't your implementation call that function?
Mainly since the message seems specialized, and I didnt want to alter existing, used behavior. It isnt the best reason, and I can alter it if we want :)
—
Theo
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Sun, 21 Mar 2021 11:44:01 GMT)
Full text and
rfc822 format available.
Message #20 received at 47287 <at> debbugs.gnu.org (full text, mbox):
On 21.03.2021 08:33, Theodor Thornhill via Bug reports for GNU Emacs,
the Swiss army knife of text editors wrote:
> However, there is one more use case: at work we have lot of repos, some I touch every day, some once in a blue moon. I do not want them cluttering the project-list, so I would rather delete them, and have them automatically appear for periods where I actually use them. Same with other FOSS projects I only ocasionally contribute to. These are directories I usually dont delete from my drive.
Sure, makes sense.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Sun, 21 Mar 2021 12:13:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 47287 <at> debbugs.gnu.org (full text, mbox):
On 21.03.2021 08:38, Theodor Thornhill via Bug reports for GNU Emacs,
the Swiss army knife of text editors wrote:
> Mainly since the message seems specialized, and I didnt want to alter existing, used behavior.
Perhaps we can move the 'message' call from it to its current caller
(project-current).
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Sun, 21 Mar 2021 12:16:01 GMT)
Full text and
rfc822 format available.
Message #26 received at 47287 <at> debbugs.gnu.org (full text, mbox):
Dmitry Gutov <dgutov <at> yandex.ru> writes:
> On 21.03.2021 08:38, Theodor Thornhill via Bug reports for GNU Emacs,
> the Swiss army knife of text editors wrote:
>> Mainly since the message seems specialized, and I didnt want to alter existing, used behavior.
>
> Perhaps we can move the 'message' call from it to its current caller
> (project-current).
Sure!
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Sun, 21 Mar 2021 23:22:01 GMT)
Full text and
rfc822 format available.
Message #29 received at 47287 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi,
>> Mainly since the message seems specialized, and I didnt want to alter existing, used behavior.
>
> Perhaps we can move the 'message' call from it to its current caller
> (project-current).
See attached, improved patch, hopefully adressing Elis comments, and
using the already defined function. I did not yet add a manual entry.
Does this approach seem reasonable to you?
--
Theo
[0001-Add-command-project-remove-known-project.patch (text/x-patch, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Mon, 22 Mar 2021 00:00:02 GMT)
Full text and
rfc822 format available.
Message #32 received at 47287 <at> debbugs.gnu.org (full text, mbox):
On 22.03.2021 01:21, Theodor Thornhill via Bug reports for GNU Emacs,
the Swiss army knife of text editors wrote:
> Does this approach seem reasonable to you?
It's fine, but it would be better for both function's argument to follow
projectile-add-known-project (meaning, call it 'project-root').
Regarding report-message, I figured it would just be a separate
'message' call in both caller functions. Apparently that might to this
message appearing more often (due to the requested project not actually
appearing in project--list?), but I wonder if we shouldn't replace that
when-let with a presence assertion instead.
Anyway, the latter is not a big deal; project--remove-from-project-list
can be changed at any time later.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Mon, 22 Mar 2021 07:49:01 GMT)
Full text and
rfc822 format available.
Message #35 received at 47287 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi,
> It's fine, but it would be better for both function's argument to follow
> projectile-add-known-project (meaning, call it 'project-root').
See attached patch.
>
> Regarding report-message, I figured it would just be a separate
> 'message' call in both caller functions. Apparently that might to this
> message appearing more often (due to the requested project not actually
> appearing in project--list?), but I wonder if we shouldn't replace that
> when-let with a presence assertion instead.
Yeah, we could do that. However, the nice thing now is at least that the
behavior is bundled together, so we don't need to remember to
report. Not sure what is best :)
>
> Anyway, the latter is not a big deal; project--remove-from-project-list
> can be changed at any time later.
Sure! Do the manual later, or now?
--
Theo
[0001-Add-command-project-remove-known-project.patch (text/x-patch, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Mon, 22 Mar 2021 11:53:02 GMT)
Full text and
rfc822 format available.
Message #38 received at 47287 <at> debbugs.gnu.org (full text, mbox):
On 22.03.2021 09:48, Theodor Thornhill via Bug reports for GNU Emacs,
the Swiss army knife of text editors wrote:
>> It's fine, but it would be better for both function's argument to follow
>> projectile-add-known-project (meaning, call it 'project-root').
> See attached patch.
Thanks, LGTM.
>> Regarding report-message, I figured it would just be a separate
>> 'message' call in both caller functions. Apparently that might to this
>> message appearing more often (due to the requested project not actually
>> appearing in project--list?), but I wonder if we shouldn't replace that
>> when-let with a presence assertion instead.
> Yeah, we could do that. However, the nice thing now is at least that the
> behavior is bundled together, so we don't need to remember to
> report. Not sure what is best:)
Yeah, ok.
>> Anyway, the latter is not a big deal; project--remove-from-project-list
>> can be changed at any time later.
> Sure! Do the manual later, or now?
It's the next step, yes.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Mon, 22 Mar 2021 12:30:02 GMT)
Full text and
rfc822 format available.
Message #41 received at 47287 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
> Thanks, LGTM.
>
Great!
>>> Anyway, the latter is not a big deal; project--remove-from-project-list
>>> can be changed at any time later.
>> Sure! Do the manual later, or now?
>
> It's the next step, yes.
Something like this?
--
Theo
[0001-Add-command-project-remove-known-project.patch (text/x-patch, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Tue, 23 Mar 2021 11:38:01 GMT)
Full text and
rfc822 format available.
Message #44 received at 47287 <at> debbugs.gnu.org (full text, mbox):
> From: Theodor Thornhill <theo <at> thornhill.no>
> Cc: 47287 <at> debbugs.gnu.org
> Date: Mon, 22 Mar 2021 08:48:47 +0100
>
> +(defun project--remove-from-project-list (project-root report-message)
> + "Remove directory PROJECT-ROOT of a missing project from the project list.
> If the directory was in the list before the removal, save the
> result in `project-list-file'. Announce the project's removal
> -from the list."
> +from the list using REPORT-MESSAGE."
Please be sure to say here that REPORT-MESSAGE is a format string
passed to 'message' as its first arg.
Thanks.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Tue, 23 Mar 2021 12:31:02 GMT)
Full text and
rfc822 format available.
Message #47 received at 47287 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Eli Zaretskii <eliz <at> gnu.org> writes:
> Please be sure to say here that REPORT-MESSAGE is a format string
> passed to 'message' as its first arg.
>
Done. Fixed in attached patch
Thanks.
--
Theo
[0001-Add-command-project-remove-known-project.patch (text/x-patch, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Tue, 23 Mar 2021 12:44:01 GMT)
Full text and
rfc822 format available.
Message #50 received at 47287 <at> debbugs.gnu.org (full text, mbox):
> From: Theodor Thornhill <theo <at> thornhill.no>
> Cc: dgutov <at> yandex.ru, 47287 <at> debbugs.gnu.org
> Date: Tue, 23 Mar 2021 13:30:37 +0100
>
> > Please be sure to say here that REPORT-MESSAGE is a format string
> > passed to 'message' as its first arg.
> >
>
> Done. Fixed in attached patch
Thanks.
> +*** New command 'project-remove-known-project'.
> +This command lets you interactively remove an entry from the list of projects
> +in 'project-list-file'
> +
One last nit from me: since you now include the changes to the manual,
this NEWS entry should be marked by "+++" before it, per the note at
the beginning of NEWS.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Tue, 23 Mar 2021 12:51:01 GMT)
Full text and
rfc822 format available.
Message #53 received at 47287 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
>
> One last nit from me: since you now include the changes to the manual,
> this NEWS entry should be marked by "+++" before it, per the note at
> the beginning of NEWS.
Of course - added. Thanks for patience :)
--
Theo
[0001-Add-command-project-remove-known-project.patch (text/x-patch, attachment)]
Reply sent
to
Dmitry Gutov <dgutov <at> yandex.ru>
:
You have taken responsibility.
(Wed, 24 Mar 2021 23:18:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Theodor Thornhill <theo <at> thornhill.no>
:
bug acknowledged by developer.
(Wed, 24 Mar 2021 23:18:02 GMT)
Full text and
rfc822 format available.
Message #58 received at 47287-done <at> debbugs.gnu.org (full text, mbox):
On 23.03.2021 14:50, Theodor Thornhill via Bug reports for GNU Emacs,
the Swiss army knife of text editors wrote:
>
>>
>> One last nit from me: since you now include the changes to the manual,
>> this NEWS entry should be marked by "+++" before it, per the note at
>> the beginning of NEWS.
>
> Of course - added. Thanks for patience :)
Thank you for following up.
Installed and closing.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Thu, 25 Mar 2021 00:04:01 GMT)
Full text and
rfc822 format available.
Message #61 received at 47287 <at> debbugs.gnu.org (full text, mbox):
Dmitry Gutov <dgutov <at> yandex.ru> writes:
> On 23.03.2021 14:50, Theodor Thornhill via Bug reports for GNU Emacs, the Swiss
> army knife of text editors wrote:
>>
>>> One last nit from me: since you now include the changes to the manual,
>>> this NEWS entry should be marked by "+++" before it, per the note at
>>> the beginning of NEWS.
>> Of course - added. Thanks for patience :)
>
> Thank you for following up.
>
> Installed and closing.
Thanks, this is a useful function I wished for recently.
But Texinfo still had some comments on the patch ;).
./maintaining.texi:1821: warning: node `Managing project list file' is
next for `Switching Projects' in sectioning but not in menu
./maintaining.texi:1846: warning: node `Switching Projects' is prev
for `Managing project list file' in sectioning but not in menu
./maintaining.texi:1846: warning: node `Projects' is up for `Managing
project list file' in sectioning but not in menu
./maintaining.texi:1641: node `Projects' lacks menu item for `Managing
project list file' despite being its Up target
Could you please add a menu entry for the new node?
(There also seem to be some extraneous parentheses around
@code{project-list-file}, a missing space after full stop, and a missing
full stop in the new text.)
Thanks,
--
Basil
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Thu, 25 Mar 2021 01:05:02 GMT)
Full text and
rfc822 format available.
Message #64 received at 47287 <at> debbugs.gnu.org (full text, mbox):
Hi Basil,
On 25.03.2021 02:03, Basil L. Contovounesios wrote:
> But Texinfo still had some comments on the patch;).
>
> ./maintaining.texi:1821: warning: node `Managing project list file' is
> next for `Switching Projects' in sectioning but not in menu
> ./maintaining.texi:1846: warning: node `Switching Projects' is prev
> for `Managing project list file' in sectioning but not in menu
> ./maintaining.texi:1846: warning: node `Projects' is up for `Managing
> project list file' in sectioning but not in menu
> ./maintaining.texi:1641: node `Projects' lacks menu item for `Managing
> project list file' despite being its Up target
>
> Could you please add a menu entry for the new node?
If you know how to fix any of that, help welcome.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Thu, 25 Mar 2021 06:16:02 GMT)
Full text and
rfc822 format available.
Message #67 received at 47287 <at> debbugs.gnu.org (full text, mbox):
I think i see whats missing - adding followup later today :)
—
Theodor
> 25. mar. 2021 kl. 02:04 skrev Dmitry Gutov <dgutov <at> yandex.ru>:
>
> Hi Basil,
>
>> On 25.03.2021 02:03, Basil L. Contovounesios wrote:
>> But Texinfo still had some comments on the patch;).
>> ./maintaining.texi:1821: warning: node `Managing project list file' is
>> next for `Switching Projects' in sectioning but not in menu
>> ./maintaining.texi:1846: warning: node `Switching Projects' is prev
>> for `Managing project list file' in sectioning but not in menu
>> ./maintaining.texi:1846: warning: node `Projects' is up for `Managing
>> project list file' in sectioning but not in menu
>> ./maintaining.texi:1641: node `Projects' lacks menu item for `Managing
>> project list file' despite being its Up target
>> Could you please add a menu entry for the new node?
>
> If you know how to fix any of that, help welcome.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Thu, 25 Mar 2021 07:30:02 GMT)
Full text and
rfc822 format available.
Message #70 received at 47287 <at> debbugs.gnu.org (full text, mbox):
Theodor Thornhill <theo <at> thornhill.no> writes:
>> If you know how to fix any of that, help welcome.
Looks like it was fixed for me - thanks, Dmitry and Glenn Morris :-)
--
Theo
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Thu, 22 Apr 2021 11:24:09 GMT)
Full text and
rfc822 format available.
bug unarchived.
Request was from
Dmitry Gutov <dgutov <at> yandex.ru>
to
control <at> debbugs.gnu.org
.
(Tue, 21 Sep 2021 13:24:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Tue, 21 Sep 2021 13:25:01 GMT)
Full text and
rfc822 format available.
Message #77 received at 47287 <at> debbugs.gnu.org (full text, mbox):
Hi Theodor,
On 25.03.2021 09:29, Theodor Thornhill wrote:
> Theodor Thornhill <theo <at> thornhill.no> writes:
>>> If you know how to fix any of that, help welcome.
>
> Looks like it was fixed for me - thanks, Dmitry and Glenn Morris :-)
Just a heads-up: I've pushed a commit renaming the command to
'project-forget-project', for symmetry with 'project-remember-project'
which has been with us longer.
No compatibility alias since it's never been in an Emacs release, and
it's not a frequently used command, but let me know if it's really needed.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#47287
; Package
emacs
.
(Tue, 21 Sep 2021 18:37:02 GMT)
Full text and
rfc822 format available.
Message #80 received at 47287 <at> debbugs.gnu.org (full text, mbox):
On September 21, 2021 3:24:35 PM GMT+02:00, Dmitry Gutov <dgutov <at> yandex.ru> wrote:
>Hi Theodor,
>
>On 25.03.2021 09:29, Theodor Thornhill wrote:
>> Theodor Thornhill <theo <at> thornhill.no> writes:
>>>> If you know how to fix any of that, help welcome.
>>
>> Looks like it was fixed for me - thanks, Dmitry and Glenn Morris :-)
>
>Just a heads-up: I've pushed a commit renaming the command to
>'project-forget-project', for symmetry with 'project-remember-project'
>which has been with us longer.
>
>No compatibility alias since it's never been in an Emacs release, and
>it's not a frequently used command, but let me know if it's really needed.
No need from my end, but thanks a lot for the heads up :)
Theo
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 20 Oct 2021 11:24:12 GMT)
Full text and
rfc822 format available.
This bug report was last modified 2 years and 181 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.