GNU bug report logs - #76307
[PATCH] Add 'project-forget-projects-under-dirs', limit dir selection to relevant dirs

Previous Next

Package: emacs;

Reported by: Ship Mints <shipmints <at> gmail.com>

Date: Sat, 15 Feb 2025 17:51:02 UTC

Severity: wishlist

Tags: patch

Full log


View this message in rfc822 format

From: Eshel Yaron <me <at> eshelyaron.com>
To: Ship Mints <shipmints <at> gmail.com>
Cc: 76307 <at> debbugs.gnu.org
Subject: bug#76307: [PATCH] Add 'project-forget-projects-under-dirs', limit dir selection to relevant dirs
Date: Sun, 16 Feb 2025 19:01:22 +0100
Hi,

Ship Mints <shipmints <at> gmail.com> writes:

> I tried your code to do a side-by-side but:
>
> Debugger entered--Lisp error: (wrong-number-of-arguments read-directory-name 6)
>   (read-directory-name prompt nil nil nil nil (let ((ps (mapcar #'(lambda (p) (expand-file-name ...))
> project--list))) #'(lambda (dir) (catch 'ball (let ((tail ps)) (while tail (let ... ... ...)))))))

Try with a current build from master :)

> In any case, my approach produces all legitimate possibilities a user could want to clear projects under any
> common prefix, including "/" (which means forget everything), common prefixes for remote directories, common
> roots for multiple projects at the same level and common roots up the tree for projects that are in a deeper
> hierarchy.  This is effectively what I think people would want, and I assume you agree.

I don't: that's the flat list which I find inappropriate in this case.
Projects may (and do) reside all over the filesystem, so producing all
possible prefixes of one or more project roots amounts to a huge list
with potentially many irrelevant entries.  Here I prefer completing the
directory name incrementally, by following the filesystem hierarchy,
with the usual Emacs file/directory name completion.

> If your code produces the same and is more efficient, that's great.

My suggestion basically preserves the current behavior, it just filters
the directories you can complete at each level to only include those
that actually lead to one or more project roots.


Best,

Eshel




This bug report was last modified 174 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.