diff options
| author | Lars Brinkhoff | 2017-04-08 07:07:32 +0200 |
|---|---|---|
| committer | Lars Brinkhoff | 2017-04-08 08:47:46 +0200 |
| commit | 4fbfd7ad53810153371a588a9bd1a69230f60dd5 (patch) | |
| tree | 22519e6adfcb3f2dc3e8ae98afde59bf1f1870f4 /src | |
| parent | a2b3fea957440b8358d3632a4a05e41dee964b5d (diff) | |
| download | emacs-4fbfd7ad53810153371a588a9bd1a69230f60dd5.tar.gz emacs-4fbfd7ad53810153371a588a9bd1a69230f60dd5.zip | |
Fix circular read syntax for records.
* lread.c (substitute_object_recurse): Work with records.
* lread-tests.el (lread-record-1): New test.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lread.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lread.c b/src/lread.c index 6de9fe6e08e..513f63e4315 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -3400,7 +3400,8 @@ substitute_object_recurse (Lisp_Object object, Lisp_Object placeholder, Lisp_Obj | |||
| 3400 | if (BOOL_VECTOR_P (subtree)) | 3400 | if (BOOL_VECTOR_P (subtree)) |
| 3401 | return subtree; /* No sub-objects anyway. */ | 3401 | return subtree; /* No sub-objects anyway. */ |
| 3402 | else if (CHAR_TABLE_P (subtree) || SUB_CHAR_TABLE_P (subtree) | 3402 | else if (CHAR_TABLE_P (subtree) || SUB_CHAR_TABLE_P (subtree) |
| 3403 | || COMPILEDP (subtree) || HASH_TABLE_P (subtree)) | 3403 | || COMPILEDP (subtree) || HASH_TABLE_P (subtree) |
| 3404 | || RECORDP (subtree)) | ||
| 3404 | length = ASIZE (subtree) & PSEUDOVECTOR_SIZE_MASK; | 3405 | length = ASIZE (subtree) & PSEUDOVECTOR_SIZE_MASK; |
| 3405 | else if (VECTORP (subtree)) | 3406 | else if (VECTORP (subtree)) |
| 3406 | length = ASIZE (subtree); | 3407 | length = ASIZE (subtree); |