Mercurial > emacs
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)