equal
deleted
inserted
replaced
499 oldenv = {} |
499 oldenv = {} |
500 for k in environ: |
500 for k in environ: |
501 oldenv[k] = os.environ.get(k) |
501 oldenv[k] = os.environ.get(k) |
502 if cwd is not None: |
502 if cwd is not None: |
503 oldcwd = os.getcwd() |
503 oldcwd = os.getcwd() |
|
504 origcmd = cmd |
|
505 if os.name == 'nt': |
|
506 cmd = '"%s"' % cmd |
504 try: |
507 try: |
505 for k, v in environ.iteritems(): |
508 for k, v in environ.iteritems(): |
506 os.environ[k] = py2shell(v) |
509 os.environ[k] = py2shell(v) |
507 if cwd is not None and oldcwd != cwd: |
510 if cwd is not None and oldcwd != cwd: |
508 os.chdir(cwd) |
511 os.chdir(cwd) |
509 rc = os.system(cmd) |
512 rc = os.system(cmd) |
510 if rc and onerr: |
513 if rc and onerr: |
511 errmsg = '%s %s' % (os.path.basename(cmd.split(None, 1)[0]), |
514 errmsg = '%s %s' % (os.path.basename(origcmd.split(None, 1)[0]), |
512 explain_exit(rc)[0]) |
515 explain_exit(rc)[0]) |
513 if errprefix: |
516 if errprefix: |
514 errmsg = '%s: %s' % (errprefix, errmsg) |
517 errmsg = '%s: %s' % (errprefix, errmsg) |
515 try: |
518 try: |
516 onerr.warn(errmsg + '\n') |
519 onerr.warn(errmsg + '\n') |