The elvdocs still use the old format (#elvdoc:fn or #elvdoc:var) for now, but
will be changed to "fn" and "var" forms soon.
Also remove the accidentally committed cmd/mvelvdoc. It has been used to perform
the conversion automatically but is not supposed to be committed.
* Allow $nil for Callable options
Related #1570
* Add a `&key` option to the `order` command.
Resolves#1570
Co-authored-by: Qi Xiao <xiaq@users.noreply.github.com>
A year ago I submitted a change to replace AnyError with tests for specific
errors (see https://github.com/elves/elvish/commit/87656c99). This does
something similar for DoesNotCompile. This ensures the test does what
is implied and makes correlating specific unit tests with compilation
errors easier.
This includes a couple of changes to compilation error messages to improve
readability (IMHO) but those are not the primary purpose of this change.
Related #1560
- Let file:is-tty always take one argument.
- Revert change to eval.ByteOutput.
- Make sys.IsATTY take a FD instead, to avoid the need to use os.NewFile. Using
os.NewFile can cause the Go runtime to start polling the file, which
interferes with Elvish's terminal reader.
Proactively remove support for shared vars per the discussions in issue
https://b.elv.sh/1222 and the IM channels. This feature is not used
by Elvish itself and is not believed to be used by any Elvish users.
Removing this (presumptively) unused feature makes it simpler to replace
the existing BoltDB store of interactive command/location history with a
simpler flat file implementation (such as used by Bash and Fish). Also,
eliminating shared var support makes it explicit that solving issue #1222
doesn't need to deal with that feature.
Related #1222
- Keep more metrics than just the minimal duration.
- Change default &min-time to 1s.
- Don't allow unitless value as &min-time.
- Rename &on-run to &on-run-end, and &min-iters to &min-runs.
The method returns a message saying that there is no valid value if ValidHigh <
ValidLow. This was useful when these fields were numbers, but since they are now
strings this no longer works.
While working on other changes I noticed that
https://elv.sh/ref/path.html#path:separator used a double backslash for
the Windows example while it should have used a single backslash.
Cirrus has native support for cancelling a CI task if there is a newer push.
This means that we don't have to worry about the case of a newer push while the
task is running since it can simply be cancelled.
- Add task to test on ARM.
- Split go_modules_cache and go_build_cache. The former doesn't need to be
reuploaded, the latter does.
- Add tasks to check the binary checksums on websites, like the check_website CI
in GitHub Actions. Adding another independent builder ensures reproducibility
and integrity of the prebuilt binaries.
- Move go_toolchain_cache to the FreeBSD entry.
Replace fingerprint_key with fingerprint_script.
- Update FreeBSD to 13.1.
- Update gccgo's script (still commented out) to use gccgo-12 and install git.