emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A unified project root interface


From: David Engster
Subject: Re: A unified project root interface
Date: Wed, 20 Mar 2013 08:13:24 +0100
User-agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.2.93 (gnu/linux)

Stefan Monnier writes:
>>>>> I took the sense of the OP to be that the concept of a project-root
>>>>> deserved to become part of the core set of emacs concepts unrelated to
>>>>> optional packages e.g. much as file and directory local variables.
>
>>>>> Once the concept gets pulled into the core extension author simply
>>>>> assume existence of project-root functionality without needing to have
>>>>> to enable in any particular way.
>>>> OK, if this is something which should be available with emacs -Q right
>>>> at startup, then EDE is out.  It indeed is too big for that.
>>> It should be possible to write the code such that the project-root part
>>> of EDE doesn't require loading too much code.
>> Yes, but no matter how small, EDE depends on EIEIO, so this would mean
>> that EIEIO is loaded right at startup.  I thought this would be
>> considered a showstopper, even when we clean up its namespace use.
>
> Right, preloading EIEIO is not what I was planning to do, indeed.
> IOW, I think the challenge is to extract the "project-root" part of EDE
> in such a way that it doesn't require preloading as much code.
> That might require splitting EIEIO, or some other approach, maybe,
> I don't know.

I don't think that's a practical approach. In EDE, a project *is* a
class.

I would however like to ask if such a 'project-root' feature is
absolutely needed right at startup time. I'm not sure about the overhead
involved when loading files, which might be annoying to people who don't
need it. OTOH, we already have vc-find-file-hook enabled by default,
which I guess renders such questions moot...

BTW, I was wondering if the vc package couldn't just provide the current
root; it felt kind of silly to implement scanning for vcs markers, when
'vc' actually already did that. This way, we could implement a
'project-root' function, which first checks if there's an EDE project,
and if not, it could return the root directory from 'vc' if the current
file is under version control.

-David



reply via email to

[Prev in Thread] Current Thread [Next in Thread]