Merge from origin/emacs-28
e632b83a28
Update authors.el for Emacs 28e9fdb11903
; * ChangeLog.3: Some additional fixes.8fa4749df1
; * ChangeLog.3: Filename fixes.ea5a90b4f4
* lisp/repeat.el: Fix long-standing problem when a random ...ef4954b69c
* lisp/repeat.el (repeat-keep-prefix): Change default to nil.6d5886e780
* test/lisp/repeat-tests.el (repeat-tests-call-b): Test fo...9e16c6a96d
; * src/comp.c (syms_of_comp) <comp-no-native-file-h>: Doc...9aa8fd6e62
* src/callint.c (Fcall_interactively): Fix inhibit_mouse_e...70c229b1fc
Fix regression in gdb-frame-handlercd9dd26d24
Format and index concept 'predicate' in ELisp Introab291656d0
; * ChangeLog.3: Fix typos.354f6c5609
; * ChangeLog.3: Formatting fixes.6192525a96
; make change-history-commit
This commit is contained in:
commit
93d9bc09f4
8 changed files with 88680 additions and 79 deletions
88585
ChangeLog.3
88585
ChangeLog.3
File diff suppressed because it is too large
Load diff
|
@ -41,10 +41,14 @@ files.")
|
|||
(defconst authors-aliases
|
||||
'(
|
||||
(nil "A\\. N\\. Other") ; unknown author 2014-12-03, later removed
|
||||
(nil "Anticrisis")
|
||||
(nil "akater")
|
||||
("Aaron S. Hawley" "Aaron Hawley")
|
||||
("Alan Third" "Alan J Third")
|
||||
("Alexander Gramiak" "Alex Gramiak")
|
||||
("Alexandru Harsanyi" "Alex Harsanyi")
|
||||
("Álvar Jesús Ibeas Martín" "Álvar Ibeas")
|
||||
("Andrea Corallo" "AndreaCorallo")
|
||||
("Andrew Csillag" "Drew Csillag")
|
||||
("Anna M. Bigatti" "Anna Bigatti")
|
||||
("Aurélien Aptel" "Aurelien Aptel")
|
||||
|
@ -61,6 +65,7 @@ files.")
|
|||
("Brian Sniffen" "Brian T. Sniffen")
|
||||
(nil "castor@my-dejanews")
|
||||
(nil "chengang31@gmail.com")
|
||||
(nil "chuntaro")
|
||||
("David Abrahams" "Dave Abrahams")
|
||||
("David J. Biesack" "David Biesack")
|
||||
("David De La Harpe Golden" "David Golden")
|
||||
|
@ -70,8 +75,10 @@ files.")
|
|||
("David M. Koppelman" "David Koppelman")
|
||||
("David M. Smith" "David Smith" "David M Smith")
|
||||
("David O'Toole" "David T. O'Toole")
|
||||
(nil "dalanicolai")
|
||||
(nil "deech@deech")
|
||||
("Deepak Goel" "D. Goel")
|
||||
("Earl Hyatt" "Earl" "ej32u@protonmail.com")
|
||||
("Ed L. Cashin" "Ed L Cashin")
|
||||
("Edward M. Reingold" "Ed\\(ward\\( M\\)?\\)? Reingold" "Reingold Edward M")
|
||||
("Emilio C. Lopes" "Emilio Lopes")
|
||||
|
@ -93,22 +100,27 @@ files.")
|
|||
(nil "immerrr")
|
||||
(nil "aaa bbb")
|
||||
(nil "Code Extracted") ; lisp/newcomment.el's "Author:" header
|
||||
(nil "jakanakaevangeli")
|
||||
("J. Alexander Branham" "Alex Branham")
|
||||
("Jaeyoun Chung" "Jae-youn Chung" "Jae-you Chung" "Chung Jae-youn")
|
||||
("Jan Djärv" "Jan D." "Jan Djarv")
|
||||
("Jay K. Adams" "Jay Adams")
|
||||
("Jérôme Marant" "Jérôme Marant" "Jerome Marant")
|
||||
("Jens-Ulrik Holger Petersen" "Jens-Ulrik Petersen")
|
||||
("Jeremy Bertram Maitin-Shepard" "Jeremy Maitin-Shepard")
|
||||
("Jimmy Aguilar Mena" "Ergus")
|
||||
("Johan Bockgård" "Johan Bockgard")
|
||||
("John F. Carr" "John F Carr")
|
||||
("John J Foerch" "John Foerch")
|
||||
("John W. Eaton" "John Eaton")
|
||||
("Jonathan I. Kamens" "Jonathan Kamens")
|
||||
("Jorgen Schäfer" "Jorgen Schaefer")
|
||||
("Jose A. Ortega Ruiz" "Jose A Ortega Ruiz")
|
||||
("Joseph Arceneaux" "Joe Arceneaux")
|
||||
("Joseph M. Kelsey" "Joe Kelsey") ; FIXME ?
|
||||
("Juan León Lahoz García" "Juan-Leon Lahoz Garcia")
|
||||
("Jürgen Hötzel" "Juergen Hoetzel")
|
||||
(nil "k3tu0isui")
|
||||
("K. Shane Hartman" "Shane Hartman")
|
||||
("Kai Großjohann" "Kai Grossjohann")
|
||||
("Karl Berry" "K. Berry")
|
||||
|
@ -120,15 +132,18 @@ files.")
|
|||
("Kim F. Storm" "Kim Storm")
|
||||
("Kyle Jones" "Kyle E. Jones")
|
||||
("Lars Magne Ingebrigtsen" "Lars Ingebrigtsen")
|
||||
(nil "leo")
|
||||
(nil "LynX@bk.ru")
|
||||
(nil "lu4nx")
|
||||
("Marcus G. Daniels" "Marcus Daniels")
|
||||
("Mark D. Baushke" "Mark D Baushke")
|
||||
("Mark E. Shoulson" "Mark Shoulson")
|
||||
("Marko Kohtala" "Kohtala Marko")
|
||||
("Maxim Nikulin" "Max Nikulin")
|
||||
("Agustín Martín" "Agustin Martin" "Agustín Martín Domingo")
|
||||
("Martin Lorentzon" "Martin Lorentzson")
|
||||
("Matt Swift" "Matthew Swift")
|
||||
(nil "Madhu")
|
||||
(nil "mu@magi.net.ru")
|
||||
("Maxime Edouard Robert Froumentin" "Max Froumentin")
|
||||
("Michael R. Mauger" "Michael Mauger")
|
||||
|
@ -137,11 +152,13 @@ files.")
|
|||
("Michael I. Bushnell" "Michael I Bushnell" "Michael I. Bushnell, p/BSG")
|
||||
("Michael R. Cook" "Michael Cook")
|
||||
("Michael Sperber" "Mike Sperber" "Michael Sperber \\[Mr. Preprocessor\\]")
|
||||
("Michalis V" "mvar")
|
||||
("Mikio Nakajima" "Nakajima Mikio")
|
||||
("Nelson Jose dos Santos Ferreira" "Nelson Ferreira")
|
||||
("Noorul Islam" "Noorul Islam K M")
|
||||
;;; ("Tetsurou Okazaki" "OKAZAKI Tetsurou") ; FIXME?
|
||||
("Óscar Fuentes" "Oscar Fuentes")
|
||||
(nil "pillule")
|
||||
(nil "psyberbits@gmail.com")
|
||||
("Paul Eggert" "Paul R\\. Eggert")
|
||||
("Pavel Janík" "Pavel Janík Ml." "Pavel Janik Ml." "Pavel Janik")
|
||||
|
@ -151,8 +168,10 @@ files.")
|
|||
("Peter J. Weisberg" "PJ Weisberg")
|
||||
("Peter S. Galbraith" "Peter S Galbraith" "Peter Galbraith")
|
||||
("Peter Runestig" "Peter 'luna' Runestig")
|
||||
("Philip Kaludercic" "Philip K\\." "Philip K")
|
||||
("Philipp Stephani" "Philipp .*phst@google")
|
||||
("Piotr Zieliński" "Piotr Zielinski")
|
||||
("Po Lu" "Po Lu Via") ; looks like a mistake
|
||||
("Przemysław Wojnowski" "Przemyslaw Wojnowski")
|
||||
("R. Bernstein" "rb@dustyfeet.com")
|
||||
("Rainer Schöpf" "Rainer Schoepf")
|
||||
|
@ -187,6 +206,7 @@ files.")
|
|||
("Takaaki Ota" "Tak Ota")
|
||||
("Takahashi Naoto" "Naoto Takahashi")
|
||||
("Teodor Zlatanov" "Ted Zlatanov")
|
||||
(nil "TEC")
|
||||
(nil "The PCL-CVS Trust")
|
||||
("Thomas Dye" "Tom Dye")
|
||||
("Thomas Horsley" "Tom Horsley") ; FIXME ?
|
||||
|
@ -212,7 +232,7 @@ files.")
|
|||
("Carlos Pita" "memeplex")
|
||||
("Vinicius Jose Latorre" "viniciusjl")
|
||||
("Gaby Launay" "galaunay")
|
||||
("Dick R. Chiang" "dickmao")
|
||||
("Dick R. Chiang" "dickmao" "dick")
|
||||
)
|
||||
"Alist of author aliases.
|
||||
|
||||
|
@ -328,7 +348,7 @@ Changes to files matching one of the regexps in this list are not listed.")
|
|||
"install.sh" "install-sh" "missing" "mkinstalldirs"
|
||||
"termcap.dat" "termcap.src" "termcap.ucb" "termcap"
|
||||
"ChangeLog.nextstep" "Emacs.clr" "spec.txt"
|
||||
"gfdl.1"
|
||||
"gfdl.1" "ledit.l"
|
||||
"texi/Makefile.in"
|
||||
"autodeps.mk"
|
||||
"lwlib/autodeps.mk"
|
||||
|
@ -350,6 +370,8 @@ Changes to files matching one of the regexps in this list are not listed.")
|
|||
"cedet/tests/test.py"
|
||||
"cedet/tests/teststruct.cpp"
|
||||
"subdirs.el"
|
||||
"etc/facemenu-removal.txt"
|
||||
"src/bytecode.h"
|
||||
"*.el"
|
||||
;; Autogen:
|
||||
"cus-load.el" "finder-inf.el" "ldefs-boot.el" "loaddefs-boot.el"
|
||||
|
@ -365,6 +387,10 @@ Changes to files matching one of the regexps in this list are not listed.")
|
|||
;; Only existed briefly, then renamed:
|
||||
"images/icons/allout-widgets-dark-bg"
|
||||
"images/icons/allout-widgets-light-bg"
|
||||
"lisp/shorthand.el"
|
||||
"test/lisp/shorthand-tests.el"
|
||||
"lisp/net/link.el"
|
||||
"lisp/net/connection.el"
|
||||
;; Never had any meaningful changes logged, now deleted:
|
||||
"lib/stdarg.in.h" "lib/stdbool.in.h"
|
||||
"unidata/bidimirror.awk" "unidata/biditype.awk"
|
||||
|
@ -424,6 +450,10 @@ Changes to files matching one of the regexps in this list are not listed.")
|
|||
"info/dir"
|
||||
;; Not in gnulib anymore
|
||||
"lib/qset-acl.c" "lib/qcopy-acl.c" "lib/file-has-acl.c" "lib/secure_getenv.c"
|
||||
"lib/malloca.c" "lib/malloca.h"
|
||||
;; Briefly added to repository from gnulib, but not used
|
||||
"lib/localtime-buffer.c"
|
||||
"lib/localtime-buffer.h"
|
||||
;; files from old MS Windows build procedures
|
||||
"nt/gnulib-modules-to-delete.cfg"
|
||||
"makefile.w32-in"
|
||||
|
@ -468,6 +498,9 @@ Changes to files matching one of the regexps in this list are not listed.")
|
|||
"WHY-FREE"
|
||||
"MORE.STUFF"
|
||||
"notes/font-backend"
|
||||
"src/ftxfont.c"
|
||||
"src/ptr-bounds.h"
|
||||
"obsolete/options.el"
|
||||
;; ada-mode has been deleted, now in GNU ELPA
|
||||
"ada-mode.texi"
|
||||
"doc/misc/ada-mode.texi"
|
||||
|
@ -485,6 +518,16 @@ Changes to files matching one of the regexps in this list are not listed.")
|
|||
"src/mini-gmp-emacs.c"
|
||||
"lib/dosname.h"
|
||||
"lib/putenv.c"
|
||||
;; Moved to the org-contrib repo
|
||||
"ob-asymptote.el"
|
||||
"ob-shen.el"
|
||||
"ob-picolisp.el"
|
||||
"ob-io.el"
|
||||
"ob-mscgen.el"
|
||||
"ob-ledger.el"
|
||||
"lisp/org/ob-abc.el"
|
||||
"lisp/org/ob-ebnf.el"
|
||||
"lisp/org/ob-J.el"
|
||||
)
|
||||
"List of files and directories to ignore.
|
||||
Changes to files in this list are not listed.")
|
||||
|
@ -1140,6 +1183,11 @@ in the repository.")
|
|||
("src/mini-gmp.c" . "lib/mini-gmp.c")
|
||||
("src/mini-gmp.h" . "lib/mini-gmp.h")
|
||||
("sysdep.c" . "src/sysdep.c")
|
||||
("lisp/gnus/nnir.el" . "nnir.el")
|
||||
("src/regex.c" . "emacs-regex.c")
|
||||
("src/regex.h" . "emacs-regex.h")
|
||||
("erc-compat.el" . "erc-compat.el")
|
||||
("semantic-utest-fmt.el" . "format-tests.el")
|
||||
)
|
||||
"Alist of files which have been renamed during their lifetime.
|
||||
Elements are (OLDNAME . NEWNAME).")
|
||||
|
|
|
@ -2146,9 +2146,10 @@ number---the number of characters the location is from the beginning
|
|||
of the buffer.) In Emacs Lisp, @code{+} can be used to add the
|
||||
numeric value of marker positions as numbers.
|
||||
|
||||
@cindex @samp{predicate} defined
|
||||
The @samp{p} of @code{number-or-marker-p} is the embodiment of a
|
||||
practice started in the early days of Lisp programming. The @samp{p}
|
||||
stands for ``predicate''. In the jargon used by the early Lisp
|
||||
stands for @dfn{predicate}. In the jargon used by the early Lisp
|
||||
researchers, a predicate refers to a function to determine whether some
|
||||
property is true or false. So the @samp{p} tells us that
|
||||
@code{number-or-marker-p} is the name of a function that determines
|
||||
|
|
|
@ -4611,7 +4611,9 @@ overlay arrow in source buffer."
|
|||
(let ((frame (gdb-mi--field (gdb-mi--partial-output) 'frame)))
|
||||
(when frame
|
||||
(setq gdb-selected-frame (gdb-mi--field frame 'func))
|
||||
(setq gdb-selected-file (file-local-name (gdb-mi--field frame 'fullname)))
|
||||
(setq gdb-selected-file
|
||||
(when-let ((full (gdb-mi--field frame 'fullname)))
|
||||
(file-local-name full)))
|
||||
(setq gdb-frame-number (gdb-mi--field frame 'level))
|
||||
(setq gdb-frame-address (gdb-mi--field frame 'addr))
|
||||
(let ((line (gdb-mi--field frame 'line)))
|
||||
|
|
|
@ -354,12 +354,30 @@ of the specified number of seconds."
|
|||
(defvar repeat-exit-timer nil
|
||||
"Timer activated after the last key typed in the repeating key sequence.")
|
||||
|
||||
(defcustom repeat-keep-prefix t
|
||||
(defcustom repeat-keep-prefix nil
|
||||
"Whether to keep the prefix arg of the previous command when repeating."
|
||||
:type 'boolean
|
||||
:group 'convenience
|
||||
:version "28.1")
|
||||
|
||||
(defcustom repeat-check-key t
|
||||
"Whether to check that the last key exists in the repeat map.
|
||||
When non-nil and the last typed key (with or without modifiers)
|
||||
doesn't exist in the keymap attached by the `repeat-map' property,
|
||||
then don't activate that keymap for the next command. So only the
|
||||
same keys among repeatable keys are allowed in the repeating sequence.
|
||||
For example, with a non-nil value, only `C-x u u' repeats undo,
|
||||
whereas `C-/ u' doesn't.
|
||||
|
||||
You can also set the property `repeat-check-key' on the command symbol.
|
||||
This property can override the value of this variable.
|
||||
When the variable value is non-nil, but the property value is `no',
|
||||
then don't check the last key. Also when the variable value is nil,
|
||||
but the property value is `t', then check the last key."
|
||||
:type 'boolean
|
||||
:group 'convenience
|
||||
:version "28.1")
|
||||
|
||||
(defcustom repeat-echo-function #'repeat-echo-message
|
||||
"Function to display a hint about available keys.
|
||||
Function is called after every repeatable command with one argument:
|
||||
|
@ -405,16 +423,26 @@ See `describe-repeat-maps' for a list of all repeatable commands."
|
|||
(defvar repeat--prev-mb '(0)
|
||||
"Previous minibuffer state.")
|
||||
|
||||
(defun repeat--command-property (property)
|
||||
(or (and (symbolp this-command)
|
||||
(get this-command property))
|
||||
(and (symbolp real-this-command)
|
||||
(get real-this-command property))))
|
||||
|
||||
(defun repeat-check-key (key map)
|
||||
"Check if the last key is suitable to activate the repeating MAP."
|
||||
(let ((property (repeat--command-property 'repeat-check-key)))
|
||||
(or (if repeat-check-key (eq property 'no) (not (eq property t)))
|
||||
(lookup-key map (vector key))
|
||||
;; Try without modifiers:
|
||||
(lookup-key map (vector (event-basic-type key))))))
|
||||
|
||||
(defun repeat-post-hook ()
|
||||
"Function run after commands to set transient keymap for repeatable keys."
|
||||
(let ((was-in-progress repeat-in-progress))
|
||||
(setq repeat-in-progress nil)
|
||||
(when repeat-mode
|
||||
(let ((rep-map (or repeat-map
|
||||
(and (symbolp this-command)
|
||||
(get this-command 'repeat-map))
|
||||
(and (symbolp real-this-command)
|
||||
(get real-this-command 'repeat-map)))))
|
||||
(let ((rep-map (or repeat-map (repeat--command-property 'repeat-map))))
|
||||
(when rep-map
|
||||
(when (and (symbolp rep-map) (boundp rep-map))
|
||||
(setq rep-map (symbol-value rep-map)))
|
||||
|
@ -426,10 +454,8 @@ See `describe-repeat-maps' for a list of all repeatable commands."
|
|||
;; in the middle of repeating sequence (bug#47566).
|
||||
(or (< (minibuffer-depth) (car repeat--prev-mb))
|
||||
(eq current-minibuffer-command (cdr repeat--prev-mb)))
|
||||
;; Exit when the last char is not among repeatable keys,
|
||||
;; so e.g. `C-x u u' repeats undo, whereas `C-/ u' doesn't.
|
||||
(or (lookup-key map (this-command-keys-vector))
|
||||
prefix-arg))
|
||||
(or (not repeat-keep-prefix) prefix-arg)
|
||||
(repeat-check-key last-command-event map))
|
||||
|
||||
;; Messaging
|
||||
(unless prefix-arg
|
||||
|
|
|
@ -364,11 +364,14 @@ invoke it (via an `interactive' spec that contains, for instance, an
|
|||
|
||||
/* The index of the next element of this_command_keys to examine for
|
||||
the 'e' interactive code. Initialize it to point to the first
|
||||
event with parameters. */
|
||||
ptrdiff_t next_event;
|
||||
for (next_event = 0; next_event < key_count; next_event++)
|
||||
if (EVENT_HAS_PARAMETERS (AREF (keys, next_event)))
|
||||
break;
|
||||
event with parameters. When `inhibit_mouse_event_check' is non-nil,
|
||||
the command can accept an event without parameters,
|
||||
so don't search for the event with parameters in this case. */
|
||||
ptrdiff_t next_event = 0;
|
||||
if (!inhibit_mouse_event_check)
|
||||
for (; next_event < key_count; next_event++)
|
||||
if (EVENT_HAS_PARAMETERS (AREF (keys, next_event)))
|
||||
break;
|
||||
|
||||
/* Handle special starting chars `*' and `@'. Also `-'. */
|
||||
/* Note that `+' is reserved for user extensions. */
|
||||
|
@ -606,7 +609,7 @@ invoke it (via an `interactive' spec that contains, for instance, an
|
|||
break;
|
||||
|
||||
case 'e': /* The invoking event. */
|
||||
if (!inhibit_mouse_event_check && next_event >= key_count)
|
||||
if (next_event >= key_count)
|
||||
error ("%s must be bound to an event with parameters",
|
||||
(SYMBOLP (function)
|
||||
? SSDATA (SYMBOL_NAME (function))
|
||||
|
@ -614,11 +617,15 @@ invoke it (via an `interactive' spec that contains, for instance, an
|
|||
args[i] = AREF (keys, next_event);
|
||||
varies[i] = -1;
|
||||
|
||||
/* Find the next parameterized event. */
|
||||
do
|
||||
/* `inhibit_mouse_event_check' allows non-parameterized events. */
|
||||
if (inhibit_mouse_event_check)
|
||||
next_event++;
|
||||
while (next_event < key_count
|
||||
&& ! EVENT_HAS_PARAMETERS (AREF (keys, next_event)));
|
||||
else
|
||||
/* Find the next parameterized event. */
|
||||
do
|
||||
next_event++;
|
||||
while (next_event < key_count
|
||||
&& ! EVENT_HAS_PARAMETERS (AREF (keys, next_event)));
|
||||
|
||||
break;
|
||||
|
||||
|
|
|
@ -5513,9 +5513,9 @@ protect the trampolines against GC. */);
|
|||
Vcomp_installed_trampolines_h = CALLN (Fmake_hash_table);
|
||||
|
||||
DEFVAR_LISP ("comp-no-native-file-h", V_comp_no_native_file_h,
|
||||
doc: /* Files for which no deferred compilation has to
|
||||
be performed because the bytecode version was explicitly requested by
|
||||
the user during load.
|
||||
doc: /* Files for which no deferred compilation has to be performed.
|
||||
These files' compilation should not be deferred because the bytecode
|
||||
version was explicitly requested by the user during load.
|
||||
For internal use. */);
|
||||
V_comp_no_native_file_h = CALLN (Fmake_hash_table, QCtest, Qequal);
|
||||
|
||||
|
|
|
@ -37,6 +37,8 @@
|
|||
(defvar repeat-tests-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(define-key map (kbd "C-x w a") 'repeat-tests-call-a)
|
||||
(define-key map (kbd "M-C-a") 'repeat-tests-call-a)
|
||||
(define-key map (kbd "M-C-z") 'repeat-tests-call-a)
|
||||
map)
|
||||
"Keymap for keys that initiate repeating sequences.")
|
||||
|
||||
|
@ -47,7 +49,7 @@
|
|||
map)
|
||||
"Keymap for repeating sequences.")
|
||||
(put 'repeat-tests-call-a 'repeat-map 'repeat-tests-repeat-map)
|
||||
(put 'repeat-tests-call-b 'repeat-map 'repeat-tests-repeat-map)
|
||||
(put 'repeat-tests-call-b 'repeat-map repeat-tests-repeat-map)
|
||||
|
||||
(defmacro with-repeat-mode (&rest body)
|
||||
"Create environment for testing `repeat-mode'."
|
||||
|
@ -70,6 +72,38 @@
|
|||
;; Check for self-inserting keys
|
||||
(should (equal (buffer-string) inserted)))
|
||||
|
||||
(ert-deftest repeat-tests-check-key ()
|
||||
(with-repeat-mode
|
||||
(let ((repeat-echo-function 'ignore))
|
||||
(let ((repeat-check-key t))
|
||||
(repeat-tests--check
|
||||
"C-x w a b a c"
|
||||
'((1 a) (1 b) (1 a)) "c")
|
||||
(repeat-tests--check
|
||||
"M-C-a b a c"
|
||||
'((1 a) (1 b) (1 a)) "c")
|
||||
(repeat-tests--check
|
||||
"M-C-z b a c"
|
||||
'((1 a)) "bac")
|
||||
(unwind-protect
|
||||
(progn
|
||||
(put 'repeat-tests-call-a 'repeat-check-key 'no)
|
||||
(repeat-tests--check
|
||||
"M-C-z b a c"
|
||||
'((1 a) (1 b) (1 a)) "c"))
|
||||
(put 'repeat-tests-call-a 'repeat-check-key nil)))
|
||||
(let ((repeat-check-key nil))
|
||||
(repeat-tests--check
|
||||
"M-C-z b a c"
|
||||
'((1 a) (1 b) (1 a)) "c")
|
||||
(unwind-protect
|
||||
(progn
|
||||
(put 'repeat-tests-call-a 'repeat-check-key t)
|
||||
(repeat-tests--check
|
||||
"M-C-z b a c"
|
||||
'((1 a)) "bac"))
|
||||
(put 'repeat-tests-call-a 'repeat-check-key nil))))))
|
||||
|
||||
(ert-deftest repeat-tests-exit-key ()
|
||||
(with-repeat-mode
|
||||
(let ((repeat-echo-function 'ignore))
|
||||
|
|
Loading…
Add table
Reference in a new issue