Next: set-syntax-from-char, Previous: set-dispatch-macro-character; get-dispatch-macro-character, Up: Reader
char—a character.
non-terminating-p—a generalized boolean. The default is false.
readtable—a readtable designator. The default is the current readtable.
function—nil
,
or a designator for a function of two arguments.
new-function—a function designator.
get-macro-character
returns as its primary value, function,
the reader macro function associated with char in readtable (if any),
or else nil
if char is not a macro character in readtable.
The secondary value, non-terminating-p, is true
if char is a non-terminating macro character;
otherwise, it is false.
set-macro-character
causes char to be a macro character
associated with the reader macro function new-function
(or the designator for new-function) in readtable.
If non-terminating-p is true,
char becomes a non-terminating macro character;
otherwise it becomes a terminating macro character.
(get-macro-character #\{) → NIL, false (not (get-macro-character #\;)) → false
The following is a possible definition for the single-quote reader macro in standard syntax:
(defun single-quote-reader (stream char) (declare (ignore char)) (list 'quote (read stream t nil t))) → SINGLE-QUOTE-READER (set-macro-character #\' #'single-quote-reader) → T
Here single-quote-reader
reads an object following the single-quote
and returns a list of quote
and that object.
The char argument is ignored.
The following is a possible definition for the semicolon reader macro in standard syntax:
(defun semicolon-reader (stream char) (declare (ignore char)) ;; First swallow the rest of the current input line. ;; End-of-file is acceptable for terminating the comment. (do () ((char= (read-char stream nil #\Newline t) #\Newline))) ;; Return zero values. (values)) → SEMICOLON-READER (set-macro-character #\; #'semicolon-reader) → T
The readtable is modified.