GNU bug report logs -
#66025
30.0.50; eldoc.el: eldoc--invoke-strategy: register-doc defined with 4 args, called with 5
Previous Next
Reported by: Vladimir Nikishkin <lockywolf <at> gmail.com>
Date: Sat, 16 Sep 2023 09:25:01 UTC
Severity: normal
Found in version 30.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Vladimir Nikishkin <lockywolf <at> gmail.com> writes:
> 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 encountered this error with mu4e, which is, I guess, using the "old
> protocol" for its documentation functions. mu4e's documentation function
> is mu4e-headers-eldoc-function, which returns a string. I haven't
> understood the differences between the "new protocol" and the "old
> protocol", but I guess, in the new protocol there is some callback to
> call with the doc message, i.e. the function cannot just return a
> string.
So far I have replaced the prototype for register-doc, from (pos string
plist origin) I have made it (pos string plist origin &rest o), and
things seem to work, although I am not sure how good this solution is.
Maybe it is worth adding a try-catch there, and process the "old
protocol" in an exception handler, since, I guess eventually everyone
should use the new protocol.
--
Your sincerely,
Vladimir Nikishkin (MiEr, lockywolf)
(Laptop)
This bug report was last modified 1 year and 245 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.