From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gregory Heytings Newsgroups: gmane.emacs.devel Subject: Re: master 859190f 2/3: Convert some keymaps to defvar-keymap Date: Wed, 13 Oct 2021 21:53:40 +0000 Message-ID: <818f9907c26fb6f0233a@heytings.org> References: <20211004081724.6281.11798@vcs0.savannah.gnu.org> <20211004081727.4F24921048@vcs0.savannah.gnu.org> <871r4qcs8s.fsf@gnus.org> <87o87ubcnl.fsf@gnus.org> <87h7dm9en7.fsf@gnus.org> <818f9907c2b1fe8b54b1@heytings.org> <83tuhlnkxm.fsf@gnu.org> <818f9907c2f359a71f49@heytings.org> <83czo9nj4g.fsf@gnu.org> <818f9907c244b9db0bea@heytings.org> <834k9lnd2i.fsf@gnu.org> <818f9907c2dff3b49971@heytings.org> <83k0ign3zj.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset=us-ascii Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23691"; mail-complaints-to="usenet@ciao.gmane.io" Cc: larsi@gnus.org, stefankangas@gmail.com, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Oct 13 23:55:13 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 1mamDQ-0005uw-Gh for ged-emacs-devel@m.gmane-mx.org; Wed, 13 Oct 2021 23:55:12 +0200 Original-Received: from localhost ([::1]:60234 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mamDP-0004sy-Ec for ged-emacs-devel@m.gmane-mx.org; Wed, 13 Oct 2021 17:55:11 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47986) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mamCC-0004BA-Bc for emacs-devel@gnu.org; Wed, 13 Oct 2021 17:53:56 -0400 Original-Received: from heytings.org ([95.142.160.155]:50030) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mamBz-0000DN-2E; Wed, 13 Oct 2021 17:53:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1634162020; bh=0Tc/yUjwOfpvteRBphdax2hGAyArzVaZSL3Yki9b/no=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=ThORWdhwIh1DvkcRYyR20g8hzHEchErZFU/uSttj9pZmuaP8eO2Uh+BfPRnLLmzVO JQgR1II9NftNuiqQG4AESo8s34GD1Z2TlBRuwmy3YcrCY4V20f7ApIAlo9arvEQsbo vhMXnYZtFsVVVEComXRoEAlEUcvCyA3rna+ZCDhVuo62QzLXi63BfPGBEwsRsvOAbj AvWYV7gOFVURwIQeQA2k9GQO+61iwBmlIvIgJIQ8U31RszkwFi5vsJB3P9vmU5v8eM jYMUqWPT2yb5GR91rjfFfFx5F6ni4L2IoZ1Wbh1RWOTWvC6n9LH75hIahbkNzi5FLp jlKxWxclGxC7w== In-Reply-To: <83k0ign3zj.fsf@gnu.org> Received-SPF: pass client-ip=95.142.160.155; envelope-from=gregory@heytings.org; helo=heytings.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_PASS=-0.001, T_SPF_HELO_TEMPERROR=0.01 autolearn=ham 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:276937 Archived-At: >> To reply to your question anyway: perhaps I'm misunderstanding >> something, but I don't see why this would in itself imply preloading >> anything new. The (fboundp 'kbd) check, and checking that the return >> value of safe_call1 is non-nil (which I didn't do in the proof of >> concept) means that this would not have any effect until subr.el and >> edmacro.el (there's no "kbd.el", so I guess you mean "edmacro.el") are >> loaded. > > I understand, but edmacro is not preloaded, and files we do preload, > like bindings.el, call define-key all over the place. Letting all those > calls fail, albeit silently, would not be useful, not if we want to be > able to use 'kbd' syntax freely in preloaded files. So I'm not sure I > understand how your proposal will work in practice. > The question (at least as I understood is) was to make it possible for users (in their init files) and third-party packages to use a more readable syntax for key bindings, without wrapping each key binding in a call to kbd. That would have been a first step towards phasing out the "strings where every char represents an event" syntax. Perhaps the check for (fboundp 'kbd) could have been replaced by a (will_bootstrap_p () || will_dump_p ()) check to avoid the unnecessary calls during bootstrap. A second step would be to preload edmacro-parse-keys, to make it possible to use the kbd syntax in other preloaded files too.