[patch] calling slime-edit-definition in the first position of a *slime-apropos* buffer

João Távora joaotavora at gmail.com
Wed Jul 3 23:17:36 UTC 2013


Here is a fix for an annoyance similar to the one I described in
my previous email: Pressing M-. on the first position of the
*slime-apropos* raises a "args out of range error".

Marco, I'm cc'ing you, since I believe the error stems from the interaction
of your `slime-fancy-inspector' contrib with
`slime-inspector-property-at-point'.

It could be a easy fix in slime.el

diff --git a/slime.el b/slime.el
index 106b0fa..857e68f 100644
--- a/slime.el
+++ b/slime.el
@@ -6636,7 +6636,8 @@ position of point in the current buffer."
                   when value
                   return (list property value)))))
       (or (funcall find-property (point))
-          (funcall find-property (1- (point))))))
+          (and (> (point) (point-min))
+               (funcall find-property (1- (point)))))))

 (defun slime-inspector-operate-on-point ()
   "Invoke the command for the text at point.

But the real problem is that `slime-fancy-inspector' contrib places
its `slime-edit-inspector-part' in `slime-edit-definition-hooks', thus
causing `slime-inspector-operate-on-point' to be called uselessly in
non-inspector contexts.

So maybe there's a better fix within the spirit of
`slime-edit-definition-hooks'

diff --git a/contrib/slime-fancy-inspector.el
b/contrib/slime-fancy-inspector.el
index 8918f90..bef8d1c 100644
--- a/contrib/slime-fancy-inspector.el
+++ b/contrib/slime-fancy-inspector.el
@@ -22,6 +22,7 @@
                          ,(slime-definition-at-point t))))

 (defun slime-edit-inspector-part (name &optional where)
+  (and (eq major-mode 'slime-inspector-mode)
        (destructuring-bind (&optional property value)
            (slime-inspector-property-at-point)
          (when (eq property 'slime-part-number)
@@ -34,6 +35,6 @@
                 (list (make-slime-xref :dspec `(,name)
                                        :location location))
                 name
-           where))))))
+                where)))))))


-- 
João Távora
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/slime-devel/attachments/20130704/5fd2b455/attachment.html>


More information about the slime-devel mailing list