* Improved #define. It now accepts more complex arguments.
* Added :doc tag to #define, though it's still empty.
tswd
9 years ago
59 | 59 |
:category :module-element
|
60 | 60 |
:parser identity
|
61 | 61 |
:evaluator cafeobj-eval-module-element-proc
|
|
62 |
:doc "
|
|
63 |
"
|
62 | 64 |
)
|
63 | |
|
64 | 65 |
|
65 | 66 |
(define ("--" "**")
|
66 | 67 |
:category :decl-toplevel
|
24 | 24 |
(doc-ex "" :type string) ; examples
|
25 | 25 |
(mdkey "" :type string) ; key written to reference manual
|
26 | 26 |
(names nil :type list) ;
|
27 | |
(cache nil) ; formatted doc cache
|
|
27 |
(cache nil) ; formatted doc cache for online help
|
28 | 28 |
)
|
29 | 29 |
|
30 | 30 |
(defun print-online-document (doc &optional (stream *standard-output*) &rest ignore)
|
|
290 | 290 |
(format out "~a" doc)
|
291 | 291 |
(setf (gethash key .out-done.) t))))))
|
292 | 292 |
|
|
293 |
;;;
|
|
294 |
;;; show-undocumented
|
|
295 |
;;; list up undocumented, i.e. each keyword in *cafeobj-doc-db* which has no doc-string in
|
|
296 |
;;; its oldoc.
|
|
297 |
;;;
|
|
298 |
(defparameter .todo. #~m/TODO/)
|
|
299 |
|
|
300 |
(defun show-undocumented (&rest ignore)
|
|
301 |
(declare (ignore ignore))
|
|
302 |
(let ((docs nil))
|
|
303 |
(maphash #'(lambda (key oldoc)
|
|
304 |
(declare (ignore key))
|
|
305 |
(let* ((str (oldoc-doc-string oldoc))
|
|
306 |
(doc (cl-ppcre:split "\\s+" str)))
|
|
307 |
(when (or (null doc)
|
|
308 |
(null (cdr doc))
|
|
309 |
(funcall .todo. str))
|
|
310 |
(push oldoc docs))))
|
|
311 |
*cafeobj-doc-db*)
|
|
312 |
(setq docs (sort docs #'string<= :key #'oldoc-key))
|
|
313 |
(format t "~%The following commands/declarations/concepts are not yet documented.")
|
|
314 |
(dolist (doc docs)
|
|
315 |
(format t "~%** key : ~s" (oldoc-key doc))
|
|
316 |
(format t "~& names : ~s" (oldoc-names doc)))))
|
|
317 |
|
293 | 318 |
;;; EOF
|
52 | 52 |
(labels ((apply-macro-rule (macro term)
|
53 | 53 |
(block the-end
|
54 | 54 |
(multiple-value-bind (global-state subst no-match E-equal)
|
55 | |
(simp-match-e (macro-lhs macro) term)
|
|
55 |
(first-match (macro-lhs macro) term)
|
56 | 56 |
(declare (ignore global-state e-equal))
|
57 | 57 |
(when no-match (return-from the-end nil))
|
58 | 58 |
(catch 'rule-failure
|