Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.
Sign upFix Export-ModuleMember bug for scriptblocks having no context #8363
+49
−1
Conversation
PaulHigin
added some commits
Nov 29, 2018
PaulHigin
added
Issue-Bug
OS-Windows
Area-Cmdlets-Core
CL-Engine
labels
Nov 29, 2018
PaulHigin
assigned
TravisEz13
Nov 29, 2018
PaulHigin
requested a review
from
TravisEz13
Nov 29, 2018
PaulHigin
requested review from
BrucePay and
daxian-dbw
as
code owners
Nov 29, 2018
TravisEz13
approved these changes
Nov 30, 2018
TravisEz13
merged commit 743a964
into
PowerShell:master
Nov 30, 2018
6 checks passed
CodeFactor
No issues found.
Details
PowerShell-CI-linux
#PR-8363-20181129.02 succeeded
Details
PowerShell-CI-macos
#PR-8363-20181129.02 succeeded
Details
PowerShell-CI-spelling
#PR-8363-20181129.02 succeeded
Details
PowerShell-CI-windows
#PR-8363-20181129.02 succeeded
Details
license/cla
All CLA requirements met.
Details
PaulHigin
deleted the
PaulHigin:fix_exportmodulemember_nocontext
branch
Nov 30, 2018
TravisEz13
added a commit
that referenced
this pull request
Nov 30, 2018
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
PaulHigin commentedNov 29, 2018
PR Summary
Export-ModuleMember cmdlet throws an exception if module functions are exported across language boundaries (Windows only). But a scriptblock LanguageMode property can be null if the scriptblock is created without a PowerShell context, and this can happen through the PowerShell API called from C#. In this case Export-ModuleMember throws erroneously when no language mode restrictions are in play.
Fix is to check if LanguageMode is null before comparing context and scriptblock language modes.
PR Checklist
.h,.cpp,.cs,.ps1and.psm1files have the correct copyright headerWIP:to the beginning of the title and remove the prefix when the PR is ready.[feature]if the change is significant or affects feature tests