Johannes Altmanninger
7686c39d76
test_cargo-test: inherit same variables as Corrosion build targets
...
In particular, pass the build directory, which is required in some test
scenarios (see next commit).
2024-01-13 03:07:29 +01:00
Johannes Altmanninger
a20525c44f
build.rs: deduplicate the build-dir heuristic
2024-01-13 03:07:29 +01:00
Johannes Altmanninger
67de32fe2d
Enable pexpect tests in ASAN CI again
2024-01-13 03:07:29 +01:00
Johannes Altmanninger
6ab74c6b09
Human-readable ASAN stack traces CI
...
Show file names, line numbers and function names in ASAN stack traces
(instead of object file + raw memory address).
2024-01-13 03:07:29 +01:00
Johannes Altmanninger
537e3cb9e1
CI: remove UBSAN_OPTIONS
...
Rust does not support UBSan today.
2024-01-13 03:07:29 +01:00
Peter Collingbourne
0b3e9609f1
completions/fastboot: declare -s as taking an argument, add argument completions
2024-01-12 20:45:56 +01:00
Fabian Boehm
23a8967ecb
fish_config: Fix on python < 3.12 if not on Windows
2024-01-12 18:42:55 +01:00
ahaoboy
8009469f8f
Add support for the Windows MSYS environment.
2024-01-12 17:55:49 +01:00
yinm
b583145a00
Shorten long descriptions
2024-01-12 17:53:49 +01:00
Manlio Perillo
a953b7984d
doc_src: add print media support to the Sphinx theme
...
Update the pydoctheme.css file to add support for print media.
The code was adapted from the existing support for screens that are less than
700px wide, with the following changes:
- Remove the documents and sections index
- Remove the quick search
- Remove dead CSS code
Additionally, add section numbers and ensure that code blocks are never split
across multiple pages.
2024-01-12 17:52:43 +01:00
Mahmoud Al-Qudsi
fdbda18418
Use updated crates.io release for dev dependencies
...
The versions on crates.io now have the patches we need upstreamed.
2024-01-11 16:58:32 -06:00
Fabian Boehm
40feed56cf
fmt
...
I wish this was shorter, but oh well
2024-01-10 20:59:50 +01:00
Fabian Boehm
2e14c32c5e
fish_indent: Another crash
...
NUL at the end, which is now ignored.
Not *great*, but better than crashing.
2024-01-10 20:56:13 +01:00
Fabian Boehm
50acc4f4de
fish_indent: Fix crash with NUL in the source
...
Really we should *reject* this
2024-01-10 20:47:39 +01:00
Fabian Boehm
52a3e1393f
Add tests
2024-01-10 19:36:06 +01:00
Fabian Boehm
445406d251
fish_indent: Don't panic for gap text
...
It should be fine to just write the space out here.
This one triggered by `echo b\|\{ | ./fish_indent`
2024-01-10 19:33:47 +01:00
Fabian Boehm
ed251578d1
fish_indent: Fix crash if errors aren't sorted
...
I've found this for `echo \x1e\<\) | ./fish_indent`
Which is *extremely* broken script, to be fair
2024-01-10 19:33:00 +01:00
Fabian Boehm
76ddfca420
ast: Actually format debug messages
...
Also fixes two format strings
2024-01-10 19:20:07 +01:00
Fabian Boehm
b5ccacf5b5
fish_indent: Fix crash with redirection at the end of the source
2024-01-10 18:54:25 +01:00
Fabian Boehm
cb51b236f3
cmake: Include GNUInstallDirs earlier for BINDIR etc to take effect
...
GNUInstallDirs is what defines CMAKE_INSTALL_FULL_BINDIR and such, so
the setting in Rust.cmake didn't work.
This also makes build.rs error out if any of these aren't defined
2024-01-10 17:51:23 +01:00
Fabian Boehm
2aee930659
Revert "Remove redundantly set corrosion env vars."
...
This reverts commit 114ebe3b8f
.
2024-01-10 17:21:05 +01:00
Fabian Boehm
fbfc6f8d8c
Fix highlighting for slices with quotes
...
This would highlight `$var["foo"]` as an error because
parse_util_slice_length didn't advance the iterator.
There's got to be a nicer way to write this.
2024-01-10 17:04:54 +01:00
Johannes Altmanninger
e84d110995
Fix arithmetic overflow in up-line
...
The C++ code implicitly relied on wrapping behavior.
There are probably more cases like this. Maybe we should disable
"overflow-checks" in release mode.
2024-01-10 09:38:45 +01:00
Johannes Altmanninger
114ebe3b8f
Remove redundantly set corrosion env vars.
...
They should already be set in Rust.cmake.
See https://github.com/fish-shell/fish-shell/pull/10198#discussion_r1446402611
2024-01-10 09:38:45 +01:00
Johannes Altmanninger
113f76eecb
Address minor clippy lint
2024-01-10 09:38:45 +01:00
Fabian Boehm
b82dad0160
Fix tokenizer crash
...
This would crash from the highlighter for something like
`PATH={$PATH[echo " "`
The underlying cause is that we use "char_at" which panics on
overread.
So instead this implements try_char_at and then just returns None.
2024-01-09 19:12:16 +01:00
Fabian Boehm
f7c9538fb0
wildcard: Check trailing components against
...
Forward-port of c31e194120
,
Revert of 6823f5e337
,
Fixes #10205
2024-01-09 19:08:52 +01:00
Fabian Boehm
96caee837c
docs: Add else and end to keywords list
2024-01-09 16:27:33 +01:00
Fabian Boehm
a3c4d74ecd
Don't always regenerate the exported array
...
This made launching external commands about 30% slower.
2024-01-08 17:50:02 +01:00
ridiculousfish
40fad20d7f
Remove additional unnecessary uses of unsafe
2024-01-07 17:39:23 -08:00
ridiculousfish
92f49ca071
Remove unsafe from handling of DISOWNED_PIDS
...
This can be trivially safe.
2024-01-07 17:34:27 -08:00
ridiculousfish
5bff483fe1
Clean up io_chain in IoStreams
...
Previously this was a pointer; now it can just be a reference.
2024-01-07 17:28:36 -08:00
ridiculousfish
7d7c59611f
Implement AtomicRef and use that instead of Lazy strings
...
This improves thread safety since we're now using actual atomics.
2024-01-07 17:04:41 -08:00
ridiculousfish
1914c3a513
Clean up wgettext
...
Because wgettext stores strings forever, we can simply leak them onto the heap;
this cleans up some call sites and type signatures.
2024-01-07 15:51:02 -08:00
ridiculousfish
9aa5a97530
Migrate truncate_at_nul to common and write some tests
...
This encapsulates a common pattern of truncating a wstr at its first NUL
character.
2024-01-07 15:41:36 -08:00
Johannes Altmanninger
29bd6eebd0
Remove cxx and autocxx
...
Notably this gets rid of the Cargo target directory inside build directories,
in favor of "target/" at workspace root.
2024-01-07 22:19:56 +01:00
Johannes Altmanninger
8a67abfeaa
CMake: remove stale lint targets
2024-01-07 22:19:56 +01:00
Johannes Altmanninger
bb2a012c7b
Use _PATH_BSHELL again in posix_spawn ENOEXEC fallback
2024-01-07 22:19:56 +01:00
Johannes Altmanninger
f7c9753c4b
Rename compat.rs to libc.rs
...
Matches Rust convention better.
2024-01-07 22:19:56 +01:00
ridiculousfish
e110d4c672
Remove some unnecessary L!
2024-01-07 12:36:50 -08:00
Fabian Boehm
0d6c6b2c8a
Check MB_CUR_MAX() outside of loop
...
This is more correct - we don't want to change how we encode this
string in the middle of encoding it, and also happens to be a bit
faster in my benchmarks because this is actually a function call
according to valgrind.
2024-01-07 20:48:47 +01:00
Fabian Boehm
ae24d98356
benchmarks: Run glob only once
...
We assume that you use something like hyperfine to run warmups, like
our driver script does.
This allows the script to be run e.g. in valgrind without being too
much of a pain in the gluteus.
2024-01-07 19:33:15 +01:00
Johannes Altmanninger
8d2fa4ae95
fish_indent: fix accidentally quadratic perf regression due to chars().last()
...
Iterator::last() consumes the entire iterator, even for DoubleEndedIterator,
see https://github.com/rust-lang/rust/pull/28125#issuecomment-145070161
Because of this, "at_line_start()" took 90% of
fish_indent share/completions/git.fish
making it take 1000ms instead of 30 ms. Fix that.
2024-01-07 19:04:54 +01:00
Johannes Altmanninger
57d7c46d22
completions: fix some completions to not look at other commands on the command line
2024-01-07 19:04:54 +01:00
Johannes Altmanninger
d71aae7d3b
completions/ip: remove obsolete workaround
...
This workaround already exists in core completion machinery.
2024-01-07 19:04:54 +01:00
Johannes Altmanninger
17bdf28b7a
Remove unused moveit dependancy
2024-01-07 16:09:51 +01:00
Johannes Altmanninger
47c503bbf3
Make rand_pcg a test-only dependency
2024-01-07 16:09:51 +01:00
Fabian Boehm
244d882984
Fix ASAN workflow
2024-01-07 15:39:48 +01:00
Fabian Boehm
16c2c14fb4
Restyle
2024-01-07 15:13:34 +01:00
Fabian Boehm
0f5b2d4837
Remove C++ style/lint cruft
2024-01-07 15:12:21 +01:00