]> git.eshelyaron.com Git - emacs.git/commitdiff
Have time-add etc. respect CURRENT_TIME_LIST too
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 17 Aug 2019 09:21:25 +0000 (02:21 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 17 Aug 2019 09:21:53 +0000 (02:21 -0700)
* src/timefns.c (time_arith) [!CURRENT_TIME_LIST]:
Don’t generate a list, since CURRENT_TIME_LIST is false.

src/timefns.c

index 16c39c83493014cd323d5084bb1684eedeff9a54..bf49843aae7d9f055eec5eb760593f8190b32a31 100644 (file)
@@ -1090,11 +1090,14 @@ time_arith (Lisp_Object a, Lisp_Object b, bool subtract)
     }
 
   /* Return an integer if the timestamp resolution is 1,
-     otherwise the (TICKS . HZ) form if either argument is that way,
-     otherwise the (HI LO US PS) form for backward compatibility.  */
+     otherwise the (TICKS . HZ) form if !CURRENT_TIME_LIST or if
+     either input form supports timestamps that cannot be expressed
+     exactly in (HI LO US PS) form, otherwise the (HI LO US PS) form
+     for backward compatibility.  */
   return (EQ (hz, make_fixnum (1))
          ? ticks
-         : timeform_sub_ps_p (aform) || timeform_sub_ps_p (bform)
+         : (!CURRENT_TIME_LIST
+            || timeform_sub_ps_p (aform) || timeform_sub_ps_p (bform))
          ? Fcons (ticks, hz)
          : ticks_hz_list4 (ticks, hz));
 }