Like COPY-READTABLE but takes a NAMED-READTABLE-DESIGNATOR as argument.
ENSURE-READTABLE (NAME &OPTIONAL (DEFAULT NIL DEFAULT-P))
Looks up the readtable specified by `name' and returns it if it's found. If it is not found, it registers the readtable designated by `default' under the name represented by `name'; or if no default argument is given, it signals an error of type READTABLE-DOES-NOT-EXIST instead.
Looks for the readtable specified by `name' and returns it if it is found. Returns NIL otherwise.
Returns a list of all registered readtables. The returned list is guaranteed to be fresh, but may contain duplicates.
MAKE-READTABLE (&OPTIONAL (NAME NIL NAME-SUPPLIED-P) &KEY MERGE)
Creates and returns a new readtable under the specified `name'. `merge' takes a list of NAMED-READTABLE-DESIGNATORS and specifies the readtables the new readtable is created from. (See the :MERGE clause of DEFREADTABLE for details.) If `merge' is NIL, an empty readtable is used instead. If `name' is not given, an anonymous empty readtable is returned. Notes: An empty readtable is a readtable where each character's syntax is the same as in the /standard readtable/ except that each macro character has been made a constituent. Basically: whitespace stays whitespace, everything else is constituent.
MERGE-READTABLES-INTO (RESULT-READTABLE &REST NAMED-READTABLES)
Copy the contents of each readtable in `named-readtables' into `result-table'. If a macro character appears in more than one of the readtables, i.e. if a conflict is discovered during the merge, an error of type READER-MACRO-CONFLICT is signaled.
Returns the name of the readtable designated by `named-readtable', or NIL.
REGISTER-READTABLE (NAME READTABLE)
Associate `readtable' with `name'. Returns the readtable.
RENAME-READTABLE (OLD-NAME NEW-NAME)
Replaces the associated name of the readtable designated by `old-name' with `new-name'. If a readtable is already registered under `new-name', an error of type READTABLE-DOES-ALREADY-EXIST is signaled.
Remove the association of `named-readtable'. Returns T if successfull, NIL otherwise.
%ASSOCIATE-NAME-WITH-READTABLE (NAME READTABLE)
Associate NAME with READTABLE for FIND-READTABLE to work.
%ASSOCIATE-READTABLE-WITH-NAME (NAME READTABLE)
Associate READTABLE with NAME for READTABLE-NAME to work.
Make all macro characters in READTABLE be constituents.
Return the readtable named NAME.
%GET-DISPATCH-MACRO-CHARACTER (CHAR SUBCHAR RT)
Ensure ANSI behaviour for GET-DISPATCH-MACRO-CHARACTER.
%GET-MACRO-CHARACTER (CHAR RT)
Ensure ANSI behaviour for GET-MACRO-CHARACTER.
Return a list of all available readtable names.
Return the name associated with READTABLE.
Return the standard readtable.
%UNASSOCIATE-NAME-FROM-READTABLE (NAME READTABLE)
Remove the association between NAME and READTABLE
%UNASSOCIATE-READTABLE-FROM-NAME (NAME READTABLE)
Remove the association between READTABLE and NAME.
DISPATCH-MACRO-CHAR-P (CHAR RT)
Is CHAR a dispatch macro character in RT?
Returns the function designated by FUNCTION-DESIGNATOR: if FUNCTION-DESIGNATOR is a function, it is returned, otherwise it must be a function name and its FDEFINITION is returned.
If LIST is a list, it is returned. Otherwise returns the list designated by LIST.
FUNCTION= (FN1 FN2)
Are reader-macro function-designators FN1 and FN2 the same?
PARSE-BODY (BODY &KEY DOCUMENTATION WHOLE)
Parses BODY into (values remaining-forms declarations doc-string). Documentation strings are recognized only if DOCUMENTATION is true. Syntax errors in body are signalled and WHOLE is used in the signal arguments when given.
Parses an ordinary lambda-list, returning as multiple values: 1. Required parameters. 2. Optional parameter specifications, normalized into form (NAME INIT SUPPLIEDP) where SUPPLIEDP is NIL if not present. 3. Name of the rest parameter, or NIL. 4. Keyword parameter specifications, normalized into form ((KEYWORD-NAME NAME) INIT SUPPLIEDP) where SUPPLIEDP is NIL if not present. 5. Boolean indicating &ALLOW-OTHER-KEYS presence. 6. &AUX parameter specifications, normalized into form (NAME INIT). Signals a PROGRAM-ERROR is the lambda-list is malformed.
REQUIRED-ARGUMENT (&OPTIONAL NAME)
Signals an error for a missing argument of NAME. Intended for use as an initialization form for structure and class-slots, and a default value for required keyword arguments.
%FROB-SWANK-READTABLE-ALIST (PACKAGE READTABLE)
CHECK-READER-MACRO-CONFLICT (FROM TO CHAR &OPTIONAL SUBCHAR)
ENSURE-DISPATCH-MACRO-CHARACTER (CHAR &OPTIONAL NON-TERMINATING-P (READTABLE *READTABLE*))
SIGNAL-SUSPICIOUS-REGISTRATION-WARNING (NAME-EXPR READTABLE-EXPR)
SIMPLE-PROGRAM-ERROR (MESSAGE &REST ARGS)
SIMPLE-STYLE-WARN (FORMAT-CONTROL &REST FORMAT-ARGS)
DEFREADTABLE (NAME &BODY OPTIONS)
Define a new named readtable, whose name is given by the symbol `name'. Or, if a readtable is already registered under that name, redefine that one. The readtable can be populated using the following `options': (:MERGE `readtable-designators'+) Merge the readtables designated into the new readtable being defined as per MERGE-READTABLES-INTO. If no :MERGE clause is given, an empty readtable is used. See MAKE-READTABLE. (:FUZE `readtable-designators'+) Like :MERGE except: Error conditions of type READER-MACRO-CONFLICT that are signaled during the merge operation will be silently _continued_. It follows that reader macros in earlier entries will be overwritten by later ones. (:DISPATCH-MACRO-CHAR `macro-char' `sub-char' `function') Define a new sub character `sub-char' for the dispatching macro character `macro-char', per SET-DISPATCH-MACRO-CHARACTER. You probably have to define `macro-char' as a dispatching macro character by the following option first. (:MACRO-CHAR `macro-char' `function' [`non-terminating-p']) Define a new macro character in the readtable, per SET-MACRO-CHARACTER. If `function' is the keyword :DISPATCH, `macro-char' is made a dispatching macro character, per MAKE-DISPATCH-MACRO-CHARACTER. (:SYNTAX-FROM `from-readtable-designator' `from-char' `to-char') Set the character syntax of `to-char' in the readtable being defined to the same syntax as `from-char' as per SET-SYNTAX-FROM-CHAR. (:CASE `case-mode') Defines the /case sensitivity mode/ of the resulting readtable. Any number of option clauses may appear. The options are grouped by their type, but in each group the order the options appeared textually is preserved. The following groups exist and are executed in the following order: :MERGE and :FUZE (one group), :CASE, :MACRO-CHAR and :DISPATCH-MACRO-CHAR (one group), finally :SYNTAX-FROM. Notes: The readtable is defined at load-time. If you want to have it available at compilation time -- say to use its reader-macros in the same file as its definition -- you have to wrap the DEFREADTABLE form in an explicit EVAL-WHEN. On redefinition, the target readtable is made empty first before it's refilled according to the clauses. NIL, :STANDARD, :COMMON-LISP, :MODERN, and :CURRENT are preregistered readtable names.
Set *READTABLE* to the readtable referred to by the symbol `name'.
DESTRUCTURE-CASE (VALUE &REST PATTERNS)
Dispatch VALUE to one of PATTERNS. A cross between `case' and `destructuring-bind'. The pattern syntax is: ((HEAD . ARGS) . BODY) The list of patterns is searched for a HEAD `eq' to the car of VALUE. If one is found, the BODY is executed with ARGS bound to the corresponding values in the CDR of VALUE.
DO-READTABLE ((ENTRY-DESIGNATOR READTABLE &OPTIONAL RESULT) &BODY BODY)
Iterate through a readtable's macro characters, and dispatch macro characters.
DEFINE-API (NAME LAMBDA-LIST TYPE-LIST &BODY BODY)
DEFINE-CRUFT (NAME LAMBDA-LIST &BODY (DOCSTRING . ALTERNATIVES))
WITH-READTABLE-ITERATOR ((NAME READTABLE) &BODY BODY)
WITHOUT-PACKAGE-LOCK ((&REST PACKAGE-NAMES) &BODY BODY)
SETFCONFLICTING-DISPATCH-SUB-CHAR (NEW-VALUE CONDITION)
SETFCONFLICTING-MACRO-CHAR (NEW-VALUE CONDITION)
SETFEXISTING-READTABLE-NAME (NEW-VALUE CONDITION)
SETFFROM-READTABLE (NEW-VALUE CONDITION)
SETFMISSING-READTABLE-NAME (NEW-VALUE CONDITION)
SETFTO-READTABLE (NEW-VALUE CONDITION)
Continuable. This condition is signaled during the merge process if a) a reader macro (be it a macro character or the sub character of a dispatch macro character) is both present in the source as well as the target readtable, and b) if and only if the two respective reader macro functions differ.