Commit 2666a6a5 authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

(x-select-text): Never set the CLIPBOARD selection.

(x-cut-buffer-or-selection-value): Try PRIMARY before cut buffer.
(x-cut-buffer-max): Set based on x-server-max-request-size.
parent 79941276
......@@ -491,23 +491,21 @@ This returns ARGS with the arguments that have been processed removed."
;;; from x-cut-buffer-or-selection-value.
(defvar x-last-selected-text nil)
;;; It is said that overlarge strings are slow to put into the cut buffer,
;;; and would crash the clipboard.
(defvar x-cut-buffer-max 20000
"Max number of characters to put in the cut buffer or clipboard.")
;;; Make TEXT, a string, the primary and clipboard X selections.
;;; If you are running xclipboard, this means you can effectively
;;; have a window on a copy of the kill-ring.
;;; It is said that overlarge strings are slow to put into the cut buffer.
(defvar x-cut-buffer-max (min (- (/ (x-server-max-request-size) 2) 100)
20000)
"Max number of characters to put in the cut buffer.")
;;; Make TEXT, a string, the primary X selection.
;;; Also, set the value of X cut buffer 0, for backward compatibility
;;; with older X applications.
;;; gildea@lcs.mit.edu says it's not desirable to put kills
;;; in the clipboard.
(defun x-select-text (text &optional push)
;; Don't send the cut buffer too much text.
;; It becomes slow, and if really big it causes errors.
(if (< (length text) x-cut-buffer-max)
(progn
(x-set-cut-buffer text push)
(x-set-selection 'CLIPBOARD text))
(x-set-cut-buffer text push)
(x-set-cut-buffer "" push))
(x-set-selection 'PRIMARY text)
(setq x-last-selected-text text))
......@@ -518,12 +516,12 @@ This returns ARGS with the arguments that have been processed removed."
(defun x-cut-buffer-or-selection-value ()
(let (text)
;; Consult the cut buffer, then the selection. Treat empty strings
;; Consult the selection, then the cut buffer. Treat empty strings
;; as if they were unset.
(setq text (x-get-cut-buffer 0))
(if (string= text "") (setq text nil))
(or text (setq text (x-get-selection 'PRIMARY)))
(if (string= text "") (setq text nil))
(setq text (x-get-cut-buffer 0))
(if (string= text "") (setq text nil))
(cond
((not text) nil)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment