Subject: Re: bug#24402: should-error doesn't catch all errors

From: Alex <[email-masked]>
Date: Wed, 19 Jul 2017 22:04:03 -0600

[email-masked] writes:

> Gemini Lasswell <[email-masked]> writes:
>
>> This is an excerpt of test/src/fns-tests.el with a few lines added at
>> the end to invoke Testcover. It contains two nearly identical tests
>> which should both pass, but one passes and one fails.
>
> If I run them again in the same Emacs session then they both fail.  The
> problem seems to be that testcover saves values produced in tests, and
> when it tries to compare the 2 circular lists produced by these tests, a
> `circular-list' error is thrown.  In other words, this is actually a
> totally separate bug (although it's hidden until a fix for #24402 is
> applied).
>
> The following appears to fix it, though perhaps we should use a smarter
> equal function that would consider the circular lists to actually be
> equal instead of bailing out and returning nil on circularity.

That would be nice.

> Alex <[email-masked]> writes:
> 
> > Hmm, this isn't the behaviour that I see. I get the following errors
> > both with and without my patch, and both interactively and in batch
> > mode:
> >
> > ===============================================================================================
> > Edebug: cyc1
> > Edebug: test@test-cycle-assq
> > Edebug: test@test-cycle-assoc
> > Edebug: cyc1
> > Edebug: test@test-cycle-assq
> > Edebug: test@test-cycle-assoc
> > ...
> > Edebug: cyc1
> > Edebug: test@test-cycle-assq
> > Compiler-macro error for cl--block-wrapper: (error "Lisp nesting exceeds ‘max-lisp-eval-depth’")
> 
> Hmm, that's strange, I don't get that error (or any "Edebug: cyc1"
> repetitions after the first) on master, or with your patch.

Whoops, I changed the defvar to a setq and forgot to change it back.
Doing this results in the error I posted. (Which makes sense since it
keeps reloading the file, resulting in the "Edebug:" loop. The
compiler-macro errors and `t' being called as a function are a bit odd,
though).

I get the same behaviour as you and Gemini now. Sorry about the noise.