[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 15aba5e644 2/3: Decode time conses before floats
From: |
Paul Eggert |
Subject: |
master 15aba5e644 2/3: Decode time conses before floats |
Date: |
Sun, 14 Aug 2022 16:49:40 -0400 (EDT) |
branch: master
commit 15aba5e64496414ec4659118f910516d2dc5e8b4
Author: Paul Eggert <eggert@cs.ucla.edu>
Commit: Paul Eggert <eggert@cs.ucla.edu>
Decode time conses before floats
* src/timefns.c (decode_lisp_time): Test for conses before floats,
as conses are more common.
---
src/timefns.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/timefns.c b/src/timefns.c
index edfd73e9b8..b9d9a4ed97 100644
--- a/src/timefns.c
+++ b/src/timefns.c
@@ -822,17 +822,6 @@ decode_lisp_time (Lisp_Object specified_time, bool
decode_secs_only,
if (NILP (specified_time))
form = TIMEFORM_NIL;
- else if (FLOATP (specified_time))
- {
- double d = XFLOAT_DATA (specified_time);
- if (!isfinite (d))
- time_error (isnan (d) ? EDOM : EOVERFLOW);
- if (result)
- decode_float_time (d, result);
- else
- *dresult = d;
- return TIMEFORM_FLOAT;
- }
else if (CONSP (specified_time))
{
high = XCAR (specified_time);
@@ -872,6 +861,17 @@ decode_lisp_time (Lisp_Object specified_time, bool
decode_secs_only,
if (! INTEGERP (low))
form = TIMEFORM_INVALID;
}
+ else if (FLOATP (specified_time))
+ {
+ double d = XFLOAT_DATA (specified_time);
+ if (!isfinite (d))
+ time_error (isnan (d) ? EDOM : EOVERFLOW);
+ if (result)
+ decode_float_time (d, result);
+ else
+ *dresult = d;
+ return TIMEFORM_FLOAT;
+ }
int err = decode_time_components (form, high, low, usec, psec,
result, dresult);