Commit Graph
892 Commits
Author SHA1 Message Date
Andrew Schwartzmeyer 5ab6f278f3 Fix bug when loading bad profiles
This resolves #817.

A PowerShell instance is created to load and execute profile code.
However, if the profile has a parse error, the instance never gets
created, thus we have to check that it's not null before disposing it.
2016-04-22 14:24:21 -07:00
Andy Schwartzmeyer 3e53aefebb Merge pull request #897 from PowerShell/andschwa/add-encodedcommand-tests-#712
Add -EncodedCommand tests
2016-04-22 11:49:04 -07:00
George Fleming c623e3be0e Add Shift-Tab for reverse traversal 2016-04-21 16:15:27 -07:00
Andrew Schwartzmeyer 5fee08a097 Fix -EncodedCommand implementation
PowerShell uses Encoding.Unicode, which is different from Encoding.UTF8.
2016-04-21 16:05:53 -07:00
Andy Schwartzmeyer 71ac45467e Merge pull request #889 from PowerShell/help
Fixes seg fault when Get-Help cannot find topic
2016-04-21 14:54:16 -07:00
Andrew Schwartzmeyer b8ffd42051 Make TypeCatalogGen build script quieter 2016-04-21 11:17:59 -07:00
Andrew Schwartzmeyer 51cc45821f Use wild-card version of ProjectModel 2016-04-21 11:09:41 -07:00
George Fleming 4f9e2acc93 Fixes seg fault when Get-Help cannot find topic 2016-04-21 10:03:39 -07:00
James Truher 6df3e9619f Remove mention of format file since this is done in code now 2016-04-19 16:02:12 -07:00
Andy Schwartzmeyer a655b439bc Merge pull request #850 from PowerShell/andschwa/fix-xunit
Re-enable xUnit tests on Linux
2016-04-18 19:27:55 -07:00
Andy Schwartzmeyer c7c0d54baf Merge pull request #858 from PowerShell/options
Re-write host code command parser engine to support both Linux and Windows style options.  Also, add support for -noninteractive and -encodedcommand.
2016-04-18 13:00:33 -07:00
George Fleming 71ab234674 fix typo 2016-04-15 12:35:11 -07:00
George Fleming 969dc932ec Change InvalidOperationException to PSInvalidOperationException because monad code looks only for PS version to rethrow MissingMandatoryParameter exception. 2016-04-15 10:56:22 -07:00
Andrew Schwartzmeyer 3b24ba5dd3 Allow default ALC to not be PowerShell's. 2016-04-14 18:07:33 -07:00
Andrew Schwartzmeyer 40b3888dcb Revert use of foreach in ALC
I forgot to revert this in #814, thanks @daxian-dbw for the pointer.
2016-04-14 17:34:00 -07:00
George Fleming 4c1ee1c589 Prevent UI popups when run with -noninteractive 2016-04-14 11:18:47 -07:00
George Fleming ec61d56c0e minor change to error message 2016-04-14 10:54:01 -07:00
Andrew Schwartzmeyer 6851fe374c Enable OS X on Travis
Remove unsupported osx.10.10-x64 moniker. Use `osx_image: xcode7.3` to
get an OS X 10.11 image on Travis.
2016-04-14 09:45:18 -07:00
George Fleming d1edcb38bd Redo command-line parsing, add -noninteractive and -encodedcommand options 2016-04-14 09:09:52 -07:00
Andrew Schwartzmeyer e210cf14c0 Bump Pester with fixes 2016-04-13 14:57:20 -07:00
Andy Schwartzmeyer 831343f096 Merge pull request #825 from PowerShell/andschwa/master
Update files from psl-monad source-depot [SD:695331]
2016-04-13 14:14:14 -07:00
Andy Schwartzmeyer 7048b5774c Merge pull request #834 from PowerShell/psreadline2
Host code to enable PSReadLine, and remove checking of .NET Framework
2016-04-13 13:57:45 -07:00
George Fleming eb9daf0238 Host code to enable PSReadLine, and remove checking of .NET Framework version if CORECLR 2016-04-13 11:42:59 -07:00
Sergei Vorobev 273328d06f Update files from psl-monad source-depot [SD:695331]
Corresponds to 1218e29752ba4
2016-04-13 09:41:34 -07:00
Andrew Schwartzmeyer 1bc2a9e576 Fix stack overflow exception when loading assemblies
When an assembly that exists outside of the trusted platform assembly
list but in the GAC on Windows was loaded, the use of `Assembly.Load`
before the `LoadFromAssemblyPath` caused a recursive loop to occur.

This happens because an `Assembly.Load` on a not-yet-loaded
assembly is overridden, thus calling back into the
`AssemblyLoadContext.Load` override.

By attempting to load from the file path first, we avoid this loop.
However, loading TPA assemblies by their path throws an exception, so
now we catch this particular exception and attempt the load through
`Assembly.Load`.

