Instead of always using a regex to try to match the native-names keys
when doing a get-os or get-arch call, use a get-with-pattern-fallback
function to first try the exact match and only if that fails, use
get-by-pattern. This prevents matching "x86_64" with "x86" when
"x86_64" is the better match.
Just tried to clarify a few things that confused me as a newbie. When I actually clicked on the link to use the package manager, it says that sometimes the packaged versions can be old. I thought that information was helpful, so I added it here. Also, many projects are best installed by cloning the git repo. I went down that path next and was left wondering why the 'master' branch wasn't working, so I clarified that you want to download the lein script from the *stable* branch. Finally, the wording about the lein script bootstrapping itself and taking longer to run was all correct, but I didn't immediately connect the dots that "bootstrapping" meant that the only thing I had to do was to download the script from the right branch and run it. So I changed "bootstrap" to "installs itself on the first run."
When wget or curl are wrapped in a .bat or .cmd file as is done by chocolatey then you have to run with call. Using call to run regular executables works as well. This prevents the error "The system cannot find the batch label specified" from appearing.
java.util.JarFile. can fail without reporting the name of the file it's
operating on. If you have a jarfile that isn't a valid zip, this can be
confusing.
Unfortunately, even though *pump-in* is false, the server subprocess
still gets the SIGINT when you hit <ctrl-c>. REPLy used to take care of
that by registering a handler itself, but it's a ClassLoader leak, as
discussed in trptcolin/reply#127, so I removed it. But now subprocess
servers crash instead of gracefully being interrupted.
Here we're careful only to register the process in the specific case
where we're responsible for both the input and the server.
Pro: REPLy clients avoid classloader leaks.
Con: All REPLy clients have to implement this same sort of handling, but
only (?) if they're running in a subprocess.