Declare EXPLICIT-CHECK on CONCATENATE, MAKE-STRING, SET-PPRINT-DISPATCH.
[sbcl.git] / src / code / host-pprint.lisp
bloba4585e1ecc9cf4e7405a5a60606a30a01fcb8739
1 ;;;; Common Lisp pretty printer definitions that need to be on the
2 ;;;; host
4 ;;;; This software is part of the SBCL system. See the README file for
5 ;;;; more information.
6 ;;;;
7 ;;;; This software is derived from the CMU CL system, which was
8 ;;;; written at Carnegie Mellon University and released into the
9 ;;;; public domain. The software is in the public domain and is
10 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
11 ;;;; files for more information.
13 (in-package "SB!PRETTY")
15 ;; This comes early so that fndb can use PPRINT-DISPATCH-TABLE as
16 ;; a type-specifier.
17 (sb!xc:defstruct (pprint-dispatch-table (:copier nil))
18 ;; A list of all the entries (except for CONS entries below) in highest
19 ;; to lowest priority.
20 (entries nil :type list)
21 ;; A hash table mapping things to entries for type specifiers of the
22 ;; form (CONS (MEMBER <thing>)). If the type specifier is of this form,
23 ;; we put it in this hash table instead of the regular entries table.
24 (cons-entries (make-hash-table :test 'eql) :read-only t))
25 #+sb-xc
26 (def!method print-object ((table pprint-dispatch-table) stream)
27 (print-unreadable-object (table stream :type t :identity t)))