From db2b6003f0a59c05df617646dbc4f5ccf8d901ee Mon Sep 17 00:00:00 2001
From: Assaf Gordon <assafgordon@gmail.com>
Date: Wed, 20 Jan 2016 20:43:29 -0500
Subject: [PATCH] date: add '--debug' option

* src/date.c: (main): add '--debug' option, enable debugging
   in gnulib's parse-datetime.y module.
---
 src/date.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/date.c b/src/date.c
index a42eb3c..d38dab4 100644
--- a/src/date.c
+++ b/src/date.c
@@ -78,7 +78,8 @@ static char const rfc_2822_format[] = "%a, %d %b %Y %H:%M:%S %z";
    non-character as a pseudo short option, starting with CHAR_MAX + 1.  */
 enum
 {
-  RFC_3339_OPTION = CHAR_MAX + 1
+  RFC_3339_OPTION = CHAR_MAX + 1,
+  DEBUG_DATE_PARSING
 };
 
 static char const short_options[] = "d:f:I::r:Rs:u";
@@ -86,6 +87,7 @@ static char const short_options[] = "d:f:I::r:Rs:u";
 static struct option const long_options[] =
 {
   {"date", required_argument, NULL, 'd'},
+  {"debug", no_argument, NULL, DEBUG_DATE_PARSING},
   {"file", required_argument, NULL, 'f'},
   {"iso-8601", optional_argument, NULL, 'I'},
   {"reference", required_argument, NULL, 'r'},
@@ -133,6 +135,8 @@ Display the current time in the given FORMAT, or set the system date.\n\
 
       fputs (_("\
   -d, --date=STRING          display time described by STRING, not 'now'\n\
+      --debug                annotate the parsed date,\n\
+                              and warn about questionable usage to stderr\n\
   -f, --file=DATEFILE        like --date; once for each line of DATEFILE\n\
 "), stdout);
       fputs (_("\
@@ -360,6 +364,9 @@ main (int argc, char **argv)
         case 'd':
           datestr = optarg;
           break;
+	case DEBUG_DATE_PARSING:
+	  parse_datetime_debug = true;
+	  break;
         case 'f':
           batch_file = optarg;
           break;
-- 
1.9.1

