1 ;;;; tests for problems in the interface presented to the user/programmer
3 ;;;; This software is part of the SBCL system. See the README file for
6 ;;;; While most of SBCL is derived from the CMU CL system, the test
7 ;;;; files (like this one) were written from scratch after the fork
10 ;;;; This software is in the public domain and is provided with
11 ;;;; absolutely no warranty. See the COPYING and CREDITS files for
12 ;;;; more information.
14 (load "assertoid.lisp")
15 (use-package "ASSERTOID")
18 "(setf foo) documentation"
21 (assert (string= (documentation '(setf foo
) 'function
)
22 "(setf foo) documentation"))
23 (assert (string= (documentation #'(setf foo
) 'function
)
24 "(setf foo) documentation"))
26 (defun (sb-pcl::class-predicate foo
) (x)
27 "(class-predicate foo) documentation"
30 (assert (string= (documentation '(setf foo
) 'function
)
31 "(setf foo) documentation"))
32 (assert (string= (documentation #'(setf foo
) 'function
)
33 "(setf foo) documentation"))
34 (assert (string= (documentation '(sb-pcl::class-predicate foo
) 'function
)
35 "(class-predicate foo) documentation"))
36 (assert (string= (documentation #'(sb-pcl::class-predicate foo
) 'function
)
37 "(class-predicate foo) documentation"))
39 ;;; DISASSEMBLE shouldn't fail on closures or unpurified functions
40 (defun disassemble-fun (x) x
)
41 (disassemble 'disassemble-fun
)
43 (let ((x 1)) (defun disassemble-closure (y) (if y
(setq x y
) x
)))
44 (disassemble 'disassemble-closure
)
47 (sb-ext:quit
:unix-status
104)