emacs-gpu/etc
Stefan Monnier c75f65442d kmacro: Represent it as an OClosure
Merge the old lambda+list into a single OClosure object which plays
both roles at the same time.  Take advantage of it to provide a
`cl-print-object` method so kmacro objects print nicely using the
`key-parse` syntax.
Also replace the old `kmacro-lambda-form` with a new `kmacro` constructor
which takes a `key-parse` syntax, so that the code inserted with
`insert-kbd-macro` is now more readable.

* lisp/kmacro.el (kmacro): New OClosure type.
(kmacro-ring-head): Use `kmacro` constructor.
(kmacro-push-ring): Convert `elt` from old representation if needed.
(kmacro-split-ring-element, kmacro-view-ring-2nd, kmacro-view-macro):
Adapt to new representation.
(kmacro-exec-ring-item): Turn into obsolete alias.
(kmacro-call-ring-2nd, kmacro-end-or-call-macro): Adjust accordingly.
(kmacro-start-macro): Simplify call to `kmacro-push-ring`.
(kmacro): New constructor function.  Replaces `kmacro-lambda-form`.
(kmacro-lambda-form): Use it and declare obsolete.
(kmacro-extract-lambda): Rewrite and declare obsolete.
(kmacro-p): Rewrite.
(cl-print-object): New method.
(kmacro-bind-to-key, kmacro-name-last-macro): Simplify.

* lisp/macros.el (macro--string-to-vector): New function.
(insert-kbd-macro): Use it.  Generate code using the `kmacro` constructor.

* test/lisp/kmacro-tests.el (kmacro-tests-kmacro-bind-to-single-key):
Silence warning.
(kmacro-tests-name-last-macro-bind-and-rebind): Strengthen the test a bit.
(kmacro-tests--cl-print): New test.
2022-04-01 20:07:33 -04:00
..
charsets ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
e Implement alternative sub-buffer support in term.el 2022-01-24 20:02:33 +01:00
forms ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
gnus
images Merge from origin/emacs-28 2022-01-02 06:31:44 +01:00
nxml
org ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
refcards Merge from origin/emacs-28 2022-01-02 06:31:44 +01:00
schema ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
srecode ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
themes Update modus-themes to their version 2.3.0 2022-04-01 12:51:14 +03:00
tutorials Merge from origin/emacs-28 2022-01-02 06:31:44 +01:00
AUTHORS ; Update files for 28.0.91 pretest 2022-01-08 13:09:25 +01:00
CALC-NEWS ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.1 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
compilation.txt Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
COPYING
DEBUG Clang debug notes 2022-03-13 12:04:22 -07:00
DEVEL.HUMOR ; * etc/DEVEL.HUMOR: Add a recent joke. 2022-02-11 10:15:20 +02:00
DISTRIB ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
edt-user.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
emacs-buffer.gdb ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
emacs-mail.desktop
emacs.desktop
emacs.icon
emacs.metainfo.xml ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
emacs.service
emacsclient-mail.desktop
emacsclient.desktop
enriched.txt ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ERC-NEWS Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
ETAGS.EBNF ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ETAGS.README ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
future-bug
gnus-tut.txt ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
grep.txt ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
HELLO Add support for Tai Tham script 2022-02-16 17:07:58 +02:00
HISTORY
JOKES
MACHINES Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
MH-E-NEWS ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
NEWS kmacro: Represent it as an OClosure 2022-04-01 20:07:33 -04:00
NEWS.1-17 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
NEWS.18 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
NEWS.19 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
NEWS.20 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
NEWS.21 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
NEWS.22 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
NEWS.23 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
NEWS.24 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
NEWS.25 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
NEWS.26 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
NEWS.27 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
NEWS.28 Merge from origin/emacs-28 2022-03-03 06:30:34 +01:00
NEXTSTEP ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
NXML-NEWS ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ORG-NEWS ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
org.gnu.emacs.defaults.gschema.xml ; Add 2022 to copyright years. 2022-01-01 07:07:15 -05:00
package-keyring.gpg
PROBLEMS Revert "Remove PROBLEMS section on double-buffering" 2022-02-21 19:01:14 +02:00
ps-prin0.ps ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ps-prin1.ps ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
publicsuffix.txt Update publicsuffix.txt from upstream 2022-03-01 06:04:06 +01:00
README ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
rgb.txt
ses-example.ses ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
spook.lines
TERMS ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
TODO * etc/TODO: Update some entires related to macOS and NS. 2022-02-14 14:05:46 +08:00
w32-feature.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
yow.lines

This directory contains the architecture-independent files used by or
with Emacs.  This includes some text files of documentation for GNU
Emacs or of interest to Emacs users, and the file of dumped docstrings
for Emacs functions and variables.

COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES

File: emacs.icon
  Author: Sun Microsystems, Inc
  Copyright (C) 1999, 2001-2022 Free Software Foundation, Inc.
  License: GNU General Public License version 3 or later (see COPYING)