[slime-cvs] CVS slime/contrib

trittweiler trittweiler at common-lisp.net
Sat Sep 15 11:09:36 UTC 2007


Update of /project/slime/cvsroot/slime/contrib
In directory clnet:/tmp/cvs-serv28484

Modified Files:
	slime-parse.el 
Log Message:

* slime-parse.el: Fix extended arglist display on misbalanced
  expressions like `(defun foo | ... (defun bar () 'bar)'
  Reported by Ariel Badichi.
	
  (slime-inside-string-p): Use `beginning-of-defun' directly than
  relying on `slime-region-for-defun-at-point' (as this one uses
  `end-of-defun' which signals an error on misbalanced expressions.)


--- /project/slime/cvsroot/slime/contrib/slime-parse.el	2007/09/11 17:04:17	1.6
+++ /project/slime/cvsroot/slime/contrib/slime-parse.el	2007/09/15 11:09:36	1.7
@@ -220,7 +220,14 @@
 representation of a form, the string representation of this form
 is stripped from the form. This can be important to avoid mutual
 recursion between this function, `slime-enclosing-form-specs' and
-`slime-parse-extended-operator-name'."
+`slime-parse-extended-operator-name'.
+
+Examples:
+
+  \"(foo (bar 1 (baz :quux)) 'toto)\" 
+
+      => (\"foo\" (\"bar\" \"1\" (\"baz\" \":quux\")) \"'toto\")
+"
   (cond ((slime-length= string 0) "")
 	((equal string "()") '())
 	(t
@@ -267,9 +274,9 @@
 parens.
 
 \(See SWANK::PARSE-FORM-SPEC for more information about what
-exactly constitutes a ``raw form specs''
+exactly constitutes a ``raw form specs'')
 
-Example:)
+Examples:
 
   A return value like the following
 
@@ -355,7 +362,7 @@
   (if (listp thing) thing (list thing)))
 
 (defun slime-inside-string-p ()
-  (let* ((toplevel-begin (first (slime-region-for-defun-at-point)))
+  (let* ((toplevel-begin (save-excursion (beginning-of-defun) (point)))
 	 (parse-result (parse-partial-sexp toplevel-begin (point)))
 	 (inside-string-p  (nth 3 parse-result))
 	 (string-start-pos (nth 8 parse-result)))




More information about the slime-cvs mailing list