zetuptoolz: don't add ';' to an empty path when appending a new item.
authorDaira Hopwood <daira@jacaranda.org>
Fri, 30 Jan 2015 22:05:54 +0000 (22:05 +0000)
committerDaira Hopwood <daira@jacaranda.org>
Thu, 30 Apr 2015 14:22:33 +0000 (15:22 +0100)
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
setuptools-0.6c16dev6.egg/setuptools/command/scriptsetup.py

index db68c07a08e91cbb848d4dd8e948f7480c9fc891..b3233ec1baf0801c698be9c2110ffbaf6c8884e3 100644 (file)
@@ -154,10 +154,16 @@ def do_scriptsetup(allusers=False):
             (value, type) = user_valueandtype or system_valueandtype or (u'', REG_SZ)
             key_name_path = (HKEY_CURRENT_USER, "HKEY_CURRENT_USER", USER_ENV)
 
+        def path_append(value, addition):
+            if value != "":
+                return value + u';' + addition
+            else:
+                return addition
+
         if addition.lower() in value.lower().split(u';'):
             print "Already done: %s." % (goal,)
         else:
-            changed |= update(key_name_path, varname, value + u';' + addition, type, goal, what)
+            changed |= update(key_name_path, varname, path_append(value, addition), type, goal, what)
 
         if change_allusers:
             # Also change any overriding environment entry for the current user.
@@ -167,7 +173,7 @@ def do_scriptsetup(allusers=False):
             if not (addition.lower() in split_value or u'%'+varname.lower()+u'%' in split_value):
                 now_what = "the overriding user environment variable %s" % (varname,)
                 changed |= update((HKEY_CURRENT_USER, "HKEY_CURRENT_USER", USER_ENV),
-                                  varname, user_value + u';' + addition, user_type,
+                                  varname, path_append(user_value, addition), user_type,
                                   "add %s to %s" % (addition, now_what), now_what)
 
         return changed