Hello,

ecl does not specialize the print-object method on hash-tables:

> (find-method #'print-object '() '(hash-table t))
Debugger received error of type: SIMPLE-ERROR
There is no method on the generic function PRINT-OBJECT that agrees on qualifiers NIL and specializers (HASH-TABLE T)

After reading the hyperspec carefully, I think this is ok, it only requires it on standard-object and structure-object. However, i still thought that specializing on hash-table would work, but it doesn't:

>> (defmethod print-object ((obj hash-table) stream) (princ "its working" stream))
#<standard-method PRINT-OBJECT (#<The BUILT-IN-CLASS HASH-TABLE> #<The BUILT-IN-CLASS T>)>
>> (make-hash-table)
#<hash-table 000000000493ee40>

Shouldn't we still dispatch the call to this method? And if not, what's the best way in ecl to customize the printable representation of a hash-table?

I've tried:
> (set-pprint-dispatch 'hash-table (lambda (s obj) (princ "its working" s)))
NIL
> (make-hash-table)
its working

But this sometimes gives an error:
Debugger received error of type: SIMPLE-ERROR
Tried to modified a read-only pprint dispatch table: #<pprint-dispatch-table  0000000003375210>
Error flushed.

Thanks!