diff options
| author | Stefan Monnier | 2014-10-02 22:15:42 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2014-10-02 22:15:42 -0400 |
| commit | 7118822435bafe077c73b026e9e463a10e96f09a (patch) | |
| tree | 6f788e7868617f0e9b787acc15e8779fcbcf20f8 | |
| parent | d6f8fef3fc17187687fafce50b428f88a278aee9 (diff) | |
| download | emacs-7118822435bafe077c73b026e9e463a10e96f09a.tar.gz emacs-7118822435bafe077c73b026e9e463a10e96f09a.zip | |
* lisp/select.el: Add commentary discussion.
| -rw-r--r-- | lisp/select.el | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lisp/select.el b/lisp/select.el index 9e48cc0b432..65c693eb424 100644 --- a/lisp/select.el +++ b/lisp/select.el | |||
| @@ -24,6 +24,31 @@ | |||
| 24 | 24 | ||
| 25 | ;; Based partially on earlier release by Lucid. | 25 | ;; Based partially on earlier release by Lucid. |
| 26 | 26 | ||
| 27 | ;; The functionality here is pretty messy, because there are different | ||
| 28 | ;; functions that claim to get or set the "selection", with no clear | ||
| 29 | ;; distinction between them. Here's my best understanding of it: | ||
| 30 | ;; - gui-select-text and gui-selection-value go together to access the general | ||
| 31 | ;; notion of "GUI selection" for interoperation with other applications. | ||
| 32 | ;; This can use either the clipboard or the primary selection, or both or | ||
| 33 | ;; none according to gui-select-enable-clipboard and x-select-enable-primary. | ||
| 34 | ;; These are the default values of interprogram-cut/paste-function. | ||
| 35 | ;; - gui-get-primary-selection is used to get the PRIMARY selection, | ||
| 36 | ;; specifically for mouse-yank-primary. | ||
| 37 | ;; - gui-get-selection and gui-set-selection are lower-level functions meant to | ||
| 38 | ;; access various kinds of selections (CLIPBOARD, PRIMARY, SECONDARY). | ||
| 39 | |||
| 40 | ;; Currently gui-select-text and gui-selection-value provide gui-methods so the | ||
| 41 | ;; actual backend can do it whichever way it wants. This means for example | ||
| 42 | ;; that gui-select-enable-clipboard is defined here but implemented in each and | ||
| 43 | ;; every backend. | ||
| 44 | ;; Maybe a better structure would be to make gui-select-text and | ||
| 45 | ;; gui-selection-value have no associated gui-method, and implement | ||
| 46 | ;; gui-select-enable-clipboard (and x-select-enable-clipboard) themselves. | ||
| 47 | ;; This would instead rely on gui-get/set-selection being implemented well | ||
| 48 | ;; (e.g. currently w32's implementation thereof sucks, for example, | ||
| 49 | ;; since it doesn't access the system's clipboard when setting/getting the | ||
| 50 | ;; CLIPBOARD selection). | ||
| 51 | |||
| 27 | ;;; Code: | 52 | ;;; Code: |
| 28 | 53 | ||
| 29 | (defcustom selection-coding-system nil | 54 | (defcustom selection-coding-system nil |