GNU bug report logs - #50629
28.0.50; hard to debug an uncaught error with ert

Previous Next

Package: emacs;

Reported by: Mike Kupfer <mkupfer <at> alum.berkeley.edu>

Date: Thu, 16 Sep 2021 23:29:02 UTC

Severity: normal

Merged with 58941

Found in versions 28.0.50, 28.1.90

Full log


Message #28 received at 50629 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Cc: Mike Kupfer <mkupfer <at> alum.berkeley.edu>, 50629 <at> debbugs.gnu.org
Subject: Re: bug#50629: 28.0.50; hard to debug an uncaught error with ert
Date: Sat, 27 Aug 2022 16:29:04 +0200
Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:

> That's what I meant with macrology.  Please macroexpand and look at
> what's actually executed.

This is what macroexpand-all says is executed:

(progn
  (ert-set-test
   'f
   (record 'ert-test 'f
	   nil #'(lambda ()
		   (defalias 'foo #'(lambda ()
				      (bar)))
		   (defalias 'bar #'(lambda ()
				      (zot)))
		   (let* ((fn-573 #'equal)
			  (args-574 (condition-case err (let ( foo)
							  (list 42 (foo)))
				      (error (progn
					       (setq fn-573 #'signal)
					       (list (car err) (cdr err)))))))
		     (let ((value-575 'ert-form-evaluation-aborted-576))
		       (let ( form-description-577)
			 (if (unwind-protect (setq value-575 (apply fn-573 args-574))
			       (setq form-description-577
				     (nconc (list '(should (equal 42 (foo))))
					    (list :form
						  (cons fn-573 args-574))
					    (if (eql value-575
						     'ert-form-evaluation-aborted-576) ()
					      (list :value value-575))
					    (if (eql value-575
						     'ert-form-evaluation-aborted-576) ()
					      (let* ((-explainer- (and t (ert--get-explainer 'equal))))
						(if -explainer- (list :explanation
								      (apply
								       -explainer-
								       args-574))
						  nil)))))
			       (ert--signal-should-execution form-description-577)) ()
			   (ert-fail form-description-577)))
		       value-575)))
	   nil
	   ':passed
	   'nil
	   nil))
  'f)

The foo->bar->zot calling sequence is preserved.




This bug report was last modified 2 years and 227 days ago.

Previous Next


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