| Commit message (Collapse) | Author | Age |
| |
|
| |
|
|
|
|
| |
(added in 9ec808a4c)
|
| |
|
| |
|
| |
|
|
|
|
| |
This avoids the potential for leaking the resulting string.
|
|
|
|
|
|
| |
my_wcswidth() was just a wrapper around fish_wcswidth() already.
Instead, add two convenience overrides of fish_wcswidth() to common.h
that make it a drop-in replacement for my_wcswidth().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The screen size is fetched after a SIGWINCH is delivered. The current
implementation has two issues:
* It calls ioctl() from the SIGWINCH signal handler, despite ioctl() not
being a function that is known to be safe to call.
* It's not thread-safe.
Signals can be delivered on arbitrary threads, so we don't know if it's
actually safe to be modifying the cached winsize in response to a
signal. It's also plausible that the winsize may be requested from a
background thread.
To solve the first issue, we twiddle a volatile boolean flag in the
signal handler and defer the ioctl() call until we actually request the
screen size.
To solve the second issue, we introduce a pthread rwlock around the
cached winsize. A rwlock is used because it can be expected that there
are likely to be far more window size reads than window size writes. If
we were using C++11 we could probably get away with atomics, but since
we don't have that (or boost), a rwlock should suffice.
Fixes #1613.
|
|
|
|
|
|
| |
The characters ANY_CHAR, ANY_STRING, and ANY_STRING_RECURSIVE are
currently transformed by unescape, but not by escape. Let's try escaping
them. Fixes #1614.
|
|
|
|
| |
Fixes #1510
|
| |
|
|
|
|
| |
env_universal_server
|
|\ |
|
| |
| |
| |
| | |
NOT_A_WCHAR must be wint_t, not wchar_t
|
| |
| |
| |
| |
| | |
The fix is obviously a hack caused by that NOT_A_WCHAR
doesn't fit in wchar_t. Better fix would be nice.
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
reasons
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Conditionally uninitialized:
- builtin_commandline.cpp:577
- expand.cpp:869
- parse_util.cpp:1036
Initialization of POD structs:
- event.cpp:61
- autoload.cpp:22
References used with va_start:
- common.cpp:608:18
Found with clang-3.4's awesome -Wconditional-uninitialized,
-Wmissing-field-initializers and -Wvarargs.
|
|
|
|
|
|
|
| |
This reverts commit 74135c0600d5dcc40d396d0e7293c17b8d4bdaa7, reversing
changes made to 6d749789ce240a3e6f1447777db63fd8e7525560.
See discussion in #1317
|
| |
|
| |
|
| |
|
|
|
|
| |
1295
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
complete.cpp
fish_tests.cpp
highlight.cpp
|
| |
| |
| |
| | |
https://github.com/fish-shell/fish-shell/issues/1142
|
| |
| |
| |
| | |
https://github.com/fish-shell/fish-shell/issues/1107
|
| |
| |
| |
| |
| |
| | |
Makes tests pass
again.
|
|\| |
|
| | |
|
|\|
| |
| |
| |
| |
| | |
Conflicts:
complete.cpp
fish_tests.cpp
|
| | |
|
|/ |
|
|
|
|
| |
https://github.com/fish-shell/fish-shell/issues/846
|
| |
|
|
|
|
|
| |
https://github.com/fish-shell/fish-shell/issues/568
https://github.com/fish-shell/fish-shell/issues/528
|
| |
|
|
|
|
| |
https://github.com/fish-shell/fish-shell/issues/647
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
On FreeBSD, compilation complains that "this file includes
<sys/termios.h> which is deprecated, use <termios.h> instead". On Linux
and FreeBSD, <sys/termios.h> literally just pulls in <termios.h>. On OS
X and Solaris, <termios.h> pulls in <sys/termios.h>.
<termio.h> doesn't exist on FreeBSD or Mac OS X, and on Linux is marked
as deprecated and just includes <termios.h>. It does exist on Solaris,
but no `struct termio` is ever actually used in the codebase.
|
|
|
|
| |
Signed-off-by: lledey <lledey@gmail.com>
|