Fix week number from Datetime::week() when weekstart=0 #84
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When working on GothenburgBitFactory/taskwarrior#3623, after modifying the code to pass the user-configured
rc.weekstart
down intoDatetime::weekstart
, it was discovered that the returned week number fromDatetime::week()
was one more than it should be whenweekstart=0
(but notweekstart=1
). The code was doing:This increment was never activated before, because
Datetime::weekstart
was initialized to 1 in the library, and never altered by TW. Now that it can be set using configuration (in forthcoming patch), there was breakage seen withweekstart=0
(but notweekstart=1
). This was unearthed by TW tests:I followed it in a debugger to the [apparently bogus] increment in
Datetime::week()
. Example that breaks without the patch:The week of 2011-09-01 should be 35 regardless of weekstart: