switch to readMaybe to handle values with leading number followed by non-number
readish ignores a trailing string after a number, but to support values like "YYYY:MM:DD" which it makes sense to compare lexographically, require the whole string to be parsed as a number in order to enable numeric comparison. Sponsored-by: Max Thoursie on Patreon
This commit is contained in:
parent
6dcb7b8815
commit
2fa7656627
2 changed files with 12 additions and 1 deletions
|
@ -26,6 +26,7 @@ import qualified Data.Text as T
|
||||||
import Data.Time.Calendar
|
import Data.Time.Calendar
|
||||||
import Data.Time.Clock
|
import Data.Time.Clock
|
||||||
import Data.Time.Clock.POSIX
|
import Data.Time.Clock.POSIX
|
||||||
|
import Text.Read
|
||||||
|
|
||||||
{- Adds metadata for a file that has just been ingested into the
|
{- Adds metadata for a file that has just been ingested into the
|
||||||
- annex, but has not yet been committed to git.
|
- annex, but has not yet been committed to git.
|
||||||
|
@ -117,4 +118,4 @@ parseMetaDataMatcher p = (,)
|
||||||
in case (doubleval v, doubleval v') of
|
in case (doubleval v, doubleval v') of
|
||||||
(Just d, Just d') -> d' `cmp` d
|
(Just d, Just d') -> d' `cmp` d
|
||||||
_ -> v' `cmp'` v
|
_ -> v' `cmp'` v
|
||||||
doubleval v = readish v :: Maybe Double
|
doubleval v = readMaybe v :: Maybe Double
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="joey"
|
||||||
|
subject="""comment 3"""
|
||||||
|
date="2022-12-22T18:30:46Z"
|
||||||
|
content="""
|
||||||
|
Thanks for double-checking. I have not tried your test but I think I see
|
||||||
|
what is going on from the pattern. Strings starting with a number but then
|
||||||
|
subsequently not a number were still being parsed to numbers and compared
|
||||||
|
numerically. I've fixed that now.
|
||||||
|
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue