Fri Feb 5 03:21:40 UTC 2010 pix@kepibu.org
* Unified docstrings.
hunk ./match-block.lisp 120
+(defmacro %set-documentation ((&rest symbols) docstring)[_^M_][_$_]
+ `(eval-when (:load-toplevel :execute)[_^M_][_$_]
+ (mapcar (lambda (fn) (setf (documentation fn 'function) ,docstring))[_^M_][_$_]
+ ',symbols)))[_^M_][_$_]
+[_^M_][_$_]
hunk ./match-block.lisp 133
- "Sets up a lexical environment to evaluate FORMS after an unification.[_^M_][_$_]
-[_^M_][_$_]
-MATCH unifies a TEMPLATE and an OBJECT and then sets up a lexical[_^M_][_$_]
-environment where the variables present in the template are bound[_^M_][_$_]
-lexically. Note that both variable names '?FOO' and 'FOO' are bound[_^M_][_$_]
-for convenience.[_^M_][_$_]
-[_^M_][_$_]
-The MATCH form returns the values returned by the evaluation of the[_^M_][_$_]
-last of the FORMS.[_^M_][_$_]
-[_^M_][_$_]
-If ERRORP is non-NIL (the default) then the form raises a[_^M_][_$_]
-UNIFICATION-FAILURE, otherwise the result of evaluating ERROR-VALUE,[_^M_][_$_]
-whose default is NIL is returned. (Note that UNIFICATION-FAILUREs[_^M_][_$_]
-raising from the evaluation of FORMS will also be caught and handled[_^M_][_$_]
-according to ERRORP settings.)[_^M_][_$_]
-[_^M_][_$_]
-If MATCH-NAMED is not NIL, then a surrounding BLOCK named MATCH-NAMED[_^M_][_$_]
-is set up around the matching code.[_^M_][_$_]
-"[_^M_][_$_]
hunk ./match-block.lisp 151
- "Sets up a lexical environment to evaluate FORMS after an unification.[_^M_][_$_]
+ (when match-named-p[_^M_][_$_]
+ (warn ":match-named is deprecated. Use :named instead."))[_^M_][_$_]
+ (%match-expander 'matchf[_^M_][_$_]
+ 'nil[_^M_][_$_]
+ `((,template ,object ,@forms))[_^M_][_$_]
+ :default error-value[_^M_][_$_]
+ :named (or named match-named)[_^M_][_$_]
+ :environment substitution[_^M_][_$_]
+ :errorp errorp))[_^M_][_$_]
+[_^M_][_$_]
+(%set-documentation[_^M_][_$_]
+ (match matchf)[_^M_][_$_]
+ "Sets up a lexical environment to evaluate FORMS after an unification.[_^M_][_$_]
hunk ./match-block.lisp 165
-MATCHF unifies a TEMPLATE and an OBJECT and then sets up a lexical[_^M_][_$_]
+MATCH and MATCHF unify a TEMPLATE and an OBJECT and then set up a lexical[_^M_][_$_]
hunk ./match-block.lisp 173
-The MATCHF form returns the values returned by the evaluation of the[_^M_][_$_]
+MATCH and MATCHF forms return the values returned by the evaluation of the[_^M_][_$_]
hunk ./match-block.lisp 179
-raising from the evaluation of FORMS will also be caught and handled[_^M_][_$_]
+raising from the evaluation of FORMS will /not/ be caught and handled[_^M_][_$_]
hunk ./match-block.lisp 182
-If MATCH-NAMED is not NIL, then a surrounding BLOCK named MATCH-NAMED[_^M_][_$_]
-is set up around the matching code.[_^M_][_$_]
-"[_^M_][_$_]
- (when match-named-p[_^M_][_$_]
- (warn ":match-named is deprecated. Use :named instead."))[_^M_][_$_]
- (%match-expander 'matchf[_^M_][_$_]
- 'nil[_^M_][_$_]
- `((,template ,object ,@forms))[_^M_][_$_]
- :default error-value[_^M_][_$_]
- :named (or named match-named)[_^M_][_$_]
- :environment substitution[_^M_][_$_]
- :errorp errorp))[_^M_][_$_]
+A surrounding BLOCK named NAMED is set up around the matching code.")[_^M_][_$_]
hunk ./match-block.lisp 193
- "A combination of COND and MATCH."[_^M_][_$_]
hunk ./match-block.lisp 196
- "A combination of COND and MATCHF."[_^M_][_$_]
hunk ./match-block.lisp 203
- "MATCHING sets up a COND-like environment for multiple template matching clauses.[_^M_][_$_]
-[_^M_][_$_]
-The syntax of MATCHING comprises a number of clauses of the form[_^M_][_$_]
-[_^M_][_$_]
- <clause> ::= <regular-clause> | <default-clause>[_^M_][_$_]
- <regular-clause> ::= ((<template> <form>) &body <forms>)[_^M_][_$_]
- <default-clause> ::= (t &body <forms>)[_^M_][_$_]
- | (otherwise &body <forms>)[_^M_][_$_]
-<form> and <forms> are regular Common Lisp forms.[_^M_][_$_]
-<template> is a unification template.[_^M_][_$_]
-[_^M_][_$_]
-The full syntax of MATCHING is[_^M_][_$_]
-[_^M_][_$_]
- matching (&key errorp default-substitution) <clauses>[_^M_][_$_]
-[_^M_][_$_]
-Each clause evaluates its forms in an environment where the variables[_^M_][_$_]
-present in the template are bound lexically. Note that both variable[_^M_][_$_]
-names '?FOO' and 'FOO' are bound for convenience.[_^M_][_$_]
-[_^M_][_$_]
-The values returned by the MATCHING form are those of the last form in[_^M_][_$_]
-the first clause that satisfies the match test.[_^M_][_$_]
-[_^M_][_$_]
-If ERRORP is non-NIL then if none of the regular clauses matches, then[_^M_][_$_]
-an error of type UNIFICATION-NON-EXAUSTIVE is signalled, regardless of[_^M_][_$_]
-any default clause. Otherwise, the default clause behaves as a[_^M_][_$_]
-standard COND default clause. The default value of ERRORP is NIL.[_^M_][_$_]
-"[_^M_][_$_]
hunk ./match-block.lisp 211
-(defmacro match-case ((object &key errorp default-substitution named (match-case-named nil match-case-named-p))[_^M_][_$_]
- &body clauses)[_^M_][_$_]
- "MATCH-CASE sets up a CASE-like environment for multiple template matching clauses.[_^M_][_$_]
-[_^M_][_$_]
-The syntax of MATCH-CASE comprises a number of clauses of the form[_^M_][_$_]
+(%set-documentation[_^M_][_$_]
+ (match-cond matchf-cond matching)[_^M_][_$_]
+ "MATCH-COND, MATCHF-COND, and MATCHING set up a COND-like environment for[_^M_][_$_]
+multiple template matching clauses.[_^M_][_$_]
hunk ./match-block.lisp 216
+Their syntax comprises a number of clauses of the form[_^M_][_$_]
hunk ./match-block.lisp 218
- <regular-clause> ::= (<template> &body <forms>)[_^M_][_$_]
+ <regular-clause> ::= ((<template> <form>) &body <forms>)[_^M_][_$_]
hunk ./match-block.lisp 224
-The full syntax of MATCH-CASE is[_^M_][_$_]
-[_^M_][_$_]
- match-case <object> (&key errorp default-substitution) <clauses>[_^M_][_$_]
+The full syntax is[_^M_][_$_]
+ match-cond <clauses>[_^M_][_$_]
+ matchf-cond <clauses>[_^M_][_$_]
+ matching (&key errorp default-substitution named) <clauses>[_^M_][_$_]
hunk ./match-block.lisp 233
-The values returned by the MATCH-CASE form are those of the last form in[_^M_][_$_]
+The values returned by the macros are those of the last form in[_^M_][_$_]
hunk ./match-block.lisp 239
-standard CASE default clause. The default value of ERRORP is NIL.[_^M_][_$_]
-"[_^M_][_$_]
+standard COND default clause. The default value of ERRORP is NIL.[_^M_][_$_]
+")[_^M_][_$_]
+[_^M_][_$_]
+[_^M_][_$_]
+(defmacro match-case ((object &key errorp default-substitution named (match-case-named nil match-case-named-p))[_^M_][_$_]
+ &body clauses)[_^M_][_$_]
hunk ./match-block.lisp 264
- "MATCHF-CASE sets up a CASE-like environment for multiple template matching clauses.[_^M_][_$_]
-[_^M_][_$_]
-The syntax of MATCHF-CASE comprises a number of clauses of the form[_^M_][_$_]
-[_^M_][_$_]
- <clause> ::= <regular-clause> | <default-clause>[_^M_][_$_]
- <regular-clause> ::= (<template> &body <forms>)[_^M_][_$_]
- <default-clause> ::= (t &body <forms>)[_^M_][_$_]
- | (otherwise &body <forms>)[_^M_][_$_]
-<form> and <forms> are regular Common Lisp forms.[_^M_][_$_]
-<template> is a unification template.[_^M_][_$_]
-[_^M_][_$_]
-The full syntax of MATCHF-CASE is[_^M_][_$_]
-[_^M_][_$_]
- matchf-case <object> (&key errorp default-substitution) <clauses>[_^M_][_$_]
-[_^M_][_$_]
-Each clause evaluates its forms in an environment where the variables[_^M_][_$_]
-present in the template are bound lexically. Note that both variable[_^M_][_$_]
-names '?FOO' and 'FOO' are bound for convenience.[_^M_][_$_]
-[_^M_][_$_]
-The values returned by the MATCH-CASE form are those of the last form in[_^M_][_$_]
-the first clause that satisfies the match test.[_^M_][_$_]
-[_^M_][_$_]
-If ERRORP is non-NIL then if none of the regular clauses matches, then[_^M_][_$_]
-an error of type UNIFICATION-NON-EXAUSTIVE is signalled, regardless of[_^M_][_$_]
-any default clause. Otherwise, the default clause behaves as a[_^M_][_$_]
-standard CASE default clause. The default value of ERRORP is NIL.[_^M_][_$_]
-[_^M_][_$_]
-MATCHF-CASE behaves like MATCH-CASE, but the patterns are not[_^M_][_$_]
-evaluated (i.e., it relies on MATCHF instead of MATCH to construct the[_^M_][_$_]
-macro expansion.[_^M_][_$_]
-"[_^M_][_$_]
hunk ./match-block.lisp 281
+(%set-documentation[_^M_][_$_]
+ (match-case match-ecase matchf-case matchf-ecase)[_^M_][_$_]
+ "MATCH-CASE, MATCH-ECASE, MATCHF-CASE, and MATCHF-ECASE set up a CASE-like[_^M_][_$_]
+environment for multiple template matching clauses.[_^M_][_$_]
+[_^M_][_$_]
+Their syntax comprises a number of clauses of the form[_^M_][_$_]
+ <clause> ::= <regular-clause> | <default-clause>[_^M_][_$_]
+ <regular-clause> ::= (<template> &body <forms>)[_^M_][_$_]
+ <default-clause> ::= (t &body <forms>)[_^M_][_$_]
+ | (otherwise &body <forms>)[_^M_][_$_]
+<form> and <forms> are regular Common Lisp forms.[_^M_][_$_]
+<template> is a unification template.[_^M_][_$_]
+[_^M_][_$_]
+The full syntax is[_^M_][_$_]
+ match-case (<object> &key default-substitution named errorp) <clauses>[_^M_][_$_]
+ match-ecase (<object> &key default-substitution named) <clauses>[_^M_][_$_]
+ matchf-case (<object> &key default-substitution named errorp) <clauses>[_^M_][_$_]
+ matchf-ecase (<object> &key default-substitution named) <clauses>[_^M_][_$_]
+[_^M_][_$_]
+Each clause evaluates its forms in an environment where the variables[_^M_][_$_]
+present in the template are bound lexically. Note that both variable[_^M_][_$_]
+names '?FOO' and 'FOO' are bound for convenience.[_^M_][_$_]
+[_^M_][_$_]
+The values returned by the macros are those of the last form in[_^M_][_$_]
+the first clause that satisfies the match test.[_^M_][_$_]
+[_^M_][_$_]
+MATCHF-ECASE and MATCHF-CASE behave like MATCH-ECASE and MATCH-CASE, but the[_^M_][_$_]
+patterns are not evaluated (i.e., they rely on MATCHF instead of MATCH to[_^M_][_$_]
+construct the macro expansion).[_^M_][_$_]
+")[_^M_][_$_]
+[_^M_][_$_]