From: João Távora<joaotavora@gmail.com>
Date: Wed, 23 Nov 2022 20:33:04 +0000
Cc: Stefan Monnier<monnier@iro.umontreal.ca>,
Danny Freeman<danny@dfreeman.email>,
Eric Abrahamsen<eric@ericabrahamsen.net>, emacs-devel<emacs-devel@gnu.org>
(defun joaot/sub-projects (dir)
(let* ((super (project-current))
(super-root (project-root super))
(relative (file-relative-name dir super-root))
(d (car (split-string relative "/"))))
(when (member d '("lisp" "src"))
(cons 'transient (expand-file-name (concat d "/") super-root)))))
Is this okay for code outside project.el to know the internal structure of a
project object in general, and in particular cons "by hand" a 'transient'
project object? I thought this was a closely-guarded implementation detail
that even doc strings are not allowed to divulge?