-
Notifications
You must be signed in to change notification settings - Fork 4
/
documentation-stub.lisp
47 lines (38 loc) · 1.84 KB
/
documentation-stub.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
;;; -*- Mode: lisp; Syntax: ansi-common-lisp; Base: 10; Package: de.setf.utility.implementation; -*-
(in-package :de.setf.utility.implementation)
;;; This file is part of the 'de.setf.utility' Common Lisp library.
;;; It file defines a 'null' macro-expansion for the top-level documention operator.
;;; It is loaded by the minimal utility module to render documentation forms invisible.
;;;
;;; Copyright 2010 [james anderson](mailto:[email protected]) All Rights Reserved
;;; 'de.setf.utility' is free software: you can redistribute it and/or modify
;;; it under the terms of version 3 of the GNU Lesser General Public License as published by
;;; the Free Software Foundation.
;;;
;;; 'de.setf.utility' 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 Lesser General Public License for more details.
;;;
;;; A copy of the GNU Lesser General Public License should be included with 'de.setf.utility, as `lgpl.txt`.
;;; If not, see the GNU [site](http://www.gnu.org/licenses/).
(in-package :de.setf.utility.implementation)
(defmacro :documentation (&rest arguments)
(declare (ignore arguments))
(values))
#+mcl
(progn
(setf (ccl:assq ':documentation *fred-special-indent-alist*) 1))
(defgeneric test-features (specification)
(:method ((spec symbol))
(when (member spec *features*) t))
(:method ((spec null))
t)
(:method ((spec cons))
(ecase (pop spec)
(and (every #'test-features spec))
(or (some #'test-features spec))
(not (not (test-features (first spec)))))))
(defmacro require-features ((&rest features) message &rest args)
`(eval-when (:compile-toplevel :load-toplevel :execute)
(unless (test-features ',features)
(cerror "Continue anyway." ,message ,@args))))