Mercurial > hg > xemacs-beta
diff lisp/select.el @ 418:e804706bfb8c r21-2-17
Import from CVS: tag r21-2-17
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:23:13 +0200 |
parents | ebe98a74bd68 |
children | 11054d720c21 |
line wrap: on
line diff
--- a/lisp/select.el Mon Aug 13 11:22:24 2007 +0200 +++ b/lisp/select.el Mon Aug 13 11:23:13 2007 +0200 @@ -40,7 +40,7 @@ If a list is provided, the types are tried in sequence until there is a successful conversion.") -(defvar selection-is-clipboard-p nil +(defvar selection-sets-clipboard nil "Controls the selection's relationship to the clipboard. When non-nil, any operation that sets the primary selection will also set the clipboard.") @@ -75,21 +75,18 @@ "Return the value of one of the cut buffers. This will do nothing under anything other than X.") +(defun get-selection-no-error (&optional type data-type) + "Return the value of a Windows selection. +The argument TYPE (default `PRIMARY') says which selection, +and the argument DATA-TYPE (default `STRING', or `COMPOUND_TEXT' under Mule) +says how to convert the data. Returns NIL if there is no selection" + (condition-case err (get-selection type data-type) (t nil))) + (defun get-selection (&optional type data-type) "Return the value of a Windows selection. The argument TYPE (default `PRIMARY') says which selection, and the argument DATA-TYPE (default `STRING', or `COMPOUND_TEXT' under Mule) says how to convert the data. If there is no selection an error is signalled." - (let ((text (get-selection-no-error type data-type))) - (when (not (stringp text)) - (error "Selection is not a string: %S" text)) - text)) - -(defun get-selection-no-error (&optional type data-type) - "Return the value of a Windows selection. -The argument TYPE (default `PRIMARY') says which selection, -and the argument DATA-TYPE (default `STRING', or `COMPOUND_TEXT' under Mule) -says how to convert the data. Returns NIL if there is no selection" (or type (setq type 'PRIMARY)) (or data-type (setq data-type selected-text-type)) (let ((text @@ -103,6 +100,8 @@ (get-selection-internal type data-type)))) (when (and (consp text) (symbolp (car text))) (setq text (cdr text))) + (when (not (stringp text)) + (error "Selection is not a string: %S" text)) text)) ;; FSFmacs calls this `x-set-selection', and reverses the @@ -144,7 +143,7 @@ (disown-selection-internal type) (own-selection-internal type data) (when (and (eq type 'PRIMARY) - selection-is-clipboard-p) + selection-sets-clipboard) (own-selection-internal 'CLIPBOARD data))) (cond ((eq type 'PRIMARY) (setq primary-selection-extent