xdisp.c (reseat_1): Initialize bidi_it.paragraph_dir to NEUTRAL_DIR.
(handle_invisible_prop, iterate_out_of_display_property)
(next_element_from_buffer): If bidi_it.first_elt is set, call
bidi_paragraph_init with NO_DEFAULT_P argument non-zero.
(xd_pending_messages): Functions removed.
(xd_read_queued_messages): Add parameters fd, *data, for_read in
order to be compatible with add_read_fd. Determine bus from data,
and call xd_read_message just for this bus.
(xd_add_watch): Use xd_read_queued_messages as callback function.
Add data.
* lisp.h (xd_pending_messages, xd_read_queued_messages): Remove.
process.c (wait_reading_process_output): Don't pass write_mask to select
if SELECT_CANT_DO_WRITE_MASK is defined.
(SELECT_CANT_DO_WRITE_MASK): Define if SELECT_CANT_DO_WRITE_MASK.
* src/dbusbind.c: Include process.h.
(dbus_fd_cb, xd_find_watch_fd, xd_toggle_watch)
(xd_read_message_1): New functions.
(xd_add_watch, xd_remove_watch): Call xd_find_watch_fd. Handle
watch for both read and write.
(Fdbus_init_bus): Also register xd_toggle_watch.
(Fdbus_call_method_asynchronously, Fdbus_method_return_internal)
(Fdbus_method_error_internal, Fdbus_send_signal): Remove call
to dbus_connection_flush.
(xd_read_message): Move most of the code to xd_read_message_1.
Call xd_read_message_1 until status is COMPLETE.
* src/keyboard.c (readable_events, gobble_input): Remove DBUS code.
* src/process.c (gpm_wait_mask, max_gpm_desc): Remove.
(write_mask): New variable.
(max_input_desc): Renamed from max_keyboard_desc.
(fd_callback_info): New variable.
(add_read_fd, delete_read_fd, add_write_fd, delete_write_fd): New
functions.
(Fmake_network_process): FD_SET write_mask.
(deactivate_process): FD_CLR write_mask.
(wait_reading_process_output): Connecting renamed to Writeok.
check_connect removed. check_write is new. Remove references to
gpm. Use Writeok/check_write unconditionally (i.e. no #ifdef
NON_BLOCKING_CONNECT) instead of Connecting.
Loop over file descriptors and call callbacks in fd_callback_info
if file descriptor is ready for I/O.
(add_gpm_wait_descriptor): Just call add_keyboard_wait_descriptor.
(delete_gpm_wait_descriptor): Just call delete_keyboard_wait_descriptor.
(keyboard_bit_set): Use max_input_desc.
(add_keyboard_wait_descriptor, delete_keyboard_wait_descriptor): Remove
#ifdef subprocesses. Use max_input_desc.
(init_process): Initialize write_mask and fd_callback_info.
* src/process.h (add_read_fd, delete_read_fd, add_write_fd)
(delete_write_fd): Declare.
* configure.in: Set up GnuTLS.
* lisp/net/gnutls.el: GnuTLS glue code to set up a connection.
* src/Makefile.in (LIBGNUTLS_LIBS, LIBGNUTLS_CFLAGS, ALL_CFLAGS)
(obj, LIBES): Set up GnuTLS support.
* src/config.in: Set up GnuTLS support.
* src/emacs.c: Set up GnuTLS support and call syms_of_gnutls.
* src/gnutls.c: The source code for GnuTLS support in Emacs.
* src/gnutls.h: The GnuTLS glue for Emacs, macros and enums.
* src/process.c (make_process, Fstart_process)
(read_process_output, send_process): Set up GnuTLS support for
process input/output file descriptors.
* src/process.h: Set up GnuTLS support.
term.c (fast_find_position, term_mouse_highlight): Use EMACS_INT
for buffer positions.
process.c (read_process_output, send_process)
(Fprocess_send_region, status_notify): Use EMACS_INT for buffer
and string positions and size.
print.c (print_object, print_string, strout): Use EMACS_INT for
string indices.
minibuf.c (string_to_object): Use EMACS_INT for string position
and size.
marker.c (verify_bytepos): Use EMACS_INT for buffer positions.
lread.c <read_from_string_index, read_from_string_index_byte>
<read_from_string_limit, readchar_count>: Define EMACS_INT.
(readchar, unreadchar, read_internal_start): Use EMACS_INT for
buffer positions and string length.
* lisp/server.el (server-start): Revert part of 2010-08-08 change. Using
address 127.0.0.1 for local host is now done in Fmake_network_process.
* src/process.c (Fmake_network_process): When arg :host is 'local,
use address 127.0.0.1, not name "localhost".
indent.c (Fcurrent_indentation, indented_beyond_p)
(compute_motion): Use EMACS_INT for buffer position variables.
lisp.h (indented_beyond_p): Adjust prototype.
buffer.c (overlay_strings): Return EMACS_INT.
buffer.h (overlay_strings): Adjust prototype.
region-cache.c (pp_cache): Adjust format to arguments.
eval.c <specpdl_size, lisp_eval_depth>: Declare EMACS_INT.
(call_debugger): Use EMACS_INT for specpdl_size related variables.
(verror): Use EMACS_INT for size of allocated buffer.
keyboard.c (make_lispy_position): Use EMACS_INT for buffer
positions.
xdisp.c (redisplay_internal, try_window_id)
(set_cursor_from_row, find_first_unchanged_at_end_row): Use
EMACS_INT for buffer positions.
dispextern.h (set_cursor_from_row, mode_line_string)
(marginal_area_string): Adjust prototypes.
dispnew.c (increment_matrix_positions)
(increment_row_positions, copy_glyph_row_contents)
(mode_line_string, marginal_area_string): Use EMACS_INT for buffer
positions.
dispextern.h (mode_line_string, marginal_area_string)
(increment_matrix_positions, increment_row_positions): Adjust
prototypes.
data.c (Faref, Faset): Use EMACS_INT for string length and
positions.
cmds.c (internal_self_insert): Use EMACS_INT for the count of
characters to insert.
ccl.c (Fccl_execute_on_string): Use EMACS_INT for string
position and size.