diff options
Diffstat (limited to 'src/lread.c')
| -rw-r--r-- | src/lread.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/lread.c b/src/lread.c index 02f7caadeda..5a595f2119b 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -2879,7 +2879,7 @@ read1 (Lisp_Object readcharfun, int *pch, bool first_in_list) | |||
| 2879 | /* Sub char-table can't be read as a regular | 2879 | /* Sub char-table can't be read as a regular |
| 2880 | vector because of a two C integer fields. */ | 2880 | vector because of a two C integer fields. */ |
| 2881 | Lisp_Object tbl, tmp = read_list (1, readcharfun); | 2881 | Lisp_Object tbl, tmp = read_list (1, readcharfun); |
| 2882 | ptrdiff_t size = XFIXNUM (Flength (tmp)); | 2882 | ptrdiff_t size = list_length (tmp); |
| 2883 | int i, depth, min_char; | 2883 | int i, depth, min_char; |
| 2884 | struct Lisp_Cons *cell; | 2884 | struct Lisp_Cons *cell; |
| 2885 | 2885 | ||
| @@ -3846,8 +3846,7 @@ static Lisp_Object | |||
| 3846 | read_vector (Lisp_Object readcharfun, bool bytecodeflag) | 3846 | read_vector (Lisp_Object readcharfun, bool bytecodeflag) |
| 3847 | { | 3847 | { |
| 3848 | Lisp_Object tem = read_list (1, readcharfun); | 3848 | Lisp_Object tem = read_list (1, readcharfun); |
| 3849 | Lisp_Object len = Flength (tem); | 3849 | ptrdiff_t size = list_length (tem); |
| 3850 | ptrdiff_t size = XFIXNAT (len); | ||
| 3851 | if (bytecodeflag && size <= COMPILED_STACK_DEPTH) | 3850 | if (bytecodeflag && size <= COMPILED_STACK_DEPTH) |
| 3852 | error ("Invalid byte code"); | 3851 | error ("Invalid byte code"); |
| 3853 | Lisp_Object vector = make_nil_vector (size); | 3852 | Lisp_Object vector = make_nil_vector (size); |