From 103f17ef918188ea2f50b01bb616953082d5f4e2 Mon Sep 17 00:00:00 2001 From: Ezio Melotti Date: Fri, 16 Nov 2012 13:17:08 +0200 Subject: [PATCH] #16478: use floor division in tabnanny and fix a ResourceWarning. Patch by Serhiy Storchaka. --- Lib/tabnanny.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/Lib/tabnanny.py b/Lib/tabnanny.py index 46f8163e5f7..5b9b444c1aa 100755 --- a/Lib/tabnanny.py +++ b/Lib/tabnanny.py @@ -126,6 +126,9 @@ def check(file): else: print(file, badline, repr(line)) return + finally: + f.close() + if verbose: print("%r: Clean bill of health." % (file,)) @@ -185,21 +188,21 @@ class Whitespace: # count, il = self.norm # for i in range(len(count)): # if count[i]: - # il = il + (i/tabsize + 1)*tabsize * count[i] + # il = il + (i//tabsize + 1)*tabsize * count[i] # return il # quicker: - # il = trailing + sum (i/ts + 1)*ts*count[i] = - # trailing + ts * sum (i/ts + 1)*count[i] = - # trailing + ts * sum i/ts*count[i] + count[i] = - # trailing + ts * [(sum i/ts*count[i]) + (sum count[i])] = - # trailing + ts * [(sum i/ts*count[i]) + num_tabs] - # and note that i/ts*count[i] is 0 when i < ts + # il = trailing + sum (i//ts + 1)*ts*count[i] = + # trailing + ts * sum (i//ts + 1)*count[i] = + # trailing + ts * sum i//ts*count[i] + count[i] = + # trailing + ts * [(sum i//ts*count[i]) + (sum count[i])] = + # trailing + ts * [(sum i//ts*count[i]) + num_tabs] + # and note that i//ts*count[i] is 0 when i < ts count, trailing = self.norm il = 0 for i in range(tabsize, len(count)): - il = il + i/tabsize * count[i] + il = il + i//tabsize * count[i] return trailing + tabsize * (il + self.nt) # return true iff self.indent_level(t) == other.indent_level(t)