(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.
events so the menu event comes after them. This is to prevent sit-for
from exiting on buffered events directly after a menu selection,
lisp code for Help => About Emacs uses sit-for.
* gtkutil.c (create_menus): Connect selection-done event instead of
the deactivate event to deactivate_cb. This will make the last
leave event come before the call to deactivate_cb, so the leave
event does not make sit-for exit after a menu selection.
clip_tail.
* xdisp.c (get_glyph_string_clip_rect): Restrict horizontal clip
region to the area between clip_head and clip_tail.
(draw_glyphs): Record the area that need to be actually redrawn to
the new variables clip_head and clip_tail when there are
overhangs. Set values of these variables to the corresponding
members in struct glyph_string. Refine x coordinates for
notice_overwritten_cursor using clip_head and clip_tail.
* macgui.h (STORE_XCHARSETSTRUCT): New macro.
* macterm.c (mac_compute_glyph_string_overhangs): Implement with
QDTextBounds.
(x_draw_glyph_string): Don't fill the background of the successor
of a glyph with a right overhang if the successor will draw a
cursor.
(XLoadQueryFont): Obtain font metrics using QDTextBounds.
(x_redisplay_interface): Add entry for
compute_glyph_string_overhangs.
(DARWIN): Defined.
* process.c (init_process): Default process-connection-type to
nil on darwin 6 or less, t if it is 7 or higher. This way the
broken pty behavior is still allowed on darwin 6 for interactive
processes for people that know what they are doing.
(init_editfns): Assign new variable operating-system-release
based on call to uname if available.
(get_operating_system_release): Added function to
allow c-level access to operating system release.
* config.h: Regenerated.
* s/darwin.h (PTY_ITERATION): Don't allow PTYs on darwin 6 or
less.
(MIN_PTY_KERNEL_VERSION): Defined minimum kernel version for
using ptys as '7'.
* term/mac-win.el (process-connection-type): Removed.
Controlled now by s/darwin.h:PTY_ITERATION.