[slime-devel] parser state bugs

Madhu enometh at meer.net
Thu May 21 14:33:13 UTC 2009


* Madhu <m3ljoqd9jh.fsf at meer.net> Wrote on Thu, 21 May 2009 16:09:46 +0530:

| I'm also running into problems where C-c C-c (slime-compile-defun) and a
| subsequent M-n M-p gets the line numbers wrong and takes you to the top
| of the file depending on whether the cursor is at column 0 or elsewhere.

I don't think this was directly related to my other crib in this thread,
But there is a bug in `slime-goto-location-position':

diff --git a/slime.el b/slime.el
index 058458b..a6c718a 100644
--- a/slime.el
+++ b/slime.el
@@ -3330,14 +3330,15 @@ you should check twice before modifying.")
     ((:function-name name)
      (let ((case-fold-search t)
            (name (regexp-quote name)))
-       (or 
-        (re-search-forward 
-         (format "\\s *(def\\(\\s_\\|\\sw\\)*\\s +%s\\S_" name) nil t)
-        (re-search-forward 
-         (format "\\s *(def\\(\\s_\\|\\sw\\)*\\s +(*%s\\S_" name) nil t)
-        (re-search-forward 
-         (format "[( \t]%s\\>\\(\\s \\|$\\)" name) nil t)))
-     (goto-char (match-beginning 0)))
+       (and
+        (or 
+         (re-search-forward 
+          (format "\\s *(def\\(\\s_\\|\\sw\\)*\\s +%s\\S_" name) nil t)
+         (re-search-forward 
+          (format "\\s *(def\\(\\s_\\|\\sw\\)*\\s +(*%s\\S_" name) nil t)
+         (re-search-forward 
+          (format "[( \t]%s\\>\\(\\s \\|$\\)" name) nil t))
+        (goto-char (match-beginning 0))))
     ((:method name specializers &rest qualifiers)
      (slime-search-method-location name specializers qualifiers))
     ((:source-path source-path start-position)





More information about the slime-devel mailing list