Subject: bug#66025: 30.0.50; eldoc.el: eldoc--invoke-strategy: register-doc defined with 4 args, called with 5

From: Eli Zaretskii <[email-masked]>
Date: Sat, 16 Sep 2023 13:50:53 +0300

> From: Vladimir Nikishkin <[email-masked]>
> Date: Sat, 16 Sep 2023 17:16:14 +0800
> 
> 
> Emacs master, hash f13b08be11533c546fed257dcf8e3812a53b672a
> 
> Line 883 in file eldoc.el defines a lexical function register-doc with 4
> argumenst (pos string plist origin), which is later, at line 931, called
> with 5 arguments, (register-doc 0 res nil nil
> eldoc-documentation-strategy), which leads to an exception.

I don't see the 5-arg call.  What I see on the current master branch
around like 931 is this:

        ;; Observe the old and the new protocol:
        (cond (;; Old protocol: got string, e-d-strategy is iself the
               ;; origin function, and we output immediately;
               (stringp res)
               (register-doc 0 res nil eldoc-documentation-strategy)

This calls register-doc with 4 arguments, not 5.

Do you have some local changes, per chance?  Or maybe you are not on
the master branch?