From d1a70bb80f24e51152aa3dd0bdca621396975bd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Mon, 25 Mar 2019 14:04:51 +0100 Subject: Fix timespan-overlaps? to align better with days. --- module/srfi/srfi-19/util.scm | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) (limited to 'module/srfi/srfi-19/util.scm') diff --git a/module/srfi/srfi-19/util.scm b/module/srfi/srfi-19/util.scm index f589b988..3126be77 100644 --- a/module/srfi/srfi-19/util.scm +++ b/module/srfi/srfi-19/util.scm @@ -53,34 +53,37 @@ attribute set to 0. Can also be seen as \"Start of day\"" (define* (time->string time #:optional (format "~1 ~3")) (date->string (time-utc->date time) format)) - (define (add-day time) - (add-duration time (make-time time-duration 0 (* 60 60 24)))) + (add-duration time (make-duration (* 60 60 24)))) (define (remove-day time) - (add-duration time (make-time time-duration 0 (- (* 60 60 24))))) + (add-duration time (make-duration (- (* 60 60 24))))) -;; A B C D ¬E -;; |s1| : |s2| : |s1| : |s2| : |s1| -;; | | : | | : | ||s2| : |s1|| | : | | -;; | ||s2| : |s1|| | : | || | : | || | : -;; | | : | | : | || | : | || | : |s2| -;; | | : | | : | | : | | : | | +;; @verbatim +;; A B C D E ¬F +;; |s1| : |s2| : |s1| : |s2| : : |s1| +;; | | : | | : | ||s2| : |s1|| | : |s1||s2| : | | +;; | ||s2| : |s1|| | : | || | : | || | : | || | : +;; | | : | | : | || | : | || | : | || | : |s2| +;; | | : | | : | | : | | : : | | +;; @end verbatim +;; +;; E is covered by both case A and B. (define-public (timespan-overlaps? s1-begin s1-end s2-begin s2-end) "Return whetever or not two timespans overlap." (or ;; A - (and (time<=? s2-begin s1-end) - (time<=? s1-begin s2-end)) + (and (time