summary refs log tree commit diff stats
path: root/lib/pure
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pure')
-rw-r--r--lib/pure/pegs.nim8
-rw-r--r--lib/pure/times.nim4
2 files changed, 8 insertions, 4 deletions
diff --git a/lib/pure/pegs.nim b/lib/pure/pegs.nim
index 4e31ffc0c..61a1c08c7 100644
--- a/lib/pure/pegs.nim
+++ b/lib/pure/pegs.nim
@@ -867,8 +867,9 @@ template `=~`*(s: string, pattern: TPeg): bool =
   ##   else:
   ##     echo("syntax error")
   ##  
+  bind maxSubpatterns
   when not definedInScope(matches):
-    var matches {.inject.}: array[0..pegs.maxSubpatterns-1, string]
+    var matches {.inject.}: array[0..maxSubpatterns-1, string]
   match(s, pattern, matches)
 
 # ------------------------- more string handling ------------------------------
@@ -1740,8 +1741,9 @@ when isMainModule:
     assert matches[0] == "a"
   else:
     assert false
-    
-  if match("abcdefg", peg"c {d} ef {g}", matches, 2): 
+
+  var matches: array[0..maxSubpatterns-1, string]
+  if match("abcdefg", peg"c {d} ef {g}", matches, 2):
     assert matches[0] == "d"
     assert matches[1] == "g"
   else:
diff --git a/lib/pure/times.nim b/lib/pure/times.nim
index 03a05aea1..b57b9e959 100644
--- a/lib/pure/times.nim
+++ b/lib/pure/times.nim
@@ -463,6 +463,8 @@ when not defined(JS):
     
 elif defined(JS):
   proc newDate(): TTime {.importc: "new Date".}
+  proc internGetTime(): TTime {.importc: "new Date", tags: [].}
+  
   proc newDate(value: float): TTime {.importc: "new Date".}
   proc newDate(value: string): TTime {.importc: "new Date".}
   proc getTime(): TTime =
@@ -494,7 +496,7 @@ elif defined(JS):
     result.yearday = 0
   
   proc TimeInfoToTime*(timeInfo: TTimeInfo): TTime =
-    result = getTime()
+    result = internGetTime()
     result.setSeconds(timeInfo.second)
     result.setMinutes(timeInfo.minute)
     result.setHours(timeInfo.hour)