1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-25 23:10:47 -08:00
emacs/test/lisp
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
..
align-resources Add some tests for align.el 2020-12-29 08:38:25 +01:00
bookmark-resources Add ability to mark/unmark/delete all bookmarks 2020-08-09 15:13:05 -05:00
calc Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
calendar Revert todo-mode tests failing after todo-mode reversion 2022-03-22 15:04:37 +01:00
cedet * test/lisp/cedet/semantic/bovine/gcc-tests.el (ert-x): Require. 2022-02-03 01:41:03 +01:00
custom-resources Avoid saving session customizations in the custom-file 2021-05-10 13:33:32 +02:00
dired-resources/insert-directory Change how Dired displays available space 2021-12-01 23:27:19 +01:00
emacs-lisp OClosure: Add support for defmethod dispatch 2022-04-01 08:54:55 -04:00
emulation Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
epg-resources Move epg.el test data to follow our conventions 2020-10-24 02:36:55 +02:00
erc ; * test/lisp/erc/erc-tests.el (erc--switch-to-buffer): Fix test failure. 2022-03-19 02:35:42 -07:00
eshell Add tests for Eshell's umask command 2022-03-29 16:50:45 +02:00
faces-resources ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
files-resources Change how Dired displays available space 2021-12-01 23:27:19 +01:00
gnus Tag an mml-sec test 2022-01-25 09:38:50 -08:00
hfy-cmap-resources * test/lisp/hfy-cmap-resources/rgb.txt: Add comment line. 2020-11-12 03:20:39 +01:00
image Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
international ipv6 addresses aren't suspicious 2022-03-29 17:12:01 +02:00
loadhist-resources (function-history): New symbol property (bug#53632) 2022-01-31 11:07:26 -05:00
mail ; Fix filename in undigest-tests.el header 2022-03-24 09:41:20 -03:00
mh-e ; Add 2022 to copyright years. 2022-01-01 07:07:15 -05:00
minibuffer-resources Move more test data to follow our conventions 2020-10-23 21:07:26 +02:00
net Extend signal-process and proced.el 2022-03-30 13:16:54 +02:00
nxml ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
obsolete Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
org ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
pcmpl-linux-resources Use lexical-binding in pcmpl-linux.el and add tests 2020-09-02 12:53:02 +02:00
play ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
progmodes Support indentation of Ruby pattern matching expressions 2022-03-21 03:20:36 +02:00
saveplace-resources Use lexical-binding in saveplace.el and add tests 2020-08-08 01:40:38 +02:00
so-long-tests spelling-tests.el: use ert-with-temp-directory 2022-01-14 10:06:21 +01:00
term ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
textmodes Merge from origin/emacs-28 2022-01-27 09:45:49 +01:00
time-resources Add missed file needed by time-tests.el 2020-10-22 18:51:00 +02:00
url ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
vc VC: Fix tests for SCCS and Mtn 2022-01-18 16:42:19 -05:00
xdg-resources Move more test data to follow our conventions 2020-10-23 21:07:26 +02:00
abbrev-tests.el Don't signal errors in abbrev-table-p 2022-02-14 12:00:22 +01:00
align-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
allout-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
allout-widgets-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ansi-color-tests.el ansi-color: don't get stuck on \e 2022-02-06 23:54:07 +01:00
apropos-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
arc-mode-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
auth-source-pass-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
auth-source-tests.el Use 'auth-info-password' in tests 2022-01-10 20:52:20 -05:00
autoinsert-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
autorevert-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
battery-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
bookmark-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
buff-menu-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
button-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
calculator-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
char-fold-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
color-tests.el Fix color-lighten-hsl logic 2022-03-22 15:28:02 +01:00
comint-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
completion-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
cus-edit-tests.el Fix a compilation warning in cus-edit-tests.el 2022-02-20 19:17:49 +01:00
custom-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
dabbrev-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
delim-col-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
descr-text-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
desktop-tests.el Load desktop without prompting if process is dead 2022-03-24 09:23:31 +01:00
dired-aux-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
dired-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
dired-x-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
dom-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
edmacro-tests.el ; Add 2022 to copyright years. 2022-01-01 07:07:15 -05:00
electric-tests.el Silence byte-compiler in two tests 2022-02-04 14:18:35 +01:00
elide-head-tests.el New minor mode elide-head-mode 2022-01-09 11:12:06 +01:00
epg-config-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
epg-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
faces-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ffap-tests.el Skip ffap test on some systems 2022-01-14 12:10:46 +01:00
filenotify-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
files-tests.el Fix files-tests on MS-Windows 2022-02-17 16:30:42 +02:00
files-x-tests.el Make application configurable in 'with-connection-local-variables' 2022-03-18 12:25:32 +01:00
find-cmd-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
font-lock-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
format-spec-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
help-fns-tests.el Fix describe-function-1 test failure from previous change 2022-02-08 08:15:08 +01:00
help-mode-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
help-tests.el Make more ranges sort properly in describe-keymap 2022-01-31 17:32:26 +01:00
hfy-cmap-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
hi-lock-tests.el Fix thinko in previous hi-lock-read-face-name change 2022-01-20 14:53:12 +01:00
hl-line-tests.el Fix hl-line tests 2022-03-23 20:25:33 +08:00
htmlfontify-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ibuffer-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ido-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
image-dired-tests.el ; Add 2022 to copyright years. 2022-01-01 07:07:15 -05:00
image-file-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
image-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
imenu-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
info-tests.el ; Add 2022 to copyright years. 2022-01-01 07:07:15 -05:00
info-xref-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
isearch-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
jit-lock-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
json-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
jsonrpc-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
kmacro-tests.el kmacro: Represent it as an OClosure 2022-04-01 20:07:33 -04:00
loadhist-tests.el (function-history): New symbol property (bug#53632) 2022-01-31 11:07:26 -05:00
lpr-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ls-lisp-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
makesum-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
man-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
md4-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
minibuffer-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
misc-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
mouse-tests.el Prevent further cases of duplicated separators in context menus 2022-01-04 10:18:15 +02:00
mwheel-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
newcomment-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
obarray-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
paren-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
password-cache-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
pcmpl-linux-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ps-print-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
register-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
repeat-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
replace-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
rot13-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
saveplace-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
scroll-lock-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ses-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
shadowfile-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
shell-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
simple-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
sort-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
soundex-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
startup-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
subr-tests.el Add new function 'readablep' 2022-01-22 15:13:27 +01:00
tab-bar-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
tabify-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
tar-mode-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
tempo-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
term-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
thingatpt-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
thread-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
thumbs-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
time-stamp-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
time-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
timezone-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
version-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
wdired-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
whitespace-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
wid-edit-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
xdg-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
xml-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
xt-mouse-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
yank-media-tests.el Fix yank-media utf-16 detection 2022-02-05 08:50:05 +01:00