diff --git a/src/fns.c b/src/fns.c index 47457e4..6fea5cd 100644 --- a/src/fns.c +++ b/src/fns.c @@ -546,6 +546,9 @@ struct textprop_rec struct textprop_rec *textprops = NULL; /* Number of elements in textprops. */ ptrdiff_t num_textprops = 0; + + EMACS_INT old_len_0, new_len_0; + USE_SAFE_ALLOCA; tail = Qnil; @@ -643,7 +646,11 @@ struct textprop_rec /* Create the output object. */ if (target_type == Lisp_Cons) - val = Fmake_list (make_number (result_len), Qnil); + { + old_len_0 = XFASTINT (Flength (args[0])); + val = Fmake_list (make_number (result_len), Qnil); + new_len_0 = XFASTINT (Flength (args[0])); + } else if (target_type == Lisp_Vectorlike) val = Fmake_vector (make_number (result_len), Qnil); else if (some_multibyte)