From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: lexical-binding is turned on in more use cases Date: Tue, 10 Mar 2020 16:41:43 -0400 Message-ID: References: <83o8t6bx2p.fsf@gnu.org> <83k13ubv3g.fsf@gnu.org> <83imjebsrh.fsf@gnu.org> <20200308193048.GB4832@ACM> <20200310191328.GB5046@ACM> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="14275"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Eli Zaretskii , emacs-devel@gnu.org To: Alan Mackenzie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Mar 10 21:42:27 2020 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 1jBlhr-0003Ym-Og for ged-emacs-devel@m.gmane-mx.org; Tue, 10 Mar 2020 21:42:27 +0100 Original-Received: from localhost ([::1]:40038 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jBlhq-0004KU-Rk for ged-emacs-devel@m.gmane-mx.org; Tue, 10 Mar 2020 16:42:26 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:33832) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jBlhG-0003tp-UD for emacs-devel@gnu.org; Tue, 10 Mar 2020 16:41:51 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jBlhF-0000aP-9M for emacs-devel@gnu.org; Tue, 10 Mar 2020 16:41:50 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:26148) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jBlhD-0000U9-Rs; Tue, 10 Mar 2020 16:41:48 -0400 Original-Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id DACE081A0D; Tue, 10 Mar 2020 16:41:46 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 0C627818C7; Tue, 10 Mar 2020 16:41:45 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1583872905; bh=FhLNlxXTmv1Dlo+l+y9rH7DYi+xLSEhqkNA+SuQWqOs=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=oyVbIOnEFtjxqHa1BPhJ4sGvFgA1C8AYEWYbHdAn/IZZ8vpt3WUmh72S/WRCKAQgp sj8UTLbDk+WVZBbc87XgPBlkfWriRY4JKUbwSqx9zRbYAqwNa11DSK8XO+9LLhCOEw xsrgWzeHZgIkjK6ZNx79VoZiGIvrtQxixAM/QUEzKV7Y22o6m10b+qQ7Huct+eK+1J +ZeJEg2DDwAzJPXwW9yEBDVwsqOzW3IuKL882G3in/4UA8VAZQINSoKT8iq28E2FkH GAPiegVkmw7DAHOlxJMLUiMQKEqHbbJHT4xgsx7236o+dEr+Guq3vcmPAihZuhL8at JGKq9pyY6/Spg== Original-Received: from alfajor (unknown [216.154.50.221]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id AEA17120648; Tue, 10 Mar 2020 16:41:44 -0400 (EDT) In-Reply-To: <20200310191328.GB5046@ACM> (Alan Mackenzie's message of "Tue, 10 Mar 2020 19:13:28 +0000") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 132.204.25.50 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:245450 Archived-At: > What specific real problem does forcing M-: to use lexical binding solve? Make it behave the way coders who use lexical-binding (which I believe are now the majority) expect. You likely won't write code that relies on lexical scoping since you're used to writing dynamically scoped code, but many coders nowadays never touch dynamically scoped code and hence very much expect the lexical binding rules, which is mostly the ability to use closures (which is sometimes present only implicitly via macros like `gv-ref` (itself used in other macros like `add-function`), thunk.el and generator.el macros, ...). Stefan