emacs-devel
[Top][All Lists]
Advanced

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

RE: A vision for multiple major modes: some design notes


From: Drew Adams
Subject: RE: A vision for multiple major modes: some design notes
Date: Thu, 21 Apr 2016 09:59:02 -0700 (PDT)

> > I have no problem with stuff being in C for performance reasons.
> > When that is not critical, keeping stuff in Lisp is good.
> >
> > Especially for a new and very general feature: let folks play
> > with it and experiment with new possibilities.  We can later
> > optimize any parts we like.
> 
> The parts that affect redisplay must at least partially be in C,
> because there's no existing infrastructure that I'm aware of that
> can be piggy-backed to do this kind of stuff.

Anything that must be in C must be in C, of course. ;-)

But just what does "the parts that affect redisplay" mean?
If we mean parts that need to do something particular wrt
redisplay, then yes, that makes sense.

If we mean also some parts that would just be faster if
done in C then maybe, or maybe not.

You mentioned earlier that redisplay needs to access
buffer-local variables as it moves through the buffer.
And you said that redisplay needs to get the right values
of such variables.

But for some island-chain operations, e.g. some that I'm
thinking of that do not care about the mode of a chain
or whether it even has a mode, I don't see why redisplay
would need to do anything special.

No, I don't claim to understand this.  I'll stick with
agreeing that if there is an effect from this feature on
redisplay, or if redisplay affects this feature somehow,
and if that means that some bits of the feature must be
implemented in C, that's fine.

I would just prefer that we not go overboard wrt a C
implementation, just because we can or because something
might be faster in C.

I'd just as soon have a general, open, and
easy-to-modify-&-extend feature at the outset, and
worry later about optimizing bits of it that are
important to optimize.  From my point of view, a feature
such as this opens new possibilities that are ripe for
exploration.  And that shouts, "Lisp, please!".

Anyway, not knowing anything about this part of things,
I'll shut up about C vs Lisp, at least for now.



reply via email to

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