summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Behnel <stefan_ml@behnel.de>2015-02-14 10:16:09 +0100
committerStefan Behnel <stefan_ml@behnel.de>2015-02-14 10:16:09 +0100
commitd49f604f6f7bc6037be436de95c097853caee8aa (patch)
tree9db74f85deaa113bdb731adde2cbe09da8d565a2
parent4d5635536a88babc02d0284820fcc37cee87bc3e (diff)
downloadcython-d49f604f6f7bc6037be436de95c097853caee8aa.tar.gz
fix "debug_trace_code_generation": use truncating instead of just seeking which is not enough to remove an unused marker as it may not get overwritten afterwards
--HG-- extra : transplant_source : J%83%8Di%F7Q%E2%EDk%A1VgO%1A%E1%DE%CDrM%B8
-rw-r--r--Cython/Compiler/Nodes.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/Cython/Compiler/Nodes.py b/Cython/Compiler/Nodes.py
index 165472317..7223963ff 100644
--- a/Cython/Compiler/Nodes.py
+++ b/Cython/Compiler/Nodes.py
@@ -125,9 +125,10 @@ def write_func_call(func, codewriter_class):
res = func(*args, **kwds)
code.call_level -= 4
if start == code.buffer.stream.tell():
- code.buffer.stream.seek(pristine)
+ # no code written => undo writing marker
+ code.buffer.stream.truncate(pristine)
else:
- marker = marker.replace('->', '<-')
+ marker = marker.replace('->', '<-', 1)
code.putln(marker)
return res
else: