From d9101ea5eb6498f009f2fa35a3dda0102a48d912 Mon Sep 17 00:00:00 2001 From: Ruslan Mustakov Date: Wed, 9 Mar 2016 20:36:35 +0600 Subject: [PATCH] Make ropes usable in VM context --- lib/pure/ropes.nim | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/pure/ropes.nim b/lib/pure/ropes.nim index df7071642b..6e97237e04 100644 --- a/lib/pure/ropes.nim +++ b/lib/pure/ropes.nim @@ -134,11 +134,16 @@ proc rope*(s: string): Rope {.rtl, extern: "nro$1Str".} = ## Converts a string to a rope. if s.len == 0: result = nil - elif cacheEnabled: - result = insertInCache(s, cache) - cache = result else: - result = newRope(s) + when nimvm: + # No caching in VM context + result = newRope(s) + else: + if cacheEnabled: + result = insertInCache(s, cache) + cache = result + else: + result = newRope(s) proc rope*(i: BiggestInt): Rope {.rtl, extern: "nro$1BiggestInt".} = ## Converts an int to a rope.