Commit 722afcab authored by Jan Djärv's avatar Jan Djärv
Browse files

* lisp/select.el (gui-get-selection): Comment: data-type ignored on NS.

* src/nsselect.m (ns_get_local_selection): Remove calling of
functions in Vselection_converter_alist.
(syms_of_nsselect): Remove Vselection_converter_alist.

Fixes: debbugs:18911
parent ce4670d7
2014-11-01 Jan Djärv <>
* select.el (gui-get-selection): Comment: data-type ignored on NS.
2014-10-31 Stefan Monnier <>
* emacs-lisp/macroexp.el (macroexpand-1): New function (bug#18821).
......@@ -293,7 +293,7 @@ all upper-case names. The most often used ones, in addition to
DATA-TYPE is usually `STRING', but can also be one of the symbols
in `selection-converter-alist', which see. This argument is
ignored on MS-Windows and MS-DOS."
ignored on NS, MS-Windows and MS-DOS."
(let ((data (gui-call gui-get-selection (or type 'PRIMARY)
(or data-type 'STRING))))
(when (and (stringp data)
2014-11-01 Jan Djärv <>
* nsselect.m (ns_get_local_selection): Remove calling of
functions in Vselection_converter_alist (Bug#18911).
(syms_of_nsselect): Remove Vselection_converter_alist.
2014-10-31 Dmitry Antipov <>
* font.c (copy_font_spec): Redesign to avoid Fcopy_alist
......@@ -211,45 +211,8 @@ Updated by Christian Limpach (
Lisp_Object target_type)
Lisp_Object local_value;
Lisp_Object handler_fn, value, check;
ptrdiff_t count = specpdl_ptr - specpdl;
local_value = assq_no_quit (selection_name, Vselection_alist);
if (NILP (local_value)) return Qnil;
specbind (Qinhibit_quit, Qt);
CHECK_SYMBOL (target_type);
handler_fn = Fcdr (Fassq (target_type, Vselection_converter_alist));
if (!NILP (handler_fn))
value = call3 (handler_fn, selection_name, target_type,
XCAR (XCDR (local_value)));
value = Qnil;
unbind_to (count, Qnil);
check = value;
if (CONSP (value) && SYMBOLP (XCAR (value)))
check = XCDR (value);
if (STRINGP (check) || VECTORP (check) || SYMBOLP (check)
|| INTEGERP (check) || NILP (value))
return value;
if (CONSP (check)
&& INTEGERP (XCAR (check))
&& (INTEGERP (XCDR (check))
|| (CONSP (XCDR (check))
&& INTEGERP (XCAR (XCDR (check)))
&& NILP (XCDR (XCDR (check))))))
return value;
Fsignal (Qerror,
list3 (build_string ("invalid data returned by"
" selection-conversion function"),
handler_fn, value));
return local_value;
......@@ -571,21 +534,6 @@ We might have failed (and declined the request) for any number of reasons,\n\
it merely informs you that they have happened.");
Vns_sent_selection_hooks = Qnil;
DEFVAR_LISP ("selection-converter-alist", Vselection_converter_alist,
"An alist associating X Windows selection-types with functions.\n\
These functions are called to convert the selection, with three args:\n\
the name of the selection (typically `PRIMARY', `SECONDARY', or `CLIPBOARD');\n\
a desired type to which the selection should be converted;\n\
and the local selection value (whatever was given to `x-own-selection').\n\
The function should return the value to send to the X server\n\
\(typically a string). A return value of nil\n\
means that the conversion could not be done.\n\
A return value which is the symbol `NULL'\n\
means that a side-effect was executed,\n\
and there is no meaningful selection value.");
Vselection_converter_alist = Qnil;
DEFVAR_LISP ("ns-lost-selection-hooks", Vns_lost_selection_hooks,
"A list of functions to be called when Emacs loses an X selection.\n\
\(This happens when some other X client makes its own selection\n\
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment