From 722afcab51adbc97b5cc5679c87ed2115259a9a7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20Dj=C3=A4rv?= Date: Sat, 1 Nov 2014 12:37:14 +0100 Subject: [PATCH] * 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 --- lisp/ChangeLog | 4 ++++ lisp/select.el | 2 +- src/ChangeLog | 6 ++++++ src/nsselect.m | 54 +------------------------------------------------- 4 files changed, 12 insertions(+), 54 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a2fd7eed8d3..11c789a9625 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +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). diff --git a/lisp/select.el b/lisp/select.el index 2ce0ef0d7e6..5a10756ea48 100644 --- a/lisp/select.el +++ b/lisp/select.el @@ -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) diff --git a/src/ChangeLog b/src/ChangeLog index 4337a3f1e67..6580ce2d7ac 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +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 diff --git a/src/nsselect.m b/src/nsselect.m index 904b3b2e17f..8d3b567e796 100644 --- a/src/nsselect.m +++ b/src/nsselect.m @@ -211,45 +211,8 @@ ns_get_local_selection (Lisp_Object selection_name, 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))); - else - 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 @@ This hook doesn't let you change the behavior of Emacs's selection replies,\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\ -\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\ -- 2.39.5