Daniel Eklöf
0e89302da2
Merge branch 'block-input-events-while-pasting' into master
...
Closes #101
2020-08-27 19:51:37 +02:00
Daniel Eklöf
32639e442f
Merge branch 'xcalloc-fix' into master
2020-08-26 18:56:12 +02:00
Craig Barnes
fe9eaf3aaf
xmalloc: fix edge case handling in xcalloc() function
2020-08-25 20:49:24 +01:00
Daniel Eklöf
139f59c27d
Merge branch 'type-limit-fixes' into master
2020-08-25 20:49:29 +02:00
Craig Barnes
f3acfea815
fix some buggy comparisons relating to signed/unsigned types
2020-08-25 19:39:17 +01:00
Daniel Eklöf
1707db1678
selection: don't initiate a paste when we're already pasting
2020-08-25 18:56:15 +02:00
Daniel Eklöf
9ec4c3fd94
selection: must use term_paste_data_to_slave() for paste data
2020-08-25 18:56:15 +02:00
Daniel Eklöf
91a839bf8e
term: enqueue data: cleanup
2020-08-25 18:56:15 +02:00
Daniel Eklöf
efbc3431ed
selection: clipboard callback: assert we're in sending-paste-data mode
2020-08-25 18:56:15 +02:00
Daniel Eklöf
2762e044aa
changelog: fixed input events from getting mixed with paste data
2020-08-25 18:56:15 +02:00
Daniel Eklöf
e570146c07
selection: block non-paste data from being sent to client while pasting
...
While pasting data from the clipboard, block *all* other data from
being sent to the client. This includes keyboard and mouse events, but
also replies for VT queries.
This is particularly important when bracketed paste has been enabled,
since then the client will interpret *everything* between the
bracketed paste start and end as paste data.
2020-08-25 18:56:15 +02:00
Daniel Eklöf
81222dac57
selection: add a 2 second timeout when receiving clipboard data
...
When reading clipboard data, a malicious clipboard provider could
stall us forever, by not sending any data, and not closing the pipe.
This commit adds a timer_fd based timeout of 2 seconds. If the timer
triggers, we abort the clipboard receive.
2020-08-25 18:56:13 +02:00
Daniel Eklöf
777a2eac51
Merge branch 'pedantic' into master
2020-08-25 18:54:21 +02:00
Daniel Eklöf
8fb7347150
meson/pkgbuild: bump tllist requirement to 1.0.4
...
This is the first version of tllist that compiles with '-pedantic'.
2020-08-25 18:52:44 +02:00
Daniel Eklöf
a2257cb082
Merge branch 'message-fix' into master
2020-08-23 19:18:27 +02:00
Jonas 'cherti' Große Sundrup
b27e237192
synchronize config-error-message with available field values
2020-08-23 18:50:11 +02:00
Daniel Eklöf
a5e9ea7c28
meson: build with -pedantic
2020-08-23 10:07:09 +02:00
Daniel Eklöf
74cf8e0206
selection: don't do "return function_returning_void()" in functions returning void
2020-08-23 10:07:09 +02:00
Daniel Eklöf
9db78c3122
vt: hide pedantic warnings around the VT state machine's switch cases
...
The switch statements use the GCC extension "case X ... Y", and here
it doesn't really make any sense to convert it to "case X: case Y:",
so hide the warnings instead.
2020-08-23 10:07:08 +02:00
Daniel Eklöf
aa3985a298
Don't use "case X ... Y:", if possible/where it makes sense
2020-08-23 10:07:08 +02:00
Daniel Eklöf
e32c0d9bf6
Cast printf formatter %p arguments to void*
2020-08-23 10:07:08 +02:00
Daniel Eklöf
c779a5ec7d
log: include 'fmt' in __VA_ARGS__
...
This ensures all calls have at least one __VA_ARGS__ argument, thus
making them ISO C99 compliant.
2020-08-23 10:07:08 +02:00
Daniel Eklöf
dabdffafa5
don't use empty struct initializers
2020-08-23 10:07:00 +02:00
Daniel Eklöf
ddef95c297
config: add user-configured search-binding to the correct binding list
...
Search bindings were added to the normal key binding list...
2020-08-23 09:55:19 +02:00
Daniel Eklöf
ef7429d44a
Merge branch 'colorterm' into master
2020-08-23 06:46:13 +02:00
Craig Barnes
26fccae03d
slave: set $COLORTERM environment variable to "truecolor"
...
This is also done by libvte, alacritty, kitty and several other
terminal emulators as a way to indicate support for 24-bit RGB
colors. It generally also implies support for the xterm 256-color
palette and basic ECMA-48 colors.
2020-08-23 05:33:48 +01:00
Daniel Eklöf
75dc06f303
Merge branch 'timespec-compare-fix' into master
2020-08-23 06:08:38 +02:00
Daniel Eklöf
0788440061
Merge branch 'dont-send-mouse-events-to-client-when-binding-consumed-it' into master
2020-08-23 06:00:42 +02:00
Craig Barnes
0e7723e75f
csi: avoid using memcmp() to compare timespec structs
...
This struct may contain padding bytes, whose values are indeterminate
after any store operation[1]. It may also contain unnamed members,
whose values are always indeterminate[2]. Using memcmp() isn't a
reliable way to compare structs where either of these may be present.
[1]: ISO/IEC 9899:1999 §6.2.6.1, paragraph 6
[2]: ISO/IEC 9899:1999 §6.7.8, paragraph 9
See also:
* https://wiki.sei.cmu.edu/confluence/display/c/EXP42-C.+Do+not+compare+padding+data
* https://sourceware.org/git/?p=glibc.git;a=blob;f=time/bits/types/struct_timespec.h;hb=756c306502498f9
2020-08-23 03:08:35 +01:00
Daniel Eklöf
3ddc17937f
input: inhibit mouse events to client when a binding has consumed it
...
This introduces a new state to a seat's mouse struct, 'consumed'. It
is set on a mouse *press* event that is claimed by a mouse binding.
It is cleared after a mouse *release* event.
While set, *no* mouse motion or button events are sent to the client
application.
2020-08-22 13:35:36 +02:00
Daniel Eklöf
82e197072b
config: don't pass -1 to mbstowcs(), silences linker(?) warning
...
'n' _is_ ignored when 'dest' is NULL, but you can still get the
following warning:
In function ‘mbstowcs’,
inlined from ‘parse_section_scrollback’ at ../config.c:429:26:
/usr/include/bits/stdlib.h:129:10: warning: ‘__mbstowcs_alias’ specified size 18446744073709551612 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
129 | return __mbstowcs_alias (__dst, __src, __len);
To silence this warning, pass 0 instead, since it is ignored anyway.
2020-08-22 10:56:53 +02:00
Daniel Eklöf
11cb08f1b5
ci: sr.ht: run a codespell task at the end
2020-08-22 10:25:52 +02:00
Daniel Eklöf
7effd739b4
ci: gitlab: install pip
2020-08-22 10:20:21 +02:00
Daniel Eklöf
9971f3abb1
ci: gitlab: the package is called 'python3', not 'python'
2020-08-22 10:15:46 +02:00
Daniel Eklöf
f506eefe5e
ci: gitlab: pip install codespell
...
Alpine has no codespell package
2020-08-22 10:14:31 +02:00
Daniel Eklöf
9bedb98a0d
ci: gitlab: run codespell in the 'build' stage
...
This makes it run in parallel with the compilation steps
2020-08-22 10:14:10 +02:00
Daniel Eklöf
a41244a885
ci: gitlab: run a codespell stage on all *.c and *.h files
2020-08-22 10:11:20 +02:00
Daniel Eklöf
071cda1bd6
Merge branch 'dont-emit-newlines-when-copying-empty-cells' into master
...
Closes #97
2020-08-21 07:49:12 +02:00
Daniel Eklöf
f85cf47b65
extract: only emit newlines if followed by non-empty cells
...
Closes #97
2020-08-20 19:22:13 +02:00
Daniel Eklöf
277d676159
Merge branch 'no-async-unwind' into master
2020-08-19 19:09:12 +02:00
Craig Barnes
ce57bfa1ea
meson: use "-fno-asynchronous-unwind-tables" for non-debug builds
...
This removes the DWARF stack unwinding tables, which shrinks the
".eh_frame" and ".eh_frame_hdr" sections by about 24KiB. Stack
unwinding tables are pretty useless to a C program compiled in
release mode.
2020-08-19 17:22:21 +01:00
Daniel Eklöf
c0ddb78f4a
Merge branch 'selection-exclude-trailing-empty-cells' into master
2020-08-19 06:26:29 +02:00
Daniel Eklöf
1a2c6e183f
Merge branch 'update-grid-on-default-fg-bg-change' into master
...
Closes #94
2020-08-19 06:25:17 +02:00
Daniel Eklöf
9390f6a273
Merge branch 'fallthrough' into master
2020-08-19 06:24:21 +02:00
Craig Barnes
7c58648238
csi: add 2 missing "break" statements in csi_dispatch()
2020-08-18 20:49:44 +01:00
Daniel Eklöf
a48578c857
csi: xtrestore: add 'default' case
...
Don't call decset_decrst() with an unhandled parameter (and with
'enabled' uninitialized!)
2020-08-18 21:14:05 +02:00
Daniel Eklöf
79d20d75d2
csi: xtrestore: add missing break
2020-08-18 21:13:50 +02:00
Daniel Eklöf
fe95b6a013
changelog: trailing empty cells are not highlighted in mouse selections
2020-08-18 18:03:41 +02:00
Daniel Eklöf
cb9626741a
selection: don't highlight trailing empty cells in a selection
...
This makes it clear which cells contain spaces (that will be copied)
or are empty (will *not* be copied).
2020-08-18 18:03:07 +02:00
Daniel Eklöf
3e1636c013
osc: dirty grids on *all* color modifying sequences
...
We only updated the grid for OSC 4 - Set color <idx>. But we did *not*
do it for 104 (reset color <idx>), 10 - set default foreground, 11 -
set default background, 110 - reset default foreground, or 111 - reset
default background.
2020-08-18 17:54:11 +02:00