From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#64927: 30.0.50; kill-ring with no X Date: Thu, 03 Aug 2023 17:13:13 -0400 Message-ID: References: <87edkrdp78.fsf@yandex.com> <87a5vfdko3.fsf@yandex.com> <838rasxxlw.fsf@gnu.org> <83y1isw1yl.fsf@gnu.org> <83tttgvv6g.fsf@gnu.org> Reply-To: Stefan Monnier Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="9207"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: m43cap@yandex.com, larsi@gnus.org, 64927@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Aug 03 23:14:17 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 1qRfeB-0002BF-EK for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 03 Aug 2023 23:14:15 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qRfe1-0002ph-1a; Thu, 03 Aug 2023 17:14:05 -0400 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 1qRfdy-0002pJ-Lf for bug-gnu-emacs@gnu.org; Thu, 03 Aug 2023 17:14:02 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qRfdy-0005da-Dj for bug-gnu-emacs@gnu.org; Thu, 03 Aug 2023 17:14:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qRfdy-0001Iy-9e for bug-gnu-emacs@gnu.org; Thu, 03 Aug 2023 17:14:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 03 Aug 2023 21:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64927 X-GNU-PR-Package: emacs Original-Received: via spool by 64927-submit@debbugs.gnu.org id=B64927.16910972064966 (code B ref 64927); Thu, 03 Aug 2023 21:14:02 +0000 Original-Received: (at 64927) by debbugs.gnu.org; 3 Aug 2023 21:13:26 +0000 Original-Received: from localhost ([127.0.0.1]:53038 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qRfdO-0001I2-8e for submit@debbugs.gnu.org; Thu, 03 Aug 2023 17:13:26 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:25026) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qRfdM-0001Hr-QU for 64927@debbugs.gnu.org; Thu, 03 Aug 2023 17:13:25 -0400 Original-Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 13712444770; Thu, 3 Aug 2023 17:13:19 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1691097197; bh=o248rdDIUmijym6m1ddHY3s0unAiTPbjLjlcf6pTSUY=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=Il1onUhsI3ltjMz+xnK7rPCnJbV9+QqxIoFtQE5wdZBBGSNj2bqDfx2WZizgdzpj7 ItE8M/sUgnCslCeJUQPSjxy9urff4QFOeHeGJyQObZbB3Z0xIq1tRsXmuDVWGczGqG E/VC1CJVT0nSHTZ8x7s+wHl7tRDrVx8WE9In/4rR2vlI6vIoeImkW9hvfVPKvoVICO seHmxnCaI45jyNsuce4yDErHSbso1pzVf/b/rD+dyF7Lsh/XeQlbeqjQ3D1bVl0mF0 PuUwWfYIklf6At/dCB5v774FhN21ft3pAHrCqOVV1md+7mYEs4M37T3s6abHSNoCTu mCzuOWptY20xQ== Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 8144744476E; Thu, 3 Aug 2023 17:13:17 -0400 (EDT) Original-Received: from alfajor (unknown [181.44.118.150]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 535A212022B; Thu, 3 Aug 2023 17:13:16 -0400 (EDT) In-Reply-To: <83tttgvv6g.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 03 Aug 2023 21:26:47 +0300") 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:266625 Archived-At: >> The best we can do is to use `key-valid-p` as a best-effort test to >> decide whether we're in the presence of the new or the old format, but >> it will inevitably suffer from false positives/negatives. > > Not sure I understand: if key-valid-p returns nil, what do you suggest > to do with "keys" such as those produced in the scenario of this bug > report? I suggest we do: diff --git a/src/keymap.c b/src/keymap.c index da2af98c2d6..eec3e884935 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -1066,7 +1066,7 @@ possibly_translate_key_sequence (Lisp_Object key, ptrdiff_t *length) build_string ("`key-valid-p' is not defined, so this syntax can't be used: %s"), key); if (NILP (call1 (Qkey_valid_p, AREF (key, 0)))) - xsignal2 (Qerror, build_string ("Invalid `key-parse' syntax: %S"), key); + return key; key = call1 (Qkey_parse, AREF (key, 0)); *length = CHECK_VECTOR_OR_STRING (key); if (*length == 0) With this change, (let ((map (make-sparse-keymap))) (define-key map ["he"] 'hello) map) returns (keymap ("he" . hello)) as before, and emits a message: Key sequence contains invalid event he whereas (let ((map (make-sparse-keymap))) (define-key map ["h e"] 'hello) map) returns (keymap (104 keymap (101 . hello))). I think this new [KBDSTRING] syntax was probably a mistake, in retrospect: it made sense at the time, but we should have removed it afterwards when we introduced the new `key-*` functions. Stefan