/* NeXT/Open/GNUstep / MacOSX Cocoa selection processing for emacs.
- Copyright (C) 1993-1994, 2005-2006, 2008-2013 Free Software
+ Copyright (C) 1993-1994, 2005-2006, 2008-2014 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
Lisp_Object target_type)
{
Lisp_Object local_value;
- Lisp_Object handler_fn, value, type, check;
+ Lisp_Object handler_fn, value, check;
ptrdiff_t count;
local_value = assq_no_quit (selection_name, Vselection_alist);
check = value;
if (CONSP (value) && SYMBOLP (XCAR (value)))
{
- type = XCAR (value);
check = XCDR (value);
}
return value;
// FIXME: Why `quit' rather than `error'?
- Fsignal (Qquit, Fcons (build_string (
- "invalid data returned by selection-conversion function"),
- Fcons (handler_fn, Fcons (value, Qnil))));
+ Fsignal (Qquit,
+ list3 (build_string ("invalid data returned by"
+ " selection-conversion function"),
+ handler_fn, value));
// FIXME: Beware, `quit' can return!!
return Qnil;
}
type = [pb availableTypeFromArray: ns_return_types];
if (type == nil)
{
- Fsignal (Qquit,
- Fcons (build_string ("empty or unsupported pasteboard type"),
- Qnil));
- return Qnil;
+ return Qnil;
}
/* get the string */
}
else
{
- Fsignal (Qquit,
- Fcons (build_string ("pasteboard doesn't contain valid data"),
- Qnil));
return Qnil;
}
}
check_window_system (NULL);
CHECK_SYMBOL (selection);
if (NILP (value))
- error ("selection value may not be nil.");
+ error ("Selection value may not be nil");
pb = ns_symbol_to_pb (selection);
if (pb == nil) return Qnil;
ns_declare_pasteboard (pb);
old_value = assq_no_quit (selection, Vselection_alist);
- new_value = Fcons (selection, Fcons (value, Qnil));
+ new_value = list2 (selection, value);
if (NILP (old_value))
Vselection_alist = Fcons (new_value, Vselection_alist);
id pb;
NSArray *types;
- check_window_system (NULL);
+ if (!window_system_available (NULL))
+ return Qnil;
+
CHECK_SYMBOL (selection);
if (EQ (selection, Qnil)) selection = QPRIMARY;
if (EQ (selection, Qt)) selection = QSECONDARY;