[slime-cvs] CVS slime
trittweiler
trittweiler at common-lisp.net
Mon Aug 27 15:02:16 UTC 2007
Update of /project/slime/cvsroot/slime
In directory clnet:/tmp/cvs-serv2850
Modified Files:
swank.lisp
Log Message:
* slime.el (slime-sexp-at-point): Fixes a few edge cases were
Emacs' `(thing-at-point 'sexp)' behaves suboptimally. For example,
`foo(bar baz)' where point is at the ?\(.
(slime-internal-scratch-buffer): New. This variable holds an
internal scratch buffer that can be reused instead of having to
create a new temporary buffer again and again.
(slime-make-extended-operator-parser/look-ahead): Uses
`slime-make-form-spec-from-string' to parse nested expressions
properly.
(slime-nesting-until-point): Added docstring.
(slime-make-form-spec-from-string): Added new optional parameter
for stripping the operator off the passed string representation of
a form. Necessary to work in the context of
`slime-make-extended-operator-parser/look-ahead'. Added safety check
against a possible endless recursion.
* swank.lisp (parse-form-spec): Looses restriction for nesting.
--- /project/slime/cvsroot/slime/swank.lisp 2007/08/26 23:34:50 1.500
+++ /project/slime/cvsroot/slime/swank.lisp 2007/08/27 15:02:15 1.501
@@ -1656,7 +1656,7 @@
((:type-specifier raw-typespec)
(parse-extended-spec raw-typespec :type-specifier))
(t
- (when (every #'stringp raw-spec)
+ (when (every #'(lambda (x) (or (stringp x) (consp x))) raw-spec)
(destructuring-bind (raw-operator &rest raw-args) raw-spec
(multiple-value-bind (operator found?) (parse-symbol raw-operator)
(when (and found? (valid-operator-symbol-p operator))
More information about the slime-cvs
mailing list