diff --git a/compiledb/parser.py b/compiledb/parser.py index 88f9bd3..3aef25e 100755 --- a/compiledb/parser.py +++ b/compiledb/parser.py @@ -137,7 +137,7 @@ def skip_line(cmd, reason): # add entry to database tokens = c['tokens'] - arguments = [unescape(a) for a in tokens[len(wrappers):]] + arguments = [a for a in tokens[len(wrappers):]] compiler = get_compiler(arguments[0]) @@ -184,7 +184,7 @@ class CommandProcessor(bashlex.ast.nodevisitor): looking for and extracting compilation commands.""" @staticmethod def process(line, wd): - trees = bashlex.parser.parse(line) + trees = bashlex.parser.parse(unescape(line)) if not trees: return [] for tree in trees: @@ -201,7 +201,7 @@ def process(line, wd): preprocessed[start:end] = out.strip() preprocessed = ''.join(preprocessed) - trees = bashlex.parser.parse(preprocessed) + trees = bashlex.parser.parse(unescape(preprocessed)) processor = CommandProcessor(preprocessed, wd) for tree in trees: processor.do_process(tree) @@ -256,6 +256,6 @@ def check_last_cmd(self): def unescape(s): - return s.encode().decode('unicode_escape') + return s.encode('unicode_escape').decode() # ex: ts=2 sw=4 et filetype=python