This is safe for TPA assemblies since they're already loaded, thus the
`Assembly.Load` does not re-load the assembly, but simply returns it.
2016-04-13 09:40:16 -07:00
Andrew Schwartzmeyer 1f19758614 Remove OMI and provider submodules 2016-04-12 12:10:54 -07:00
Andrew Schwartzmeyer 71b55abf66 Bump .NET Core packages to build 24011
And update the CorePsTypeCatalog.
2016-04-11 10:37:15 -07:00
Andy Schwartzmeyer 244b41a974 Merge pull request #804 from PowerShell/andschwa/symbolic-target
Allow creation of symlink to non-existent target
2016-04-09 18:55:21 -07:00
Andrew Schwartzmeyer 3a43126a2e Allow creation of symlink to non-existent target
This action is completely valid on both Windows and Linux (and OS X)
operating systems; tested with `mklink` and `ln -s` respectively.

Note that targets for hard links must exist, thus we check specifically
for symbolic links.

Both the path globber in session state and the `New-Item` implementation
needed to be fixed to allow the target not to exist.

Resolves #801.

Also enable symbolic link tests on Windows.
2016-04-09 18:45:23 -07:00
Andrew Schwartzmeyer 70c23dacd7 Fix Get-Help -Online
While Windows will automatically open a URL used as a process by
launching a browser, OS X needs to use `open <URL>`, and Linux needs to
use `xdg-open <URL>` (the most distribution-independent way).

Resolves #802.
2016-04-09 18:05:49 -07:00
Andy Schwartzmeyer 76ad94d8a7 Merge pull request #798 from PowerShell/andschwa/pager
Respect PAGER variable and default to less on Linux
2016-04-08 22:04:57 -07:00
Andrew Schwartzmeyer bd03b51c32 Respect PAGER variable and default to less on Linux 2016-04-08 21:52:14 -07:00
Andrew Schwartzmeyer feef62c5ea Bump .NET Core packages to 24004 2016-04-08 21:50:24 -07:00
Andy Schwartzmeyer fde82fdf46 Merge pull request #796 from PowerShell/vors/add-type
Make Add-Type work without a flat folder structure
2016-04-08 21:41:30 -07:00
Sergei Vorobev bf1a2c8521 Make Add-Type work without a flat folder structure
- Get rid of the assumption that all framework assemlbies live in
  the same place
- Enable build scenario (assemlbies are referenced directly from unpacked
  nuget packages)
- Fix #766
- Re-enable Add-Type tests
2016-04-08 21:41:30 -07:00
Andrew Schwartzmeyer 6f45601a27 Rename profile from PSL to Microsoft.PowerShellCore
Final fix for #713.
2016-04-08 21:41:29 -07:00
Andrew Schwartzmeyer 839014b599 Try Assembly.Load correctly
This should resolve #791.

Instead of checking if `Assembly.Load` returned null (it doesn't), check
if it threw `FileNotFoundException`, which it will if it doesn't find
the assembly.
2016-04-08 19:09:38 -07:00
Andy Schwartzmeyer a6a6ac7c36 Merge pull request #787 from PowerShell/andschwa/platform-module
Remove Microsoft.PowerShell.Platform
2016-04-08 16:07:38 -07:00
Andrew Schwartzmeyer fffaf4cfe2 Remove Platform module 2016-04-08 15:11:33 -07:00
Andrew Schwartzmeyer 822244d261 Fix properties
Static but not const, go figure.
2016-04-08 15:08:16 -07:00
Andrew Schwartzmeyer a082a02e6c Add PowerShell variables corresponding to platform
This deprecates the Microsoft.PowerShell.Platform module and ensure that
IsLinux/OSX/Windows/Core variables are defined all throughout PowerShell.
2016-04-08 15:04:27 -07:00
Andrew Schwartzmeyer 49066d212a Replace IsX method with IsCore property 2016-04-08 15:04:16 -07:00
Andrew Schwartzmeyer f5410a18ce Replace IsWindows method with property
And add *correct* IsLinux and IsOSX properties.
2016-04-08 14:54:41 -07:00
Andrew Schwartzmeyer 6f2110f38a Replace use of IsLinux with IsWindows
So that IsLinux can stop being overloading for OS X.
2016-04-08 14:50:37 -07:00
Andrew Schwartzmeyer 5b3840f753 Deploy Platform module on all flavors 2016-04-08 13:38:08 -07:00
Andrew Schwartzmeyer 47a8ee5bcf Remove A:...Z: drive functions on Linux / OS X
Resolves #612.
2016-04-08 12:50:53 -07:00
Andrew Schwartzmeyer 7d9f439666 Remove conflicting aliases for Linux and OS X
The aliases which conflict with Linux native commands were consolidated
and removed with the pre-processor definition `LINUX`. Additionally,
several "conflicts" are purposefully kept and likewise consolidated.
They are kept because Bash itself stomps on the native commands with its
own built-ins, and so we're adopting the same behavior.

The `clear` and `more` aliases are edge cases where the functions they
call are already fixed for Linux, and so we keep these too.

Resolves #567.
2016-04-08 12:50:47 -07:00
Andrew Schwartzmeyer 9288df09a1 Rename CoreConsoleHost host.cs Name
Fully resolve #713.
2016-04-08 11:00:52 -07:00
Andrew Schwartzmeyer bfaad3f057 Programmatic update of core console host rename 2016-04-08 10:59:41 -07:00
Andrew Schwartzmeyer 5abda1c223 Rename Host to CoreConsoleHost
To resolve part of #713.
2016-04-08 10:57:57 -07:00