New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement our own subshell logic #2371

merged 7 commits into from Jun 29, 2018


3 participants

uranusjr commented Jun 16, 2018

Remove all pew workon usages, and implement the subshell functionality from scratch based on Shellingham.

With real shell detection on POSIX implemented, the subshell now defaults to match parent shell, instead of login shell. This would help reduce surprising behaviour such as #1762.

I tested the code on Windows and Ubuntu (WSL) in both fancy and compat mode, and am fairly confident this implementation is reasonably complete. It would probably still be a good idea to rigorously test this manually on various platforms before releasing it to the public.

This also fixes #915 (a bug in Pew).

@uranusjr uranusjr force-pushed the feature/repatch-shell-detection branch from 9522c7c to 525b901 Jun 16, 2018

@uranusjr uranusjr added this to In progress in Clean up shell detection via automation Jun 16, 2018

@uranusjr uranusjr force-pushed the feature/repatch-shell-detection branch 5 times, most recently from 065b50b to 7ab61ba Jun 16, 2018

Implement our own subshell logic
To replace Pew's "workon" command. New code built on Shellingham.

This also fixes a few additional minor bugs, e.g. Cmder not launching
Powershell when it should.

@uranusjr uranusjr force-pushed the feature/repatch-shell-detection branch from 7ab61ba to 198e618 Jun 26, 2018

@uranusjr uranusjr removed the DO NOT MERGE label Jun 26, 2018

techalchemy and others added some commits Jun 29, 2018

Stop importing unused things
Signed-off-by: Dan Ryan <>
Fix pathlib fallback imports to use compat file
Signed-off-by: Dan Ryan <>
Add news entries for shellingham
Signed-off-by: Dan Ryan <>

This comment has been minimized.


techalchemy commented Jun 29, 2018


@techalchemy techalchemy merged commit 8691c71 into master Jun 29, 2018

1 of 3 checks passed

continuous-integration/appveyor/pr AppVeyor build cancelled
VSTS: pipenv-Python Package-CI in progress
buildkite/pipenv Build #645 passed (6 minutes, 11 seconds)

Clean up shell detection automation moved this from In progress to Done Jun 29, 2018

@uranusjr uranusjr deleted the feature/repatch-shell-detection branch Jul 4, 2018


This comment has been minimized.


mungojam commented Jul 5, 2018

I'm surprised that this doesn't seem to fix #876 since that was a bug with pew. Is there a different bug with Shellingham?


This comment has been minimized.


uranusjr commented Jul 5, 2018

Unfortunately Shellingham does many things the same as Pew. It fixes a lot of things, but not all of them. But it’d be possible to work on it now, at least.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment