* lread.c (substitute_object_recurse): Work with records.
* lread-tests.el (lread-record-1): New test.
if (BOOL_VECTOR_P (subtree))
return subtree; /* No sub-objects anyway. */
else if (CHAR_TABLE_P (subtree) || SUB_CHAR_TABLE_P (subtree)
- || COMPILEDP (subtree) || HASH_TABLE_P (subtree))
+ || COMPILEDP (subtree) || HASH_TABLE_P (subtree)
+ || RECORDP (subtree))
length = ASIZE (subtree) & PSEUDOVECTOR_SIZE_MASK;
else if (VECTORP (subtree))
length = ASIZE (subtree);
(should-error (read "#24r") :type 'invalid-read-syntax)
(should-error (read "#") :type 'invalid-read-syntax))
+(ert-deftest lread-record-1 ()
+ (should (equal '(#s(foo) #s(foo))
+ (read "(#1=#s(foo) #1#)"))))
+
;;; lread-tests.el ends here