From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.devel Subject: Re: master 859190f 2/3: Convert some keymaps to defvar-keymap Date: Thu, 14 Oct 2021 23:11:53 +0200 Message-ID: <87r1cntip2.fsf@gnus.org> References: <20211004081724.6281.11798@vcs0.savannah.gnu.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> <818f9907c26fb6f0233a@heytings.org> <838rywm7a7.fsf@gnu.org> <9865db3af5547c6ca15c@heytings.org> <9865db3af561bf9f05d1@heytings.org> <87mtnbv2q1.fsf@gnus.org> <87h7djv0j4.fsf@gnus.org> <87czo7uyxl.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35359"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: Gregory Heytings , Stefan Kangas , Eli Zaretskii , Emacs developers To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Oct 14 23:13:40 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 1mb82l-00092B-JU for ged-emacs-devel@m.gmane-mx.org; Thu, 14 Oct 2021 23:13:39 +0200 Original-Received: from localhost ([::1]:45158 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mb82k-0001pi-HM for ged-emacs-devel@m.gmane-mx.org; Thu, 14 Oct 2021 17:13:38 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:40022) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mb81C-0000VX-8p for emacs-devel@gnu.org; Thu, 14 Oct 2021 17:12:02 -0400 Original-Received: from quimby.gnus.org ([2a01:4f9:2b:f0f::2]:58730) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mb81A-00009T-LJ; Thu, 14 Oct 2021 17:12:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=MnBq5bzO6+KbKL81uknyXIvKHY5KbiQrTDzOaf08q3o=; b=G+f8e3Ips7dI3dlMye5ekcaOQz o4MTYjTIri1BWX2GHj0+VK5Yo4RIKawc0OpRXeLvpz9nlSDxAD7hZMdq+9TWXBSskPBEl/CnJUkWq UjaUkJxUJrNO/jZu6bzV56TbRogFs6VGGnGQ8KL0B2zeggrIgv2QT1Vxb0RPn8kaah7E=; Original-Received: from [84.212.220.105] (helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mb813-0005kC-Uc; Thu, 14 Oct 2021 23:11:56 +0200 Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAAAAAByaaZbAAAABGdBTUEAALGPC/xhBQAAAAJi S0dEAP+Hj8y/AAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH5QoOFBY4D4dJ5gAAAXVJREFU SMedVdu1wyAMUzhMxBKaqRN0Ji3BMJngfhDAMSZtrz96WvyQJWN6nPAmAhDqK3QcZ3Ss9pUC6FwJ ElYjAVahLu7j1K0Ixk8RbxQAtcCc5d7bqG0qvoZnVs2ARzAMifZhiiRPuaffqrAfakmgRWklJGl2 mhGZboJy0qT8HFpLqjDSXDQa+GYOeJnxcfAPSPd4qMYez2E2Th/ahF4Q9Paa3ksl760FG6sXaaf6 Nh5FUUtL66ZcDVtqURrR8zKytIQHgugDmPnRxrWQqM7VUhS/oxFcPpoUAbVMHUQAGeIWnoEiCf5Q wU4Y9VbSFn/lwrzxMWqzAjhOhaqEtN6lIkLYaQCgIMX04jVsKoX12DdUPnV5yHzmvSEiQV/FmpYe AcKErS3YJPaTbikr+hMCwKlR/zIQtlfWLUgeT+cu2BXKXaV4flch9icZOM72t/lJ2xGQ9UjAYH2l UmDpOwCX8Isdp367TenHuxc8M//h0NYsHv4fyJOIxWH3M9MAAAAldEVYdGRhdGU6Y3JlYXRlADIw MjEtMTAtMTRUMjA6MjI6NTYrMDA6MDC7gyi/AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTEwLTE0 VDIwOjIyOjU2KzAwOjAwyt6QAwAAAABJRU5ErkJggg== X-Now-Playing: Arthur Russell's _24 to 24 Music (Live at the Kitchen)_: "24 to 24 Music Live at the Kitchen" In-Reply-To: (Stefan Monnier's message of "Thu, 14 Oct 2021 16:59:55 -0400") Received-SPF: pass client-ip=2a01:4f9:2b:f0f::2; envelope-from=larsi@gnus.org; helo=quimby.gnus.org X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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:277066 Archived-At: Stefan Monnier writes: >> (define-key map [TAB] 'todo-next-button) >> >> but I guess it's fine... > > No, the `kbd` syntax for `tab` is "". Yeah, I meant we could probably work around that for these keys and allow both syntaxes. > I guess we could also accept `C-`, but I think it would be > better to catch it and signal an error. Yup. >> Oh, yeah, I had totally forgotten that this is how menus are defined. >> To it's ambiguous here -- the thing in [] could be anything, including >> [s], which kdb would interpret as the key "s". > > This area of Emacs is tricky enough that we may encounter surprises, but > I think using [?s] for such a menu entry "key binding" would work just > fine, currently. Hm... I have admittedly not tested this, but I thought it might collide with the way things like facemenu defines its keymap, with the `cons' definition. (local-set-key "\C-c\C-c" (define-keymap :name "Zot" [?k] '("foo" . ignore) [?z] '("bar" . ignore))) Yup, that binds `C-c C-c k'. >> This form is limited to menu items, though, so perhaps it could be made >> to work (i.e., if the DEF is a menu item, then we have different logic). > > I'd rather not go there. Me neither, since there's also (define-key map [sepmv] '("--")) For one bright, shiny moment I thought we could look into the keymap and see whether the keymap "is a menu", but the only hint that they are is that they have a name. And as we saw in the code snippet, that's not exclusive to actual menus, but also to those oddball prompt-in-the-minibuffer "menus". So I think that the [C-c C-k] syntax doesn't quite work unambiguously. Unless I'm missing something, which I might well be. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no