From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Colin Baxter Newsgroups: gmane.emacs.bugs Subject: bug#48523: 27.2; kbd macro fails evaluation Date: Wed, 19 May 2021 17:49:15 +0100 Message-ID: <87lf8azn1w.fsf@yandex.com> References: <87tumyzut3.fsf@yandex.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="11881"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) Cc: monnier@iro.umontreal.ca To: 48523@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed May 19 19:07:06 2021 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 1ljPey-0002qw-SJ for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 19 May 2021 19:07:05 +0200 Original-Received: from localhost ([::1]:38556 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ljPex-0002PV-TA for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 19 May 2021 13:07:03 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39364) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ljPOU-0000Xp-PH for bug-gnu-emacs@gnu.org; Wed, 19 May 2021 12:50:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:49052) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ljPOU-0003f3-9M for bug-gnu-emacs@gnu.org; Wed, 19 May 2021 12:50:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ljPOU-0000kM-46 for bug-gnu-emacs@gnu.org; Wed, 19 May 2021 12:50:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Colin Baxter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 19 May 2021 16:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 48523 X-GNU-PR-Package: emacs X-Debbugs-Original-To: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" X-Debbugs-Original-Cc: , Stefan Monnier , 48523@debbugs.gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.16214429742822 (code B ref -1); Wed, 19 May 2021 16:50:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 19 May 2021 16:49:34 +0000 Original-Received: from localhost ([127.0.0.1]:60598 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ljPO1-0000jR-VU for submit@debbugs.gnu.org; Wed, 19 May 2021 12:49:34 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:43702) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ljPNx-0000jD-0L for submit@debbugs.gnu.org; Wed, 19 May 2021 12:49:32 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39292) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ljPNw-0008Lu-L9 for bug-gnu-emacs@gnu.org; Wed, 19 May 2021 12:49:28 -0400 Original-Received: from forward100j.mail.yandex.net ([5.45.198.240]:60177) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ljPNr-0003PU-F1 for bug-gnu-emacs@gnu.org; Wed, 19 May 2021 12:49:27 -0400 Original-Received: from iva4-9c2d34c47e67.qloud-c.yandex.net (iva4-9c2d34c47e67.qloud-c.yandex.net [IPv6:2a02:6b8:c0c:804:0:640:9c2d:34c4]) by forward100j.mail.yandex.net (Yandex) with ESMTP id 5DAF050E259A; Wed, 19 May 2021 19:49:18 +0300 (MSK) Original-Received: from iva7-f62245f79210.qloud-c.yandex.net (iva7-f62245f79210.qloud-c.yandex.net [2a02:6b8:c0c:2e83:0:640:f622:45f7]) by iva4-9c2d34c47e67.qloud-c.yandex.net (mxback/Yandex) with ESMTP id doY7tKw18U-nHKWoZ8J; Wed, 19 May 2021 19:49:18 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.com; s=mail; t=1621442958; bh=aG17912/ai3eTWHx3yUUGZ4tjn+O9U5comgA8/u5t+E=; h=In-Reply-To:Subject:To:From:Message-ID:Cc:Cc:Date:References; b=ape+131JP8C+e8qMK7Iabm5XO1BLfCg6Lk58rqSZ1ONlIqbqORGx7AWPF6aBmveC2 Jt2s2ichWxU1AzmOnrXy3tJ3tmZKTBwYYWyLQ3xYEqYXe9+zJl1n9woRO9ZoELeC/4 xu3wAUqu7xO39VqSYdxDD7ENLF7iYvunj3oqZfO4= Authentication-Results: iva4-9c2d34c47e67.qloud-c.yandex.net; dkim=pass header.i=@yandex.com Original-Received: by iva7-f62245f79210.qloud-c.yandex.net (smtp/Yandex) with ESMTPSA id BrQomgPSND-nGNGJAfS; Wed, 19 May 2021 19:49:16 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client certificate not present) X-Face: BHjiJOg/Qmj'BQgsAKL@])L)e62P)C"Y=6T In-Reply-To: (Stefan Monnier via's message of "Wed, 19 May 2021 11:20:53 -0400") Face: iVBORw0KGgoAAAANSUhEUgAAAEkAAAATAgMAAAChCMjeAAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEX+zAACCWMDCV// //+gVfjHAAAAAWJLR0QDEQxM8gAAAAlwSFlzAAAK8AAACvABQqw0mAAAAAd0SU1FB+UFEAozLa6H RO0AAAAxSURBVBjTY2BgSA1hYA0FgylAhgMDCGATC4WLhVAght88Yu1NpYpbSBfDb28Kae4DAFmN Rd86mlkDAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTA1LTE2VDEwOjUxOjQ1KzAxOjAwnF1NHQAA ACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wNS0xNlQxMDo1MTo0NSswMTowMO0A9aEAAAAASUVORK5C YII= Received-SPF: pass client-ip=5.45.198.240; envelope-from=m43cap@yandex.com; helo=forward100j.mail.yandex.net 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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" Xref: news.gmane.io gmane.emacs.bugs:206906 Archived-At: >>>>> Bug reports for GNU Emacs, the Swiss army knife of text editors writes: >> This gives: >> >> #+begin_src elisp (fset 'myfullstop (kmacro-lambda-form [?\C-x ?8 >> return ?F ?U ?L ?L ?W ?I ?D ?T ?H ? ?F ?U ?L ?L ? ?S ?T ?O ?P >> return] 0 "%d")) #+end_src >> >> >> An eval (C-j with point at end) of the above expression gives the >> error: >> >> ----- Begin -------- >> >> Debugger entered--Lisp error: (wrong-number-of-arguments (1 . 1) >> 3) > I installed the patch below which should fix this blunder, thanks. > Stefan > diff --git a/lisp/kmacro.el b/lisp/kmacro.el index > 3700a1964a6..afc486f4edc 100644 --- a/lisp/kmacro.el +++ > b/lisp/kmacro.el @@ -782,17 +782,23 @@ kmacro-end-call-mouse ;; > executing the macro later on (but that's controversial...) > ;;;###autoload -(defun kmacro-lambda-form (mac) +(defun > kmacro-lambda-form (mac &optional counter format) "Create lambda > form for macro bound to symbol or key." - ;; FIXME: This should > be a "funcallable struct"! - (lambda (&optional arg) - "Keyboard > macro." - ;; We put an "unused prompt" as a special marker so - > ;; `kmacro-extract-lambda' can see it's "one of us". - > (interactive "pkmacro") - (if (eq arg 'kmacro--extract-lambda) - > (cons 'kmacro--extract-lambda mac) - (kmacro-exec-ring-item mac > arg)))) + ;; Apparently, there are two different ways this is > called: + ;; either `counter' and `format' are both provided and > `mac' is a vector, + ;; or only `mac' is provided, as a list (MAC > COUNTER FORMAT). + ;; The first is used from `insert-kbd-macro' > and `edmacro-finish-edit', + ;; while the second is used from > within this file. + (let ((mac (if counter (list mac counter > format) mac))) + ;; FIXME: This should be a "funcallable struct"! > + (lambda (&optional arg) + "Keyboard macro." + ;; We put an > "unused prompt" as a special marker so + ;; > `kmacro-extract-lambda' can see it's "one of us". + (interactive > "pkmacro") + (if (eq arg 'kmacro--extract-lambda) + (cons > 'kmacro--extract-lambda mac) + (kmacro-exec-ring-item mac arg))))) > (defun kmacro-extract-lambda (mac) "Extract kmacro from a kmacro > lambda form." Yes, this appears fixed for me. Thank you. Best wishes,