Avoid redefining builtin dir and break long comment lines.
diff --git a/utils/add_copyright.py b/utils/add_copyright.py
index 63d725a..2d3f734 100755
--- a/utils/add_copyright.py
+++ b/utils/add_copyright.py
@@ -12,7 +12,8 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-"""Adds copyright notices to all the files that need them under the current directory.
+"""Adds copyright notices to all the files that need them under the
+current directory.
 
 usage: add_copyright.py [--check]
 
@@ -29,7 +30,7 @@
 import sys
 
 COPYRIGHTRE = re.compile(
-    'Copyright \d+ The Shaderc Authors. All rights reserved.')
+    r'Copyright \d+ The Shaderc Authors. All rights reserved.')
 COPYRIGHT = 'Copyright 2016 The Shaderc Authors. All rights reserved.'
 LICENSED = """
 Licensed under the Apache License, Version 2.0 (the "License");
@@ -46,7 +47,8 @@
 
 
 def find(top, filename_glob, skip_glob_list):
-    """Returns files in the tree rooted at top matching filename_glob but not in directories matching skip_glob_list."""
+    """Returns files in the tree rooted at top matching filename_glob but not
+    in directories matching skip_glob_list."""
 
     file_list = []
     for path, dirs, files in os.walk(top):
@@ -59,7 +61,8 @@
 
 
 def filtered_descendants(glob):
-    """Returns glob-matching filenames under the current directory, but skips some irrelevant paths."""
+    """Returns glob-matching filenames under the current directory, but skips
+    some irrelevant paths."""
     return find('.', glob, ['third_party', 'ext', 'build*', 'out*'])
 
 
diff --git a/utils/update_build_version.py b/utils/update_build_version.py
index e223646..fd600a1 100755
--- a/utils/update_build_version.py
+++ b/utils/update_build_version.py
@@ -17,7 +17,7 @@
 # Updates build-version.inc in the current directory, unless the update is
 # identical to the existing content.
 #
-# Args: <shaderc_dir> <spirv-tools_dir> <glslang_dir>
+# Args: <shaderc-dir> <spirv-tools-dir> <glslang-dir>
 #
 # For each directory, there will be a line in build-version.inc containing that
 # directory's "git describe" output enclosed in double quotes and appropriately
@@ -34,7 +34,7 @@
 OUTFILE = 'build-version.inc'
 
 
-def command_output(cmd, dir):
+def command_output(cmd, directory):
     """Runs a command in a directory and returns its standard output stream.
 
     Captures the standard error stream.
@@ -42,24 +42,24 @@
     Raises a RuntimeError if the command fails to launch or otherwise fails.
     """
     p = subprocess.Popen(cmd,
-                         cwd=dir,
+                         cwd=directory,
                          stdout=subprocess.PIPE,
                          stderr=subprocess.PIPE)
     (stdout, _) = p.communicate()
     if p.returncode != 0:
-        raise RuntimeError('Failed to run %s in %s' % (cmd, dir))
+        raise RuntimeError('Failed to run {} in {}'.format(cmd, directory))
     return stdout
 
 
-def deduce_software_version(dir):
+def deduce_software_version(directory):
     """Returns a software version number parsed from the CHANGES file
-    in the given dir.
+    in the given directory.
 
     The CHANGES file describes most recent versions first.
     """
 
-    pattern = re.compile('(v\d+\.\d+(-dev)?) \d\d\d\d-\d\d-\d\d$')
-    changes_file = os.path.join(dir, 'CHANGES')
+    pattern = re.compile(r'(v\d+\.\d+(-dev)?) \d\d\d\d-\d\d-\d\d$')
+    changes_file = os.path.join(directory, 'CHANGES')
     with open(changes_file) as f:
         for line in f.readlines():
             match = pattern.match(line)
@@ -68,11 +68,11 @@
     raise Exception('No version number found in {}'.format(changes_file))
 
 
-def describe(dir):
+def describe(directory):
     """Returns a string describing the current Git HEAD version as descriptively
     as possible.
 
-    Runs 'git describe', or alternately 'git rev-parse HEAD', in dir.  If
+    Runs 'git describe', or alternately 'git rev-parse HEAD', in directory.  If
     successful, returns the output; otherwise returns 'unknown hash, <date>'."""
     try:
         # decode() is needed here for Python3 compatibility. In Python2,
@@ -80,30 +80,29 @@
         # Popen.communicate() returns a bytes instance, which needs to be
         # decoded into text data first in Python3. And this decode() won't
         # hurt Python2.
-        return command_output(['git', 'describe'], dir).rstrip().decode()
+        return command_output(['git', 'describe'], directory).rstrip().decode()
     except:
         try:
             return command_output(
-                ['git', 'rev-parse', 'HEAD'], dir).rstrip().decode()
+                ['git', 'rev-parse', 'HEAD'], directory).rstrip().decode()
         except:
             return 'unknown hash, ' + datetime.date.today().isoformat()
 
 
-def get_version_string(project, dir):
+def get_version_string(project, directory):
     """Returns a detailed version string for a given project with its directory,
     which consists of software version string and git description string."""
     detailed_version_string_lst = [project]
     if project != 'glslang':
-        detailed_version_string_lst.append(deduce_software_version(dir))
-    detailed_version_string_lst.append(describe(dir).replace('"', '\\"'))
+        detailed_version_string_lst.append(deduce_software_version(directory))
+    detailed_version_string_lst.append(describe(directory).replace('"', '\\"'))
     return ' '.join(detailed_version_string_lst)
 
 
 def main():
     if len(sys.argv) != 4:
-        print(
-            'usage: {0} <shaderc_dir> <spirv-tools_dir> <glslang_dir>'.format(
-                sys.argv[0]))
+        print('usage: {} <shaderc-dir> <spirv-tools-dir> <glslang-dir>'.format(
+            sys.argv[0]))
         sys.exit(1)
 
     projects = ['shaderc', 'spirv-tools', 'glslang']