Skip to content

Commit 80b2b35

Browse files
committed
fix: parsing of float numbers need strings joined
1 parent 7e6034e commit 80b2b35

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

templatel-tests.el

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1041,6 +1041,12 @@ base-end")))))
10411041
(templatel--parser-value s)
10421042
'("String" . "fun with Emacs")))))
10431043

1044+
(ert-deftest expr-value-float ()
1045+
(let ((s (templatel--scanner-new "3.14" "<string>")))
1046+
(should (equal
1047+
(templatel--parser-value s)
1048+
'("Number" . 3.14)))))
1049+
10441050
(ert-deftest expr-value-number ()
10451051
(let ((s (templatel--scanner-new "325" "<string>")))
10461052
(should (equal

templatel.el

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1044,10 +1044,15 @@ operator (RATORFN)."
10441044
;; GR: FLOAT <- [0-9]* '.' [0-9]+ _
10451045
(defun templatel--parser-float (scanner)
10461046
"Read float from SCANNER."
1047-
(append
1048-
(templatel--scanner-zero-or-more scanner (lambda() (templatel--scanner-range scanner ?0 ?9)))
1049-
(templatel--scanner-matchs scanner ".")
1050-
(templatel--scanner-one-or-more scanner (lambda() (templatel--scanner-range scanner ?0 ?9)))))
1047+
(string-to-number
1048+
(templatel--join-chars
1049+
(append
1050+
(templatel--scanner-zero-or-more
1051+
scanner (lambda() (templatel--scanner-range scanner ?0 ?9)))
1052+
(templatel--scanner-matchs
1053+
scanner ".")
1054+
(templatel--scanner-one-or-more
1055+
scanner (lambda() (templatel--scanner-range scanner ?0 ?9)))))))
10511056

10521057
;; GR: BIN <- '0b' [0-1]+ _
10531058
(defun templatel--parser-bin (scanner)

0 commit comments

Comments
 (0)