Have "stack script" set import search path #3377 #4538
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This issue was brought to my attention by https://github.com/rcook . The primary problem is that stack scripts can only import modules if the script is run from the same directory as the modules. However, I realized that this implies a gnarlier issue, which is that since
-i
isn't being passed torunghc
, it will use the work dir as a search dir for imports.This also addresses part of the problem described in #3377 , which was a difference in how imports are treated when
--compile
is used.Here's a concrete example. The contents of
~/tmp/hmm.hs
isThe contents of
~/tmp/Yargh.hs
isThe contents of
~/Yargh.hs
isCheck out what happens when I run the script from different directories:
This PR resolves the issue. After applying this patch, it behaves like this: