From 5c438e8ce7d9c74078100700cb5faa15b4de23b8 Mon Sep 17 00:00:00 2001 From: Assaf Gordon Date: Wed, 4 Jan 2017 23:07:12 -0500 Subject: [PATCH] parse-datetime: fix debug message of relative part after timezone Relative part (e.g '+8 days') after a timezone string was not reported (was only reported after a timezone number). Due to the parser's structure, timezone strings with numbers were handled separately. before: # Timezone number + relative part: OK $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days' ... date: parsed relative part: -8 day(s) # Timezone string + relative part: missing $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days' [ missing message ] After: messages are printed in both cases. * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time. --- ChangeLog | 16 ++++++++++++++++ lib/parse-datetime.y | 8 ++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 45af1d8143..7b2cb1de6e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,21 @@ 2017-01-04 Assaf Gordon + parse-datetime: fix debug message of relative part after timezone + Relative part (e.g '+8 days') after a timezone string was not + reported (was only reported after a timezone number). Due to the + parser's structure, timezone strings with numbers were handled + separately. + before: + # Timezone number + relative part: OK + $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days' + ... + date: parsed relative part: -8 day(s) + # Timezone string + relative part: missing + $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days' + [ missing message ] + After: messages are printed in both cases. + * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time. + parse-datetime: fix incorrect debug message on lone number A lone number is an absolute value, not a relative time part. before: diff --git a/lib/parse-datetime.y b/lib/parse-datetime.y index 58e817f13b..7196113232 100644 --- a/lib/parse-datetime.y +++ b/lib/parse-datetime.y @@ -707,10 +707,14 @@ zone: { pc->time_zone = HOUR(7); } | tZONE relunit_snumber { pc->time_zone = $1; - apply_relative_time (pc, $2, 1); } + apply_relative_time (pc, $2, 1); + debug_print_relative_time (_("relative"), pc); + } | 'T' relunit_snumber { pc->time_zone = HOUR(7); - apply_relative_time (pc, $2, 1); } + apply_relative_time (pc, $2, 1); + debug_print_relative_time (_("relative"), pc); + } | tZONE tSNUMBER o_colon_minutes { pc->time_zone = $1 + time_zone_hhmm (pc, $2, $3); } | tDAYZONE -- 2.39.5