From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Robert Pluim Newsgroups: gmane.emacs.bugs Subject: bug#61149: 29.0.60; keymap-local-set rejects key sequences Date: Mon, 30 Jan 2023 10:47:35 +0100 Message-ID: <87357sz748.fsf@gmail.com> References: <83wn5578vn.fsf@gnu.org> <875ycpbe8l.fsf@rub.de> <871qndbbrn.fsf@rub.de> <87fsbszc54.fsf@gmail.com> <87zga0jtom.fsf@rub.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="7987"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , 61149@debbugs.gnu.org To: Stephen Berman Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jan 30 10:48:22 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1pMQlv-0001tg-Jf for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 30 Jan 2023 10:48:19 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pMQlg-0002b2-5h; Mon, 30 Jan 2023 04:48:04 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pMQle-0002aV-FW for bug-gnu-emacs@gnu.org; Mon, 30 Jan 2023 04:48:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pMQle-0001H0-6z for bug-gnu-emacs@gnu.org; Mon, 30 Jan 2023 04:48:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pMQld-0007zX-Nk for bug-gnu-emacs@gnu.org; Mon, 30 Jan 2023 04:48:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Robert Pluim Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 30 Jan 2023 09:48:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 61149 X-GNU-PR-Package: emacs Original-Received: via spool by 61149-submit@debbugs.gnu.org id=B61149.167507206530600 (code B ref 61149); Mon, 30 Jan 2023 09:48:01 +0000 Original-Received: (at 61149) by debbugs.gnu.org; 30 Jan 2023 09:47:45 +0000 Original-Received: from localhost ([127.0.0.1]:46411 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pMQlM-0007xO-KT for submit@debbugs.gnu.org; Mon, 30 Jan 2023 04:47:45 -0500 Original-Received: from mail-wr1-f43.google.com ([209.85.221.43]:42872) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pMQlK-0007wc-Sc for 61149@debbugs.gnu.org; Mon, 30 Jan 2023 04:47:43 -0500 Original-Received: by mail-wr1-f43.google.com with SMTP id d14so10430421wrr.9 for <61149@debbugs.gnu.org>; Mon, 30 Jan 2023 01:47:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:from:to:cc:subject:date:message-id :reply-to; bh=RSyLaKYBiPRtuq1iQoGcqKz5SlE94ThYKirYlMULvdQ=; b=OdTCGWRlzciU8ND0jg8DQmh/8sl/RdtLbA4EuiSDxiQL3DvJTC3Vp5riNe8fU0/ANU RyalHCLtNsa7J8PCV4IZvBGEYhCk28LDfO0UvrHjfJ0BWDaV7Z5LAtlvrG+54u1Wqs4g WsNw+Thv/+D353mYPWHGGu0yQhkVkS7pKXPT/zSCMu2ed0QSyRVyW0HSVX6jEZFV8yAE no59f0iqtkc8JJEUnipjtGy+8+TXoglxCYZYhAeGDwLmcFQPUirC2zWPcWWcNGvTkjon midoecTLstlNdnDYZRMkYDQ0UaSTrqHuCumcsn7DaBJPfOReX+Bx60LbXtwJMAmca7AZ 9tlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RSyLaKYBiPRtuq1iQoGcqKz5SlE94ThYKirYlMULvdQ=; b=aMPN8PVO3zF2E8T3GLnTEHQBCxc3DN3E2dFzddcFl2hfyHmERrsLRpfD53/7JbJcrT zYITcIj2w6gtuoS6Va0ehUoP+uJUbgHczQd7Gr4mroA5VAbPYISzgbWiwmL6hFXvzsIl DGGBagoJGeBlBq5+rWQezym6RMtQQUOkQ+Lz4J55YEHEN1/QRoH45/VyLALzVmfltZid HKADOD29TZIXY4JJZ37J0BKsYd12Zzyhi/2R55q/K1v3P2MbITTFUlOEF8UhygfNY1Di 2qtKj18hsaddtZJcPdwNzfZA1UcmszW+EB9gj6V2yxtBhqs23xmxrrpsRXFzojD4sdgJ lHzg== X-Gm-Message-State: AO0yUKXcgjZQ1V0Q/3SFWkHGmT73FmpLzelWVY9ZQMWVNUDOlm5ApkNi EwJzLT8gZ6XiRBPv6ZVBTXS7yQo83HI= X-Google-Smtp-Source: AK7set+vOzaQjwu/6bKM3v0C37gBYbicN8mAlgy7l8y/6G9qb/JEsAeBS+3J1to2TJPA8OrbYExfKQ== X-Received: by 2002:a5d:4bc2:0:b0:2bf:dab7:8fa0 with SMTP id l2-20020a5d4bc2000000b002bfdab78fa0mr6957041wrt.25.1675072056454; Mon, 30 Jan 2023 01:47:36 -0800 (PST) Original-Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id a17-20020adffb91000000b002bddac15b3dsm11146612wrr.33.2023.01.30.01.47.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Jan 2023 01:47:36 -0800 (PST) In-Reply-To: <87zga0jtom.fsf@rub.de> (Stephen Berman's message of "Mon, 30 Jan 2023 09:46:49 +0100") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:254407 Archived-At: >>>>> On Mon, 30 Jan 2023 09:46:49 +0100, Stephen Berman said: Stephen> This also DTRT, but it also gives keymap-local-set the same UI= as that Stephen> of keymap-global-set, which is that at the first prompt the cu= rsor jumps Stephen> out of the minibuffer (due to read-key-sequence), and then jum= ps back at Stephen> the second prompt. I find this quite jarring (and the first t= ime I was Stephen> quite surprised and thought I had either mistyped or there was= a bug). Stephen> I would prefer it if both commands had keymap-local-set's curr= ent UI. Yes, that is quite annoying. So let=CA=BCs do it your way (with an incidental spacing fix :-) ) Eli, emacs-29, I think, if you=CA=BCre ok with the fix. diff --git a/lisp/keymap.el b/lisp/keymap.el index 791221f2459..caabedd5aec 100644 --- a/lisp/keymap.el +++ b/lisp/keymap.el @@ -76,12 +76,9 @@ keymap-global-set that local binding will continue to shadow any global binding that you make with this function." (declare (compiler-macro (lambda (form) (keymap--compile-check key) form= ))) - (interactive - (let* ((menu-prompting nil) - (key (read-key-sequence "Set key globally: " nil t))) - (list key - (read-command (format "Set key %s to command: " - (key-description key)))))) + (interactive "KSet key globally:\nCSet key %s globally to command: ") + (unless (stringp key) + (setq key (key-description key))) (keymap-set (current-global-map) key command)) =20 (defun keymap-local-set (key command) @@ -94,10 +91,12 @@ keymap-local-set The binding goes in the current buffer's local map, which in most cases is shared with all other buffers in the same major mode." (declare (compiler-macro (lambda (form) (keymap--compile-check key) form= ))) - (interactive "KSet key locally: \nCSet key %s locally to command: ") + (interactive "KSet key locally:\nCSet key %s locally to command: ") (let ((map (current-local-map))) (unless map (use-local-map (setq map (make-sparse-keymap)))) + (unless (stringp key) + (setq key (key-description key))) (keymap-set map key command))) =20 (defun keymap-global-unset (key &optional remove)