1. 03 Jul, 2011 1 commit
    • Eli Zaretskii's avatar
      Save and restore bidi cache when saving and restoring the iterator. · ed94e6d7
      Eli Zaretskii authored
      Not tested, just compiled.
      
       src/bidi.c (bidi_shelve_cache, bidi_unshelve_cache): New functions.
       src/dispextern.h (bidi_shelve_cache, bidi_unshelve_cache): Declare
       prototypes.
       src/xdisp.c (SAVE_IT, RESTORE_IT): New macros.
       (pos_visible_p, face_before_or_after_it_pos)
       (back_to_previous_visible_line_start)
       (move_it_in_display_line_to, move_it_in_display_line)
       (move_it_to, move_it_vertically_backward, move_it_by_lines)
       (try_scrolling, redisplay_window, display_line): Use them when
       saving a temporary copy of the iterator and restoring it back.
      ed94e6d7
  2. 02 Jul, 2011 1 commit
    • Eli Zaretskii's avatar
      Start fixing cursor motion around invisible text. · 6eec7596
      Eli Zaretskii authored
      Hit a MAJOR design problem in pushing and popping bidi iterator state.
      
       src/xdisp.c (reseat_1): Call bidi_init_it to resync the bidi
       iterator with IT's position.
       (handle_stop, back_to_previous_visible_line_start, reseat_1):
       Reset the from_disp_prop_p flag.
       src/bidi.c (bidi_cache_search): Don't assume bidi_cache_last_idx is
       always valid if bidi_cache_idx is valid.
       (bidi_cache_find_level_change): xassert that bidi_cache_last_idx
       is valid if it's going to be used.
      6eec7596
  3. 01 Jul, 2011 2 commits
    • Eli Zaretskii's avatar
      Support bidi reordering of unibyte strings. Fix crash displaying "All" in... · f3014ef5
      Eli Zaretskii authored
      Support bidi reordering of unibyte strings.  Fix crash displaying "All" in mode line of an empty buffer.
      
       src/dispextern.h (struct bidi_string_data): New member `unibyte'.
       src/xdisp.c (handle_single_display_spec, next_overlay_string)
       (get_overlay_strings_1, reseat_1, reseat_to_string)
       (push_display_prop): Set up the `unibyte' member of bidi_it.string
       correctly.  Don't assume unibyte strings are not bidi-reordered.
       (compute_display_string_pos)
       (compute_display_string_end): Fix handling the case of C string.
       src/bidi.c (bidi_count_bytes, bidi_char_at_pos): Accept an
       additional argument UNIBYTE, and support unibyte strings.  All
       callers changed.
       (bidi_fetch_char): Support unibyte strings.
      f3014ef5
    • Eli Zaretskii's avatar
      Fix typos in comments. Use xassert. · 7e2ad32c
      Eli Zaretskii authored
      7e2ad32c
  4. 25 Jun, 2011 2 commits
    • Eli Zaretskii's avatar
      Initial version of display/overlay strings is working. · a1344e7d
      Eli Zaretskii authored
       src/xdisp.c (set_iterator_to_next, get_visually_first_element): Use
       it->bidi_it.string.schars rather than it->string_nchars when
       testing whether we're beyond string end, because string_nchars is
       zero for strings that come from overlays and display properties.
       src/bidi.c (bidi_cache_iterator_state): Fix a bug with testing
       character positions against the cached range, when we use a
       stacked cache.
       src/dispextern.h (struct iterator_stack_entry): New member
       paragraph_embedding.
       src/xdisp.c (push_it, pop_it): Save and restore it.
      a1344e7d
    • Eli Zaretskii's avatar
      Set up the bidi iterator for iterating display strings and overlay strings. · 0c22566f
      Eli Zaretskii authored
      Not tested yet, just compiled.
      
       src/xdisp.c (handle_single_display_spec, next_overlay_string)
       (get_overlay_strings_1, push_display_prop): Set up the bidi
       iterator for displaying display or overlay strings.
       (forward_to_next_line_start): Don't use the shortcut if
       bidi-iterating.
       (back_to_previous_visible_line_start): If handle_display_prop
       pushed the iterator stack, restore the internal state of the bidi
       iterator by calling bidi_pop_it same number of times.
       (reseat_at_next_visible_line_start): If ON_NEWLINE_P is non-zero,
       and we are bidi-iterating, don't decrement the iterator position;
       instead, set the first_elt flag in the bidi iterator, to produce
       the same effect.
       (reseat_1): Remove redundant setting of string_from_display_prop_p.
       (push_display_prop): xassert that we are iterating a buffer.
       (push_it, pop_it): Save and restore the state of the
       bidi iterator.  Save and restore the bidi_p flag.
       (pop_it): Iterate out of display property for string iteration as
       well.
       (iterate_out_of_display_property): Support iteration over strings.
       (handle_single_display_spec): Set up it->bidi_it for iteration
       over a display string, and call bidi_init_it.
       src/bidi.c (bidi_cache_start_stack, bidi_push_it): Use IT_STACK_SIZE.
       src/dispextern.h (struct iterator_stack_entry): New member bidi_p.
       (struct it): Member bidi_p is now a bit field 1 bit wide.
      0c22566f
  5. 23 Jun, 2011 2 commits
  6. 18 Jun, 2011 1 commit
    • Eli Zaretskii's avatar
      Add comments for forced L2R directions of menu bar and tool bar. · acb28818
      Eli Zaretskii authored
      GCPRO Lisp string inside bidi.c.
      Force L2R direction in buffer menu buffer.
      
       src/xdisp.c (tool_bar_lines_needed, redisplay_tool_bar)
       (display_menu_bar): Force left-to-right direction.  Add a FIXME
       comment for making that be controlled by a user option.
       src/bidi.c (bidi_move_to_visually_next): GCPRO the Lisp string we
       are iterating.
       lisp/buff-menu.el (Buffer-menu-mode, list-buffers-noselect): Force
       left-to-right paragraph direction.
      acb28818
  7. 16 Jun, 2011 1 commit
    • Eli Zaretskii's avatar
      Fix display of R2L strings in mode line. · 578b494e
      Eli Zaretskii authored
      Composed characters still don't work.
      
       src/xdisp.c (init_iterator): Don't initialize it->bidi_p for strings
       here.
       (reseat_to_string): Initialize it->bidi_p for strings here.
       (next_element_from_string, next_element_from_c_string)
       (next_element_from_buffer): Add xassert's for correspondence
       between IT's object being iterated and it->bidi_it.string
       structure.
       src/bidi.c (bidi_level_of_next_char): Fix the logic for looking up
       the sentinel state in the cache.
      578b494e
  8. 13 Jun, 2011 1 commit
    • Eli Zaretskii's avatar
      Fix string handling to avoid data relocation gotcha. · 9f257352
      Eli Zaretskii authored
      Bugs in mode-line display still there.
      
       src/xdisp.c (compute_display_string_pos)
       (compute_display_string_end, reseat_to_string): Don't assume
       it->bidi_it.string.s always points to string.lstring's data.
       src/bidi.c (bidi_fetch_char, bidi_paragraph_init)
       (bidi_resolve_explicit_1, bidi_resolve_explicit)
       (bidi_resolve_weak, bidi_level_of_next_char): Don't assume
       string.s always points to string.lstring's data.
      9f257352
  9. 09 Jun, 2011 2 commits
    • Eli Zaretskii's avatar
      Adapt compute_display_string_pos to iteration over strings. · 6db161be
      Eli Zaretskii authored
      Just compiled, not yet tested.
      
       src/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).
       src/bidi.c (bidi_fetch_char): Support strings with display
       properties.
       src/dispextern.h (struct bidi_string_data): New member bufpos.
       (compute_display_string_pos): Update prototype.
      6db161be
    • Eli Zaretskii's avatar
      Add code to initialize bidi iterator for displaying strings. · bb269206
      Eli Zaretskii authored
      For now, ifdef'ed away.  Some more testing.
      
       src/bidi.c (bidi_level_of_next_char): Allow the sentinel "position"
       to pass the test for valid cached positions.
       src/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.)
       src/dispextern.h (struct bidi_string_data): New member lstring.
      bb269206
  10. 08 Jun, 2011 1 commit
    • Eli Zaretskii's avatar
      Started work on string reordering. Just compiled, not yet tested. · 87e67904
      Eli Zaretskii authored
       src/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.
       src/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.
       src/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.
      87e67904
  11. 04 Jun, 2011 1 commit
  12. 03 Jun, 2011 1 commit
  13. 21 May, 2011 1 commit
    • Eli Zaretskii's avatar
      Discovery of replacing display properties now uses the same code · fc6f18ce
      Eli Zaretskii authored
      as the display engine.  Tested OK with display properties whose
      value is a list.
      
       src/dispextern.h (struct bidi_it): New member frame_window_p.
       (bidi_init_it, compute_display_string_pos): Update prototypes.
       src/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.
       src/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.
      fc6f18ce
  14. 14 May, 2011 2 commits
    • Eli Zaretskii's avatar
      Text covered by `display' overlays is correctly reordered. · 7b600102
      Eli Zaretskii authored
      Cursor positioning is not yet right near the overlay.
      
       src/xdisp.c (compute_display_string_pos): Non-trivial implementation.
       (compute_display_string_end): New function.
       src/dispextern.h (compute_display_string_end): Declare prototype.
       src/bidi.c (bidi_resolve_explicit_1): Use ZV for disp_pos.
       (bidi_fetch_char): Implement support for runs of characters
       covered by display strings.
      7b600102
    • Eli Zaretskii's avatar
      Refactoring with bidi_fetch_char tested and debugged. · 102ebb00
      Eli Zaretskii authored
       src/bidi.c (bidi_fetch_char): Accept also character position
       corresponding to BYTEPOS.  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.
      102ebb00
  15. 10 May, 2011 1 commit
    • Eli Zaretskii's avatar
      Started work on reordering display strings. Refactor FETCH_CHAR. · 182ce2d2
      Eli Zaretskii authored
      Only compiled, not tested.
      
       src/xdisp.c (compute_display_string_pos): New function.
       (reseat_1): Initialize bidi_it.disp_pos.
       src/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.
       src/dispextern.h (struct bidi_it): New members nchars and disp_pos.
       ch_len is now EMACS_INT.
       (compute_display_string_pos): Declare prototype.
      182ce2d2
  16. 19 Apr, 2011 1 commit
    • Paul Eggert's avatar
      Replace pEd with more-general pI, and fix some printf arg casts. · c2982e87
      Paul Eggert authored
      * lisp.h (pI): New macro, generalizing old pEd macro to other
      conversion specifiers.  For example, use "...%"pI"d..." rather
      than "...%"pEd"...".
      (pEd): Remove.  All uses replaced with similar uses of pI.
      * src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h: Likewise.
      * alloc.c (check_pure_size): Don't overflow by converting size to int.
      * bidi.c (bidi_dump_cached_states): Use pI to avoid cast.
      * data.c (Fnumber_to_string): Use pI instead of if-then-else-abort.
      * dbusbind.c (xd_append_arg): Use pI to avoid cast.
      (Fdbus_method_return_internal, Fdbus_method_error_internal): Likewise.
      * font.c (font_unparse_xlfd): Avoid potential buffer overrun on
      64-bit hosts.
      (font_unparse_xlfd, font_unparse_fcname): Use pI to avoid casts.
      * keyboard.c (record_char, modify_event_symbol): Use pI to avoid casts.
      * print.c (safe_debug_print, print_object): Likewise.
      (print_object): Don't overflow by converting EMACS_INT or EMACS_UINT
      to int.
      Use pI instead of if-then-else-abort.  Use %p to avoid casts.
      * process.c (Fmake_network_process): Use pI to avoid cast.
      * region-cache.c (pp_cache): Likewise.
      * xdisp.c (decode_mode_spec): Likewise.
      * xrdb.c (x_load_resources) [USE_MOTIF]: Use pI to avoid undefined
      behavior on 64-bit hosts with printf arg.
      * xselect.c (x_queue_event): Use %p to avoid casts.
      (x_stop_queuing_selection_requests): Likewise.
      (x_get_window_property): Don't truncate byte count to an 'int'
      when tracing.
      c2982e87
  17. 11 Apr, 2011 1 commit
  18. 08 Mar, 2011 2 commits
  19. 23 Feb, 2011 1 commit
  20. 25 Jan, 2011 1 commit
  21. 15 Jan, 2011 1 commit
  22. 01 Oct, 2010 1 commit
    • Dan Nicolaescu's avatar
      Do not include stdlib.h and string.h, config.h does it. · 4cacd822
      Dan Nicolaescu authored
      * src/xfont.c:
      * src/w32term.c:
      * src/w32reg.c:
      * src/w32inevt.c:
      * src/w32heap.c:
      * src/w32console.c:
      * src/w16select.c:
      * src/unexsol.c:
      * src/term.c:
      * src/sound.c:
      * src/scroll.c (m):
      * src/gtkutil.c:
      * src/font.c:
      * src/filelock.c:
      * src/fileio.c:
      * src/dosfns.c:
      * src/dbusbind.c:
      * src/bidi.c:
      * src/callproc.c:
      * src/process.c:
      * src/msdos.c:
      * src/charset.c: Do not include stdlib.h and string.h, config.h does it.
      
      * configure.in: Include stdlib.h and string.h unconditionally.
      4cacd822
  23. 24 Sep, 2010 1 commit
  24. 18 Sep, 2010 1 commit
    • Eli Zaretskii's avatar
      Fix bug #7038 with cursor motion in paragraphs w/o strong characters. · bea4f10c
      Eli Zaretskii authored
       xdisp.c (Fcurrent_bidi_paragraph_direction): Call
       bidi_paragraph_init with NO_DEFAULT_P non-zero.
       bidi.c (bidi_paragraph_init): Accept an additional argument
       NO_DEFAULT_P; all callers changed.  If NO_DEFAULT_P is non-zero,
       search back until a paragraph with a strong directional character
       is found, and use that to determine paragraph's base direction.
       dispextern.h (bidi_paragraph_init): Update prototype.
      bea4f10c
  25. 18 Aug, 2010 1 commit
  26. 14 Aug, 2010 1 commit
  27. 06 Aug, 2010 1 commit
    • Jan D's avatar
      Fix missing prototypes for HAVE_NS (caused crash) and vrious warnings. · 3d608a86
      Jan D authored
      * configure.in: Check for util.h.
      
      * src/bidi.c (bidi_dump_cached_states): Fix fprintf warning.
      
      * src/emacs.c: Include src/nsterm.h if HAVE_NS.
      
      * src/image.c (xpm_scan, xpm_make_color_table_v)
      (xpm_put_color_table_v, xpm_get_color_table_v)
      (xpm_make_color_table_h, xpm_put_color_table_h)
      (xpm_get_color_table_h, xpm_str_to_color_key, xpm_load_image)
      (xpm_load): Convert to ANSI C prototypes.
      
      * src/lisp.h (fmod_float): Declare.
      
      * src/menu.h (x_set_menu_bar_line): Declare.
      (free_menubar_widget_value_tree et.al): Add HAVE_NS for these functions.
      
      * src/window.c: Include menu.h.
      
      * src/nsfns.m (have_menus_p, ns_display_info_for_name)
      (x_set_cursor_type, ns_appkit_version_str)
      (ns_appkit_version_int, ns_do_applescript)
      (x_set_scroll_bar_default_width, x_sync, compute_tip_xy)
      (syms_of_nsfns): Convert to ANSI C prototypes.
      
      * src/nsfont.m (ns_fallback_entity, syms_of_nsfont): Convert to ANSI C
      prototypes.
      
      * src/nsimage.m (ns_load_image): Move NSTRACE after declarations.
      
      * src/nsmenu.m (popup_activated, name_is_separator)
      (syms_of_nsmenu): Convert to ANSI C prototypes.
      (runMenuAt): Prototypes and move declarations before code.
      
      * src/nsterm.h : Include sysselect.h.
      (x_sync, x_get_focus_frame, x_set_mouse_position)
      (x_set_mouse_pixel_position, x_make_frame_visible)
      (x_make_frame_invisible, x_iconify_frame, x_char_width, x_char_height)
      (x_pixel_width, x_pixel_height, x_set_frame_alpha, x_set_tool_bar_lines)
      (x_activate_menubar, free_frame_menubar, ns_init_paths, ns_select)
      (syms_of_nsterm, syms_of_nsfns, syms_of_nsmenu, syms_of_nsselect):
      Declare
      
      * src/process.c: Check HAVE_UTIL_H. Include src/nsterm.h if HAVE_NS.
      
      * src/nsterm.m (ns_init_paths, ns_alloc_autorelease_pool)
      (ns_ring_bell, ns_defined_color, hide_hourglass)
      (x_display_pixel_height, x_display_pixel_width, syms_of_nsterm):
      Convert to ANSI C prototypes.
      (x_set_window_size, ns_draw_fringe_bitmap, judge): Move declarations
      before code.
      
      * src/sysdep.c: Check HAVE_TERM_H
      
      * src/term.c: Check HAVE_SYS_IOCTL_H.
      
      * src/unexmacosx.c (print_region_list, print_regions)
      (build_region_list, find_emacs_zone_regions)
      (unexec_regions_merge, read_load_commands, dump_it)
      (unexec_init_emacs_zone): Convert to ANSI C prototypes.
      
      * src/xfaces.c (x_create_gc, x_free_gc): Convert to ANSI C prototypes.
      3d608a86
  28. 08 Jul, 2010 1 commit
    • Dan Nicolaescu's avatar
      Clean up include guards. · 295d0d8f
      Dan Nicolaescu authored
      * src/tparam.c: Remove include guards for config.h, string.h and code
      that assumes #ifndef emacs.
      * src/termcap.c:
      * src/unexalpha.c:
      * src/sysdep.c:
      * src/filemode.c:
      * src/filelock.c:
      * src/bidi.c: Likewise.
      295d0d8f
  29. 04 Jul, 2010 1 commit
    • Dan Nicolaescu's avatar
      Convert (most) functions in src to standard C. · 971de7fb
      Dan Nicolaescu authored
      * src/alloc.c: Convert function definitions to standard C.
      * src/atimer.c:
      * src/bidi.c:
      * src/bytecode.c:
      * src/callint.c:
      * src/callproc.c:
      * src/casefiddle.c:
      * src/casetab.c:
      * src/category.c:
      * src/ccl.c:
      * src/character.c:
      * src/charset.c:
      * src/chartab.c:
      * src/cmds.c:
      * src/coding.c:
      * src/composite.c:
      * src/data.c:
      * src/dbusbind.c:
      * src/dired.c:
      * src/dispnew.c:
      * src/doc.c:
      * src/doprnt.c:
      * src/ecrt0.c:
      * src/editfns.c:
      * src/fileio.c:
      * src/filelock.c:
      * src/filemode.c:
      * src/fns.c:
      * src/font.c:
      * src/fontset.c:
      * src/frame.c:
      * src/fringe.c:
      * src/ftfont.c:
      * src/ftxfont.c:
      * src/gtkutil.c:
      * src/indent.c:
      * src/insdel.c:
      * src/intervals.c:
      * src/keymap.c:
      * src/lread.c:
      * src/macros.c:
      * src/marker.c:
      * src/md5.c:
      * src/menu.c:
      * src/minibuf.c:
      * src/prefix-args.c:
      * src/print.c:
      * src/ralloc.c:
      * src/regex.c:
      * src/region-cache.c:
      * src/scroll.c:
      * src/search.c:
      * src/sound.c:
      * src/strftime.c:
      * src/syntax.c:
      * src/sysdep.c:
      * src/termcap.c:
      * src/terminal.c:
      * src/terminfo.c:
      * src/textprop.c:
      * src/tparam.c:
      * src/undo.c:
      * src/unexelf.c:
      * src/window.c:
      * src/xfaces.c:
      * src/xfns.c:
      * src/xfont.c:
      * src/xftfont.c:
      * src/xgselect.c:
      * src/xmenu.c:
      * src/xrdb.c:
      * src/xselect.c:
      * src/xsettings.c:
      * src/xsmfns.c:
      * src/xterm.c: Likewise.
      971de7fb
  30. 13 Jun, 2010 1 commit
  31. 12 Jun, 2010 2 commits
    • Eli Zaretskii's avatar
      Use BidiMirroring.txt for mirroring characters in bidi context. · cbc4fd20
      Eli Zaretskii authored
       admin/unidata/bidimirror.awk: New file.
       admin/unidata/BidiMirroring.txt: New file from
       http://www.unicode.org/Public/6.0.0/ucd/BidiMirroring-6.0.0d1.txt.
       admin/unidata/Makefile.in: (../../src/bidimirror.h): New target.
       (all): Depend on ../../src/biditype.h and ../../src/bidimirror.h.
       admin/unidata/makefile.w32-in (../../src/bidimirror.h): New target.
       (all): Depend on ../../src/biditype.h and ../../src/bidimirror.h.
       src/makefile.w32-in ($(BLD)/bidi.$(O)): Depend on biditype.h and
       bidimirror.h.
       src/deps.mk (bidi.o): Depend on biditype.h and bidimirror.h.
       src/bidi.c (bidi_initialize): Initialize bidi_mirror_table.
       (bidi_mirror_char): Use bidi_mirror_table.
      cbc4fd20
    • Eli Zaretskii's avatar
      Derive bidi type table from UnicodeData.txt. · 317fbf33
      Eli Zaretskii authored
       src/bidi.c (bidi_initialize): Remove explicit initialization of
       bidi_type_table; include biditype.h instead.  Don't support
       entries whose second codepoint is zero.
       src/biditype.h: New file.
       admin/unidata/biditype.awk: New file.
       admin/unidata/Makefile.in (../../src/biditype.h): New target.
       admin/unidata/makefile.w32-in (../../src/biditype.h): New target.
      317fbf33
  32. 30 May, 2010 1 commit
  33. 19 May, 2010 1 commit
    • Eli Zaretskii's avatar
      Completed initial debugging and testing of reimplemented cursor motion. · 0416466c
      Eli Zaretskii authored
       .gdbinit (prowlims): Display row->minpos and row->maxpos.
       Display truncated_on_left_p and truncated_on_right_p flags.
       Formatting fixes.
       (pmtxrows): Display the ordinal number of each row.  Don't display
       rows beyond the last one.
       xdisp.c (RECORD_MAX_MIN_POS): New macro.
       (display_line): Use it to record the minimum and maximum buffer
       positions for glyphs in the row being assembled.  If word wrap is
       in effect, restore minimum and maximum positions seen up to the
       wrap point, when iterator returns to it.
       (find_row_edges): Fix logic; eol_pos should be tested before the
       rest.
       (try_window_reusing_current_matrix): Give up if in bidi-reordered
       row and cursor not already at point.  Restore original pre-bidi
       code for unidirectional buffers.
       bidi.c (bidi_cache_shrink, bidi_cache_iterator_state): Fix
       reallocation of the cache.  (Bug#6210)
       (bidi_cache_iterator_state): Don't zero out new_paragraph (it is
       not copied by bidi_copy_it).
      0416466c