# HG changeset patch # User Richard M. Stallman # Date 743632204 0 # Node ID 79dc5c3370f8d63e79648c7ca5fd071e2e340da2 # Parent 41c85882768ccf8360b5de3965bf3722a1f1f866 (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. diff -r 41c85882768c -r 79dc5c3370f8 lisp/term/x-win.el --- a/lisp/term/x-win.el Sun Jul 25 06:35:25 1993 +0000 +++ b/lisp/term/x-win.el Sun Jul 25 20:30:04 1993 +0000 @@ -491,23 +491,21 @@ ;;; 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.") +;;; 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 and clipboard X selections. -;;; If you are running xclipboard, this means you can effectively -;;; have a window on a copy of the kill-ring. +;;; 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 @@ (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. + (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)) - (or text (setq text (x-get-selection 'PRIMARY))) - (if (string= text "") (setq text nil)) (cond ((not text) nil)