[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: |
Thu, 21 Mar 2013 17:32:32 +0100 |
User-agent: |
Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.2.93 (gnu/linux) |
Eric M. Ludlam writes:
W> On 03/20/2013 01:47 PM, Stefan Monnier wrote:
>> Sorry, I mostly meant "split eieio.el". What parts? Well, that's
>> a good question. I think if I knew, I'd have done that already ;-)
>> Maybe a first split would be "all the code in eieio.el up until the end
>> of the first big eval-and-compile".
>> At least, if the aim is to get rid of those nasty eval-and-compile.
>
> This email, and browsing in eieio.el in the CEDET repository gave me
> an a-ha moment. I think I know how to "split" eieio such that the
> eval-and-compile elements are fixed, and have a much nicer eieio.el in
> the process. My initial experiments show I'm on the right track.
>
> David, is there something that needs merging from Emacs to CEDET I
> need to worry about before making massive structural changes in EIEIO?
No, it's all already merged to upstream, including the renames by
Stefan.
> If the goal is to use EDE's detection scheme and data, but not load
> EDE project classes, then we are all set already since the EDE project
> classes are not directly involved in detecting the projects. If the
> goal is to not use EIEIO at all, then we'd end up just using a plist
> other random data structure instead of using EIEIO to do it. This
> wouldn't be a big deal because AFAIK, these classes aren't subclassed,
> so impact would be small.
Let's talk examples, then. Say we have
(ede-project-autoload "vcs-root"
:name "VCS ROOT"
:file 'vcs-root
:proj-file 'ede-check-for-vcs-dirs
:proj-root 'ede-vcs-root-dir
:proj-root-dirmatch "NONE"
:class-sym 'ede-vcs-root-project
:load-type 'ede-vcs-root-load
:new-p nil
:safe-p t)
So from that we'd take the list of slots, which is practically a plist,
and would write something akin to ede-dir-to-projectfile, but using
plist-get/set instead of oref/oset?
And what would happen when `ede-check-for-vcs-dirs' returns t? Would
that load EDE then, or would we try to go on to provide the basic
functionality (like getting the root) with a class-less version?
-David
- Re: A unified project root interface, (continued)
- Re: A unified project root interface, David Engster, 2013/03/20
- Re: A unified project root interface, Stefan Monnier, 2013/03/20
- Re: A unified project root interface, Eric M. Ludlam, 2013/03/20
- Re: A unified project root interface, Stefan Monnier, 2013/03/20
- Re: A unified project root interface, Eric M. Ludlam, 2013/03/21
- Re: A unified project root interface, Stefan Monnier, 2013/03/21
- Re: A unified project root interface, Eric M. Ludlam, 2013/03/21
- EIEIO split (was: A unified project root interface), David Engster, 2013/03/23
- Re: A unified project root interface,
David Engster <=
- Re: A unified project root interface, Eric M. Ludlam, 2013/03/21
- Re: A unified project root interface, David Engster, 2013/03/22
- Re: A unified project root interface, Eric M. Ludlam, 2013/03/23
- Re: A unified project root interface, Jorgen Schaefer, 2013/03/23
- Re: A unified project root interface, Dmitry Gutov, 2013/03/23
- Re: A unified project root interface, Pascal J. Bourguignon, 2013/03/23
- Re: A unified project root interface, Dmitry Gutov, 2013/03/24
- Re: A unified project root interface, Jorgen Schaefer, 2013/03/24
- Re: A unified project root interface, Jorgen Schaefer, 2013/03/20
- Re: A unified project root interface, Jorgen Schaefer, 2013/03/19