| Commit message (Collapse) | Author | Age |
|
|
|
| |
And re-run IWYU, adjust #includes.
|
|
|
|
|
|
|
|
| |
The autoconf-generated config.h contains a number of directives which
may alter the behaviour of system headers on certain platforms. Always
include it in every C++ file as the first include.
Closes #2993.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's currently too easy for someone to bork their shell by doing something
like `function test; return 0; end`. That's obviously a silly, contrived,
example but the point is that novice users who learn about functions are
prone to do something like that without realizing it will bork the shell. Even
expert users who know about the `test` builtin might forget that, say, `pwd`
is a builtin.
This change adds a `--shadow-builtin` flag that must be specified to
indicate you know what you're doing.
Fixes #3000
|
|
|
|
|
|
| |
I'm doing this as part of fixing issue #2980. The code for managing tty modes
and job control is a horrible mess. This is a very tiny step towards improving
the situation.
|
|
|
|
|
| |
This removes some pointless parentheses but the primary focus is removing
redundancies like unnecessary "else" clauses.
|
|
|
|
|
|
| |
Reduces lint errors from 184 to 84 (-54%). Line count from 2139 to 1943 (-9%).
Another step in resolving issue #2902.
|
|
|
|
|
|
|
|
|
| |
Remove the "make iwyu" build target. Move the functionality into the
recently introduced lint.fish script. Fix a lot, but not all, of the
include-what-you-use errors. Specifically, it fixes all of the IWYU errors
on my OS X server but only removes some of them on my Ubuntu 14.04 server.
Fixes #2957
|
|
|
|
| |
My IDE (Kdevelop 4.7.3) didn't tackle them.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Errors are now unconditionally shown
|
| |
|
|
|
|
| |
Noticed by cppcheck
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
For example:
if false; or true; echo hello; end
will output 'hello' now.
Fixes #1428
|
|
|
|
|
|
|
|
| |
Rather than returning a list of productions and an index,
return the relevant production directly from the rule function.
Also introduce a tag value (replacing production_idx) which tracks
information like command decorations, etc. with more clarity.
|
|
|
|
|
|
|
| |
This change eliminates global variables like stdout_buffer. Instead we wrap up
the IO information into a new struct io_streams_t, and thread that through
every builtin. This makes the intent clearer, gives us a place to hang new IO
data, and eliminates the ugly global state management like builtin_push_io.
|
| |
|
|
|
|
| |
Make it simpler, and use wcstring instead of wcsdup
|
|\
| |
| |
| | |
http://include-what-you-use.org/
|
| |
| |
| |
| |
| | |
Replace uses of vector<completion_t>& with vector<completion_t>*
This makes it clear at the call site that the object may be mutated.
|
|/ |
|
|
This change moves source files into a src/ directory,
and puts object files into an obj/ directory. The Makefile
and xcode project are updated accordingly.
Fixes #1866
|