v1.8.2 — broadcast WM_SETTINGCHANGE on PATH change (B1)#16
Merged
Conversation
After changing the User PATH, broadcast WM_SETTINGCHANGE (Environment) so Explorer and the terminals it spawns pick up the new PATH without a logout. - phpvm.ps1: Send-EnvChangeBroadcast (P/Invoke SendMessageTimeout, HWND_BROADCAST) called from Invoke-Use after persisting PATH. Dropped the "restart your terminal" warning - the current session is already updated in-process and new terminals get the change via the broadcast. Also indented the `use` php --version output that 1.8.0's replace_all had missed. - install.ps1 / uninstall.ps1: broadcast after their User PATH writes too. Version bump to 1.8.2 across the 5 sources. PSScriptAnalyzer clean, 47/47 Pester.
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.
Resolves ROADMAP B1. After a User PATH change, broadcast
WM_SETTINGCHANGE("Environment") so Explorer and the terminals it spawns afterward pick up the new PATH without a logout.Changes
Send-EnvChangeBroadcast(P/InvokeSendMessageTimeouttoHWND_BROADCAST, best-effort). Called fromInvoke-Useafter persisting PATH. Dropped theRestart your terminal ...warning - the current session is already updated in-process, and new terminals get the change via the broadcast. Replaced with a soft note that only already-open terminals need reopening.usephp --versionoutput that 1.8.0'sreplace_allhad missed (the} catch {indentation differed).Checks
-Path ./windows -Recurse).