X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fx-select.el;h=1dcf05aabfbadb4ff09b45c699a1c6f50fb10c92;hb=2737412eae9b411d8e806b04d9f15e12cd3128da;hp=62ae9a89edee03c5370a361fc5ce926479cc53f0;hpb=ea1ea793fe6e244ef5555ed983423a204101af13;p=chise%2Fxemacs-chise.git.1 diff --git a/lisp/x-select.el b/lisp/x-select.el index 62ae9a8..1dcf05a 100644 --- a/lisp/x-select.el +++ b/lisp/x-select.el @@ -51,7 +51,7 @@ (define-obsolete-function-alias 'x-cut-copy-clear-internal 'cut-copy-clear-internal) (define-obsolete-function-alias 'x-get-selection 'get-selection) (define-obsolete-function-alias 'x-get-clipboard 'get-clipboard) -(define-obsolete-function-alias 'x-yank-clipboard-selection +(define-obsolete-function-alias 'x-yank-clipboard-selection 'yank-clipboard-selection) (define-obsolete-function-alias 'x-disown-selection-internal 'disown-selection-internal) @@ -72,14 +72,14 @@ be the text between those markers)." (own-selection selection 'SECONDARY)) (defun x-notice-selection-requests (selection type successful) - "for possible use as the value of x-sent-selection-hooks." + "for possible use as the value of `x-sent-selection-hooks'." (if (not successful) (message "Selection request failed to convert %s to %s" selection type) (message "Sent selection %s as %s" selection type))) (defun x-notice-selection-failures (selection type successful) - "for possible use as the value of x-sent-selection-hooks." + "for possible use as the value of `x-sent-selection-hooks'." (or successful (message "Selection request failed to convert %s to %s" selection type))) @@ -88,36 +88,6 @@ be the text between those markers)." ;(setq x-sent-selection-hooks 'x-notice-selection-failures) -;;; Selections in killed buffers -;;; this function is called by kill-buffer as if it were on the -;;; kill-buffer-hook (though it isn't really). - -(defun xselect-kill-buffer-hook () - ;; Probably the right thing is to write a C function to return a list - ;; of the selections which emacs owns, since it could conceivably own - ;; a user-defined selection type that we've never heard of. - (xselect-kill-buffer-hook-1 'PRIMARY) - (xselect-kill-buffer-hook-1 'SECONDARY) - (xselect-kill-buffer-hook-1 'CLIPBOARD)) - -(defun xselect-kill-buffer-hook-1 (selection) - (let (value) - (if (and (selection-owner-p selection) - (setq value (get-selection-internal selection '_EMACS_INTERNAL)) - ;; The _EMACS_INTERNAL selection type has a converter registered - ;; for it that does no translation. This only works if emacs is - ;; requesting the selection from itself. We could have done this - ;; by writing a C function to return the raw selection data, and - ;; that might be the right way to do this, but this was easy. - (or (and (consp value) - (markerp (car value)) - (eq (current-buffer) (marker-buffer (car value)))) - (and (extent-live-p value) - (eq (current-buffer) (extent-object value))) - (and (extentp value) (not (extent-live-p value))))) - (disown-selection-internal selection)))) - - ;;; Cut Buffer support ;;; FSF name x-get-cut-buffer @@ -125,32 +95,25 @@ be the text between those markers)." "Return the value of one of the 8 X server cut buffers. Optional arg WHICH-ONE should be a number from 0 to 7, defaulting to 0. Cut buffers are considered obsolete; you should use selections instead. -This function does nothing if support for cut buffers was not compiled -into Emacs." - (and (fboundp 'x-get-cutbuffer-internal) - (x-get-cutbuffer-internal - (if which-one - (aref [CUT_BUFFER0 CUT_BUFFER1 CUT_BUFFER2 CUT_BUFFER3 - CUT_BUFFER4 CUT_BUFFER5 CUT_BUFFER6 CUT_BUFFER7] - which-one) - 'CUT_BUFFER0)))) +This function does nothing if cut buffer support was not compiled in." + (when (fboundp 'x-get-cutbuffer-internal) + (x-get-cutbuffer-internal + (aref [CUT_BUFFER0 CUT_BUFFER1 CUT_BUFFER2 CUT_BUFFER3 + CUT_BUFFER4 CUT_BUFFER5 CUT_BUFFER6 CUT_BUFFER7] + (or which-one 0))))) ;;; FSF name x-set-cut-buffer (defun x-store-cutbuffer (string &optional push) "Store STRING into the X server's primary cut buffer. -If PUSH is non-nil, also rotate the cut buffers: -this means the previous value of the primary cut buffer moves the second +If optional arg PUSH is non-nil, also rotate the cut buffers: this +means the previous value of the primary cut buffer moves to the second cut buffer, and the second to the third, and so on (there are 8 buffers.) Cut buffers are considered obsolete; you should use selections instead. -This function does nothing if support for cut buffers was not compiled -into Emacs." - (and (fboundp 'x-store-cutbuffer-internal) - (progn - ;; Check the data type of STRING. - (substring string 0 0) - (if push - (x-rotate-cutbuffers-internal 1)) - (x-store-cutbuffer-internal 'CUT_BUFFER0 string)))) +This function does nothing if cut buffer support was not compiled in." + (when (fboundp 'x-store-cutbuffer-internal) + (when push + (x-rotate-cutbuffers-internal 1)) + (x-store-cutbuffer-internal 'CUT_BUFFER0 string))) ;FSFmacs (provide 'select)