From e893c8ca976752f26841767d030c69111b6aaa61 Mon Sep 17 00:00:00 2001 From: Fabian Homborg Date: Mon, 4 Nov 2019 20:47:58 +0100 Subject: [PATCH] Revert "Set fish_clipboard_paste handler once on startup" This reverts commit f620ddf03bd4232ef68e6e794b17c444daf9a0ea. Setting the paste handler isn't performance-sensitive. On the other hand setting it this way makes things less transparent, less flexible (if e.g. a paste handler is installed while the shell is running), and causes #6286. Fixes #6286. [ci skip] --- share/functions/fish_clipboard_paste.fish | 30 ++++++++--------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/share/functions/fish_clipboard_paste.fish b/share/functions/fish_clipboard_paste.fish index 9a7754a35..08c0402b5 100644 --- a/share/functions/fish_clipboard_paste.fish +++ b/share/functions/fish_clipboard_paste.fish @@ -1,24 +1,14 @@ -# Search for and set clipboard handler only once at startup -if type -q pbpaste - function __fish_clipboard_paste - pbpaste 2>/dev/null - end -else if set -q WAYLAND_DISPLAY; and type -q wl-paste - function __fish_clipboard_paste - wl-paste 2>/dev/null - end -else if type -q xsel - function __fish_clipboard_paste - xsel --clipboard 2>/dev/null - end -else if type -q xclip - function __fish_clipboard_paste - xclip -selection clipboard -o 2>/dev/null - end -end - function fish_clipboard_paste - set -l data (__fish_clipboard_paste) + set -l data + if type -q pbpaste + set data (pbpaste 2>/dev/null) + else if set -q WAYLAND_DISPLAY; and type -q wl-paste + set data (wl-paste 2>/dev/null) + else if type -q xsel + set data (xsel --clipboard 2>/dev/null) + else if type -q xclip + set data (xclip -selection clipboard -o 2>/dev/null) + end # Issue 6254: Handle zero-length clipboard content if not string match -qr . -- "$data"