Subject: 29.0.50; Method dispatching eratically fails

From: Michael Heerdegen <[email-masked]>
Date: Mon, 21 Feb 2022 01:12:56 +0100

Hello,

this happens on trunk.

I extended register.el with new register content types.  This involves a
lot of method definitions like

  (cl-defmethod register-val-jump-to ((val TYPE) arg))

where TYPE refers to some of my self defined container types for
register contents.

I byte compile my init file (where these definitions live).

My problem: the dispatching of these methods is often erratically
broken.  The methods then are not used although their type should match.
The according test for VAL being of the TYPE, e.g. by using the
according type predicate, succeeds.

This happens randomly.  Sometimes it's broken from the beginning of a
session, sometimes not, sometimes it breaks later while working.  When
it happens, sometimes not all types are affected.  Sometimes reloading
my init file fixes the problem, sometimes not.  I don't see a clear
pattern.

Maybe there is a relation to the symbol-with-position patch (just
guessing)?

That's all I can say.  So far I failed to reproduce something like this
in emacs -Q, I don't have a recipe, and maybe it's even my fault, I have
no clue.  Maybe the behavior depends on what was loaded (and how, and in
which order) before the file is compiled.

TIA,

Michael.