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: "Bringing GNU Emacs to Native Code" at the European Lisp Symposium Date: Sat, 02 May 2020 09:50:15 -0400 Message-ID: References: <69d8b48d-bd09-41c1-a89d-ed76fe0284a4@default> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="129191"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: emacs-devel@gnu.org, stefan@marxist.se, drew.adams@oracle.com, Andrea Corallo To: Richard Stallman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat May 02 15:51:02 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 1jUsXm-000XV2-0c for ged-emacs-devel@m.gmane-mx.org; Sat, 02 May 2020 15:51:02 +0200 Original-Received: from localhost ([::1]:52924 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jUsXl-00008T-3h for ged-emacs-devel@m.gmane-mx.org; Sat, 02 May 2020 09:51:01 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:52624) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jUsXA-00080G-Cj for emacs-devel@gnu.org; Sat, 02 May 2020 09:50:25 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jUsX8-00007B-VG for emacs-devel@gnu.org; Sat, 02 May 2020 09:50:23 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:61638) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jUsX7-00006s-Bt; Sat, 02 May 2020 09:50:22 -0400 Original-Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id C373D100F6C; Sat, 2 May 2020 09:50:19 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id AD270100EF4; Sat, 2 May 2020 09:50:17 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1588427417; bh=W7GWtctTtc+BytOay+Lno59lATBPj+C84hczqZ4epJQ=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=JcCOMTvN8B7xh+PrUhv+YHVFzG66t3DTz8AAUT0lWuomUkE/UnMVhLtU4wt45FyO6 jXM267ERBvvbQuDIWaGjF3ZhoU5HYZerZCDBP4Rb4lxplaAFAzUzHIQeRviXCMM/50 MNkmlB3u5AFIvOy5DY0fpddGvTc1yMoeyFYT5LVNokKfKq5SeHwRqWadGR1kSZqKXl OqpQqJFKn1JZHktMoDQFHjQzquw7+5VrJaaughTAOQy7FLMpoAXyGJTDri5+5oupmM bmVoNmc0RcQNs1JEgNPRp8Tk8ZqoxZW9w0tBVpGlrqiOrhytZh1yF7bw8I1pYOtMCQ dQ/g5Dy8swuaQ== Original-Received: from alfajor (unknown [216.154.3.202]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 17CDF120484; Sat, 2 May 2020 09:50:17 -0400 (EDT) In-Reply-To: (Richard Stallman's message of "Fri, 01 May 2020 22:27:55 -0400") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/02 08:59:26 X-ACL-Warn: Detected OS = 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:248438 Archived-At: > Such is life. But even if dynamic-default binding can't get the same > amount of speedup, it shoulod work correctly. It does work correctly already. > You might find a way to recognize that some bindings can't be seen by > any other functions, and treat them as lexical on the grounds that > doing so would not alter the result. To get a good result out of this you need a non-trivial analysis (there's actually a paper by a student of Mike Sperber that does exactly that, BTW) and you still won't preserve the expected behavior when advising or redefining functions. It's much easier to adjust the source file to use Elisp/l instead of Elisp/d and will give better results (and better compilation warnings, etc...). Stefan