mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-05 11:45:45 +00:00
(Flength): Don't call Farray_length, just use size field.
This commit is contained in:
parent
cec4abce27
commit
a2ad3e19d3
17
src/fns.c
17
src/fns.c
@ -101,29 +101,28 @@ A byte-code function object is also allowed.")
|
||||
register int i;
|
||||
|
||||
retry:
|
||||
if (VECTORP (obj) || STRINGP (obj) || COMPILEDP (obj))
|
||||
return Farray_length (obj);
|
||||
if (STRINGP (obj))
|
||||
XSETFASTINT (val, XSTRING (obj)->size);
|
||||
else if (VECTORP (obj) || COMPILEDP (obj))
|
||||
XSETFASTINT (val, XVECTOR (obj)->size);
|
||||
else if (CONSP (obj))
|
||||
{
|
||||
for (i = 0, tail = obj; !NILP(tail); i++)
|
||||
for (i = 0, tail = obj; !NILP (tail); i++)
|
||||
{
|
||||
QUIT;
|
||||
tail = Fcdr (tail);
|
||||
}
|
||||
|
||||
XSETFASTINT (val, i);
|
||||
return val;
|
||||
}
|
||||
else if (NILP(obj))
|
||||
{
|
||||
XSETFASTINT (val, 0);
|
||||
return val;
|
||||
}
|
||||
else if (NILP (obj))
|
||||
XSETFASTINT (val, 0);
|
||||
else
|
||||
{
|
||||
obj = wrong_type_argument (Qsequencep, obj);
|
||||
goto retry;
|
||||
}
|
||||
return val;
|
||||
}
|
||||
|
||||
DEFUN ("string-equal", Fstring_equal, Sstring_equal, 2, 2, 0,
|
||||
|
Loading…
Reference in New Issue
Block a user