GNU bug report logs - #65344
28.2; Unable to Edebug cl-flet form which uses argument destructuring

Previous Next

Package: emacs;

Reported by: Brandon Irizarry <brandon.irizarry <at> gmail.com>

Date: Wed, 16 Aug 2023 18:23:02 UTC

Severity: normal

Found in version 28.2

Fixed in version 30.1

Done: Gerd Möllmann <gerd.moellmann <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: brandon.irizarry <at> gmail.com, Eli Zaretskii <eliz <at> gnu.org>, 65344 <at> debbugs.gnu.org
Subject: bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring
Date: Mon, 21 Aug 2023 09:01:35 +0200
BTW, after adding a test for this to test/emacs-lisp/cl-macs-tests.el,
I'm now a bit puzzled.  The test succeeds without my changes.

This is the new test case:

(ert-deftest cl-flet/edebug ()
  "Check that we can instrument `cl-flet' forms (bug#65344)."
  (with-temp-buffer
    (print '(cl-flet (;; "Obscure" form of binding supported by cl-flet
                      (x (progn (list 1 2) (lambda ())))
                      ;; Destructuring lambda-list
                      (y ((min max)) (list min max))
                      ;; Regular binding plus shadowing.
                      (z (a) a)
                      (z (a) a))
              (y '(1 2)))
           (current-buffer))
    (let ((edebug-all-defs t)
          (edebug-initial-mode 'Go-nonstop))
      ;; Just make sure the forms can be instrumented.
      (eval-buffer))))

Instrumenting the cl-flet of the test case interactively in "emacs -Q"
with C-M-x fails, as expected.  An interactive eval-buffer with
edebug-all-defs set to t succeeds.

So there's something else fishy somewhere, I'd guess, which is
unfortunate, because that pattern with eval-buffer is also used
elsewhere in cl-macs-tests.





This bug report was last modified 1 year and 261 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.