This may be considered a documentation error (minor), because it suggests that using the printed representation creates a new hash table - an instruction that is open to misinterpretation.
However, you will notice that the documentation says that it is an elisp reader that recognizes the printed representation of the hash table.
Therefore, using #s not the same as calling make-hash-table . The difference here is equivalent to the difference between quoting list '(1 2 3) and calling (list 1 2 3) .
The first in each case is processed by the reader and, therefore, the same single resultant object (hash table or list, respectively) is displayed during each assessment.
Conversely, in the latter cases, the reader generates code that, when evaluated, creates a new hash table or list; and therefore you see a new object during each assessment.
phils source share