1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-31 20:02:42 +00:00

(x-selection-owner-p, x-own-selection-internal)

(x-disown-selection-internal): New functions.
This commit is contained in:
Eli Zaretskii 2009-07-18 11:13:03 +00:00
parent c055a7dc57
commit f22693fc45
2 changed files with 46 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2009-07-18 Eli Zaretskii <eliz@gnu.org>
* term/pc-win.el (x-selection-owner-p, x-own-selection-internal)
(x-disown-selection-internal): New functions.
2009-07-18 Nick Roberts <nickrob@snap.net.nz>
* progmodes/gdb-mi.el (speedbar-frame): Declare to avoid compiler

View File

@ -227,6 +227,47 @@ support other types of selections."
(t
(setq x-last-selected-text text))))))
;; x-selection-owner-p is used in simple.el.
(defun x-selection-owner-p (&optional type)
"Whether the current Emacs process owns the given X Selection.
The arg should be the name of the selection in question, typically one of
the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'.
\(Those are literal upper-case symbol names, since that's what X expects.)
For convenience, the symbol nil is the same as `PRIMARY',
and t is the same as `SECONDARY'."
(if x-select-enable-clipboard
(let (text)
;; Don't die if w16-get-clipboard-data signals an error.
(ignore-errors
(setq text (w16-get-clipboard-data)))
;; We consider ourselves the owner of the selection if it does
;; not exist, or exists and compares equal with the last text
;; we've put into the Windows clipboard.
(cond
((not text) t)
((or (eq text x-last-selected-text)
(string= text x-last-selected-text))
text)
(t nil)))))
;; x-own-selection-internal and x-disown-selection-internal are used
;; in select.el:x-set-selection.
(defun x-own-selection-internal (type value)
"Assert an X selection of the given TYPE with the given VALUE.
TYPE is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'.
\(Those are literal upper-case symbol names, since that's what X expects.)
VALUE is typically a string, or a cons of two markers, but may be
anything that the functions on `selection-converter-alist' know about."
(ignore-errors
(x-select-text value))
value)
(defun x-disown-selection-internal (selection &optional time)
"If we own the selection SELECTION, disown it.
Disowning it means there is no such selection."
(if (x-selection-owner-p selection)
t))
;; From lisp/faces.el: we only have one font, so always return
;; it, no matter which variety they've asked for.
(defun x-frob-font-slant (font which)