I've attached a patch that addresses the recursion issue with Emacs 28
and shows eldoc properly with example python. It presumably should act
the same with older versions of Emacs, although I haven't tested.
diff --git a/contrib/lisp/org-eldoc.el b/contrib/lisp/org-eldoc.el
index 3b0999340..ccc23b523 100644
--- a/contrib/lisp/org-eldoc.el
+++ b/contrib/lisp/org-eldoc.el
@@ -116,9 +116,12 @@
(when (fboundp mode-func)
(with-temp-buffer
(funcall mode-func)
- (setq doc-func (and eldoc-documentation-function
- (symbol-value 'eldoc-documentation-function)))
- (puthash lang doc-func org-eldoc-local-functions-cache))
+ (setq doc-func (if (boundp 'eldoc-documentation-functions)
+ (car eldoc-documentation-functions)
+ (and eldoc-documentation-function
+ (symbol-value 'eldoc-documentation-function))))
+
+ (puthash lang doc-func org-eldoc-local-functions-cache))
doc-func)
cached-func)))