(defun make-qbook-readtable ()
(let ((r (copy-readtable nil)))
(multiple-value-bind (function non-terminating-p)
(get-macro-character #\( *readtable*)
(set-macro-character #\( (make-part-reader function 'code-part) non-terminating-p r))
(multiple-value-bind (function non-terminating-p)
(get-macro-character #\; *readtable*)
(set-macro-character #\; (make-part-reader 'qbook-semicolon-reader 'comment-part) non-terminating-p r))
r))
Source Context