emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: scratch/command 064f146 1/2: Change command to interactive ... modes


From: Basil L. Contovounesios
Subject: Re: scratch/command 064f146 1/2: Change command to interactive ... modes
Date: Thu, 18 Feb 2021 16:47:48 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>> That is, if edebug is loaded, then `C-M-x' (even if given no prefix)
>>> stops macroexpanding the defun?
>> Ah, looks like the code of `eval-defun` was upgraded to do
>> eager-macroexpansion, but Edebug overrides it and hasn't been similarly
>> upgraded (or better yet: improved so as to just use the normal code when
>> the code is not instrumented).
>
> I just installed a fix for that, which makes Edebug reuse the normal
> `eval-defun` code.

I think that commit causes 'make test/edebug-tests' to hang:

--8<---------------cut here---------------start------------->8---
make test/edebug-tests
make -C test edebug-tests
make[1]: Entering directory '/home/blc/.local/src/emacs/test'
make[2]: Entering directory '/home/blc/.local/src/emacs/test'
  GEN      lisp/emacs-lisp/edebug-tests.log
Running 43 tests (2021-02-18 16:34:55+0000, selector `(not (tag :unstable))')
Edebug: edebug-cl-defmethod-qualifier (number)
Edebug: edebug-cl-defmethod-qualifier :around (number)
   passed   1/43  edebug-cl-defmethod-qualifier (0.000698 sec)
Edebug: edebug-anon584
   passed   2/43  edebug-tests--&rest-behavior (0.000304 sec)
Edebug: f@cl-flet@585
Edebug: gate@cl-flet@586
Edebug: edebug-test-code-cl-flet1

   passed   3/43  edebug-tests--conflicting-internal-names (0.062670 sec)
Edebug: edebug-test-code-range






Go...
   passed   4/43  edebug-tests-backtrace-goto-source (0.220103 sec)
Edebug: edebug-anon651
Edebug: edebug-test-code-make-lambda

Breakpoint set in edebug-anon651
Edebug: edebug-test-code-use-lambda


Go...
Break
Result: 1 (#o1, #x1, ?\C-a)
Go...
   passed   5/43  edebug-tests-break-in-lambda-out-of-defining-context 
(0.038740 sec)
   passed   6/43  edebug-tests-check-keymap (0.000361 sec)
Edebug: edebug-test-code-circular-read-syntax

   passed   7/43  edebug-tests-circular-read-syntax (0.015725 sec)
Edebug: inner@cl-flet@10000
Edebug: inner@cl-flet@10001
Edebug: edebug-tests-cl-flet-1
Edebug: inner@cl-flet@10002
Edebug: edebug-tests-cl-flet-2
   passed   8/43  edebug-tests-cl-flet (0.001139 sec)
Edebug: wrap@cl-macrolet@654
Edebug: edebug-test-code-use-cl-macrolet
--8<---------------cut here---------------end--------------->8---

0. ./src/emacs -Q
1. M-x load-file RET test/lisp/emacs-lisp/edebug-tests.elc RET
2. M-x ert RET RET

This starts an Edebug session in edebug-test-code-use-cl-macrolet:

PNG image

3. g

--8<---------------cut here---------------start------------->8---
F edebug-tests-break-in-lambda-out-of-defining-context
    Edebug observes a breakpoint in a lambda executed out of defining context.
    (buffer-read-only #<killed buffer>)

F edebug-tests-cl-macrolet
    Edebug can instrument ‘cl-macrolet’ expressions. (Bug#29919)
    (ert-test-failed
     ((should
       (eql
        (point)
        stop-point))
      :form
      (eql 4205 4129)
      :value nil))

F edebug-tests-trivial-backquote
    Edebug can instrument a trivial backquote expression (Bug#23651).
    (ert-test-failed
     ((should
       (string-match-p
        (regexp-quote "1 (#o1, #x1, ?\\C-a)")
        edebug-tests-messages))
      :form
      (string-match-p "1 (#o1, #x1, \\?\\\\C-a)" " (#o1, #x1, ?\\C-a)")
      :value nil))
--8<---------------cut here---------------end--------------->8---

Same happens if I load the source file edebug-tests.el instead.

The hang doesn't happen with the preceding commit.

HTH,

-- 
Basil

reply via email to

[Prev in Thread] Current Thread [Next in Thread]