From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Kangas Newsgroups: gmane.emacs.devel Subject: Re: Deprecating 'lexical-binding: nil' Date: Mon, 27 Sep 2021 16:09:43 -0700 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30797"; mail-complaints-to="usenet@ciao.gmane.io" Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Sep 28 01:11:28 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mUzmS-0007sM-PJ for ged-emacs-devel@m.gmane-mx.org; Tue, 28 Sep 2021 01:11:28 +0200 Original-Received: from localhost ([::1]:38154 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mUzmQ-0003yV-Fm for ged-emacs-devel@m.gmane-mx.org; Mon, 27 Sep 2021 19:11:26 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36798) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mUzkq-0003CZ-Ow for emacs-devel@gnu.org; Mon, 27 Sep 2021 19:09:48 -0400 Original-Received: from mail-pg1-f171.google.com ([209.85.215.171]:46998) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mUzko-0001R6-Ol; Mon, 27 Sep 2021 19:09:48 -0400 Original-Received: by mail-pg1-f171.google.com with SMTP id m21so19189812pgu.13; Mon, 27 Sep 2021 16:09:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=JZ4i/rZsIuCJYhmwPK8kdKoGBXafGjWAYQlyT/fj+BU=; b=SFSq5Eq5ES+FYtwd44kPANcfzG4Xz6Gbk2JyEL9lLxXktE2pFrnfeqqORApET/qpD7 FFJoRitEKIH3VRBr5ksn4aoYYG6raoAu6QbX8oS8aooaZpNIHWVgUW6tI8gdg4Sagfow i4NhF8hKgIVb38zzzrSOoTKMCYZ6JuBlJUUJlYkbzzaE9V57KnKwaT3rP7UhpSU5fMFz q8GYqT+rcFn3y/bjQtOe30SJDfLUUQttke4qq/9fyPA0IvfswRozMqVFaYeLGJqcbdR7 HJOQnaG6wPhu30NterwxU5RQoKbXgYqRlRcG0Lzfkrc+Mop/cum8cglY19RiCgDONHs6 CAbA== X-Gm-Message-State: AOAM5320THXOJsHM90JsDU+SbR2WE4YFmwS0otxePPEF70DCTXvoU8ky 4RwIOGfD8fQzCo83bvAek5+BaMdT3CXbEJl7wVTNEa1V X-Google-Smtp-Source: ABdhPJyLeV6TA2tdrnTOMeEGc0dVi7irGTJ/9O+rMmsGEpNHQ6PcjaF+sANdtxQoEO/UpG8GtfE6heUHk1TXyJiYE+4= X-Received: by 2002:a63:f946:: with SMTP id q6mr1840371pgk.42.1632784183894; Mon, 27 Sep 2021 16:09:43 -0700 (PDT) Original-Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Mon, 27 Sep 2021 16:09:43 -0700 In-Reply-To: Received-SPF: pass client-ip=209.85.215.171; envelope-from=stefankangas@gmail.com; helo=mail-pg1-f171.google.com X-Spam_score_int: -13 X-Spam_score: -1.4 X-Spam_bar: - X-Spam_report: (-1.4 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:275628 Archived-At: Richard Stallman writes: > I support making lexical binding the default, eventually, but instead > of proposing to make nonlexical binding mode obsolete (which implies > removing it), let's stop with deprecating it. That is fine by me, thank you. Note that I was a bit careless in my choice of words here: the subject said "deprecated" but the actual text said "obsolete". I think "deprecated" better communicates the intention here. > To delete a mode of usage that was formerly the default would make it > almost unfrasible to run old Lisp programs in newer Emacs versions. > > The changes required to make those old programs function with lexical > binding are not simple or eash to write. You can't find them by > searching for certain names, as you could for many other incompatible > changes. In some cases, they require studying the code carefully. > > To avoid that, let's keep the nonlexical mode working. I agree. For the record, it was never my intention to suggest that we should rush to delete 'lexical-binding:nil'. My expectation is that it will be phased out at some point in the future when it is no longer really relevant. Or maybe the future maintainers of Emacs will decide that it makes sense to keep it around as a novelty. You know, much like how most Unix-like operating systems still come with vi. ;-) > I have no opinion about whether to take the first step in Emacs 28 or > in Emacs 29. Both our maintainers have said that they don't want this in Emacs 28, and I can understand their reasoning. We can revisit this after 28.1 has been released, and some time have passed. My hope is that we will be able to finally declare it deprecated in Emacs 29.