/* Synched up with: Not in FSF. */
-#ifndef INCLUDED_select_h_
-#define INCLUDED_select_h_
-
-/* X Atoms */
-extern Lisp_Object QPRIMARY, QSECONDARY, QSTRING, QINTEGER, QCLIPBOARD,
- QTIMESTAMP, QTEXT, QDELETE, QMULTIPLE, QINCR, QEMACS_TMP, QTARGETS, QATOM,
- QNULL, QATOM_PAIR, QCOMPOUND_TEXT;
-
-/* Windows clipboard formats */
-extern Lisp_Object QCF_TEXT, QCF_BITMAP, QCF_METAFILEPICT, QCF_SYLK, QCF_DIF,
- QCF_TIFF, QCF_OEMTEXT, QCF_DIB, QCF_DIBV5, QCF_PALETTE, QCF_PENDATA,
- QCF_RIFF, QCF_WAVE, QCF_UNICODETEXT, QCF_ENHMETAFILE, QCF_HDROP, QCF_LOCALE,
- QCF_OWNERDISPLAY, QCF_DSPTEXT, QCF_DSPBITMAP, QCF_DSPMETAFILEPICT,
- QCF_DSPENHMETAFILE;
-
-/* Selection strategies */
-extern Lisp_Object Qreplace_all, Qreplace_existing, Qappend;
+#ifndef _XEMACS_SELECT_H_
+#define _XEMACS_SELECT_H_
+
+extern Lisp_Object QPRIMARY, QSECONDARY, QSTRING, QINTEGER, QCLIPBOARD, QTIMESTAMP,
+ QTEXT, QDELETE, QMULTIPLE, QINCR, QEMACS_TMP, QTARGETS, QATOM, QNULL,
+ QATOM_PAIR, QCOMPOUND_TEXT;
+
+/* This is an association list whose elements are of the form
+ ( selection-name selection-value selection-timestamp )
+ selection-name is a lisp symbol, whose name is the name of an X Atom.
+ selection-value is the value that emacs owns for that selection.
+ It may be any kind of Lisp object.
+ selection-timestamp is the time at which emacs began owning this selection,
+ as a cons of two 16-bit numbers (making a 32 bit time).
+ If there is an entry in this alist, then it can be assumed that emacs owns
+ that selection.
+ The only (eq) parts of this list that are visible from elisp are the
+ selection-values.
+ */
+extern Lisp_Object Vselection_alist;
/* "Selection owner couldn't convert selection" */
extern Lisp_Object Qselection_conversion_error;
-/* Selection input & output */
-Lisp_Object select_convert_in (Lisp_Object selection,
- Lisp_Object type,
- Lisp_Object value);
-Lisp_Object select_convert_out (Lisp_Object selection,
- Lisp_Object type,
- Lisp_Object value);
-Lisp_Object select_coerce (Lisp_Object selection,
- Lisp_Object type,
- Lisp_Object value);
-
-/* Notifications */
+Lisp_Object get_local_selection (Lisp_Object selection_symbol, Lisp_Object target_type);
void handle_selection_clear (Lisp_Object selection_symbol);
-void select_notify_buffer_kill (Lisp_Object buffer);
-
-/* Lisp functions we export for other files' use */
-EXFUN (Fregister_selection_data_type, 2);
-EXFUN (Fselection_data_type_name, 2);
-EXFUN (Favailable_selection_types, 2);
-EXFUN (Fselection_owner_p, 1);
-EXFUN (Fselection_exists_p, 3);
-EXFUN (Fget_selection_timestamp, 1);
-
-#endif /* INCLUDED_select_h_ */
+#endif