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 08:59:03 +0100 Message-ID: <87fsbszc54.fsf@gmail.com> References: <83wn5578vn.fsf@gnu.org> <875ycpbe8l.fsf@rub.de> <871qndbbrn.fsf@rub.de> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="27817"; 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 09:00:25 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 1pMP5U-00077a-N8 for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 30 Jan 2023 09:00:24 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pMP5B-0000xQ-Ff; Mon, 30 Jan 2023 03:00:05 -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 1pMP59-0000wu-Du for bug-gnu-emacs@gnu.org; Mon, 30 Jan 2023 03:00:03 -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 1pMP59-0000RZ-2b for bug-gnu-emacs@gnu.org; Mon, 30 Jan 2023 03:00:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pMP58-00050d-Kd for bug-gnu-emacs@gnu.org; Mon, 30 Jan 2023 03:00:02 -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 08:00:02 +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.167506555219168 (code B ref 61149); Mon, 30 Jan 2023 08:00:02 +0000 Original-Received: (at 61149) by debbugs.gnu.org; 30 Jan 2023 07:59:12 +0000 Original-Received: from localhost ([127.0.0.1]:46229 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pMP4K-0004z6-6k for submit@debbugs.gnu.org; Mon, 30 Jan 2023 02:59:12 -0500 Original-Received: from mail-wm1-f49.google.com ([209.85.128.49]:33567) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pMP4J-0004yt-5P for 61149@debbugs.gnu.org; Mon, 30 Jan 2023 02:59:11 -0500 Original-Received: by mail-wm1-f49.google.com with SMTP id iv8-20020a05600c548800b003db04a0a46bso8311960wmb.0 for <61149@debbugs.gnu.org>; Sun, 29 Jan 2023 23:59:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=dvd1BHe0TKBKBfTM4qHjRxVcFwqkmsAfkmXdl/nI6GU=; b=SNGOck1BafSvWJ78L6zTbJrl3VJvJsBzbnQ/dsOZJwfyi1AkEpfXJ/7y3bDIvbVYFR U0T45QJ2j/Gow9CbJK9tQm9jS0VPuOwsVUIK/UUuXa0+/ssYqAfOxliSZe+nspO0kuUD pMsszOyB1iOmI87QjosPfhkydRjoGYVUbWREd6GLAqzdZJ/ij93ZlFh8gVyf1/ZZHTx9 sABTrWcGe1tNxPIBWSCRcUvK4iRUkFMovz56wTWahLg/ZrvSswUn29HMTe6pwsImdA2v oGX5Q0gTMDoW9NF4QymgiPYeLfSCHcBHCLL9UxjNC0lUEvcVWEESB1ZsbyflE5ZJP/iX S8cA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=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=dvd1BHe0TKBKBfTM4qHjRxVcFwqkmsAfkmXdl/nI6GU=; b=vvRKx0GUOePL6ZfzRZo25UBniLhNM9E/VxW9b6bFwvbzK7p3oZAzk7eKQtCfFsF8VJ wcLhStKtPhDsBbPBkVEOnyrnuRYaw8Sqmfg7U3z83+oGCh+OHf2j2S6vOjNOTytvMONv oBl2zmKoqTSef1+tHir3FP1CD5jyx/V8/YGoh5Rj4vzPyxvJXnNMHUKH5fDgDHvWptOO 0djDt8jpKDHJNU0Sv8OsmnQE29TXvmD355Lj2nOf1w4e3yhaxWx1xEbWPqHzsjUgANWJ 6DUJ5XpnNZ3t9JRbSjDHaMyKezPSacrk0dCXxfQy/b8IAvI71dytT7+y6oTz6aap0UyV zagQ== X-Gm-Message-State: AO0yUKUUAUbeS2UfOcxs+WmvqvXasdgJX5aZ0MQTFSBY7UtAKtw7QRNH qxFo1tnUx2C0yefeiGXBvQdD7prDQVQ= X-Google-Smtp-Source: AK7set+PxucODRJbH4AU5nM/wo/t1TiDjmCSEvXI1h+uKOsyoitNoy9phkwLn7Zh9c6Yxnq/GIOJpg== X-Received: by 2002:a1c:7702:0:b0:3dc:50b8:67dd with SMTP id t2-20020a1c7702000000b003dc50b867ddmr5821790wmi.16.1675065544754; Sun, 29 Jan 2023 23:59:04 -0800 (PST) Original-Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id y21-20020a05600c341500b003da28dfdedcsm6056060wmp.5.2023.01.29.23.59.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 29 Jan 2023 23:59:04 -0800 (PST) In-Reply-To: <871qndbbrn.fsf@rub.de> (Stephen Berman's message of "Sun, 29 Jan 2023 16:28:44 +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:254394 Archived-At: >>>>> On Sun, 29 Jan 2023 16:28:44 +0100, Stephen Berman said: Stephen> ... but not in your non-interactive case; so maybe this instead: Stephen> diff --git a/lisp/keymap.el b/lisp/keymap.el Stephen> index 791221f2459..48ec91d03c8 100644 Stephen> --- a/lisp/keymap.el Stephen> +++ b/lisp/keymap.el Stephen> @@ -98,6 +98,8 @@ keymap-local-set Stephen> (let ((map (current-local-map))) Stephen> (unless map Stephen> (use-local-map (setq map (make-sparse-keymap)))) Stephen> + (unless (stringp key) Stephen> + (setq key (key-description key))) Stephen> (keymap-set map key command))) `keymap-global-set' has the same type of issue. How about this instead: diff --git a/lisp/keymap.el b/lisp/keymap.el index 791221f2459..1a339598f0c 100644 --- a/lisp/keymap.el +++ b/lisp/keymap.el @@ -79,7 +79,7 @@ keymap-global-set (interactive (let* ((menu-prompting nil) (key (read-key-sequence "Set key globally: " nil t))) - (list key + (list (key-description key) (read-command (format "Set key %s to command: " (key-description key)))))) (keymap-set (current-global-map) key command)) @@ -94,7 +94,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 + (let* ((menu-prompting nil) + (key (read-key-sequence "Set key locally: " nil t))) + (list (key-description key) + (read-command (format "Set key %s to command: " + (key-description key)))))) (let ((map (current-local-map))) (unless map (use-local-map (setq map (make-sparse-keymap)))) Robert --