No more *squash* commits.

I was trying to force git in to letting me group smaller commits in to
bigger ones, but I no longer think that's worth the effort. Git just isn't
set up that way.

You should just any conventional git workflow instead.
Merge branch 'master' of https://github.com/JayBazuzi/Pash2
add an AUTHORS file.

My hope is this file helps establish and assert copyright if needed.

Ideally we'd have a Copyright message in each source file, which would
list all the dates and contributors to each file, but that seems like a
pain to get right, so for now, an AUTHORS file.
IRONY: Rename files for case sensitivity

These files were named `RegEx...` on disk, but `Regex...` in the project
file. That's fine on Windows, but we also want to be able to build under
MonoDevelop on Linux. On Linux, file names are case sensitive, so the
build failed.

Instead of renaming the file, we could have modified the project file to
use `RegEx...`, but this way matches the name of the class, and the way
`Regex` is spelled in the .NET Base Class Libraries.

This fix merged from https://github.com/b333z/Pash2/commit/ea10fa5. Thanks!
IRONY: Remove `Client` profile

This is necessary for building with MonoDevelop on Linux, using `xbuild`.

This fix merged from https://github.com/b333z/Pash2/commit/cef29fb. Thanks!
Rename `ObjectlPipelineReader.cs` to `ObjectPipelineReader.cs`.

This looks like it was just a typo in the original file name.

This change merged from https://github.com/b333z/Pash2/commit/59af5c2. Thanks!
Add Andrew Barnes to authors list.
Remove `WORKFLOW.md` from Solution Items.

I deleted this file in e36cbc68880781ca7912c0b0f196a17e07b0f137, but
forgot to update the solution.
Don't use wildcards in project files.

I like wildcards in project files a lot. Without wildcards, it's easy to
create a file on disk but forget to add it to the project, and end up
with silent failures.

Visual Studio's support for wildcards is not perfect, but I was prepared
to tolerate it.

However, MonoDevelop's support for wildcards is pretty broken, and I want
people to be able to work on Linux.

So I'm going back to no wildcards. I did this by going to each project in
VS's Solution Explorer, removing a single file from the project, then
adding it back in.

This undoes commit ee6fcbbb63fb1d2dff1c9371ce499a3629ded8fe.
Mark Solution as VS2010.

VS2012 is the first version of Visual Studio that is compatible with
projects and solutions created in earlier versions. It is also supposed to
save those projects in the older, compatible version. That quietly broke
with commit 3453e3226cecb2a50e95b510ec0e70ea0c692696.

It's particularly important because MonoDevelop is not compatible with VS2012
projects/solutions yet.
Merge branch 'solution-version'
try again to reset solution version number
LocalPipeline.ToString()
extension method `Queue<>.EnqueueAll()`
REFACTOR: Use reflection to find `AstVisitor` dispatch method.

While doing this work, I realized there are `AstVisitor` methods that take
both a specific and general type. For example, a
`StringConstantExpressionAst` can be sent to
`VisitStringConstantExpression` or `VisitConstantExpression` (or both!).

I don't know what the official PowerShell behavior is, but for now we
don't rely on it, so I'm ignoring it.
REFACTOR: Rename Reflection extensions class.

The class name doesn't matter, so this has no effects elsewhere.
Use `Explicit` instead of `Ignore` for failing tests.

Some unit tests are intended to decribe what *should* happen, but they
fail because of a bug or missing functionality. To help track that goal
I kept the test around but marked it as `Ignore`, so NUnit wouldn't run
it.

As I make progress on new functionality, I want to check which
previously-failing tests are now passing. By marking a test as `Explicit`,
I can easily execute the test in the NUnit GUI to see if it now passes.

I also found that a couple of tests now pass, so I enabled them.
Pledgie Donate button
sourceforge license reference through archive.org

I'm using the contents of a sourceforge.net as an authoritative reference for legal purposes. But web pages can change (and disappear) at any time.

By switching to a copy at archive.org, we don't have to worry about changes to that page.
REFACTOR: Use LINQ

Thanks to LINQ, we no longer need to iterate through collections to
convert them to `Array`

Note that returning `Array` from this method is a little weird - usually
you'd return `object[]` or something. There's only one caller, and it
doesn't use the return value, so this code doesn't matter (yet).