+2011-09-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xselect.c: Use signed conversions more consistently (Bug#9498).
+ (selection_data_to_lisp_data): Assume incoming selection data are
+ signed integers, not unsigned. This is to be consistent with
+ outgoing selection data, which was modified to use signed integers
+ in as part of the fix to Bug#9196 in response to Jan D.'s comment
+ in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9196#32> that X11
+ expects long, not unsigned long.
+
2011-09-14 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (try_window_reusing_current_matrix): Fix incorrect
convert it to a cons of integers, 16 bits in each half.
*/
else if (format == 32 && size == sizeof (int))
- return INTEGER_TO_CONS (((unsigned int *) data) [0]);
+ return INTEGER_TO_CONS (((int *) data) [0]);
else if (format == 16 && size == sizeof (short))
- return make_number (((unsigned short *) data) [0]);
+ return make_number (((short *) data) [0]);
/* Convert any other kind of data to a vector of numbers, represented
as above (as an integer, or a cons of two 16 bit integers.)
v = Fmake_vector (make_number (size / 2), make_number (0));
for (i = 0; i < size / 2; i++)
{
- EMACS_INT j = ((unsigned short *) data) [i];
+ EMACS_INT j = ((short *) data) [i];
Faset (v, make_number (i), make_number (j));
}
return v;
make_number (0));
for (i = 0; i < size / X_LONG_SIZE; i++)
{
- unsigned int j = ((unsigned int *) data) [i];
+ int j = ((int *) data) [i];
Faset (v, make_number (i), INTEGER_TO_CONS (j));
}
return v;