Ariel Badichi abadichi@bezeqint.net writes:
(defun
(defun foo (x) (+ x 1))
- and point is after the first defun and before the beginning of the
second defun, no autodoc string will appear in the minibuffer.
The reason for this, essentially, is that slime-inside-string-p calls slime-region-for-defun-at-point, which calls end-of-defun, which signals an error.
This analysis is absolutely correct.
slime-inside-string-p only needs the position of the beginning of the defun from slime-region-for-defun-at-point. I chose to fix it, however, by changing what the latter does. If the end position cannot be determined, nil will be used in its place.
I changed `slime-inside-string-p' to use
(save-excursion (beginning-of-defun) (point))
instead. I think that's better than changing the function `slime-region-for-defun-at-point' which is also used at other places.
Thanks for the report!
-T.