| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
Cygwin still doesn't support any of the backtrace functions. Also, remove a
spurious newline from a debug message.
Fixes #2993
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I noticed that the `test_convert()` function was randomly failing when
run on OS X Snow Leopard. I tracked it down to the `mbrtowc()` function on
that OS being broken. Explicitly testing for UTF-8 prefixes that identify
a sequence longer than four bytes (which the Unicode standard made illegal
long ago) keeps us from having encoding errors on those OS's.
This also makes the errors reported by the `test_convert()` function actually
useful and readable.
Lastly, it makes it possible to build fish on OS X Snow Leopard.
|
|
|
|
| |
It's not required as part of fallback functions any more.
|
|
|
|
|
|
|
|
| |
Drops configure check for wcsdup, wcslen, wcscasecmp, wcsncasecmp,
wcwidth, wcswidth, wcstok, fputwc, fgetwc, and wcstol. Drop the fallback
implementations of these on non-Snow Leopard platforms.
Work on #2999.
|
|
|
|
|
|
|
| |
All modern operating systems implement fwprintf, including NetBSD (which
introduced them in 2005).
Work on #2999.
|
|
|
|
|
|
|
| |
sysconf was introduced in IEEE Std 1003.1-1988 (POSIX.1) and exists
on every system I can find.
Work on #2999.
|
|
|
|
|
|
|
|
|
|
|
| |
fwprintf would segfault on DragonFly BSD 1.4.0, released in January
2006. This was fixed by DragonFly BSD 1.4.4, released in April 2006. It
seems unlikely that anyone is still running a ten-year-old, unsupported
version, and hoping that fish will continue to build.
I've checked this in virtual machines.
Work on #2999.
|
|
|
|
| |
Work on #2999.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
This change does several things. First, and most important, it allows
dumping the "n" most recent stack frames on each debug() call. Second,
it demangles the C++ symbols. Third, it prepends each debug() message
with the debug level.
Unrelated to the above I've replaced all `assert(!is_forked_child());`
statements with `ASSERT_IS_NOT_FORKED_CHILD()` for consistency.
|
|
|
|
|
|
|
| |
Fix a minor bogosity I noticed while building fish on OS X Snow
Leopard. It's technically not a bug because only old compilers complain
about the original statement but this change makes the one line this
changes consistent with the rest of the fish code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
The original `key_reader` program was useful but didn't do much that `xxd`
or `od -tx1z` didn't do. Furthermore, it wasn't built and installed by
default. This change adds features that make it superior to those programs
for decoding interactive key presses and makes it a first-class citizen
like the `fish_indent` program that is always available.
Fixes #2991
|
| |
|
|
|
|
|
|
|
|
| |
The fork (create new process) related debugging messages rely on an
undocumented env var and use `printf()` rather than `debug()`. There are
also errors in how the fork count is tracked that this fixes.
Fixes #2995
|
| |
|
|
|
|
|
| |
The remaining lint work to be done on screen.cpp will require refactoring
several functions that are way too large and complex.
|
|
|
|
|
| |
This removes some pointless parentheses but the primary focus is removing
redundancies like unnecessary "else" clauses.
|
|
|
|
|
|
|
| |
Some `oclint` errors regarding "useless parentheses" are meaningfull. But
the vast majority are bogus in as much as removing the parentheses reduces
readability. So fix a few of the egregious uses and otherwise suppress
that error.
|
|
|
|
| |
Fixes #2993
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I missed restyling a few "switch" blocks to make them consistent with the rest
of the code base. This fixes that oversight. This should be the final step in
restyling the C++ code to have a consistent style. This also includes a few
trivial cleanups elsewhere.
I also missed restyling the "complete" module when working my way from a to z
so this final change includes restyling that module.
Total lint errors decreased 36%. Cppcheck errors went from 47 to 24. Oclint P2
errors went from 819 to 778. Oclint P3 errors went from 3252 to 1842.
Resolves #2902.
|
|
|
|
|
|
|
|
|
| |
For this change I decided to bundle the remaining modules that need to be
resytyled because only two were large enough to warrant doing on their own.
Reduces lint errors from 225 to 162 (-28%). Line count from 3073 to 2465 (-20%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 63 to 57 (-10%). Line count from 518 to 418 (-19%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 70 to 46 (-34%). Line count from 1158 to 936 (-19%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 15 to 15 (-0%). Line count from 754 to 438 (-42%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 163 to 112 (-31%). Line count from 1866 to 1493 (-20%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 338 to 205 (-39%). Line count from 4650 to 3654 (-21%).
Another step in resolving issue #2902.
|
| |
|
|
|
|
|
|
| |
Reduces lint errors from 134 to 101 (-25%). Line count from 1994 to 1466 (-26%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 37 to 20 (-46%). Line count from 670 to 566 (-15%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 30 to 21 (-30%). Line count from 597 to 481 (-19%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 72 to 44 (-43%). Line count from 1698 to 1313 (-23%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 187 to 91 (-51%). Line count from 1754 to 1477 (-16%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 163 to 52 (-68%). Line count from 2012 to 1904 (-5%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 33 to 9 (-73%). Line count from 551 to 534 (-3%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 184 to 84 (-54%). Line count from 2139 to 1943 (-9%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 65 to 25 (-63%). Line count from 1439 to 1218 (-15%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 34 to 31 (-9%). Line count from 712 to 535 (-25%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 10 to 9 (-10%). Line count from 242 to 175 (-28%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 41 to 26 (-37%). Line count from 444 to 423 (-5%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 15 to 10 (-33%). Line count from 637 to 489 (-23%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 8 to 6 (-25%). Line count from 112 to 83 (-26%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 27 to 24 (-11%). Line count from 466 to 378 (-19%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 69 to 48 (-30%). Line count from 1270 to 1044 (-18%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 176 to 69 (-61%). Line count from 1627 to 1426 (-12%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 39 to 27 (-31%). Line count from 619 to 498 (-20%).
Another step in resolving issue #2902.
|
|
|
|
|
|
| |
Reduces lint errors from 60 to 60 (-0%). Line count from 5599 to 4925 (-12%).
Another step in resolving issue #2902.
|
|
|
|
|
|
|
|
|
|
| |
Reduces lint errors from 36 to 33 (-8%). Line count from 1910 to 1476 (-23%).
Another step in resolving issue #2902.
This also fixes a stupid mistake from an earlier commit where I didn't realize
that osx/config.h was meant to be included as a semi-static file in the
repository.
|
|
|
|
| |
It has apparently never worked. Fixes #2988
|