Test if a command is 'Out-Default' more thoroughly#15653
Merged
adityapatwardhan merged 1 commit intoPowerShell:masterfrom Jun 28, 2021
Merged
Test if a command is 'Out-Default' more thoroughly#15653adityapatwardhan merged 1 commit intoPowerShell:masterfrom
adityapatwardhan merged 1 commit intoPowerShell:masterfrom
Conversation
iSazonov
approved these changes
Jun 24, 2021
PaulHigin
suggested changes
Jun 24, 2021
PaulHigin
approved these changes
Jun 24, 2021
Member
Author
|
BackPort-7.1.x-Consider context: this issue causes the PowerShell sub-kernel in .NET interactive to not work with |
Member
Author
|
@adityapatwardhan Can you please review and see if we can merge this one? |
adityapatwardhan
approved these changes
Jun 28, 2021
|
🎉 Handy links: |
daxian-dbw
added a commit
to daxian-dbw/PowerShell
that referenced
this pull request
Oct 13, 2021
|
🎉 Handy links: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.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.
PR Summary
Fix #15651
PowerShell automatically adds 'Out-Default -Transcript' to the end of pipeline when it's transcribing and invoked via API. When
-Transcriptis specified, objects passed through are transcribed but are not passed ahead to the host.The PowerShell sub-kernel actually already adds
Out-Defaultto pass output to host, however, we have to useOut-Default2as the name due to a limitation in the native command processor. Since we are usingOut-Default2, PowerShell believes it doesn't have theOut-Defaultcommand at the end, and thus addsOut-Default -Transcriptautomatically, which prevents sending anything to the host and hence you don't see output from PowerShell sub-kernel when the transcription is turned on.This needs to be fixed in the
InvokeHelper()method, to not just check for theOut-Defaultname, but also check whether theImplementingTypeistypeof(OutDefaultCommand).This PR also refactors the code a bit, to calculate
needToAddOutDefaultonly if PowerShell is transcribing.PR Checklist
.h,.cpp,.cs,.ps1and.psm1files have the correct copyright headerWIP:or[ WIP ]to the beginning of the title (theWIPbot will keep its status check atPendingwhile the prefix is present) and remove the prefix when the PR is ready.