# HG changeset patch # User jbe # Date 1516043612 -3600 # Node ID b19a6b4f61f35f2708eff500b12dc76cada242ff # Parent 6dec66f8d48e06991280ce90df43459b8090a89d Reject nonexistent dates in atom.date:new{...} diff -r 6dec66f8d48e -r b19a6b4f61f3 libraries/atom/atom.lua --- a/libraries/atom/atom.lua Fri Dec 01 00:16:36 2017 +0100 +++ b/libraries/atom/atom.lua Mon Jan 15 20:13:32 2018 +0100 @@ -770,10 +770,16 @@ is_integer(month) and month >= 1 and month <= 12 and is_integer(day) and day >= 1 and day <= 31 then - return date:_create{ - jd = date.ymd_to_jd(year, month, day), - year = year, month = month, day = day - } + local jd = date.ymd_to_jd(year, month, day) + local year2, month2, day2 = date.jd_to_ymd(jd) + if year == year2 and month == month2 and day == day2 then + return date:_create{ + jd = date.ymd_to_jd(year, month, day), + year = year2, month = month2, day = day2 + } + else + return date.invalid + end else return date.invalid end