From 1dcf9a5d2a727913bc53c68756bdaf6db5573671 Mon Sep 17 00:00:00 2001 From: Sam Steingold Date: Tue, 22 Dec 2015 12:02:30 -0500 Subject: [PATCH] clipboard should still work even if interprogram-* is disabled (clipboard-yank): When `interprogram-cut-function' is nil, bind it to `gui-selection-value' - the default value. (clipboard-kill-region, clipboard-kill-ring-save): When `interprogram-paste-function' is nil, bind it to `gui-select-text' - the default value. --- lisp/menu-bar.el | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index 42f48c784e1..b22c1eab907 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@ -535,19 +535,25 @@ (defun clipboard-yank () "Insert the clipboard contents, or the last stretch of killed text." (interactive "*") - (let ((gui-select-enable-clipboard t)) + (let ((gui-select-enable-clipboard t) + (interprogram-paste-function (or interprogram-paste-function + #'gui-selection-value))) (yank))) (defun clipboard-kill-ring-save (beg end &optional region) "Copy region to kill ring, and save in the GUI's clipboard." (interactive "r\np") - (let ((gui-select-enable-clipboard t)) + (let ((gui-select-enable-clipboard t) + (interprogram-cut-function (or interprogram-cut-function + #'gui-select-text))) (kill-ring-save beg end region))) (defun clipboard-kill-region (beg end &optional region) "Kill the region, and save it in the GUI's clipboard." (interactive "r\np") - (let ((gui-select-enable-clipboard t)) + (let ((gui-select-enable-clipboard t) + (interprogram-cut-function (or interprogram-cut-function + #'gui-select-text))) (kill-region beg end region))) (defun menu-bar-enable-clipboard () -- 2.39.2