genworks.lisp 2.27 KB
Newer Older
Dave Cooper's avatar
Dave Cooper committed
1
;;
2
;; Copyright 2002-2011 Genworks International 
Dave Cooper's avatar
Dave Cooper committed
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
;;
;; This source file is part of the General-purpose Declarative
;; Language project (GDL).
;;

;; and/or modify it under the terms of the GNU Affero General Public
;; License as published by the Free Software Foundation, either
;; version 3 of the License, or (at your option) any later version.
;; 
;; This source file is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;; Affero General Public License for more details.
;; 
;; You should have received a copy of the GNU Affero General Public
;; License along with this source file.  If not, see
;; <http://www.gnu.org/licenses/>.
;; 

(in-package :com.genworks.lisp)

24
(glisp:without-package-variance-warnings
Dave Cooper's avatar
Dave Cooper committed
25
26
  (defpackage :com.genworks.lisp 
    (:use :common-lisp)
27
    (:nicknames :glisp)
Dave Cooper's avatar
Dave Cooper committed
28
29
30
31
32
33
34
    (:export #:autoloaded-packages
	     #:package-documentation
	     #:function-documentation
	     #:variable-documentation)))


(defun autoloaded-packages ()
Dave Cooper's avatar
Dave Cooper committed
35
36
37
38
39
  (append (list :win :windows :regexp) 
	  (remove-duplicates 
	   #-allegro nil
	   #+allegro (mapcar #'(lambda(pair) (intern (first pair) :keyword)) excl::*autoload-package-name-alist*)
	   )))
Dave Cooper's avatar
Dave Cooper committed
40

41
#-(or allegro lispworks sbcl ccl) (error "Need implementation for package-documentation for the currently running Lisp.~%")
Dave Cooper's avatar
Dave Cooper committed
42
(defun package-documentation (package)
43
  #+(or allegro lispworks ccl) (documentation (find-package package) t)
44
  #+sbcl (sb-kernel:package-doc-string (find-package package)))
Dave Cooper's avatar
Dave Cooper committed
45

46
47

#-(or allegro lispworks sbcl cmu ccl) (error "Need implementation for function-documentation for the currently running Lisp.~%")
Dave Cooper's avatar
Dave Cooper committed
48
49
(defun function-documentation (function-symbol)
  #+allegro (get function-symbol 'excl::%fun-documentation)
50
  #+lispworks (get function-symbol 'system::%fun-documentation)
51
  #+(or cmu sbcl ccl) (documentation function-symbol 'function))
Dave Cooper's avatar
Dave Cooper committed
52

53
#-(or allegro lispworks sbcl cmu ccl) (error "Need implementation for variable-documentation for the currently running Lisp.~%")
Dave Cooper's avatar
Dave Cooper committed
54
55
(defun variable-documentation (function-symbol)
  #+allegro (get function-symbol 'excl::%var-documentation)
56
  #+lispworks (get function-symbol 'system::%var-documentation)
57
  #+(or cmu sbcl ccl) (documentation function-symbol 'variable))
Dave Cooper's avatar
Dave Cooper committed
58