From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Robert Pluim Newsgroups: gmane.emacs.bugs Subject: bug#30309: Surprising behaviour of insert-kbd-macro Date: Fri, 29 Mar 2019 16:06:44 +0100 Message-ID: References: <87inbit2nm.fsf@gmail.com> <87vafbdj6i.fsf@users.sourceforge.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="268389"; mail-complaints-to="usenet@blaine.gmane.org" Cc: 30309@debbugs.gnu.org To: Noam Postavsky Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Mar 29 16:07:19 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1h9t6B-0017c1-5f for geb-bug-gnu-emacs@m.gmane.org; Fri, 29 Mar 2019 16:07:15 +0100 Original-Received: from localhost ([127.0.0.1]:55616 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h9t6A-0006Vi-4J for geb-bug-gnu-emacs@m.gmane.org; Fri, 29 Mar 2019 11:07:14 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:46014) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h9t5z-0006Uy-S3 for bug-gnu-emacs@gnu.org; Fri, 29 Mar 2019 11:07:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h9t5y-0003BM-Um for bug-gnu-emacs@gnu.org; Fri, 29 Mar 2019 11:07:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:50658) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h9t5y-0003BG-NF for bug-gnu-emacs@gnu.org; Fri, 29 Mar 2019 11:07:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1h9t5y-0002zy-Gf for bug-gnu-emacs@gnu.org; Fri, 29 Mar 2019 11:07:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Robert Pluim Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 29 Mar 2019 15:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30309 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: confirmed easy Original-Received: via spool by 30309-submit@debbugs.gnu.org id=B30309.155387201611517 (code B ref 30309); Fri, 29 Mar 2019 15:07:02 +0000 Original-Received: (at 30309) by debbugs.gnu.org; 29 Mar 2019 15:06:56 +0000 Original-Received: from localhost ([127.0.0.1]:35969 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h9t5q-0002zc-7x for submit@debbugs.gnu.org; Fri, 29 Mar 2019 11:06:54 -0400 Original-Received: from mail-wm1-f41.google.com ([209.85.128.41]:40814) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h9t5o-0002zM-BA for 30309@debbugs.gnu.org; Fri, 29 Mar 2019 11:06:52 -0400 Original-Received: by mail-wm1-f41.google.com with SMTP id z24so3217441wmi.5 for <30309@debbugs.gnu.org>; Fri, 29 Mar 2019 08:06:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:mail-copies-to:gmane-reply-to-list :date:in-reply-to:message-id:mime-version; bh=rkh4DGcBl76/T7fp/7RO0lzaubORu1PgsKzPJGfMvEA=; b=aoXN7Br/1o2aikRJ0VzqN/83LJe60DUJ46er1wI89kNWYCqhcbRAhv2P7TPM36zc7b TeyTaelW1vwEfSFvOYvztERiNF+msG9N2W/BT3M9aRsJbJN1MFI/iuizFo8UmmUAxFZw ZR3S7Ux2d0003Vk9aJbUw0utDCeBCg/RR21o8meV7vAKJU8nqc9M+2a3BsPbnBBca9zm V5wSNtDXyR0P8D8+ojnjUR5DZdwiSKjf5ET2+6MFb2BG8/xqw6IJTzuypC6B/7z3w9Bk P4ixC79rz1bdGC2Ti1QYABhhEUN7walZJbQGyLexM1+5jRuPVL+mHiZGrQYu+71g8tUU QJfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:mail-copies-to :gmane-reply-to-list:date:in-reply-to:message-id:mime-version; bh=rkh4DGcBl76/T7fp/7RO0lzaubORu1PgsKzPJGfMvEA=; b=EOQgoisReEc/ddRkORzC0D9KfVICif60XpqHtRdvaxAJZwpeOVNyk5NKisHhfyyFgh VbcfGNSDBqUha3swpVn18pkCKZU9guHbCBAci8dnZqS2+oL6yxe5z339WhgerGlogCOv rF2Hhgk/Mir1F7RVd5k+GcUJhwTXZhCBQllIGqc0KDJyCJ7onWBmQ8sFF8n/CyGHmufR ar7KOx5JI5xgqcRpKPJFiq3Z4wnQs3CXzbXmFEPEkwv8kWpCOrIVlyklXPfnLpsxEZbg bo8wOUWUYGzyNqK0YYuFwgA5GtbinxReWwi4ZSAeW1XGJpjYHnokHQaGH4cSfUh/cy8L ATXA== X-Gm-Message-State: APjAAAU/ldTurQxhzrpgW94OifDdPeEeTHrqNPAXdiy7cGIKecGO0vGj ZpdcrfV3I/dio3Y4q4xdkpgO4zKz X-Google-Smtp-Source: APXvYqyGU/geFqEkps9SVvRSsUvp982Y3pGa4+uI4/cGMU8Pi5mS0gQFm7h9gfShC6QRlHpIBBV0Ig== X-Received: by 2002:a1c:9cc1:: with SMTP id f184mr4075223wme.150.1553872006147; Fri, 29 Mar 2019 08:06:46 -0700 (PDT) Original-Received: from rpluim-mac ([149.5.228.1]) by smtp.gmail.com with ESMTPSA id e1sm4028833wrw.66.2019.03.29.08.06.44 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Fri, 29 Mar 2019 08:06:44 -0700 (PDT) Mail-Copies-To: never Gmane-Reply-To-List: yes In-Reply-To: (Noam Postavsky's message of "Fri, 29 Mar 2019 10:16:50 -0400") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:156925 Archived-At: >>>>> On Fri, 29 Mar 2019 10:16:50 -0400, Noam Postavsky said: Noam> On Fri, 30 Nov 2018 at 03:37, Robert Pluim wrote: >> So I guess just checking for last-kbd-macro should be enough, >> since that should never have a legitimate key binding. Noam> I think avoiding passing nil to where-is-internal would be Noam> cleaner (or else stop where-is-internal from looking for Noam> bindings of nil). And it would handle the non-interactive Noam> case of Noam> (insert-kbd-macro 'something-not-fbound t) That would work as well. Something like this (utterly untested beyond 'insert-kbd-macro'): diff --git a/src/keymap.c b/src/keymap.c index 2ac3d33460..2e9f3d5a96 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -2489,6 +2489,7 @@ where_is_internal (Lisp_Object definition, Lisp_Object keymaps, DEFUN ("where-is-internal", Fwhere_is_internal, Swhere_is_internal, 1, 5, 0, doc: /* Return list of keys that invoke DEFINITION. +If DEFINITION is nil, return nil. If KEYMAP is a keymap, search only KEYMAP and the global keymap. If KEYMAP is nil, search all the currently active keymaps, except for `overriding-local-map' (which is ignored). @@ -2536,6 +2537,9 @@ The optional 5th arg NO-REMAP alters how command remapping is handled: bool remapped = 0; Lisp_Object tem = Qnil; + if (NILP (definition)) + return Qnil; + /* Refresh the C version of the modifier preference. */ where_is_preferred_modifier = parse_solitary_modifier (Vwhere_is_preferred_modifier);