From unknown Sun Aug 17 22:11:39 2025 X-Loop: help-debbugs@gnu.org Subject: bug#42492: Documentation error in summary at top of section 17.1, emacs.info (emacs-27 branch) Resent-From: Bob Halley Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Jul 2020 16:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 42492 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 42492@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.159552191822246 (code B ref -1); Thu, 23 Jul 2020 16:32:01 +0000 Received: (at submit) by debbugs.gnu.org; 23 Jul 2020 16:31:58 +0000 Received: from localhost ([127.0.0.1]:45896 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jye8H-0005mT-Tg for submit@debbugs.gnu.org; Thu, 23 Jul 2020 12:31:58 -0400 Received: from lists.gnu.org ([209.51.188.17]:46104) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jye88-0005mC-Fs for submit@debbugs.gnu.org; Thu, 23 Jul 2020 12:31:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53474) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jye86-0001Lr-RI for bug-gnu-emacs@gnu.org; Thu, 23 Jul 2020 12:31:35 -0400 Received: from mail-oo1-xc2c.google.com ([2607:f8b0:4864:20::c2c]:40606) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jye83-0002IQ-6U for bug-gnu-emacs@gnu.org; Thu, 23 Jul 2020 12:31:34 -0400 Received: by mail-oo1-xc2c.google.com with SMTP id p26so1218479oos.7 for ; Thu, 23 Jul 2020 09:31:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=play-bow.org; s=google; h=from:content-transfer-encoding:mime-version:subject:message-id:date :to; bh=SrRlwd2rG58N7s0jhdtha3mBRskFKDmSc7U+289E+Go=; b=QS7AAwA75yxasIAm5uhC+QXvsAqEKMWuKudaxwP9zUNCplrUM7K/3JMObz6D84H+m9 sGTl/GHnFy9TMYeHMvHGC3jcyQzifu/xgp+febtJR2WSDrkOfY12nFwOpj7+vkvTszgF d7c2axjEVb06bFad9KJwtUSaHFmRWnv4X4cyY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:content-transfer-encoding:mime-version :subject:message-id:date:to; bh=SrRlwd2rG58N7s0jhdtha3mBRskFKDmSc7U+289E+Go=; b=KGnQvrkQKLYAwB8l4KkgVUj3RO8XPDlkyhB2Lx3Kwv2IkstL5q8XBNKunhRLxvHw7I k1HPZvso1jX6UQO/ykuWzTDNyil+1pUYQfQaNvXpOXO6APS22RoYFLZ/03s0lF+RRjZf p5eo9/W4w+gNK51BB8UgpjtVJXuf6J3bZ4NSkgq5hfu/dOUSKsFwxC2NdkiB6souJ8Nq Lvw/+TxsNdOrRlJFAMUm+MvdejGpn1FfqblyQWjseu6v3S4rljFnTvK1euy22ebdapjH hXwQi810yFg1w3AyClO2aPRR/0TURYYWZgV9zXN0+Dc3R9sbujEEIRpPxN2nBvRMuuP2 CW3A== X-Gm-Message-State: AOAM530TlqOauAJrEsiEj+0uFBrWPN5VZwQiMQ7RKynjWnpO1Ka6Isdv v/A6OAqIMms69iy5mTiF5iGx5/sU+sY= X-Google-Smtp-Source: ABdhPJwUrA77ex2nUN0fNhp2uMPGdeMsfy4rcg9h7U9NxKktrM7xc3lkF7XI4GAtr4MvoQCPr+drjw== X-Received: by 2002:a4a:9e05:: with SMTP id t5mr2489632ook.76.1595521888207; Thu, 23 Jul 2020 09:31:28 -0700 (PDT) Received: from ?IPv6:2600:1700:22f0:42bf:4596:722c:1040:69d3? ([2600:1700:22f0:42bf:4596:722c:1040:69d3]) by smtp.gmail.com with ESMTPSA id x5sm746943oop.4.2020.07.23.09.31.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 23 Jul 2020 09:31:27 -0700 (PDT) From: Bob Halley Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.1\)) Message-Id: <11829A9D-B2F6-441F-A011-42687E3BDE87@play-bow.org> Date: Thu, 23 Jul 2020 09:31:24 -0700 X-Mailer: Apple Mail (2.3608.120.23.2.1) Received-SPF: pass client-ip=2607:f8b0:4864:20::c2c; envelope-from=halley@play-bow.org; helo=mail-oo1-xc2c.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) The summary info about keyboard macro key bindings at the start of = section 17.1 of emacs.info says: =E2=80=98=E2=80=99 =E2=80=98C-x e=E2=80=99 If a keyboard macro is being defined, end the definition; otherwise, execute the most recent keyboard macro (=E2=80=98kmacro-end-or-call-macro=E2=80=99). This suggests that and C-x e are both bound to = kmacro-end-or-call-macro. is, but C-x e is not; it is bound to = kmacro-end-and-call-macro by the autoloads in kmacro.el (note "and" vs = "or"): ;;; Provide some binding for startup: ;;;###autoload (global-set-key "\C-x(" 'kmacro-start-macro) ;;;###autoload (global-set-key "\C-x)" 'kmacro-end-macro) ;;;###autoload (global-set-key "\C-xe" 'kmacro-end-and-call-macro) ;;;###autoload (global-set-key [f3] = 'kmacro-start-macro-or-insert-counter) ;;;###autoload (global-set-key [f4] 'kmacro-end-or-call-macro) The text further down in this section describes the bindings correctly: In addition to the and commands described above, Emacs also supports an older set of key bindings for defining and executing keyboard macros. To begin a macro definition, type =E2=80=98C-x (=E2=80=99= (=E2=80=98kmacro-start-macro=E2=80=99); as with , a prefix argument = appends this definition to the last keyboard macro. To end a macro definition, type =E2=80=98C-x )=E2=80=99 (=E2=80=98kmacro-end-macro=E2=80=99). To = execute the most recent macro, type =E2=80=98C-x e=E2=80=99 (=E2=80=98kmacro-end-and-call-macro=E2=80=99). = If you enter =E2=80=98C-x e=E2=80=99 while defining a macro, the macro is terminated and executed immediately. Immediately after typing =E2=80=98C-x e=E2=80=99, you can type =E2=80=98e=E2= =80=99 repeatedly to immediately repeat the macro one or more times. You can also give = =E2=80=98C-x e=E2=80=99 a repeat argument, just like (when it is used to execute = a macro). So, I think this is just a problem with the summary. It might be = appropriate for the summary to mention C-x ) too, as if you don't want = to use function keys, you can't tell how to end a macro without = executing it. /Bob (And my thanks to everyone maintaining emacs!) In GNU Emacs 27.0.91 (build 1, x86_64-apple-darwin19.5.0, NS = appkit-1894.50 Version 10.15.5 (Build 19F101)) of 2020-07-10 built on howl.local Repository revision: 6290850dac130521551913ce78671fcccfe5c0f3 Repository branch: emacs-27 Windowing system distributor 'Apple', version 10.3.1894 System Description: Mac OS X 10.15.6 Configured using: 'configure --without-x --with-ns -with-wide-int = LIBXML2_CFLAGS=3D-I/Applications/Xcode.app/Contents/Developer/Platforms/Ma= cOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/libxml2 LDFLAGS=3D-L/usr/local/opt/texinfo/lib --without-pop' Configured features: NOTIFY KQUEUE ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES THREADS PDUMPER GMP Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Emacs-Lisp Minor modes in effect: pyvenv-mode: t shell-dirtrack-mode: t projectile-mode: t delete-selection-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg epg-config gnus-util rmail rmail-loaddefs text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils bug-reference eieio-opt speedbar sb-image ezimage dframe find-func jka-compr imenu rfc-mode helm helm-source eieio-compat helm-multi-match helm-lib async smerge-mode diff vc vc-dispatcher misearch multi-isearch vc-git diff-mode easy-mmode whitespace company-oddmuse company-keywords company-etags company-gtags company-dabbrev-code company-dabbrev company-files company-cmake company-xcode company-clang company-eclim company-template company-bbdb material-theme cl-extra yasnippet highlight-indentation flymake-proc flymake warnings company-capf company pcase help-fns radix-tree help-mode elpy advice elpy-rpc pyvenv eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util elpy-shell elpy-profile elpy-django s elpy-refactor python tramp-sh tramp tramp-loaddefs trampver tramp-integration tramp-compat shell pcomplete parse-time iso8601 time-date ls-lisp format-spec ido files-x etags fileloop generator xref project cus-edit cus-start cus-load wid-edit cc-styles cc-align cc-engine cc-vars cc-defs exec-path-from-shell dim projectile grep compile comint ansi-color ring ibuf-ext ibuffer ibuffer-loaddefs thingatpt server edmacro kmacro rth-funcs delsel info package easymenu browse-url url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads kqueue cocoa ns multi-tty make-network-process emacs) Memory information: ((conses 16 260697 19593) (symbols 48 21689 1) (strings 32 70638 3607) (string-bytes 1 2337953) (vectors 16 40190) (vector-slots 8 1218969 117038) (floats 8 184 373) (intervals 56 15320 453) (buffers 1000 40)) From unknown Sun Aug 17 22:11:39 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Bob Halley Subject: bug#42492: closed (Re: bug#42492: Documentation error in summary at top of section 17.1, emacs.info (emacs-27 branch)) Message-ID: References: <83imeddl3i.fsf@gnu.org> <11829A9D-B2F6-441F-A011-42687E3BDE87@play-bow.org> X-Gnu-PR-Message: they-closed 42492 X-Gnu-PR-Package: emacs Reply-To: 42492@debbugs.gnu.org Date: Fri, 24 Jul 2020 14:50:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1595602202-15339-1" This is a multi-part message in MIME format... ------------=_1595602202-15339-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #42492: Documentation error in summary at top of section 17.1, emacs.info (= emacs-27 branch) which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 42492@debbugs.gnu.org. --=20 42492: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D42492 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1595602202-15339-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 42492-done) by debbugs.gnu.org; 24 Jul 2020 14:49:46 +0000 Received: from localhost ([127.0.0.1]:48482 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jyz18-0003ym-0c for submit@debbugs.gnu.org; Fri, 24 Jul 2020 10:49:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:33296) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jyz15-0003yT-T9 for 42492-done@debbugs.gnu.org; Fri, 24 Jul 2020 10:49:44 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:53804) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jyz10-0007TI-H5; Fri, 24 Jul 2020 10:49:38 -0400 Received: from [176.228.60.248] (port=4901 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jyz0z-0007fC-8F; Fri, 24 Jul 2020 10:49:38 -0400 Date: Fri, 24 Jul 2020 17:49:21 +0300 Message-Id: <83imeddl3i.fsf@gnu.org> From: Eli Zaretskii To: Bob Halley In-Reply-To: <11829A9D-B2F6-441F-A011-42687E3BDE87@play-bow.org> (message from Bob Halley on Thu, 23 Jul 2020 09:31:24 -0700) Subject: Re: bug#42492: Documentation error in summary at top of section 17.1, emacs.info (emacs-27 branch) References: <11829A9D-B2F6-441F-A011-42687E3BDE87@play-bow.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 42492-done Cc: 42492-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Bob Halley > Date: Thu, 23 Jul 2020 09:31:24 -0700 > > > ‘’ > ‘C-x e’ > If a keyboard macro is being defined, end the definition; > otherwise, execute the most recent keyboard macro > (‘kmacro-end-or-call-macro’). > > This suggests that and C-x e are both bound to kmacro-end-or-call-macro. is, but C-x e is not; it is bound to kmacro-end-and-call-macro by the autoloads in kmacro.el (note "and" vs "or"): > > ;;; Provide some binding for startup: > ;;;###autoload (global-set-key "\C-x(" 'kmacro-start-macro) > ;;;###autoload (global-set-key "\C-x)" 'kmacro-end-macro) > ;;;###autoload (global-set-key "\C-xe" 'kmacro-end-and-call-macro) > ;;;###autoload (global-set-key [f3] 'kmacro-start-macro-or-insert-counter) > ;;;###autoload (global-set-key [f4] 'kmacro-end-or-call-macro) > > The text further down in this section describes the bindings correctly: Thanks, I fixed the summary table. ------------=_1595602202-15339-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 23 Jul 2020 16:31:58 +0000 Received: from localhost ([127.0.0.1]:45896 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jye8H-0005mT-Tg for submit@debbugs.gnu.org; Thu, 23 Jul 2020 12:31:58 -0400 Received: from lists.gnu.org ([209.51.188.17]:46104) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jye88-0005mC-Fs for submit@debbugs.gnu.org; Thu, 23 Jul 2020 12:31:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53474) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jye86-0001Lr-RI for bug-gnu-emacs@gnu.org; Thu, 23 Jul 2020 12:31:35 -0400 Received: from mail-oo1-xc2c.google.com ([2607:f8b0:4864:20::c2c]:40606) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jye83-0002IQ-6U for bug-gnu-emacs@gnu.org; Thu, 23 Jul 2020 12:31:34 -0400 Received: by mail-oo1-xc2c.google.com with SMTP id p26so1218479oos.7 for ; Thu, 23 Jul 2020 09:31:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=play-bow.org; s=google; h=from:content-transfer-encoding:mime-version:subject:message-id:date :to; bh=SrRlwd2rG58N7s0jhdtha3mBRskFKDmSc7U+289E+Go=; b=QS7AAwA75yxasIAm5uhC+QXvsAqEKMWuKudaxwP9zUNCplrUM7K/3JMObz6D84H+m9 sGTl/GHnFy9TMYeHMvHGC3jcyQzifu/xgp+febtJR2WSDrkOfY12nFwOpj7+vkvTszgF d7c2axjEVb06bFad9KJwtUSaHFmRWnv4X4cyY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:content-transfer-encoding:mime-version :subject:message-id:date:to; bh=SrRlwd2rG58N7s0jhdtha3mBRskFKDmSc7U+289E+Go=; b=KGnQvrkQKLYAwB8l4KkgVUj3RO8XPDlkyhB2Lx3Kwv2IkstL5q8XBNKunhRLxvHw7I k1HPZvso1jX6UQO/ykuWzTDNyil+1pUYQfQaNvXpOXO6APS22RoYFLZ/03s0lF+RRjZf p5eo9/W4w+gNK51BB8UgpjtVJXuf6J3bZ4NSkgq5hfu/dOUSKsFwxC2NdkiB6souJ8Nq Lvw/+TxsNdOrRlJFAMUm+MvdejGpn1FfqblyQWjseu6v3S4rljFnTvK1euy22ebdapjH hXwQi810yFg1w3AyClO2aPRR/0TURYYWZgV9zXN0+Dc3R9sbujEEIRpPxN2nBvRMuuP2 CW3A== X-Gm-Message-State: AOAM530TlqOauAJrEsiEj+0uFBrWPN5VZwQiMQ7RKynjWnpO1Ka6Isdv v/A6OAqIMms69iy5mTiF5iGx5/sU+sY= X-Google-Smtp-Source: ABdhPJwUrA77ex2nUN0fNhp2uMPGdeMsfy4rcg9h7U9NxKktrM7xc3lkF7XI4GAtr4MvoQCPr+drjw== X-Received: by 2002:a4a:9e05:: with SMTP id t5mr2489632ook.76.1595521888207; Thu, 23 Jul 2020 09:31:28 -0700 (PDT) Received: from ?IPv6:2600:1700:22f0:42bf:4596:722c:1040:69d3? ([2600:1700:22f0:42bf:4596:722c:1040:69d3]) by smtp.gmail.com with ESMTPSA id x5sm746943oop.4.2020.07.23.09.31.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 23 Jul 2020 09:31:27 -0700 (PDT) From: Bob Halley Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.1\)) Subject: Documentation error in summary at top of section 17.1, emacs.info (emacs-27 branch) Message-Id: <11829A9D-B2F6-441F-A011-42687E3BDE87@play-bow.org> Date: Thu, 23 Jul 2020 09:31:24 -0700 To: bug-gnu-emacs@gnu.org X-Mailer: Apple Mail (2.3608.120.23.2.1) Received-SPF: pass client-ip=2607:f8b0:4864:20::c2c; envelope-from=halley@play-bow.org; helo=mail-oo1-xc2c.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) The summary info about keyboard macro key bindings at the start of = section 17.1 of emacs.info says: =E2=80=98=E2=80=99 =E2=80=98C-x e=E2=80=99 If a keyboard macro is being defined, end the definition; otherwise, execute the most recent keyboard macro (=E2=80=98kmacro-end-or-call-macro=E2=80=99). This suggests that and C-x e are both bound to = kmacro-end-or-call-macro. is, but C-x e is not; it is bound to = kmacro-end-and-call-macro by the autoloads in kmacro.el (note "and" vs = "or"): ;;; Provide some binding for startup: ;;;###autoload (global-set-key "\C-x(" 'kmacro-start-macro) ;;;###autoload (global-set-key "\C-x)" 'kmacro-end-macro) ;;;###autoload (global-set-key "\C-xe" 'kmacro-end-and-call-macro) ;;;###autoload (global-set-key [f3] = 'kmacro-start-macro-or-insert-counter) ;;;###autoload (global-set-key [f4] 'kmacro-end-or-call-macro) The text further down in this section describes the bindings correctly: In addition to the and commands described above, Emacs also supports an older set of key bindings for defining and executing keyboard macros. To begin a macro definition, type =E2=80=98C-x (=E2=80=99= (=E2=80=98kmacro-start-macro=E2=80=99); as with , a prefix argument = appends this definition to the last keyboard macro. To end a macro definition, type =E2=80=98C-x )=E2=80=99 (=E2=80=98kmacro-end-macro=E2=80=99). To = execute the most recent macro, type =E2=80=98C-x e=E2=80=99 (=E2=80=98kmacro-end-and-call-macro=E2=80=99). = If you enter =E2=80=98C-x e=E2=80=99 while defining a macro, the macro is terminated and executed immediately. Immediately after typing =E2=80=98C-x e=E2=80=99, you can type =E2=80=98e=E2= =80=99 repeatedly to immediately repeat the macro one or more times. You can also give = =E2=80=98C-x e=E2=80=99 a repeat argument, just like (when it is used to execute = a macro). So, I think this is just a problem with the summary. It might be = appropriate for the summary to mention C-x ) too, as if you don't want = to use function keys, you can't tell how to end a macro without = executing it. /Bob (And my thanks to everyone maintaining emacs!) In GNU Emacs 27.0.91 (build 1, x86_64-apple-darwin19.5.0, NS = appkit-1894.50 Version 10.15.5 (Build 19F101)) of 2020-07-10 built on howl.local Repository revision: 6290850dac130521551913ce78671fcccfe5c0f3 Repository branch: emacs-27 Windowing system distributor 'Apple', version 10.3.1894 System Description: Mac OS X 10.15.6 Configured using: 'configure --without-x --with-ns -with-wide-int = LIBXML2_CFLAGS=3D-I/Applications/Xcode.app/Contents/Developer/Platforms/Ma= cOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/libxml2 LDFLAGS=3D-L/usr/local/opt/texinfo/lib --without-pop' Configured features: NOTIFY KQUEUE ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES THREADS PDUMPER GMP Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Emacs-Lisp Minor modes in effect: pyvenv-mode: t shell-dirtrack-mode: t projectile-mode: t delete-selection-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg epg-config gnus-util rmail rmail-loaddefs text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils bug-reference eieio-opt speedbar sb-image ezimage dframe find-func jka-compr imenu rfc-mode helm helm-source eieio-compat helm-multi-match helm-lib async smerge-mode diff vc vc-dispatcher misearch multi-isearch vc-git diff-mode easy-mmode whitespace company-oddmuse company-keywords company-etags company-gtags company-dabbrev-code company-dabbrev company-files company-cmake company-xcode company-clang company-eclim company-template company-bbdb material-theme cl-extra yasnippet highlight-indentation flymake-proc flymake warnings company-capf company pcase help-fns radix-tree help-mode elpy advice elpy-rpc pyvenv eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util elpy-shell elpy-profile elpy-django s elpy-refactor python tramp-sh tramp tramp-loaddefs trampver tramp-integration tramp-compat shell pcomplete parse-time iso8601 time-date ls-lisp format-spec ido files-x etags fileloop generator xref project cus-edit cus-start cus-load wid-edit cc-styles cc-align cc-engine cc-vars cc-defs exec-path-from-shell dim projectile grep compile comint ansi-color ring ibuf-ext ibuffer ibuffer-loaddefs thingatpt server edmacro kmacro rth-funcs delsel info package easymenu browse-url url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads kqueue cocoa ns multi-tty make-network-process emacs) Memory information: ((conses 16 260697 19593) (symbols 48 21689 1) (strings 32 70638 3607) (string-bytes 1 2337953) (vectors 16 40190) (vector-slots 8 1218969 117038) (floats 8 184 373) (intervals 56 15320 453) (buffers 1000 40)) ------------=_1595602202-15339-1--