-2011-05-05 Paul Eggert <eggert@cs.ucla.edu>
+2011-06-11 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (next_element_from_buffer): Improve commentary for when
+ the iterator is before prev_stop.
+ (init_iterator): Initialize bidi_p from the default value of
+ bidi-display-reordering, not from buffer-local value. Use the
+ buffer-local value only if initializing for buffer iteration.
+ (handle_invisible_prop): Support invisible properties on strings
+ that are being bidi-reordered.
+ (reseat_to_string): Enable bidi-related code.
+ (set_iterator_to_next): Support bidi reordering of C strings and
+ Lisp strings.
+ (next_element_from_string): Support bidi reordering of Lisp
+ strings.
+ (handle_stop_backwards): Support Lisp strings as well.
+ (display_mode_line, display_mode_element): Temporarily force L2R
+ paragraph direction.
+ (display_string): Support display of R2L glyph rows. Use
+ IT_STRING_CHARPOS when displaying from a Lisp string.
+
+2011-06-10 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (Fcurrent_bidi_paragraph_direction): Initialize
+ itb.string.lstring.
+ (compute_display_string_pos, compute_display_string_end):
+ Fix calculation of the object to scan. Fixes an error when using
+ arrow keys.
+ (next_element_from_buffer): Don't abort when IT_CHARPOS is before
+ base_level_stop; instead, set base_level_stop to BEGV. Fixes
+ crashes in vertical-motion.
+
+2011-06-09 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (compute_display_string_pos): First arg is now struct
+ `text_pos *'; all callers changed. Support display properties on
+ Lisp strings.
+ (compute_display_string_end): Support display properties on Lisp
+ strings.
+ (init_iterator, reseat_1, reseat_to_string): Initialize the
+ string.bufpos member to 0 (zero, for compatibility with IT_CHARPOS
+ when iterating on a string not from display properties).
+
+ * bidi.c (bidi_fetch_char): Support strings with display
+ properties.
+
+ * dispextern.h (struct bidi_string_data): New member bufpos.
+ (compute_display_string_pos): Update prototype.
+
+2011-06-09 Eli Zaretskii <eliz@gnu.org>
+
+ * bidi.c (bidi_level_of_next_char): Allow the sentinel "position"
+ to pass the test for valid cached positions.
+
+ * xdisp.c (init_iterator): Call bidi_init_it only of a valid
+ buffer position was specified. Initialize paragraph_embedding to
+ L2R.
+ (reseat_to_string): Initialize the bidi iterator (for now ifdef'ed
+ out).
+ (display_string): If we need to ignore text properties of
+ LISP_STRING, set IT->stop_charpos to IT->end_charpos. (The
+ original value of -1 will not work with bidi.)
+
+ * dispextern.h (struct bidi_string_data): New member lstring.
+
+2011-06-09 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (Fcurrent_bidi_paragraph_direction): Initialize
+ itb.string.s to NULL (avoids a crash in bidi_paragraph_init).
+
+2011-06-08 Eli Zaretskii <eliz@gnu.org>
+
+ * bidi.c (bidi_paragraph_info): Delete unused struct.
+ (bidi_cache_idx, bidi_cache_last_idx): Declare EMACS_INT.
+ (bidi_cache_start): New variable.
+ (bidi_cache_reset): Reset bidi_cache_idx to bidi_cache_start, not
+ to zero.
+ (bidi_cache_fetch_state, bidi_cache_search)
+ (bidi_cache_find_level_change, bidi_cache_iterator_state)
+ (bidi_cache_find, bidi_peek_at_next_level)
+ (bidi_level_of_next_char, bidi_find_other_level_edge)
+ (bidi_move_to_visually_next): Compare cache index with
+ bidi_cache_start rather than with zero.
+ (bidi_fetch_char): Accept new argument STRING; all callers
+ changed. Support iteration over a string.
+ (bidi_paragraph_init, bidi_resolve_explicit_1)
+ (bidi_resolve_explicit, bidi_resolve_weak)
+ (bidi_level_of_next_char, bidi_move_to_visually_next): Support
+ iteration over a string.
+ (bidi_set_sor_type, bidi_resolve_explicit_1)
+ (bidi_resolve_explicit, bidi_type_of_next_char): ignore_bn_limit
+ can now be zero (for strings); special values 0 and -1 were
+ changed to -1 and -2, respectively.
+ (bidi_char_at_pos): New function.
+ (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak):
+ Call it instead of FETCH_MULTIBYTE_CHAR.
+ (bidi_move_to_visually_next): Abort if charpos or bytepos were not
+ initialized to valid values.
+ (bidi_init_it): Don't initialize charpos and bytepos with invalid
+ values.
+
+ * xdisp.c (compute_display_string_pos)
+ (compute_display_string_end): Accept additional argument STRING.
+ (init_iterator, reseat_1): Initialize bidi_it->string.s to NULL.
+ (reseat_to_string): Initialize bidi_it->string.s and
+ bidi_it->string.schars.
+
+ * dispextern.h (struct bidi_string_data): New structure.
+ (struct bidi_it): New member `string'. Make flag members be 1-bit
+ fields, and put them last in the struct.
+ (compute_display_string_pos, compute_display_string_end): Update
+ prototypes.
+
+2011-06-04 Eli Zaretskii <eliz@gnu.org>
+
+ * bidi.c (bidi_level_of_next_char): clen should be EMACS_NT, not int.
+
+2011-06-03 Eli Zaretskii <eliz@gnu.org>
+
+ * bidi.c (bidi_fetch_char_advance): Remove unused and
+ unimplemented function.
+
+2011-05-28 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (set_cursor_from_row): Set start and stop points
+ according to the row's direction when priming the loop that looks
+ for the glyph on which to display cursor.
+ (single_display_spec_intangible_p): Function deleted.
+ (display_prop_intangible_p): Reimplement to call
+ handle_display_spec instead of single_display_spec_intangible_p.
+ Accept 3 additional arguments needed by handle_display_spec. This
+ fixes incorrect cursor motion across display property with complex
+ values: lists, `(when COND...)' forms, etc.
+ (single_display_spec_string_p): Support property values that are
+ lists with the argument STRING its top-level element.
+ (display_prop_string_p): Fix the condition for processing a
+ property that is a list to be consistent with handle_display_spec.
+
+ * keyboard.c (adjust_point_for_property): Adjust the call to
+ display_prop_intangible_p to its new signature.
+
+ * dispextern.h (display_prop_intangible_p): Adjust prototype.
+
+2011-05-21 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (handle_display_spec): New function, refactored from the
+ last portion of handle_display_prop.
+ (compute_display_string_pos): Accept additional argument
+ FRAME_WINDOW_P. Call handle_display_spec to determine whether the
+ value of a `display' property is a "replacing spec".
+ (handle_single_display_spec): Accept 2 additional arguments BUFPOS
+ and FRAME_WINDOW_P. If IT is NULL, don't set up the iterator from
+ the display property, but just return a value indicating whether
+ the display property will replace the characters it covers.
+ (Fcurrent_bidi_paragraph_direction): Initialize the nchars and
+ frame_window_p members of struct bidi_it.
+
+ * bidi.c (bidi_fetch_char): Accept additional argument
+ FRAME_WINDOW_P and pass it to compute_display_string_pos. All
+ callers changed.
+ (bidi_init_it): Accept additional argument FRAME_WINDOW_P and use
+ it to initialize the frame_window_p member of struct bidi_it.
+
+ * dispextern.h (struct bidi_it): New member frame_window_p.
+ (bidi_init_it, compute_display_string_pos): Update prototypes.
+
+2011-05-14 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (compute_display_string_pos): Non-trivial implementation.
+ (compute_display_string_end): New function.
+ (push_it): Accept second argument POSITION, where pop_it should
+ jump to continue iteration.
+
+ * dispextern.h (compute_display_string_end): Declare prototype.
+
+ * bidi.c (bidi_resolve_explicit_1): Use ZV for disp_pos.
+ (bidi_fetch_char): Implement support for runs of characters
+ covered by display strings.
+
+ * bidi.c (bidi_fetch_char): Accept also character position
+ corresponding to BYTEPOS. DISP_POS is now a character position,
+ not a byte position. All callers changed.
+ (bidi_cache_iterator_state, bidi_resolve_explicit_1)
+ (bidi_resolve_explicit, bidi_resolve_weak)
+ (bidi_level_of_next_char, bidi_move_to_visually_next): Abort if
+ bidi_it->nchars is non-positive.
+ (bidi_level_of_next_char): Don't try to lookup the cache for the
+ next/previous character if nothing is cached there yet, or if we
+ were just reseat()'ed to a new position.
+ (bidi_paragraph_init, bidi_resolve_explicit_1)
+ (bidi_level_of_next_char): Fix arguments in the calls to
+ bidi_fetch_char.
+
+2011-05-10 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (compute_display_string_pos): New function.
+ (reseat_1): Initialize bidi_it.disp_pos.
+
+ * bidi.c (bidi_copy_it): Use offsetof.
+ (bidi_fetch_char, bidi_fetch_char_advance): New functions.
+ (bidi_cache_search, bidi_cache_iterator_state)
+ (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak)
+ (bidi_level_of_next_char, bidi_move_to_visually_next): Support
+ character positions inside a run of characters covered by a
+ display string.
+ (bidi_paragraph_init, bidi_resolve_explicit_1)
+ (bidi_level_of_next_char): Call bidi_fetch_char and
+ bidi_fetch_char_advance instead of FETCH_CHAR and
+ FETCH_CHAR_ADVANCE.
+ (bidi_init_it): Initialize new members.
+ (LRE_CHAR, RLE_CHAR, PDF_CHAR, LRO_CHAR, RLO_CHAR): Remove macro
+ definitions.
+ (bidi_explicit_dir_char): Lookup character type in bidi_type_table,
+ instead of using explicit *_CHAR codes.
+ (bidi_resolve_explicit, bidi_resolve_weak): Use
+ FETCH_MULTIBYTE_CHAR instead of FETCH_CHAR, as reordering of
+ bidirectional text is supported only in multibyte buffers.
+
+ * dispextern.h (struct bidi_it): New members nchars and disp_pos.
+ ch_len is now EMACS_INT.
+ (compute_display_string_pos): Declare prototype.
+
+2011-05-09 Andreas Schwab <schwab@linux-m68k.org>
+
+ * w32menu.c (set_frame_menubar): Fix submenu allocation.
+
+2011-05-07 Eli Zaretskii <eliz@gnu.org>
+
+ * w32console.c (Fset_screen_color): Doc fix.
+ (Fget_screen_color): New function.
+ (syms_of_ntterm): Defsubr it.
+
+ * callproc.c (call_process_cleanup): Don't close and unlink the
+ temporary file if Fcall_process didn't create it in the first
+ place.
+ (Fcall_process): Don't create tempfile if stdout of the child
+ process will be redirected to a file specified with `:file'.
+ Don't try to re-open tempfile in that case, and set fd[0] to -1 as
+ cue to call_process_cleanup not to close that handle.
+
+2011-05-07 Ben Key <bkey76@gmail.com>
+
+ * makefile.w32-in: The bootstrap-temacs rule now makes use of
+ one of two shell specific rules, either bootstrap-temacs-CMD or
+ bootstrap-temacs-SH. The bootstrap-temacs-SH rule is identical
+ to the previous implementation of the bootstrap-temacs rule.
+ The bootstrap-temacs-CMD rule is similar to the previous
+ implementation of the bootstrap-temacs rule except that it
+ makes use of the ESC_CFLAGS variable instead of the CFLAGS
+ variable.
+
+ These changes, along with some changes to nt/configure.bat,
+ nt/gmake.defs, and nt/nmake.defs, are required to extend my
+ earlier fix to add support for --cflags and --ldflags options
+ that include quotes so that it works whether make uses cmd or
+ sh as the shell.
+
+2011-05-06 Michael Albinus <michael.albinus@gmx.de>
+
+ * dbusbind.c (QCdbus_type_unix_fd): Declare static.
+ (xd_remove_watch): Don't check QCdbus_type_unix_fd for SYMBOLP, it
+ is a constant.
+ (Fdbus_init_bus, xd_read_queued_messages): Bus can be a symbol or
+ a string. Handle both cases.
+ (Fdbus_call_method_asynchronously, Fdbus_register_signal)
+ (Fdbus_register_method): Use Qinvalid_function.
+
+2011-05-06 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in: Update dependencies.
+ (LISP_H): Add inttypes.h and stdin.h.
+ (PROCESS_H): Add unistd.h.
+
+2011-05-06 Eli Zaretskii <eliz@gnu.org>
+
+ * lread.c: Include limits.h (fixes the MS-Windows build broken by
+ 2011-05-06T07:13:19Z!eggert@cs.ucla.edu).
+
+2011-05-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ * image.c (Finit_image_library) [!HAVE_NTGUI]: Omit unused local.
* term.c (vfatal): Remove stray call to va_end.
It's not needed and the C Standard doesn't allow it here anyway.
(EMACS_INT, EMACS_UINT, BITS_PER_EMACS_INT, pI): Define to 64-bit
on 32-bit hosts that have 64-bit int, so that they can access
large files.
+ However, temporarily disable this change unless the temporary
+ symbol WIDE_EMACS_INT is defined.
* lread.c, process.c: Do not include <inttypes.h>; lisp.h does it now.
* fns.c (Frandom): Let EMACS_UINT be wider than unsigned long.
+2011-05-06 Juanma Barranquero <lekktu@gmail.com>
+
+ * gnutls.c (DEF_GNUTLS_FN):
+ * image.c (DEF_IMGLIB_FN): Make function pointers static.
+
+2011-05-05 Andreas Schwab <schwab@linux-m68k.org>
+
+ * lread.c (lisp_file_lexically_bound_p): Stop scanning at end
+ marker. (Bug#8610)
+
2011-05-05 Eli Zaretskii <eliz@gnu.org>
* w32heap.c (allocate_heap) [USE_LISP_UNION_TYPE || USE_LSB_TAG]: