]> code.delx.au - gnu-emacs/blobdiff - lisp/select.el
File regenerated.
[gnu-emacs] / lisp / select.el
index 03d7679c262dcb87feacf4a6ef926ec94b5c56e0..e0dc04ee3d07173ee59d901685117cb9ca9d82d1 100644 (file)
@@ -1,4 +1,4 @@
-;;; select.el --- lisp portion of standard selection support.
+;;; select.el --- lisp portion of standard selection support
 
 ;; Keywords: internal
 
 ;; GNU General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to
-;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;; along with GNU Emacs; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Commentary:
 
 ;;; Code:
 
 (defun x-get-selection (&optional type data-type)
   "Return the value of an X Windows selection.
 The argument TYPE (default `PRIMARY') says which selection, 
-and the argument DATA-TYPE (default `STRING') says how to convert the data."
+and the argument DATA-TYPE (default `STRING') says
+how to convert the data.
+
+TYPE may be `SECONDARY' or `CLIPBOARD', in addition to `PRIMARY'.
+DATA-TYPE is usually `STRING', but can also be one of the symbols
+in `selection-converter-alist', which see."
   (x-get-selection-internal (or type 'PRIMARY) (or data-type 'STRING)))
 
 (defun x-get-clipboard ()
@@ -39,16 +47,21 @@ and the argument DATA-TYPE (default `STRING') says how to convert the data."
   "Make an X Windows selection of type TYPE and value DATA.
 The argument TYPE (default `PRIMARY') says which selection, 
 and DATA specifies the contents.  DATA may be a string,
-a symbol, an integer (or a cons of two integers or list of two integers),
-or a cons of two markers pointing to the same buffer.
-In the last case, the selection is considered to be the text 
-between the markers.
-The data may also be a vector of valid non-vector selection values."
+a symbol, an integer (or a cons of two integers or list of two integers).
+
+The selection may also be a cons of two markers pointing to the same buffer,
+or an overlay.  In these cases, the selection is considered to be the text 
+between the markers *at whatever time the selection is examined*.
+Thus, editing done in the buffer after you specify the selection
+can alter the effective value of the selection.
+
+The data may also be a vector of valid non-vector selection values.
+
+Interactively, the text of the region is used as the selection value
+if the prefix arg is set."
   (interactive (if (not current-prefix-arg)
-                  (list (read-string "Store text for pasting: "))
-                (list (cons ;; these need not be ordered.
-                       (copy-marker (point-marker))
-                       (copy-marker (mark-marker))))))
+                  (list 'PRIMARY (read-string "Set text for pasting: "))
+                (list 'PRIMARY (buffer-substring (region-beginning) (region-end)))))
   ;; This is for temporary compatibility with pre-release Emacs 19.
   (if (stringp type)
       (setq type (intern type)))
@@ -282,6 +295,7 @@ Cut buffers are considered obsolete; you should use selections instead."
 
 (setq selection-converter-alist
       '((TEXT . xselect-convert-to-string)
+       (COMPOUND_TEXT . xselect-convert-to-string)
        (STRING . xselect-convert-to-string)
        (TARGETS . xselect-convert-to-targets)
        (LENGTH . xselect-convert-to-length)
@@ -302,4 +316,4 @@ Cut buffers are considered obsolete; you should use selections instead."
 
 (provide 'select)
 
-;;; select.el ends here.
+;;; select.el ends here