view src/select.h @ 5872:f9e59cd39a9a

Clean up #'read-quoted-char, support help-event-list there. lisp/changeLog addition: 2015-03-14 Aidan Kehoe <kehoea@parhasard.net> * simple.el (quoted-insert): Update the docstring here, syncing GNU's, especially mentioning read-quoted-char-radix. * cmdloop.el: * cmdloop.el (read-quoted-char-radix): Move this up here, outside the functions. * cmdloop.el (read-function-key-map): New label, reading and replacing characters from function-key-map if appropriate. * cmdloop.el (read-quoted-char): Multiple changes: -- Take advantage of help-event-list, but be careful not to have any keystrokes with character equivalents in it, so the user can type C-q C-h and have the expected result. -- Use function-key-map, as does #'read-char and #'read-exclusive-char, helpful for character composition under X11. -- Pop up the help window ourselves if, e.g. F1 arrives on a TTY via function-key-map, event-stream won't have done it. -- Error if no keystroke that can be converted into a character is specified, don't just insert ?\x00 as we used to and as does GNU -- Use #'digit-char-p instead of reimplementing it. -- Fix a bug of mine where I wasn't consistent about treating character codes as Unicode.
author Aidan Kehoe <kehoea@parhasard.net>
date Tue, 17 Mar 2015 12:22:50 +0000
parents 308d34e9f07d
children
line wrap: on
line source

/* Generic select data structures functions
   Copyright (C) 1999 Andy Piper

This file is part of XEmacs.

XEmacs is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation, either version 3 of the License, or (at your
option) any later version.

XEmacs is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with XEmacs.  If not, see <http://www.gnu.org/licenses/>. */

/* 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;

/* "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 */
void handle_selection_clear (Lisp_Object selection_symbol);

void select_notify_buffer_kill (Lisp_Object buffer);

Lisp_Object get_selection_raw_time(Lisp_Object selection);

/* 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);

#endif /* INCLUDED_select_h_ */