Subject: bug#66394: 29.1; Make register-read-with-preview more useful

From: Eli Zaretskii <[email-masked]>
Date: Wed, 29 Nov 2023 16:04:03 +0200

> From: Thierry Volpiatto <[email-masked]>
> Cc: [email-masked],  [email-masked],
>   [email-masked],  [email-masked]
> Date: Sat, 25 Nov 2023 21:14:31 +0000
> 
> Here a patch with the change suggested by Stefan applied, slighly
> modified though because it fails if I put the call to
> cl--generic-prefill-dispatchers at the recommended place.
> 
> I recompiled Emacs with this patch with no errors.

Thanks, installed on master.

After this, a test in register-tests.el fails:

  Running 1 tests (2023-11-29 09:01:59-0500, selector ‘(not (or (tag :unstable) (tag :nativecomp)))’)
  Point to register: a
  Test register-test-bug27634 backtrace:
    signal(ert-test-failed (((should (equal 'quit (condition-case err (c
    ert-fail(((should (equal 'quit (condition-case err (call-interactive
    (if (unwind-protect (setq value-2 (apply fn-0 args-1)) (setq form-de
    (let (form-description-4) (if (unwind-protect (setq value-2 (apply f
    (let ((value-2 'ert-form-evaluation-aborted-3)) (let (form-descripti
    (let* ((fn-0 #'equal) (args-1 (condition-case err (let ((signal-hook
    (progn (fset 'read-key #'ignore) (let* ((fn-0 #'equal) (args-1 (cond
    (unwind-protect (progn (fset 'read-key #'ignore) (let* ((fn-0 #'equa
    (let* ((vnew event) (old (symbol-function 'read-key)) (register-alis
    (let ((event (car tail))) (let* ((vnew event) (old (symbol-function
    (while tail (let ((event (car tail))) (let* ((vnew event) (old (symb
    (let ((tail (list 7 'escape 27))) (while tail (let ((event (car tail
    (closure (t) nil (let ((tail (list 7 'escape 27))) (while tail (let
    ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
    ert-run-test(#s(ert-test :name register-test-bug27634 :documentation
    ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
    ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
    ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
    ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
    eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
    command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/register-tests.el" "
    command-line()
    normal-top-level()
  Test register-test-bug27634 condition:
      (ert-test-failed
       ((should (equal 'quit (condition-case err ... ...))) :form
	(equal quit #<marker in no buffer>) :value nil :explanation
	(different-types quit #<marker in no buffer>)))
     FAILED  1/1  register-test-bug27634 (1.758961 sec) at lisp/register-tests.el:30

The response "a" to the "Point to register:" question is something I
needed to type; previously the test never asked any questions (and it
shouldn't, AFAIU).

Could you please see if the test suite needs some adaptations to these
changes?