Index: slime.el
===================================================================
RCS file: /project/slime/cvsroot/slime/slime.el,v
retrieving revision 1.1125
diff -u -r1.1125 slime.el
--- slime.el	22 Feb 2009 14:18:47 -0000	1.1125
+++ slime.el	24 Feb 2009 09:53:21 -0000
@@ -8046,6 +8046,10 @@
           (while (slime-point-moves-p 
                    (skip-syntax-backward "w_")
                    (when (eq (char-before) ?|)
+                     (backward-char))
+                   ;; Accept @ but not ,@ as part of a symbol
+                   (when (and (eq (char-before) ?@)
+                              (not (eq (char-before (1- (point))) ?,)))
                      (backward-char)))))
     (when (eq (char-before) ?#) ; special case for things like "#<foo"
       (forward-char))))
@@ -8057,6 +8061,10 @@
            ;; | has the syntax as ", so we need to 
            ;; treat it manually rather than via syntax. 
            (when (looking-at "|")
+             (forward-char))
+           ;; @ is a valid char in CL symbols but it is
+           ;; not a part of the _ sytax class
+           (when (looking-at "@")
              (forward-char)))))
 
 (put 'slime-symbol 'end-op 'slime-end-of-symbol)
