summaryrefslogtreecommitdiff
path: root/monkey
diff options
context:
space:
mode:
Diffstat (limited to 'monkey')
-rw-r--r--monkey/edits.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/monkey/edits.py b/monkey/edits.py
index ad595b6..a920bf5 100644
--- a/monkey/edits.py
+++ b/monkey/edits.py
@@ -146,12 +146,14 @@ def get_paths(root, path=None, done=None):
# edits. Return a dictionary of edits and their frequencies, and also
# submissions and queries in [traces].
def get_edits_from_traces(traces):
- # Helper function to remove trailing punctuation from lines. This is a
- # rather ugly performance-boosting hack.
+ # Helper function to remove trailing punctuation from lines.
def remove_punct(line):
- if line and line[-1].type in ('COMMA', 'PERIOD', 'SEMI', 'FROM'):
- return line[:-1]
- return line
+ i = len(line)
+ while i > 0:
+ if line[i-1].type not in ('COMMA', 'PERIOD', 'SEMI'):
+ break
+ i -= 1
+ return line[:i]
# Return values: counts for observed edits, lines, submissions and queries.
edits = collections.Counter()