view admin/notes/cpp @ 59977:a75c643392b8

* xfns.c (Fx_change_window_property): Use long array when format is 32. (Fx_window_property): If format is 32 and long is bigger than 32 bits, convert long array returned from XGetWindowProperty to an int array. * xselect.c (x_reply_selection_request): Pass long array to XChangeProperty so that 64 bit longs are handeled correctly. (x_get_window_property): If format is 32 and long is bigger than 32 bits convert data from XGetWindowProperty from long array to int array. (lisp_data_to_selection_data): When the input is a vector and the format is 32, allocate a long array even if long is bigger than 32 bits. (x_fill_property_data): Use char, short and long as the man page for XChangeProperty specifies. This way the data returned is OK for both 32 and 64 bit machines. (x_handle_dnd_message): Calculate size correctly even for 64 bit machines. (Fx_send_client_event): Undo change from 2005-02-05, x_fill_property_data now handles that case.
author Jan Djärv <jan.h.d@swipnet.se>
date Mon, 07 Feb 2005 20:00:31 +0000
parents 695cf19ef79e
children 375f2633d815 c3512b2085a0
line wrap: on
line source

ttn 2003-04-09

we use a C preprocesor not only in the normal compilation of .c files
into object files, but also for creating

	src/Makefile
	lib-src/Makefile

(delimited by comment "start of cpp stuff").  some cpp implementations
insert whitespace in between tokens, which explains the "$(dot)$(dot)"
and "UNEXEC_ALIAS" workarounds for unixoid systems and the bundled
tradcpp/ for vms.  [NOTE: tradcpp/ not yet checked in.]

during makefile creation, the preprocessor symbol NOT_C_CODE is defined.
this should not be defined for normal .c file compilation.

there has been discussion on eliminating this use of cpp and relying
solely on autoconf processing.  rms says to leave it be.

;;; arch-tag: d654291e-9fc8-41b7-ab0c-d3cde842a8e0