changeset 4273:79dc5c3370f8

(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.
author Richard M. Stallman <rms@gnu.org>
date Sun, 25 Jul 1993 20:30:04 +0000
parents 41c85882768c
children 6e46ab2ea271
files lisp/term/x-win.el
diffstat 1 files changed, 11 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- 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)