mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-15 22:05:24 -05:00
selection: don’t translate \r to \n when pasting
In non-bracketed paste mode, we translate \n to \r, and \r\n to \r. The latter matches XTerm, urxvt, alacritty and kitty. The former matches alacritty and kitty (xterm and urxvt just blindly replaces all \n occurrences with \r, meaning \r\n is translated to \r\r. For some reason, we then unconditionally translated all \r back to \n, regardless of whether bracketed paste was enabled or not. Unsure why/where this comes from, but it doesn't match any of the other terminal emulators I tested. One example where this caused issues is in older versions of nano (at least up to 2.9). Closes #980
This commit is contained in:
parent
8d4d22218e
commit
485c473e76
2 changed files with 4 additions and 7 deletions
|
|
@ -58,6 +58,8 @@
|
|||
sequences (https://codeberg.org/dnkl/foot/issues/325).
|
||||
* OSC-4 and OSC-11 replies now uses four digits instead of 2
|
||||
(https://codeberg.org/dnkl/foot/issues/971).
|
||||
* `\r` is no longer translated to `\n` when pasting clipboard data
|
||||
(https://codeberg.org/dnkl/foot/issues/980).
|
||||
|
||||
|
||||
### Deprecated
|
||||
|
|
|
|||
|
|
@ -1638,11 +1638,6 @@ fdm_receive_timeout(struct fdm *fdm, int fd, int events, void *data)
|
|||
static void
|
||||
fdm_receive_decoder_plain(struct clipboard_receive *ctx, char *data, size_t size)
|
||||
{
|
||||
/* \r -> \n */
|
||||
for (size_t i = 0; i < size; i++) {
|
||||
if (data[i] == '\r')
|
||||
data[i] = '\n';
|
||||
}
|
||||
ctx->cb(data, size, ctx->user);
|
||||
}
|
||||
|
||||
|
|
@ -1760,8 +1755,8 @@ fdm_receive(struct fdm *fdm, int fd, int events, void *data)
|
|||
|
||||
/*
|
||||
* Call cb while at same time replace:
|
||||
* - \r\n -> \r
|
||||
* - \n -> \r
|
||||
* - \r\n -> \r (non-bracketed paste)
|
||||
* - \n -> \r (non-bracketed paste)
|
||||
* - C0 -> <nothing> (strip non-formatting C0 characters)
|
||||
* - \e -> <nothing> (i.e. strip ESC)
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue