From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Rename "window" to "pane" (after Emacs 27) Date: Wed, 30 Oct 2019 19:29:33 +0200 Message-ID: <83v9s6nnuq.fsf@gnu.org> References: Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="205763"; mail-complaints-to="usenet@blaine.gmane.org" Cc: emacs-devel@gnu.org To: Stefan Kangas Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 30 19:56:09 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iPt8a-000rLO-NJ for ged-emacs-devel@m.gmane.org; Wed, 30 Oct 2019 19:56:08 +0100 Original-Received: from localhost ([::1]:43448 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iPt8Y-0001th-Qy for ged-emacs-devel@m.gmane.org; Wed, 30 Oct 2019 14:56:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:40271) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iPrmq-0002Mk-0b for emacs-devel@gnu.org; Wed, 30 Oct 2019 13:29:38 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:37182) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iPrmp-0007je-O0; Wed, 30 Oct 2019 13:29:35 -0400 Original-Received: from [176.228.60.248] (port=4844 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iPrmo-0001VX-V6; Wed, 30 Oct 2019 13:29:35 -0400 In-reply-to: (message from Stefan Kangas on Tue, 29 Oct 2019 00:07:33 +0100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:241641 Archived-At: > From: Stefan Kangas > 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.