emacs-devel
[Top][All Lists]
Advanced

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

Re: Rename "window" to "pane" (after Emacs 27)


From: Eli Zaretskii
Subject: Re: Rename "window" to "pane" (after Emacs 27)
Date: Wed, 30 Oct 2019 19:29:33 +0200

> From: Stefan Kangas <address@hidden>
> Date: Tue, 29 Oct 2019 00:07:33 +0100
> 
> 1. Change the names of the Lisp level functions to be named "window"
>    instead of "pane" in window.c and window.el.  Make the old names
>    into defaliases.  Update calls in Emacs to use the new names.  (I'm
>    not sure if it would make sense to rename "window.{c,el}" to
>    "pane.{c,el}" given how that makes it harder to browse Git
>    history.)
> 
> 2. Update elisp and emacs manual to introduce "pane" as a synonym for
>    "window".  Make it clear that "pane" is the new and preferred
>    terminology, but that old code and documentation might use "window"
>    to mean the same thing.
> 
> 3. Update doc strings of all functions changed above to talk about
>    panes instead of windows.
> 
> I think this could be done in a feature branch, and, if the experiment
> looks good, maybe we could considering merging it for Emacs 28.

What would be the criterion for success?

> I'd suggest to *not* do the following as part of the above initial plan:
> 
> - Update the C level code to use the new "pane" terminology.
> - Update the Lisp code to internally only refer to "panes" (e.g. in
>   let-bindings)
> - Rename functions outside of window.el or window.c (OTOH, there's
>   only ~500 of them, so maybe it's feasible?)
> - Update all doc strings of all functions in Emacs where "window"
>   shows up.
> - Mark the above aliases obsolete.  (We could do that later.)
> 
> The excluded points would of course, in the context of a rename, make
> sense to do eventually.  I believe they are too big tasks to do in a
> single feature branch (perhaps we could do parts).  I'd therefore
> suggest to first introduce the new terminology as the preferred one,
> merge that, and then make these other changes incrementally over time.

To tell the truth, I don't see how we could leave anything unrenamed.
The code is supposed to speak for itself, so if we want to use "pane",
we need to use it everywhere.  C code is no different from Lisp,
because people who develop and maintain Emacs modify both, so having
schizophrenic terminology will get in the way, certainly in the way of
those who didn't have the current terminology burnt into their muscle
memory.

Likewise any arguments we current call WINDOW: they will have to be
renamed to PANE.  And if we find arguments called WIND or WNDW (I hope
there are none), we will have to do something with those as well.

Local variables is a tougher nut, but ideally we should rename those
as well.

So I think if we are going to do this, we need to do all of it, lock,
stock, and barrel.



reply via email to

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