(let ((vars '()))
(do-symbols (s 'common-lisp)
(multiple-value-bind (sym status)
- (find-symbol (symbol-name s) 'common-lisp)
- (when (and (or (eq status :external)
- (eq status :internal))
- (boundp sym))
- (push sym vars))))
+ (find-symbol (symbol-name s) 'common-lisp)
+ (when (and (or (eq status :external)
+ (eq status :internal))
+ (boundp sym))
+ (push sym vars))))
(nreverse vars)))
(defun cl-functions ()
(let ((funcs '()))
(do-symbols (s 'common-lisp)
(multiple-value-bind (sym status)
- (find-symbol (symbol-name s) 'common-lisp)
- (when (and (or (eq status :external)
- (eq status :internal))
- (fboundp sym))
- (push sym funcs))))
+ (find-symbol (symbol-name s) 'common-lisp)
+ (when (and (or (eq status :external)
+ (eq status :internal))
+ (fboundp sym))
+ (push sym funcs))))
(nreverse funcs)))
;;; Symbol functions
(when (char= #\a (schar (symbol-name '#:a) 0))
(pushnew :kmrcl-lowercase-reader *features*))
(when (not (string= (symbol-name '#:a)
- (symbol-name '#:A)))
+ (symbol-name '#:A)))
(pushnew :kmrcl-case-sensitive *features*)))
(defun string-default-case (str)
(symbol-name arg)))))
(let ((str (apply #'concatenate 'string (mapcar #'stringify args))))
(nth-value 0 (intern (string-default-case str)
- (if pkg pkg *package*))))))
+ (if pkg pkg *package*))))))
(defun concat-symbol (&rest args)
(defun ensure-keyword-upcase (desig)
(nth-value 0 (intern (string-upcase
- (symbol-name (ensure-keyword desig))) :keyword)))
+ (symbol-name (ensure-keyword desig))) :keyword)))
(defun ensure-keyword-default-case (desig)
(nth-value 0 (intern (string-default-case
- (symbol-name (ensure-keyword desig))) :keyword)))
+ (symbol-name (ensure-keyword desig))) :keyword)))
(defun show (&optional (what :variables) (package *package*))
(ecase what
(defun show-variables (package)
(do-symbols (s package)
(multiple-value-bind (sym status)
- (find-symbol (symbol-name s) package)
+ (find-symbol (symbol-name s) package)
(when (and (or (eq status :external)
- (eq status :internal))
- (boundp sym))
- (format t "~&Symbol ~S~T -> ~S~%"
- sym
- (symbol-value sym))))))
+ (eq status :internal))
+ (boundp sym))
+ (format t "~&Symbol ~S~T -> ~S~%"
+ sym
+ (symbol-value sym))))))
(defun show-functions (package)
(do-symbols (s package)
(multiple-value-bind (sym status)
- (find-symbol (symbol-name s) package)
+ (find-symbol (symbol-name s) package)
(when (and (or (eq status :external)
- (eq status :internal))
- (fboundp sym))
- (format t "~&Function ~S~T -> ~S~%"
- sym
- (symbol-function sym))))))
+ (eq status :internal))
+ (fboundp sym))
+ (format t "~&Function ~S~T -> ~S~%"
+ sym
+ (symbol-function sym))))))
(defun find-test-generic-functions (instance)
"Return a list of symbols for generic functions specialized on the
class of an instance and whose name begins with the string 'test-'"
(let ((res)
- (package (symbol-package (class-name (class-of instance)))))
+ (package (symbol-package (class-name (class-of instance)))))
(do-symbols (s package)
(multiple-value-bind (sym status)
- (find-symbol (symbol-name s) package)
- (when (and (or (eq status :external)
- (eq status :internal))
- (fboundp sym)
- (eq (symbol-package sym) package)
- (> (length (symbol-name sym)) 5)
- (string-equal "test-" (subseq (symbol-name sym) 0 5))
- (typep (symbol-function sym) 'generic-function)
- (plusp
- (length
- (compute-applicable-methods
- (ensure-generic-function sym)
- (list instance)))))
- (push sym res))))
+ (find-symbol (symbol-name s) package)
+ (when (and (or (eq status :external)
+ (eq status :internal))
+ (fboundp sym)
+ (eq (symbol-package sym) package)
+ (> (length (symbol-name sym)) 5)
+ (string-equal "test-" (subseq (symbol-name sym) 0 5))
+ (typep (symbol-function sym) 'generic-function)
+ (plusp
+ (length
+ (compute-applicable-methods
+ (ensure-generic-function sym)
+ (list instance)))))
+ (push sym res))))
(nreverse res)))
(defun run-tests-for-instance (instance)