/[slime]/slime/swank.lisp
ViewVC logotype

Diff of /slime/swank.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.669 by trittweiler, Sat Oct 31 22:13:55 2009 UTC revision 1.670 by sboukarev, Mon Nov 2 00:24:52 2009 UTC
# Line 2014  considered to represent a symbol interna Line 2014  considered to represent a symbol interna
2014               (vector-push-extend char token))               (vector-push-extend char token))
2015              ((char= char #\:)              ((char= char #\:)
2016               (cond ((and package internp)               (cond ((and package internp)
2017                      (error "More than two colons in ~S" string))                      (return-from tokenize-symbol-thoroughly))
2018                     (package                     (package
2019                      (setq internp t))                      (setq internp t))
2020                     (t                     (t
# Line 2024  considered to represent a symbol interna Line 2024  considered to represent a symbol interna
2024                                              :fill-pointer 0)))))                                              :fill-pointer 0)))))
2025              (t              (t
2026               (vector-push-extend (casify-char char) token))))               (vector-push-extend (casify-char char) token))))
2027      (when vertical      (unless vertical
2028        (error "Unclosed vertical bar in ~S" string))            (values token package (or (not package) internp)))))
     (values token package (or (not package) internp))))  
2029    
2030  (defun untokenize-symbol (package-name internal-p symbol-name)  (defun untokenize-symbol (package-name internal-p symbol-name)
2031    "The inverse of TOKENIZE-SYMBOL.    "The inverse of TOKENIZE-SYMBOL.
# Line 2061  considered to represent a symbol interna Line 2060  considered to represent a symbol interna
2060  Return the symbol and a flag indicating whether the symbols was found."  Return the symbol and a flag indicating whether the symbols was found."
2061    (multiple-value-bind (sname pname internalp)    (multiple-value-bind (sname pname internalp)
2062        (tokenize-symbol-thoroughly string)        (tokenize-symbol-thoroughly string)
2063      (let ((package (cond ((string= pname "") keyword-package)      (when sname
2064                           (pname              (find-package pname))       (let ((package (cond ((string= pname "") keyword-package)
2065                           (t                  package))))                            (pname              (find-package pname))
2066        (if package                            (t                  package))))
2067            (multiple-value-bind (symbol flag)         (if package
2068                (if internalp             (multiple-value-bind (symbol flag)
2069                    (find-symbol sname package)                 (if internalp
2070                    (find-symbol-with-status sname ':external package))                     (find-symbol sname package)
2071              (values symbol flag sname package))                     (find-symbol-with-status sname ':external package))
2072            (values nil nil nil nil)))))               (values symbol flag sname package))
2073               (values nil nil nil nil))))))
2074    
2075  (defun parse-symbol-or-lose (string &optional (package *package*))  (defun parse-symbol-or-lose (string &optional (package *package*))
2076    (multiple-value-bind (symbol status) (parse-symbol string package)    (multiple-value-bind (symbol status) (parse-symbol string package)

Legend:
Removed from v.1.669  
changed lines
  Added in v.1.670

  ViewVC Help
Powered by ViewVC 1.1.5