(begin
(write-string "#[" port)
(display (if (procedure? name) (name object) name) port)
- (write-char #\space port)
- (write (hash-object object) port)
+ (if (or (param:print-hash-number-in-objects?)
+ (not printer))
+ (begin
+ (write-char #\space port)
+ (write (hash-object object) port)))
(if printer (printer object port))
(write-char #\] port)))))
(define-deferred param:printer-abbreviate-quotations?
(make-unsettable-parameter #f boolean-converter))
+(define-deferred param:print-hash-number-in-objects?
+ (make-settable-parameter #t boolean-converter))
+
(define-deferred param:printer-list-breadth-limit
(make-unsettable-parameter #f limit-converter))
(if (string? name)
(*print-string name context*)
(print-object name context*))
- (*print-char #\space context*)
- (*print-hash object context*)
+ (if (param:print-hash-number-in-objects?)
+ (begin
+ (*print-char #\space context*)
+ (*print-hash object context*)))
(cond (procedure
(procedure context*))
((get-param:print-with-datum?)
(export ()
param:print-char-in-unicode-syntax?
param:print-compound-procedure-names?
+ param:print-hash-number-in-objects?
param:print-primitives-by-name?
param:print-streams?
param:print-uninterned-symbols-by-name?