| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
This narrows the range of Unicode codepoints fish reserves for its own
use from U+E000 thru U+F8FE (6399 codepoints) to U+F600 thru U+F73F (320
codepoints). This is still not ideal since fish shouldn't be using any
Unicode private-use codepoints but it's a step in the right direction.
This partially addresses issue #2684.
|
|
|
|
|
|
|
|
|
|
| |
This was used to cache a narrow string representation
of commands, so that if certain system calls returned errors
after fork, we could output error messages without allocating
memory. But in practice these errors are very uncommon, as are
commands that have wide characters. It is simpler to do a best-effort
output of the wide string, instead of caching a narrow string
unconditionally.
|
|
|
|
|
|
|
| |
Prior to this fix, read_ni would use parse_util_detect_errors
to lint the script to run, and then parser_t::eval() to execute it.
Both functions would parse the script into a parse tree. This allows
us to re-use the parse tree, improving perfomance.
|
|
|
|
|
|
| |
Introduces a new template moved_ref which is like an rvalue reference.
This allows passing around objects while being explicit that the
receiver may acquire ownership. This will help reduce some allocations.
|
| |
|
| |
|
| |
|
|
|
|
| |
This prevents undesired implicit conversions
|
|
|
|
| |
It doesn't use any properties of parser_t
|
|
|
|
| |
Errors are now unconditionally shown
|
|
|
|
| |
It was never fully implemented and wasn't used for anything
|
|
|
|
| |
Fixes #2772
|
|
|
|
|
| |
Previously there had to be some variable text, now you can
tab complete from just a naked $.
|
| |
|
| |
|
|
|
|
| |
completeable.
|
|
|
|
| |
Ought to fix the wildcard expansion test on Linux
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pcre2_substitute() now sets the output buffer length to PCRE2_UNSET (~0)
if the output buffer is determined to be too small. This change keeps
track of the buffer size separately where pcre2 can't touch it.
A better fix would be to let pcre2 tell fish what size buffer it needs.
This can be done with PCRE2_SUBSTITUTE_OVERFLOW_LENGTH, but this
requires pcre2 10.21 or later (released January 12), which may be too
new to introduce as a dependency at this point.
Fixes #2743
|
|
|
|
| |
Noticed by cppcheck
|
|
|
|
| |
out_suggested_cdpath is no longer required from is_potential_path
|
| |
|
| |
|
| |
|
|
|
|
| |
This avoids confusion between getcwd() and $PWD
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This will simplify some code and make the cd autosuggestion smarter
|
| |
|
|
|
|
|
|
| |
get_is_interactive can crash if proc_init has not been called.
Fixes #2280
|
|
|
|
| |
Fix a few typos too
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Expand globs to zero arguments (nullglob) only for set, for and count.
The warning about failing globs, and setting the accompanying $status,
now happens regardless of mode, interactive or not.
It is assumed that the above commands are the common cases where
nullglob behaviour is desirable.
More importantly, doing this with `set` is a real feature enabler,
since the resulting empty array can be passed on to any command.
The previous behaviour was actually all nullglob (since commit
cab115c8b9933ae7db9412c66d452c0ccb2d7152), but this was undocumented;
the failglob warning was still printed in interactive mode,
and the documentation was bragging about failglob behaviour.
|
| |
|
| |
|
|
|
|
| |
The argv argument may be modified on calls to exchange within the function and should not be const qualified (it's not true from the caller's point of view).
|
|
|
|
|
|
| |
On arm, wchar_t is unsigned, and C++11 and newer disallow implicit
narrowing conversions inside braces. Use an explicit conversion to
fix the build on GCC 6 and up, which defaults to C++11.
|
|
|
|
|
| |
Breaks up a big ugly function into separable stages
with a common interface.
|
| |
|
|
|
|
| |
Remove some unnecessary variables, make some things not pointers
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This changes the default escape timeout for the default keybindings (emacs
mode) to 300ms and the default for vi keybindings to 10ms.
I couldn't resist fixing a few nits in the fish_vi_key_bindings.fish file
since I was touching it to set the escape timeout.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
All versions of fish prior to this change silently discarded anything written
to stderr while source a config.fish file. Apparently just to avoid having
the source command display an error if the file did not exist. This can mask
real problems. So instead this change explicitly checks whether the file is
readable and silently skips sourcing it if it isn't.
Resolves issue #2702.
|
| |
| |
| |
| | |
Fixes #2672
|
| |
| |
| |
| | |
Partial fix for #2672
|
| |
| |
| |
| | |
deque is a memory hog last I checked
|
|\ \ |
|
| | |
| | |
| | |
| | | |
Fixes #2696
|
| | | |
|