GNU bug report logs - #9739
24.0.90; abort at find_row_edges xdisp.c:18714

Previous Next

Package: emacs;

Reported by: lihaitao <at> gmail.com

Date: Wed, 12 Oct 2011 17:28:02 UTC

Severity: important

Merged with 9738

Found in version 24.0.90

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 9739 in the body.
You can then email your comments to 9739 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#9739; Package emacs. (Wed, 12 Oct 2011 17:28:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to lihaitao <at> gmail.com:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 12 Oct 2011 17:28:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: lihaitao <at> gmail.com
To: bug-gnu-emacs <at> gnu.org
Cc: Haitao Li <lihaitao <at> gmail.com>
Subject: 24.0.90; abort at find_row_edges xdisp.c:18714
Date: Thu, 13 Oct 2011 01:22:58 +0800
From: Haitao Li <lihaitao <at> gmail.com>

I met this issue when using egg-log command by egg.el[1]. I can
reproduce this bug everytime.

Step to reproduce:
  - Open a directory which is a git work tree. For example, a clone of
    http://github.com/git/git.git 
  - M-x egg-log 
  - Press the `s' key

Full backtrace attach at the end of this mail.

In GNU Emacs 24.0.90.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.2.0)
 of 2011-10-12 on ainur
Windowing system distributor `The X.Org Foundation', version 11.0.11004000
configured using `configure  '--prefix=/home/lht/local' '--with-x-toolkit=gtk3''

Emacs source version:
commit 20ecd31de041b40c0382f66a03df87efd43a4354
Author: Eli Zaretskii <eliz <at> gnu.org>
Date:   Wed Oct 12 13:32:41 2011 +0200

     src/bidi.c (bidi_init_it): Initialize paragraph_dir to NEUTRAL_DIR.

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

----
1. https://raw.github.com/bogolisk/egg/9ae5b190daa162e9bc67bc07e30254a35b168301/egg.el


Backtrace
----
#0  0x00007ffff2cb0687 in kill () at ../sysdeps/unix/syscall-template.S:82
No locals.
#1  0x0000000000503845 in abort () at emacs.c:386
No locals.
#2  0x00000000004466f5 in find_row_edges (max_bpos=395, max_pos=395, min_bpos=395, min_pos=395, row=0xb8fee0, it=0x7fffffff8420) at xdisp.c:18714
        seen_this_string = 0
        r1 = 0xb8fde0
#3  display_line (it=0x7fffffff8420) at xdisp.c:19311
        row = 0xb8fee0
        overlay_arrow_string = 3
        wrap_it = {
          window = 4294967295, 
          w = 0x1a0, 
          f = 0x4000000000000000, 
          method = 4452338, 
          stop_charpos = 0, 
          prev_stop = 140737488316544, 
          base_level_stop = 140737488334264, 
          end_charpos = -2429422002720923392, 
          s = 0xffffffff00000000 <Address 0xffffffff00000000 out of bounds>, 
          string_nchars = 140737488334112, 
          region_beg_charpos = 0, 
          region_end_charpos = 4294967295, 
          redisplay_end_trigger_charpos = 140737488334112, 
          multibyte_p = 0, 
          header_line_p = 0, 
          string_from_display_prop_p = 0, 
          from_disp_prop_p = 0, 
          ellipsis_p = 0, 
          avoid_cursor_p = 0, 
          dp = 0x1, 
          dpvec = 0x7fffffffad20, 
          dpend = 0x8, 
          dpvec_char_len = 0, 
          dpvec_face_id = 0, 
          saved_face_id = -1, 
          ctl_chars = {416, 4611686018427518976, 4443353, 76, 0, 1, 4294967297, 1, 140737488321624, 140737488323936, 140737488327264, 140737488317280, 140737488320608, 
            -4294967296, 12884901899, 79}, 
          start = {
            pos = {
              charpos = 78, 
              bytepos = 2010044694529
            }, 
            overlay_string_index = 0, 
            string_pos = {
              charpos = 38654705663, 
              bytepos = 4294967296
            }, 
            dpvec_index = 0
          }, 
          current = {
            pos = {
              charpos = 0, 
              bytepos = 42
            }, 
            overlay_string_index = 79, 
            string_pos = {
              charpos = 335007449087, 
              bytepos = 0
            }, 
            dpvec_index = 79
          }, 
          n_overlay_strings = 0, 
          overlay_strings_charpos = 0, 
          overlay_strings = {140737488339784, 2, 1, 0, 0, 0, 4868504, 1, 1, 140737488321864, 0, 2, 2, 4611686018428436480, 4877139, 140737488318368}, 
          string_overlays = {140737488318384, 0, 6, 0, 4294967296, -1, 4294967297, 36, 0, 0, 0, 0, 0, 0, 0, 0}, 
          string = 0, 
          from_overlay = 0, 
          stack = {{
              string = 0, 
              string_nchars = 0, 
              end_charpos = 0, 
              stop_charpos = 33610225, 
              prev_stop = 0, 
              base_level_stop = 20295937, 
              cmp_it = {
                stop_pos = 6077509, 
                id = 12212242, 
                ch = 12212242, 
                rule_idx = 0, 
                lookback = 4, 
                nglyphs = 0, 
                reversed_p = 4, 
                charpos = 4294967296, 
                nchars = 1, 
                nbytes = 0, 
                from = 20295937, 
                to = 0, 
                width = 35652896
              }, 
              face_id = 7, 
              u = {
                image = {
                  object = 6098197, 
                  slice = {
                    x = 12212242, 
                    y = 140737488321144, 
                    width = 0, 
                    height = 140737488317744
                  }, 
                  image_id = 1
                }, 
                comp = {
                  object = 6098197
                }, 
                stretch = {
                  object = 6098197
                }
              }, 
              position = {
                charpos = 0, 
                bytepos = 4611686018427387904
              }, 
              current = {
                pos = {
                  charpos = 4884920, 
                  bytepos = 6
                }, 
                overlay_string_index = 6, 
                string_pos = {
                  charpos = 103, 
                  bytepos = 1
                }, 
                dpvec_index = 1
              }, 
              from_overlay = 4294967297, 
              area = TEXT_AREA, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 1, 
              string_from_display_prop_p = 1, 
              display_ellipsis_p = 1, 
              avoid_cursor_p = 1, 
              bidi_p = 1, 
              from_disp_prop_p = 1, 
              line_wrap = TRUNCATE, 
              voffset = 0, 
              space_width = 140737488339784, 
              font_height = 0
            }, {
              string = 0, 
              string_nchars = -1, 
              end_charpos = 0, 
              stop_charpos = 4611686018427387904, 
              prev_stop = 4872274, 
              base_level_stop = 1, 
              cmp_it = {
                stop_pos = 4, 
                id = 4, 
                ch = 0, 
                rule_idx = 1, 
                lookback = 1, 
                nglyphs = 0, 
                reversed_p = 0, 
                charpos = 5, 
                nchars = 1, 
                nbytes = 1, 
                from = 1, 
                to = 0, 
                width = 0
              }, 
              face_id = 0, 
              u = {
                image = {
                  object = 0, 
                  slice = {
                    x = 0, 
                    y = -1, 
                    width = -1, 
                    height = 4294967297
                  }, 
                  image_id = 7
                }, 
                comp = {
                  object = 0
                }, 
                stretch = {
                  object = 0
                }
              }, 
              position = {
                charpos = 0, 
                bytepos = 0
              }, 
              current = {
                pos = {
                  charpos = 30162129, 
                  bytepos = 0
                }, 
                overlay_string_index = -29256, 
                string_pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                dpvec_index = 12522593
              }, 
              from_overlay = 6077509, 
              area = 12212242, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = 12212242, 
              multibyte_p = 0, 
              string_from_display_prop_p = 0, 
              display_ellipsis_p = 0, 
              avoid_cursor_p = 0, 
              bidi_p = 0, 
              from_disp_prop_p = 0, 
              line_wrap = WORD_WRAP, 
              voffset = 0, 
              space_width = 1, 
              font_height = 25769803777
            }, {
              string = 6, 
              string_nchars = 12522593, 
              end_charpos = 12742608, 
              stop_charpos = 1, 
              prev_stop = 6098197, 
              base_level_stop = 12212242, 
              cmp_it = {
                stop_pos = 140737488321624, 
                id = 0, 
                ch = -33704, 
                rule_idx = 32767, 
                lookback = 1, 
                nglyphs = 0, 
                reversed_p = -15544, 
                charpos = 2, 
                nchars = 1, 
                nbytes = 0, 
                from = -1, 
                to = -1, 
                width = 0
              }, 
              face_id = 0, 
              u = {
                image = {
                  object = 4874150, 
                  slice = {
                    x = 140737488319232, 
                    y = 140737488319248, 
                    width = 0, 
                    height = 4
                  }, 
                  image_id = 140737488318304
                }, 
                comp = {
                  object = 4874150
                }, 
                stretch = {
                  object = 4874150
                }
              }, 
              position = {
                charpos = 4294967296, 
                bytepos = 78
              }, 
              current = {
                pos = {
                  charpos = 78, 
                  bytepos = 62
                }, 
                overlay_string_index = 1, 
                string_pos = {
                  charpos = 1, 
                  bytepos = 81604378625
                }, 
                dpvec_index = 19
              }, 
              from_overlay = -4294967296, 
              area = LEFT_MARGIN_AREA, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = 77, 
              multibyte_p = 0, 
              string_from_display_prop_p = 0, 
              display_ellipsis_p = 0, 
              avoid_cursor_p = 0, 
              bidi_p = 0, 
              from_disp_prop_p = 0, 
              line_wrap = 77, 
              voffset = 0, 
              space_width = 4294967297, 
              font_height = 1
            }, {
              string = 77, 
              string_nchars = 77, 
              end_charpos = 4294967297, 
              stop_charpos = 1, 
              prev_stop = 79, 
              base_level_stop = 79, 
              cmp_it = {
                stop_pos = 25769803777, 
                id = 6, 
                ch = 77, 
                rule_idx = 0, 
                lookback = 77, 
                nglyphs = 0, 
                reversed_p = 1, 
                charpos = 1, 
                nchars = 0, 
                nbytes = 0, 
                from = 0, 
                to = 0, 
                width = 0
              }, 
              face_id = 0, 
              u = {
                image = {
                  object = -1, 
                  slice = {
                    x = -1, 
                    y = 4294967297, 
                    width = 79, 
                    height = 0
                  }, 
                  image_id = 0
                }, 
                comp = {
                  object = -1
                }, 
                stretch = {
                  object = -1
                }
              }, 
              position = {
                charpos = 140737488326096, 
                bytepos = 140737488326072
              }, 
              current = {
                pos = {
                  charpos = 2, 
                  bytepos = 1
                }, 
                overlay_string_index = 4866604, 
                string_pos = {
                  charpos = 4611686018427387904, 
                  bytepos = 4451048
                }, 
                dpvec_index = -33328
              }, 
              from_overlay = 140733193388033, 
              area = LEFT_MARGIN_AREA, 
              method = 32767, 
              paragraph_embedding = 4864065, 
              multibyte_p = 0, 
              string_from_display_prop_p = 0, 
              display_ellipsis_p = 0, 
              avoid_cursor_p = 0, 
              bidi_p = 0, 
              from_disp_prop_p = 0, 
              line_wrap = 32921973, 
              voffset = 0, 
              space_width = 32921968, 
              font_height = 19260464
            }, {
              string = 2, 
              string_nchars = 7, 
              end_charpos = 12024946, 
              stop_charpos = 12720790, 
              prev_stop = 140737488319968, 
              base_level_stop = 0, 
              cmp_it = {
                stop_pos = 21455360, 
                id = 140737488319968, 
                ch = 1, 
                rule_idx = 0, 
                lookback = -35364, 
                nglyphs = 32767, 
                reversed_p = -190711222, 
                charpos = 19260464, 
                nchars = 14227456, 
                nbytes = 0, 
                from = 12024322, 
                to = 1, 
                width = -35408
              }, 
              face_id = 0, 
              u = {
                image = {
                  object = -1, 
                  slice = {
                    x = 0, 
                    y = 0, 
                    width = 12024322, 
                    height = 4969481
                  }, 
                  image_id = 12522592
                }, 
                comp = {
                  object = -1
                }, 
                stretch = {
                  object = -1
                }
              }, 
              position = {
                charpos = 0, 
                bytepos = 0
              }, 
              current = {
                pos = {
                  charpos = 140737488339784, 
                  bytepos = 0
                }, 
                overlay_string_index = -36384, 
                string_pos = {
                  charpos = 4294967295, 
                  bytepos = 416
                }, 
                dpvec_index = 0
              }, 
              from_overlay = 4884920, 
              area = LEFT_MARGIN_AREA, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, 
              string_from_display_prop_p = 0, 
              display_ellipsis_p = 0, 
              avoid_cursor_p = 0, 
              bidi_p = 0, 
              from_disp_prop_p = 0, 
              line_wrap = 10, 
              voffset = 0, 
              space_width = 1, 
              font_height = 1
            }}, 
          sp = 6, 
          selective = 6, 
          what = IT_CHARACTER, 
          face_id = -1, 
          selective_display_ellipsis_p = 0, 
          ctl_arrow_p = 0, 
          face_box_p = 0, 
          start_of_box_run_p = 0, 
          end_of_box_run_p = 0, 
          overlay_strings_at_end_processed_p = 0, 
          ignore_overlay_strings_at_pos_p = 0, 
          glyph_not_available_p = 0, 
          starts_in_middle_of_char_p = 0, 
          face_before_selective_p = 0, 
          constrain_row_ascent_descent_p = 0, 
          line_wrap = TRUNCATE, 
          base_face_id = 0, 
          c = 0, 
          len = 0, 
          cmp_it = {
            stop_pos = 0, 
            id = 0, 
            ch = 0, 
            rule_idx = 0, 
            lookback = 0, 
            nglyphs = 0, 
            reversed_p = 0, 
            charpos = 0, 
            nchars = 0, 
            nbytes = 0, 
            from = -1, 
            to = -1, 
            width = 0
          }, 
          char_to_display = 0, 
          glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE, 
          image_id = 1, 
          slice = {
            x = 1, 
            y = 1, 
            width = 0, 
            height = 0
          }, 
          space_width = 12024322, 
          voffset = 0, 
          tab_width = 0, 
          font_height = 0, 
          object = 0, 
          position = {
            charpos = 0, 
            bytepos = 4294967297
          }, 
          truncation_pixel_width = 79, 
          continuation_pixel_width = 0, 
          first_visible_x = 0, 
          last_visible_x = 79, 
          last_visible_y = 0, 
          extra_line_spacing = 1, 
          max_extra_line_spacing = 6, 
          override_ascent = 6, 
          override_descent = 0, 
          override_boff = 1, 
          glyph_row = 0x4f, 
          area = TEXT_AREA, 
          nglyphs = 0, 
          pixel_width = 0, 
          ascent = 0, 
          descent = 0, 
          max_ascent = 0, 
          max_descent = -15544, 
          phys_ascent = 32767, 
          phys_descent = 0, 
          max_phys_ascent = 0, 
          max_phys_descent = 1, 
          current_x = 0, 
          continuation_lines_width = -1, 
          eol_pos = {
            charpos = 468, 
            bytepos = 1
          }, 
          current_y = 4884920, 
          first_vpos = 0, 
          vpos = 77, 
          hpos = 0, 
          left_user_fringe_bitmap = 77, 
          right_user_fringe_bitmap = 0, 
          left_user_fringe_face_id = 0, 
          right_user_fringe_face_id = 110, 
          bidi_p = 0, 
          bidi_it = {
            bytepos = 1, 
            charpos = 1, 
            ch = 1, 
            nchars = 1, 
            ch_len = -4294967296, 
            type = UNKNOWN_BT, 
            type_after_w1 = UNKNOWN_BT, 
            orig_type = 76, 
            resolved_level = 0, 
            invalid_levels = 76, 
            invalid_rl_levels = 0, 
            prev_was_pdf = 1, 
            prev = {
              bytepos = 1, 
              charpos = 76, 
              type = 76, 
              type_after_w1 = UNKNOWN_BT, 
              orig_type = STRONG_L
            }, 
            last_strong = {
              bytepos = 1, 
              charpos = 65, 
              type = 65, 
              type_after_w1 = UNKNOWN_BT, 
              orig_type = UNKNOWN_BT
            }, 
            next_for_neutral = {
              bytepos = 1, 
              charpos = 76, 
              type = 76, 
              type_after_w1 = UNKNOWN_BT, 
              orig_type = STRONG_L
            }, 
            prev_for_neutral = {
              bytepos = 1, 
              charpos = 0, 
              type = UNKNOWN_BT, 
              type_after_w1 = UNKNOWN_BT, 
              orig_type = UNKNOWN_BT
            }, 
            next_for_ws = {
              bytepos = 0, 
              charpos = -1, 
              type = 4294967295, 
              type_after_w1 = 4294967295, 
              orig_type = STRONG_L
            }, 
            next_en_pos = 79, 
            ignore_bn_limit = 0, 
            sor = NEUTRAL_DIR, 
            scan_dir = 0, 
            disp_pos = 140737488319800, 
            disp_prop = 76, 
            stack_idx = 0, 
            level_stack = {{
                level = 6117338, 
                override = NEUTRAL_DIR
              }, {
                level = 12255522, 
                override = NEUTRAL_DIR
              }, {
                level = -35520, 
                override = L2R
              }, {
                level = 4, 
                override = NEUTRAL_DIR
              }, {
                level = -15864, 
                override = 32767
              }, {
                level = 76, 
                override = NEUTRAL_DIR
              }, {
                level = 76, 
                override = NEUTRAL_DIR
              }, {
                level = 79, 
                override = NEUTRAL_DIR
              }, {
                level = 12024322, 
                override = NEUTRAL_DIR
              }, {
                level = 0, 
                override = 1073741824
              }, {
                level = 6129832, 
                override = NEUTRAL_DIR
              }, {
                level = 79, 
                override = NEUTRAL_DIR
              }, {
                level = 0, 
                override = L2R
              }, {
                level = 0, 
                override = NEUTRAL_DIR
              }, {
                level = -15864, 
                override = 32767
              }, {
                level = 76, 
                override = NEUTRAL_DIR
              }, {
                level = -36112, 
                override = 32767
              }, {
                level = -18016, 
                override = 32767
              }, {
                level = 20, 
                override = NEUTRAL_DIR
              }, {
                level = 0, 
                override = NEUTRAL_DIR
              }, {
                level = 1716330752, 
                override = 3729323407
              }, {
                level = 1, 
                override = NEUTRAL_DIR
              }, {
                level = -18016, 
                override = 32767
              }, {
                level = 1048576, 
                override = 1073741824
              }, {
                level = 79, 
                override = NEUTRAL_DIR
              }, {
                level = 416, 
                override = NEUTRAL_DIR
              }, {
                level = 0, 
                override = 1073741824
              }, {
                level = 0, 
                override = NEUTRAL_DIR
              }, {
                level = 4438088, 
                override = NEUTRAL_DIR
              }, {
                level = 79, 
                override = NEUTRAL_DIR
              }, {
                level = -18016, 
                override = 32767
              }, {
                level = 79, 
                override = NEUTRAL_DIR
              }, {
                level = 4489635, 
                override = NEUTRAL_DIR
              }, {
                level = 28761088, 
                override = NEUTRAL_DIR
              }, {
                level = 416, 
                override = NEUTRAL_DIR
              }, {
                level = 0, 
                override = NEUTRAL_DIR
              }, {
                level = 6163397, 
                override = NEUTRAL_DIR
              }, {
                level = 524295, 
                override = 458752
              }, {
                level = 6, 
                override = 32767
              }, {
                level = -18016, 
                override = 32767
              }, {
                level = 4366148, 
                override = NEUTRAL_DIR
              }, {
                level = 28761088, 
                override = NEUTRAL_DIR
              }, {
                level = 6163609, 
                override = 692
              }, {
                level = 0, 
                override = NEUTRAL_DIR
              }, {
                level = 4538575, 
                override = NEUTRAL_DIR
              }, {
                level = 0, 
                override = NEUTRAL_DIR
              }, {
                level = 0, 
                override = NEUTRAL_DIR
              }, {
                level = 0, 
                override = NEUTRAL_DIR
              }, {
                level = 0, 
                override = NEUTRAL_DIR
              }, {
                level = 0, 
                override = NEUTRAL_DIR
              }, {
                level = 0, 
                override = NEUTRAL_DIR
              }, {
                level = 0, 
                override = NEUTRAL_DIR
              }, {
                level = 0, 
                override = NEUTRAL_DIR
              }, {
                level = 21676021, 
                override = NEUTRAL_DIR
              }, {
                level = -18016, 
                override = 32767
              }, {
                level = 8, 
                override = NEUTRAL_DIR
              }, {
                level = 1048576, 
                override = 1073741824
              }, {
                level = -1, 
                override = NEUTRAL_DIR
              }, {
                level = 416, 
                override = NEUTRAL_DIR
              }, {
                level = 0, 
                override = 1073741824
              }, {
                level = 4452338, 
                override = NEUTRAL_DIR
              }, {
                level = 0, 
                override = NEUTRAL_DIR
              }, {
                level = -35584, 
                override = 32767
              }, {
                level = -17864, 
                override = 32767
              }}, 
            string = {
              lstring = -2429422002720923392, 
              s = 0x0, 
              schars = 140737488337312, 
              bufpos = 0, 
              from_disp_str = 1, 
              unibyte = 1
            }, 
            paragraph_dir = 4294949280, 
            separator_limit = -2429422002720923392, 
            first_elt = 0, 
            new_paragraph = 0, 
            frame_window_p = 0
          }, 
          paragraph_embedding = 4294932304
        }
        wrap_data = 0x0
        may_wrap = 0
        wrap_x = 0
        wrap_row_used = -1
        wrap_row_ascent = 0
        wrap_row_height = -1
        wrap_row_phys_ascent = 0
        wrap_row_phys_height = 416
        wrap_row_extra_line_spacing = 0
        wrap_row_min_pos = 21676021
        wrap_row_min_bpos = 140737488334112
        wrap_row_max_pos = 8
        wrap_row_max_bpos = 4611686018428436480
        cvpos = <optimized out>
        min_pos = 395
        max_pos = <optimized out>
        min_bpos = 395
        max_bpos = 395
#4  0x000000000044ac3a in try_window (window=<optimized out>, pos=..., flags=1) at xdisp.c:15897
        w = 0x125e670
        it = {
          window = 19261045, 
          w = 0x125e670, 
          f = 0x125e430, 
          method = GET_FROM_STRING, 
          stop_charpos = 3, 
          prev_stop = 0, 
          base_level_stop = 0, 
          end_charpos = 3, 
          s = 0x0, 
          string_nchars = 3, 
          region_beg_charpos = -1, 
          region_end_charpos = -1, 
          redisplay_end_trigger_charpos = 0, 
          multibyte_p = 0, 
          header_line_p = 0, 
          string_from_display_prop_p = 1, 
          from_disp_prop_p = 1, 
          ellipsis_p = 0, 
          avoid_cursor_p = 0, 
          dp = 0x0, 
          dpvec = 0x0, 
          dpend = 0x0, 
          dpvec_char_len = 0, 
          dpvec_face_id = 0, 
          saved_face_id = 32, 
          ctl_chars = {0 <repeats 16 times>}, 
          start = {
            pos = {
              charpos = 395, 
              bytepos = 395
            }, 
            overlay_string_index = -1, 
            string_pos = {
              charpos = 1, 
              bytepos = 1
            }, 
            dpvec_index = -1
          }, 
          current = {
            pos = {
              charpos = 395, 
              bytepos = 395
            }, 
            overlay_string_index = -1, 
            string_pos = {
              charpos = 2, 
              bytepos = 2
            }, 
            dpvec_index = -1
          }, 
          n_overlay_strings = 0, 
          overlay_strings_charpos = 395, 
          overlay_strings = {0 <repeats 16 times>}, 
          string_overlays = {0 <repeats 16 times>}, 
          string = 29383745, 
          from_overlay = 12024322, 
          stack = {{
              string = 12024322, 
              string_nchars = 0, 
              end_charpos = 446, 
              stop_charpos = 396, 
              prev_stop = 395, 
              base_level_stop = 395, 
              cmp_it = {
                stop_pos = 395, 
                id = -1, 
                ch = -2, 
                rule_idx = 0, 
                lookback = 0, 
                nglyphs = 0, 
                reversed_p = 0, 
                charpos = 0, 
                nchars = 0, 
                nbytes = 0, 
                from = 0, 
                to = 0, 
                width = 0
              }, 
              face_id = 32, 
              u = {
                image = {
                  object = 0, 
                  slice = {
                    x = 0, 
                    y = 0, 
                    width = 0, 
                    height = 0
                  }, 
                  image_id = 0
                }, 
                comp = {
                  object = 0
                }, 
                stretch = {
                  object = 0
                }
              }, 
              position = {
                charpos = 396, 
                bytepos = 396
              }, 
              current = {
                pos = {
                  charpos = 396, 
                  bytepos = 396
                }, 
                overlay_string_index = -1, 
                string_pos = {
                  charpos = -1, 
                  bytepos = -1
                }, 
                dpvec_index = -1
              }, 
              from_overlay = 0, 
              area = TEXT_AREA, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 1, 
              string_from_display_prop_p = 0, 
              display_ellipsis_p = 0, 
              avoid_cursor_p = 0, 
              bidi_p = 1, 
              from_disp_prop_p = 0, 
              line_wrap = TRUNCATE, 
              voffset = 0, 
              space_width = 12024322, 
              font_height = 12024322
            }, {
              string = 0, 
              string_nchars = 0, 
              end_charpos = 0, 
              stop_charpos = 0, 
              prev_stop = 0, 
              base_level_stop = 0, 
              cmp_it = {
                stop_pos = 0, 
                id = 0, 
                ch = 0, 
                rule_idx = 0, 
                lookback = 0, 
                nglyphs = 0, 
                reversed_p = 0, 
                charpos = 0, 
                nchars = 0, 
                nbytes = 0, 
                from = 0, 
                to = 0, 
                width = 0
              }, 
              face_id = 0, 
              u = {
                image = {
                  object = 0, 
                  slice = {
                    x = 0, 
                    y = 0, 
                    width = 0, 
                    height = 0
                  }, 
                  image_id = 0
                }, 
                comp = {
                  object = 0
                }, 
                stretch = {
                  object = 0
                }
              }, 
              position = {
                charpos = 0, 
                bytepos = 0
              }, 
              current = {
                pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                overlay_string_index = 0, 
                string_pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                dpvec_index = 0
              }, 
              from_overlay = 0, 
              area = LEFT_MARGIN_AREA, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, 
              string_from_display_prop_p = 0, 
              display_ellipsis_p = 0, 
              avoid_cursor_p = 0, 
              bidi_p = 0, 
              from_disp_prop_p = 0, 
              line_wrap = TRUNCATE, 
              voffset = 0, 
              space_width = 0, 
              font_height = 0
            }, {
              string = 0, 
              string_nchars = 0, 
              end_charpos = 0, 
              stop_charpos = 0, 
              prev_stop = 0, 
              base_level_stop = 0, 
              cmp_it = {
                stop_pos = 0, 
                id = 0, 
                ch = 0, 
                rule_idx = 0, 
                lookback = 0, 
                nglyphs = 0, 
                reversed_p = 0, 
                charpos = 0, 
                nchars = 0, 
                nbytes = 0, 
                from = 0, 
                to = 0, 
                width = 0
              }, 
              face_id = 0, 
              u = {
                image = {
                  object = 0, 
                  slice = {
                    x = 0, 
                    y = 0, 
                    width = 0, 
                    height = 0
                  }, 
                  image_id = 0
                }, 
                comp = {
                  object = 0
                }, 
                stretch = {
                  object = 0
                }
              }, 
              position = {
                charpos = 0, 
                bytepos = 0
              }, 
              current = {
                pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                overlay_string_index = 0, 
                string_pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                dpvec_index = 0
              }, 
              from_overlay = 0, 
              area = LEFT_MARGIN_AREA, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, 
              string_from_display_prop_p = 0, 
              display_ellipsis_p = 0, 
              avoid_cursor_p = 0, 
              bidi_p = 0, 
              from_disp_prop_p = 0, 
              line_wrap = TRUNCATE, 
              voffset = 0, 
              space_width = 0, 
              font_height = 0
            }, {
              string = 0, 
              string_nchars = 0, 
              end_charpos = 0, 
              stop_charpos = 0, 
              prev_stop = 0, 
              base_level_stop = 0, 
              cmp_it = {
                stop_pos = 0, 
                id = 0, 
                ch = 0, 
                rule_idx = 0, 
                lookback = 0, 
                nglyphs = 0, 
                reversed_p = 0, 
                charpos = 0, 
                nchars = 0, 
                nbytes = 0, 
                from = 0, 
                to = 0, 
                width = 0
              }, 
              face_id = 0, 
              u = {
                image = {
                  object = 0, 
                  slice = {
                    x = 0, 
                    y = 0, 
                    width = 0, 
                    height = 0
                  }, 
                  image_id = 0
                }, 
                comp = {
                  object = 0
                }, 
                stretch = {
                  object = 0
                }
              }, 
              position = {
                charpos = 0, 
                bytepos = 0
              }, 
              current = {
                pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                overlay_string_index = 0, 
                string_pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                dpvec_index = 0
              }, 
              from_overlay = 0, 
              area = LEFT_MARGIN_AREA, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, 
              string_from_display_prop_p = 0, 
              display_ellipsis_p = 0, 
              avoid_cursor_p = 0, 
              bidi_p = 0, 
              from_disp_prop_p = 0, 
              line_wrap = TRUNCATE, 
              voffset = 0, 
              space_width = 0, 
              font_height = 0
            }, {
              string = 0, 
              string_nchars = 0, 
              end_charpos = 0, 
              stop_charpos = 0, 
              prev_stop = 0, 
              base_level_stop = 0, 
              cmp_it = {
                stop_pos = 0, 
                id = 0, 
                ch = 0, 
                rule_idx = 0, 
                lookback = 0, 
                nglyphs = 0, 
                reversed_p = 0, 
                charpos = 0, 
                nchars = 0, 
                nbytes = 0, 
                from = 0, 
                to = 0, 
                width = 0
              }, 
              face_id = 0, 
              u = {
                image = {
                  object = 0, 
                  slice = {
                    x = 0, 
                    y = 0, 
                    width = 0, 
                    height = 0
                  }, 
                  image_id = 0
                }, 
                comp = {
                  object = 0
                }, 
                stretch = {
                  object = 0
                }
              }, 
              position = {
                charpos = 0, 
                bytepos = 0
              }, 
              current = {
                pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                overlay_string_index = 0, 
                string_pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                dpvec_index = 0
              }, 
              from_overlay = 0, 
              area = LEFT_MARGIN_AREA, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, 
              string_from_display_prop_p = 0, 
              display_ellipsis_p = 0, 
              avoid_cursor_p = 0, 
              bidi_p = 0, 
              from_disp_prop_p = 0, 
              line_wrap = TRUNCATE, 
              voffset = 0, 
              space_width = 0, 
              font_height = 0
            }}, 
          sp = 1, 
          selective = 0, 
          what = IT_CHARACTER, 
          face_id = 32, 
          selective_display_ellipsis_p = 1, 
          ctl_arrow_p = 1, 
          face_box_p = 0, 
          start_of_box_run_p = 0, 
          end_of_box_run_p = 0, 
          overlay_strings_at_end_processed_p = 0, 
          ignore_overlay_strings_at_pos_p = 0, 
          glyph_not_available_p = 0, 
          starts_in_middle_of_char_p = 0, 
          face_before_selective_p = 0, 
          constrain_row_ascent_descent_p = 0, 
          line_wrap = TRUNCATE, 
          base_face_id = 0, 
          c = 10, 
          len = 1, 
          cmp_it = {
            stop_pos = 2, 
            id = -1, 
            ch = -2, 
            rule_idx = 0, 
            lookback = 0, 
            nglyphs = 0, 
            reversed_p = 0, 
            charpos = 0, 
            nchars = 0, 
            nbytes = 0, 
            from = 0, 
            to = 0, 
            width = 0
          }, 
          char_to_display = 10, 
          glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE, 
          image_id = 0, 
          slice = {
            x = 12024322, 
            y = 12024322, 
            width = 12024322, 
            height = 12024322
          }, 
          space_width = 12024322, 
          voffset = 0, 
          tab_width = 8, 
          font_height = 12024322, 
          object = 29383745, 
          position = {
            charpos = 1, 
            bytepos = 1
          }, 
          truncation_pixel_width = 0, 
          continuation_pixel_width = 0, 
          first_visible_x = 0, 
          last_visible_x = 480, 
          last_visible_y = 334, 
          extra_line_spacing = 0, 
          max_extra_line_spacing = 0, 
          override_ascent = -1, 
          override_descent = 0, 
          override_boff = 0, 
          glyph_row = 0xb8fee0, 
          area = TEXT_AREA, 
          nglyphs = 1, 
          pixel_width = 5, 
          ascent = 13, 
          descent = 4, 
          max_ascent = 13, 
          max_descent = 4, 
          phys_ascent = 0, 
          phys_descent = 0, 
          max_phys_ascent = 13, 
          max_phys_descent = 4, 
          current_x = 0, 
          continuation_lines_width = 0, 
          eol_pos = {
            charpos = 395, 
            bytepos = 395
          }, 
          current_y = 160, 
          first_vpos = 0, 
          vpos = 11, 
          hpos = 0, 
          left_user_fringe_bitmap = 0, 
          right_user_fringe_bitmap = 0, 
          left_user_fringe_face_id = 0, 
          right_user_fringe_face_id = 0, 
          bidi_p = 1, 
          bidi_it = {
            bytepos = 2, 
            charpos = 2, 
            ch = 85, 
            nchars = 1, 
            ch_len = 1, 
            type = STRONG_L, 
            type_after_w1 = STRONG_L, 
            orig_type = STRONG_L, 
            resolved_level = 0, 
            invalid_levels = 0, 
            invalid_rl_levels = -1, 
            prev_was_pdf = 0, 
            prev = {
              bytepos = 1, 
              charpos = 1, 
              type = STRONG_L, 
              type_after_w1 = NEUTRAL_B, 
              orig_type = NEUTRAL_B
            }, 
            last_strong = {
              bytepos = 393, 
              charpos = 393, 
              type = UNKNOWN_BT, 
              type_after_w1 = UNKNOWN_BT, 
              orig_type = UNKNOWN_BT
            }, 
            next_for_neutral = {
              bytepos = 2, 
              charpos = 2, 
              type = UNKNOWN_BT, 
              type_after_w1 = UNKNOWN_BT, 
              orig_type = UNKNOWN_BT
            }, 
            prev_for_neutral = {
              bytepos = 1, 
              charpos = 1, 
              type = STRONG_L, 
              type_after_w1 = NEUTRAL_B, 
              orig_type = NEUTRAL_B
            }, 
            next_for_ws = {
              bytepos = 0, 
              charpos = 0, 
              type = UNKNOWN_BT, 
              type_after_w1 = UNKNOWN_BT, 
              orig_type = UNKNOWN_BT
            }, 
            next_en_pos = -1, 
            ignore_bn_limit = -1, 
            sor = L2R, 
            scan_dir = 1, 
            disp_pos = 3, 
            disp_prop = 0, 
            stack_idx = 0, 
            level_stack = {{
                level = 0, 
                override = NEUTRAL_DIR
              } <repeats 64 times>}, 
            string = {
              lstring = 29383745, 
              s = 0x0, 
              schars = 3, 
              bufpos = 395, 
              from_disp_str = 1, 
              unibyte = 1
            }, 
            paragraph_dir = L2R, 
            separator_limit = 3, 
            first_elt = 0, 
            new_paragraph = 0, 
            frame_window_p = 1
          }, 
          paragraph_embedding = L2R
        }
        last_text_row = 0xb8fde0
        f = 0x125e430
#5  0x0000000000460e21 in redisplay_window (window=19261045, just_this_one_p=0) at xdisp.c:15441
        d2 = 0
        d4 = 0
        d6 = 0
        d1 = 0
        d3 = 0
        d5 = 0
        w = 0x125e670
        f = 0x125e430
        buffer = <optimized out>
        old = 0x1f5aea0
        lpoint = {
          charpos = 1034, 
          bytepos = 1034
        }
        opoint = {
          charpos = 1, 
          bytepos = 1
        }
        startp = {
          charpos = 1, 
          bytepos = 1
        }
        update_mode_line = 1
        tem = <optimized out>
        it = {
          window = 1984274890857, 
          w = 0x0, 
          f = 0x1, 
          method = 78, 
          stop_charpos = 12884901899, 
          prev_stop = 8589934600, 
          base_level_stop = 330712481869, 
          end_charpos = 1, 
          s = 0xffffffff <Address 0xffffffff out of bounds>, 
          string_nchars = 79, 
          region_beg_charpos = 0, 
          region_end_charpos = 0, 
          redisplay_end_trigger_charpos = -1, 
          multibyte_p = 1, 
          header_line_p = 1, 
          string_from_display_prop_p = 1, 
          from_disp_prop_p = 1, 
          ellipsis_p = 1, 
          avoid_cursor_p = 1, 
          dp = 0x0, 
          dpvec = 0x1, 
          dpend = 0x0, 
          dpvec_char_len = 0, 
          dpvec_face_id = 0, 
          saved_face_id = 0, 
          ctl_chars = {0, 4294967295, 0 <repeats 14 times>}, 
          start = {
            pos = {
              charpos = 0, 
              bytepos = 0
            }, 
            overlay_string_index = 1, 
            string_pos = {
              charpos = 1, 
              bytepos = 4294967295
            }, 
            dpvec_index = -1
          }, 
          current = {
            pos = {
              charpos = -1, 
              bytepos = 4294967295
            }, 
            overlay_string_index = 1, 
            string_pos = {
              charpos = 1, 
              bytepos = 4294967295
            }, 
            dpvec_index = -1
          }, 
          n_overlay_strings = -1, 
          overlay_strings_charpos = 4294967295, 
          overlay_strings = {0, 1, 0 <repeats 14 times>}, 
          string_overlays = {0 <repeats 16 times>}, 
          string = 0, 
          from_overlay = 0, 
          stack = {{
              string = 12024322, 
              string_nchars = 0, 
              end_charpos = 0, 
              stop_charpos = 0, 
              prev_stop = 0, 
              base_level_stop = 0, 
              cmp_it = {
                stop_pos = 0, 
                id = 0, 
                ch = 0, 
                rule_idx = 0, 
                lookback = 0, 
                nglyphs = 0, 
                reversed_p = 0, 
                charpos = 0, 
                nchars = 0, 
                nbytes = 0, 
                from = 0, 
                to = 0, 
                width = 0
              }, 
              face_id = 0, 
              u = {
                image = {
                  object = 0, 
                  slice = {
                    x = 0, 
                    y = 0, 
                    width = 0, 
                    height = 0
                  }, 
                  image_id = 0
                }, 
                comp = {
                  object = 0
                }, 
                stretch = {
                  object = 0
                }
              }, 
              position = {
                charpos = 0, 
                bytepos = 0
              }, 
              current = {
                pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                overlay_string_index = 0, 
                string_pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                dpvec_index = 0
              }, 
              from_overlay = 0, 
              area = LEFT_MARGIN_AREA, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, 
              string_from_display_prop_p = 0, 
              display_ellipsis_p = 0, 
              avoid_cursor_p = 0, 
              bidi_p = 0, 
              from_disp_prop_p = 0, 
              line_wrap = TRUNCATE, 
              voffset = 0, 
              space_width = 0, 
              font_height = 0
            }, {
              string = 0, 
              string_nchars = 0, 
              end_charpos = 0, 
              stop_charpos = 0, 
              prev_stop = 0, 
              base_level_stop = 0, 
              cmp_it = {
                stop_pos = 0, 
                id = 0, 
                ch = 0, 
                rule_idx = 0, 
                lookback = 0, 
                nglyphs = 0, 
                reversed_p = 0, 
                charpos = 0, 
                nchars = 0, 
                nbytes = 0, 
                from = 0, 
                to = 0, 
                width = 0
              }, 
              face_id = 0, 
              u = {
                image = {
                  object = 0, 
                  slice = {
                    x = 0, 
                    y = 0, 
                    width = 0, 
                    height = 0
                  }, 
                  image_id = 0
                }, 
                comp = {
                  object = 0
                }, 
                stretch = {
                  object = 0
                }
              }, 
              position = {
                charpos = 0, 
                bytepos = 0
              }, 
              current = {
                pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                overlay_string_index = 0, 
                string_pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                dpvec_index = 0
              }, 
              from_overlay = 0, 
              area = LEFT_MARGIN_AREA, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, 
              string_from_display_prop_p = 0, 
              display_ellipsis_p = 0, 
              avoid_cursor_p = 0, 
              bidi_p = 0, 
              from_disp_prop_p = 0, 
              line_wrap = TRUNCATE, 
              voffset = 0, 
              space_width = 0, 
              font_height = 0
            }, {
              string = 0, 
              string_nchars = 0, 
              end_charpos = 0, 
              stop_charpos = 0, 
              prev_stop = 0, 
              base_level_stop = 0, 
              cmp_it = {
                stop_pos = 0, 
                id = 0, 
                ch = 0, 
                rule_idx = 0, 
                lookback = 0, 
                nglyphs = 0, 
                reversed_p = 0, 
                charpos = 0, 
                nchars = 0, 
                nbytes = 0, 
                from = 0, 
                to = 0, 
                width = 0
              }, 
              face_id = 0, 
              u = {
                image = {
                  object = 0, 
                  slice = {
                    x = 0, 
                    y = 0, 
                    width = 0, 
                    height = 0
                  }, 
                  image_id = 0
                }, 
                comp = {
                  object = 0
                }, 
                stretch = {
                  object = 0
                }
              }, 
              position = {
                charpos = 0, 
                bytepos = 0
              }, 
              current = {
                pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                overlay_string_index = 0, 
                string_pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                dpvec_index = 0
              }, 
              from_overlay = 0, 
              area = LEFT_MARGIN_AREA, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, 
              string_from_display_prop_p = 0, 
              display_ellipsis_p = 0, 
              avoid_cursor_p = 0, 
              bidi_p = 0, 
              from_disp_prop_p = 0, 
              line_wrap = TRUNCATE, 
              voffset = 0, 
              space_width = 0, 
              font_height = 0
            }, {
              string = 0, 
              string_nchars = 0, 
              end_charpos = 0, 
              stop_charpos = 0, 
              prev_stop = 0, 
              base_level_stop = 0, 
              cmp_it = {
                stop_pos = 0, 
                id = 0, 
                ch = 0, 
                rule_idx = 0, 
                lookback = 0, 
                nglyphs = 0, 
                reversed_p = 0, 
                charpos = 0, 
                nchars = 0, 
                nbytes = 0, 
                from = 0, 
                to = 0, 
                width = 0
              }, 
              face_id = 0, 
              u = {
                image = {
                  object = 0, 
                  slice = {
                    x = 0, 
                    y = 0, 
                    width = 0, 
                    height = 0
                  }, 
                  image_id = 0
                }, 
                comp = {
                  object = 0
                }, 
                stretch = {
                  object = 0
                }
              }, 
              position = {
                charpos = 0, 
                bytepos = 0
              }, 
              current = {
                pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                overlay_string_index = 0, 
                string_pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                dpvec_index = 0
              }, 
              from_overlay = 0, 
              area = LEFT_MARGIN_AREA, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, 
              string_from_display_prop_p = 0, 
              display_ellipsis_p = 0, 
              avoid_cursor_p = 0, 
              bidi_p = 0, 
              from_disp_prop_p = 0, 
              line_wrap = TRUNCATE, 
              voffset = 0, 
              space_width = 0, 
              font_height = 0
            }, {
              string = 0, 
              string_nchars = 0, 
              end_charpos = 0, 
              stop_charpos = 0, 
              prev_stop = 0, 
              base_level_stop = 0, 
              cmp_it = {
                stop_pos = 0, 
                id = 0, 
                ch = 0, 
                rule_idx = 0, 
                lookback = 0, 
                nglyphs = 0, 
                reversed_p = 0, 
                charpos = 0, 
                nchars = 0, 
                nbytes = 0, 
                from = 0, 
                to = 0, 
                width = 0
              }, 
              face_id = 0, 
              u = {
                image = {
                  object = 0, 
                  slice = {
                    x = 0, 
                    y = 0, 
                    width = 0, 
                    height = 0
                  }, 
                  image_id = 0
                }, 
                comp = {
                  object = 0
                }, 
                stretch = {
                  object = 0
                }
              }, 
              position = {
                charpos = 0, 
                bytepos = 0
              }, 
              current = {
                pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                overlay_string_index = 0, 
                string_pos = {
                  charpos = 0, 
                  bytepos = 0
                }, 
                dpvec_index = 0
              }, 
              from_overlay = 0, 
              area = LEFT_MARGIN_AREA, 
              method = GET_FROM_BUFFER, 
              paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, 
              string_from_display_prop_p = 0, 
              display_ellipsis_p = 0, 
              avoid_cursor_p = 0, 
              bidi_p = 0, 
              from_disp_prop_p = 0, 
              line_wrap = TRUNCATE, 
              voffset = 0, 
              space_width = 0, 
              font_height = 0
            }}, 
          sp = 0, 
          selective = 0, 
          what = IT_CHARACTER, 
          face_id = 0, 
          selective_display_ellipsis_p = 0, 
          ctl_arrow_p = 0, 
          face_box_p = 0, 
          start_of_box_run_p = 0, 
          end_of_box_run_p = 0, 
          overlay_strings_at_end_processed_p = 0, 
          ignore_overlay_strings_at_pos_p = 0, 
          glyph_not_available_p = 0, 
          starts_in_middle_of_char_p = 0, 
          face_before_selective_p = 0, 
          constrain_row_ascent_descent_p = 0, 
          line_wrap = TRUNCATE, 
          base_face_id = 0, 
          c = 0, 
          len = 3, 
          cmp_it = {
            stop_pos = 420906795008, 
            id = 0, 
            ch = 76, 
            rule_idx = 0, 
            lookback = -1, 
            nglyphs = -1, 
            reversed_p = -2, 
            charpos = 0, 
            nchars = 0, 
            nbytes = 0, 
            from = 0, 
            to = 0, 
            width = 0
          }, 
          char_to_display = 0, 
          glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE, 
          image_id = 0, 
          slice = {
            x = 0, 
            y = 0, 
            width = 12024322, 
            height = 12024322
          }, 
          space_width = 12024322, 
          voffset = 31234, 
          tab_width = 183, 
          font_height = 12024322, 
          object = 524288, 
          position = {
            charpos = 12024322, 
            bytepos = 21676021
          }, 
          truncation_pixel_width = 1, 
          continuation_pixel_width = 0, 
          first_visible_x = 0, 
          last_visible_x = 1, 
          last_visible_y = 0, 
          extra_line_spacing = 0, 
          max_extra_line_spacing = 0, 
          override_ascent = 480, 
          override_descent = 14, 
          override_boff = 0, 
          glyph_row = 0xffffffff, 
          area = LEFT_MARGIN_AREA, 
          nglyphs = 0, 
          pixel_width = 0, 
          ascent = 0, 
          descent = 1, 
          max_ascent = 0, 
          max_descent = 0, 
          phys_ascent = 0, 
          phys_descent = 0, 
          max_phys_ascent = 0, 
          max_phys_descent = 0, 
          current_x = 0, 
          continuation_lines_width = 0, 
          eol_pos = {
            charpos = 0, 
            bytepos = 0
          }, 
          current_y = 0, 
          first_vpos = 0, 
          vpos = 0, 
          hpos = 0, 
          left_user_fringe_bitmap = 0, 
          right_user_fringe_bitmap = 0, 
          left_user_fringe_face_id = 0, 
          right_user_fringe_face_id = 0, 
          bidi_p = 0, 
          bidi_it = {
            bytepos = 0, 
            charpos = 1048576, 
            ch = 1, 
            nchars = 1, 
            ch_len = 0, 
            type = 4294967295, 
            type_after_w1 = 4294967295, 
            orig_type = UNKNOWN_BT, 
            resolved_level = 0, 
            invalid_levels = 6, 
            invalid_rl_levels = 6, 
            prev_was_pdf = 6, 
            prev = {
              bytepos = -4294967296, 
              charpos = 0, 
              type = UNKNOWN_BT, 
              type_after_w1 = UNKNOWN_BT, 
              orig_type = UNKNOWN_BT
            }, 
            last_strong = {
              bytepos = 0, 
              charpos = 0, 
              type = UNKNOWN_BT, 
              type_after_w1 = UNKNOWN_BT, 
              orig_type = UNKNOWN_BT
            }, 
            next_for_neutral = {
              bytepos = 0, 
              charpos = 0, 
              type = UNKNOWN_BT, 
              type_after_w1 = UNKNOWN_BT, 
              orig_type = 4294967295
            }, 
            prev_for_neutral = {
              bytepos = 0, 
              charpos = 0, 
              type = UNKNOWN_BT, 
              type_after_w1 = UNKNOWN_BT, 
              orig_type = 4294967295
            }, 
            next_for_ws = {
              bytepos = 0, 
              charpos = 0, 
              type = UNKNOWN_BT, 
              type_after_w1 = UNKNOWN_BT, 
              orig_type = UNKNOWN_BT
            }, 
            next_en_pos = 0, 
            ignore_bn_limit = 0, 
            sor = NEUTRAL_DIR, 
            scan_dir = 0, 
            disp_pos = 0, 
            disp_prop = 1, 
            stack_idx = 0, 
            level_stack = {{
                level = -1, 
                override = 4294967295
              }, {
                level = 0, 
                override = NEUTRAL_DIR
              } <repeats 63 times>}, 
            string = {
              lstring = 0, 
              s = 0x0, 
              schars = 12024322, 
              bufpos = 0, 
              from_disp_str = 0, 
              unibyte = 0
            }, 
            paragraph_dir = NEUTRAL_DIR, 
            separator_limit = 0, 
            first_elt = 0, 
            new_paragraph = 0, 
            frame_window_p = 0
          }, 
          paragraph_embedding = 4294967295
        }
        used_current_matrix_p = 0
        buffer_unchanged_p = 0
        temp_scroll_step = 0
        rc = 446
        centering_position = -1
        last_line_misfit = 0
        beg_unchanged = -1
        end_unchanged = 0
#6  0x0000000000462704 in redisplay_window_0 (window=<optimized out>) at xdisp.c:13564
No locals.
#7  0x000000000057a86e in internal_condition_case_1 (bfun=0x4626e0 <redisplay_window_0>, arg=19261045, handlers=11994822, hfun=0x4298b0 <redisplay_window_error>)
    at eval.c:1537
        val = <optimized out>
        c = {
          tag = 12024322, 
          val = 12024322, 
          next = 0x7fffffffdd10, 
          gcpro = 0x0, 
          jmp = {{
              __jmpbuf = {19261040, 2169072859823795225, 32921968, 19260469, 19260464, 12804400, -2169074815036756967, 2169075456071101465}, 
              __mask_was_saved = 0, 
              __saved_mask = {
                __val = {3200000, 128, 12024322, 0, 4611686018427518976, 12024322, 5678354, 3200000, 5746872, 0, 4500992, 19261616, 19260464, 19261616, 19261621, 0}
              }
            }}, 
          backlist = 0x0, 
          handlerlist = 0x7fffffffde20, 
          lisp_eval_depth = 0, 
          pdlcount = 4, 
          poll_suppress_count = 1, 
          interrupt_input_blocked = 0, 
          byte_stack = 0x0
        }
        h = {
          handler = 11994822, 
          var = 12024322, 
          chosen_clause = 17192081330, 
          tag = 0x7fffffffb9f0, 
          next = 0x7fffffffde20
        }
#8  0x000000000042dbbe in redisplay_windows (window=<optimized out>) at xdisp.c:13544
        w = 0x125e670
#9  0x000000000042dbe3 in redisplay_windows (window=<optimized out>) at xdisp.c:13538
        w = 0x1f8f020
#10 0x000000000044bb21 in redisplay_internal () at xdisp.c:13121
        f = 0x125e430
        tail = <optimized out>
        frame = <optimized out>
        w = 0x1f65970
        sw = 0x1f65970
        fr = <optimized out>
        pending = <optimized out>
        must_finish = 1
        tlbufpos = {
          charpos = <optimized out>, 
          bytepos = 879
        }
        tlendpos = <optimized out>
        number_of_visible_frames = <optimized out>
        count = 2
        count1 = <optimized out>
        sf = 0x125e430
        polling_stopped_here = 0
        old_frame = 19260469
        consider_all_windows_p = <optimized out>
#11 0x0000000000510188 in read_char (commandflag=1, nmaps=5, maps=0x7fffffffd9a0, prev_event=12024322, used_mouse_menu=0x7fffffffdb40, end_time=0x0) at keyboard.c:2443
        echo_current = 0
        c = <optimized out>
        local_getcjmp = {{
            __jmpbuf = {36074502, 6080084, 140737488345024, 140737488344992, 0, 140737488344848, 1, 5409279}, 
            __mask_was_saved = 33928427, 
            __saved_mask = {
              __val = {879, 1070, 0, 40, 1033, 32878245, 6077509, 12058402, 1034, 4136, 12058402, 140737488345472, 6079946, 32878245, 140737488345472, 4136}
            }
          }}
        save_jump = {{
            __jmpbuf = {12058402, 6099907, 0, 5724102, 33928427, 78, 81604378624, 19}, 
            __mask_was_saved = 77, 
            __saved_mask = {
              __val = {77, 0, 0, 79, 79, 25769803777, 6, 79, 79, 4294967297, 1, 0, 0, 0, 0, 18446744073709551615}
            }
          }}
        key_already_recorded = 0
        tem = <optimized out>
        save = <optimized out>
        previous_echo_area_message = 12024322
        also_record = 12024322
        reread = 0
        polling_stopped_here = 0
        orig_kboard = 0xfef540
#12 0x0000000000512657 in read_key_sequence (keybuf=0x7fffffffdba0, prompt=12024322, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1, bufsize=30)
    at keyboard.c:9282
        interrupted_kboard = 0xfef540
        interrupted_frame = 0x125e430
        key = <optimized out>
        used_mouse_menu = 0
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = 0
        local_first_binding = 0
        from_string = 12024322
        count = 2
        t = 0
        echo_start = 0
        keys_start = 0
        nmaps = <optimized out>
        nmaps_allocated = 5
        defs = 0x7fffffffd960
        submaps = 0x7fffffffd9a0
        orig_local_map = 29399750
        orig_keymap = 29406518
        localized_local_map = 0
        first_binding = 0
        first_unbound = 31
        mock_input = 0
        fkey = {
          parent = 15800470, 
          map = 15800470, 
          start = 0, 
          end = 0
        }
        keytran = {
          parent = 12003750, 
          map = 12003750, 
          start = 0, 
          end = 0
        }
        indec = {
          parent = 15800454, 
          map = 15800454, 
          start = 0, 
          end = 0
        }
        shift_translated = 0
        delayed_switch_frame = 12024322
        original_uppercase = 0
        original_uppercase_position = -1
        dummyflag = 0
        starting_buffer = 0x1f5aea0
        fake_prefixed_keys = 12024322
#13 0x00000000005143b5 in command_loop_1 () at keyboard.c:1447
        cmd = <optimized out>
        keybuf = {460, 24, 4611686018427404288, 4611686018427389952, 4294967295, 140737488348144, 140737488346304, 5748566, 140737353914824, 140737266595472, 
          140737266624512, 4196080, 0, 140737353861624, 140737353914824, 4234996, 140737266624512, 4211656, 4294967296, 4294968258, 0, 140737354130976, 0, 12024322, 64, 
          12258886, 140737488347864, 4611686018427518976, 12024322, 5678354}
        i = <optimized out>
        prev_modiff = 7051
        prev_buffer = 0x1f5aea0
#14 0x000000000057a706 in internal_condition_case (bfun=0x5141e0 <command_loop_1>, handlers=12076514, hfun=0x508ee0 <cmd_error>) at eval.c:1499
        val = <optimized out>
        c = {
          tag = 12024322, 
          val = 12024322, 
          next = 0x7fffffffde80, 
          gcpro = 0x0, 
          jmp = {{
              __jmpbuf = {13303856, 2169076526782147609, 12024322, 140737488347864, 4294967295, 140737488348144, -2169074816282465255, 2169075456050654233}, 
              __mask_was_saved = 0, 
              __saved_mask = {
                __val = {0, 4294967295, 0, 0, 13303856, 8635752, 0, 4294967295, 140737488348144, 0, 140737351950260, 1, 0, 0, 140737266595472, 0}
              }
            }}, 
          backlist = 0x0, 
          handlerlist = 0x0, 
          lisp_eval_depth = 0, 
          pdlcount = 2, 
          poll_suppress_count = 1, 
          interrupt_input_blocked = 0, 
          byte_stack = 0x0
        }
        h = {
          handler = 12076514, 
          var = 12024322, 
          chosen_clause = 12024322, 
          tag = 0x7fffffffdd10, 
          next = 0x0
        }
#15 0x000000000050734e in command_loop_2 (ignore=<optimized out>) at keyboard.c:1158
        val = 0
#16 0x000000000057a5e8 in internal_catch (tag=Cannot access memory at address 0x5ef7
) at eval.c:1256
        c = {
          tag = 12072306, 
          val = 12024322, 
          next = 0x0, 
          gcpro = 0x0, 
          jmp = {{
              __jmpbuf = {13303856, 2169076526782147609, 12024322, 140737488347864, 4294967295, 140737488348144, -2169074816332796903, 2169075456146598937}, 
              __mask_was_saved = 0, 
              __saved_mask = {
                __val = {0, 0, 0, 0, 0, 0, 6042233, 17456216, 140737488347064, 0, 140737488347056, 6321667, 12024322, 12250274, 5758694, 14}
              }
            }}, 
          backlist = 0x0, 
          handlerlist = 0x0, 
          lisp_eval_depth = 0, 
          pdlcount = 2, 
          poll_suppress_count = 1, 
          interrupt_input_blocked = 0, 
          byte_stack = 0x0
        }
#17 0x00000000005089b7 in command_loop () at keyboard.c:1137
No locals.
#18 recursive_edit_1 () at keyboard.c:757
        val = 12024322
#19 0x0000000000508cec in Frecursive_edit () at keyboard.c:821
        buffer = 12024322
#20 0x000000000041528d in main (argc=1, argv=<optimized out>) at emacs.c:1706
        dummy = 2112
        stack_bottom_variable = 0 '\000'
        do_initial_setlocale = <optimized out>
        skip_args = 0
        rlim = {
          rlim_cur = 8720000, 
          rlim_max = 18446744073709551615
        }
        no_loadup = 0
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x7ffff2c89c48 "2'"




Merged 9738 9739. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 12 Oct 2011 17:39:01 GMT) Full text and rfc822 format available.

Severity set to 'important' from 'normal' Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 12 Oct 2011 17:39:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#9739; Package emacs. (Wed, 12 Oct 2011 18:03:01 GMT) Full text and rfc822 format available.

Message #12 received at 9739 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: lihaitao <at> gmail.com
Cc: 9739 <at> debbugs.gnu.org, lihaitao <at> gmail.com
Subject: Re: bug#9739: 24.0.90; abort at find_row_edges xdisp.c:18714
Date: Wed, 12 Oct 2011 20:02:03 +0200
> From: lihaitao <at> gmail.com
> Date: Thu, 13 Oct 2011 01:22:58 +0800
> Cc: Haitao Li <lihaitao <at> gmail.com>
> 
> I met this issue when using egg-log command by egg.el[1]. I can
> reproduce this bug everytime.
> 
> Step to reproduce:
>   - Open a directory which is a git work tree. For example, a clone of
>     http://github.com/git/git.git 
>   - M-x egg-log 
>   - Press the `s' key
> 
> Full backtrace attach at the end of this mail.

I don't have any git trees on my machine, and don't have egg-log
installed.  So please see if the patch below solves this problem.

=== modified file 'src/bidi.c'
--- src/bidi.c	2011-10-12 15:12:52 +0000
+++ src/bidi.c	2011-10-12 17:56:48 +0000
@@ -808,7 +808,6 @@ bidi_init_it (EMACS_INT charpos, EMACS_I
   bidi_it->nchars = -1;	/* to be computed in bidi_resolve_explicit_1 */
   bidi_it->first_elt = 1;
   bidi_set_paragraph_end (bidi_it);
-  bidi_it->paragraph_dir = NEUTRAL_DIR;
   bidi_it->new_paragraph = 1;
   bidi_it->separator_limit = -1;
   bidi_it->type = NEUTRAL_B;

=== modified file 'src/xdisp.c'
--- src/xdisp.c	2011-10-12 15:12:52 +0000
+++ src/xdisp.c	2011-10-12 17:56:28 +0000
@@ -19479,6 +19479,7 @@ See also `bidi-paragraph-direction'.  */
 	    bytepos--;
 	}
       bidi_init_it (pos, bytepos, FRAME_WINDOW_P (SELECTED_FRAME ()), &itb);
+      itb.paragraph_dir = NEUTRAL_DIR;
       itb.string.s = NULL;
       itb.string.lstring = Qnil;
       itb.string.bufpos = 0;





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#9739; Package emacs. (Wed, 12 Oct 2011 18:48:01 GMT) Full text and rfc822 format available.

Message #15 received at 9739 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Haitao Li <lihaitao <at> gmail.com>
Cc: 9739 <at> debbugs.gnu.org
Subject: Re: bug#9739: 24.0.90; abort at find_row_edges xdisp.c:18714
Date: Wed, 12 Oct 2011 20:45:48 +0200
Please keep the bug tracker on the CC list.

> > I don't have any git trees on my machine, and don't have egg-log
> > installed.  So please see if the patch below solves this problem.
> >
> 
> Still aborted at the same place, with almost the same backtrace.

Then please tell me where to get egg-log, it isn't part of Emacs.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#9739; Package emacs. (Wed, 12 Oct 2011 19:09:02 GMT) Full text and rfc822 format available.

Message #18 received at 9739 <at> debbugs.gnu.org (full text, mbox):

From: Haitao Li <lihaitao <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 9739 <at> debbugs.gnu.org
Subject: Re: bug#9739: 24.0.90; abort at find_row_edges xdisp.c:18714
Date: Thu, 13 Oct 2011 03:07:57 +0800
Sorry! Re-sent with bug tracker CC-ed.

On Thu, Oct 13, 2011 at 2:45 AM, Eli Zaretskii <eliz <at> gnu.org> wrote:
> Please keep the bug tracker on the CC list.
>
>> > I don't have any git trees on my machine, and don't have egg-log
>> > installed.  So please see if the patch below solves this problem.
>> >
>>
>> Still aborted at the same place, with almost the same backtrace.
>
> Then please tell me where to get egg-log, it isn't part of Emacs.
>

I tested with this very recent version of egg.el.
https://raw.github.com/bogolisk/egg/9ae5b190daa162e9bc67bc07e30254a35b168301/egg.el

BTW, I just found the crash first happened on this revision. It works
okay on the version before that. (Sorry for not using bzr version
number.)

commit 00d451f4f7f9b9fef08a36c9d61b6f803480d1ba
Author: Eli Zaretskii
Date:   Tue Sep 20 20:13:45 2011 +0300

   Fix bug #9549 with longlines-show-hard-newlines.

    src/xdisp.c (set_cursor_from_row): If the row ends in a newline from
    a display string, extend search for cursor position to end of row.
    (find_row_edges): If the row ends in a newline from a display
    string, increment its MATRIX_ROW_END_CHARPOS by one.
    Handle the case of a display string with multiple newlines.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#9739; Package emacs. (Wed, 12 Oct 2011 20:21:02 GMT) Full text and rfc822 format available.

Message #21 received at 9739 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Haitao Li <lihaitao <at> gmail.com>
Cc: 9739 <at> debbugs.gnu.org
Subject: Re: bug#9739: 24.0.90; abort at find_row_edges xdisp.c:18714
Date: Wed, 12 Oct 2011 22:16:16 +0200
> From: Haitao Li <lihaitao <at> gmail.com>
> Date: Thu, 13 Oct 2011 03:07:57 +0800
> Cc: 9739 <at> debbugs.gnu.org
> 
> BTW, I just found the crash first happened on this revision. It works
> okay on the version before that. (Sorry for not using bzr version
> number.)
> 
> commit 00d451f4f7f9b9fef08a36c9d61b6f803480d1ba
> Author: Eli Zaretskii
> Date:   Tue Sep 20 20:13:45 2011 +0300
> 
>    Fix bug #9549 with longlines-show-hard-newlines.
> 
>     src/xdisp.c (set_cursor_from_row): If the row ends in a newline from
>     a display string, extend search for cursor position to end of row.
>     (find_row_edges): If the row ends in a newline from a display
>     string, increment its MATRIX_ROW_END_CHARPOS by one.
>     Handle the case of a display string with multiple newlines.

Yes, the code that aborts was introduced in that revision.

I think I fixed the crash, please try the latest bzr.  Or apply the
patch below.

=== modified file 'src/ChangeLog'
--- src/ChangeLog	2011-10-12 19:08:04 +0000
+++ src/ChangeLog	2011-10-12 20:07:59 +0000
@@ -1,3 +1,9 @@
+2011-10-12  Eli Zaretskii  <eliz <at> gnu.org>
+
+	* xdisp.c (find_row_edges): Handle the case where ROW comes from a
+	display string and the previous row comes from the same string and
+	is empty.  (Bug#9739)  (Bug#9738)
+
 2011-10-12  Stefan Monnier  <monnier <at> iro.umontreal.ca>
 
 	* doc.c (get_doc_string): Encode file name (bug#9735).

=== modified file 'src/xdisp.c'
--- src/xdisp.c	2011-10-12 15:12:52 +0000
+++ src/xdisp.c	2011-10-12 20:07:59 +0000
@@ -18646,7 +18646,12 @@ find_row_edges (struct it *it, struct gl
 		    seen_this_string = 1;
 		}
 	      else
-		abort ();
+		/* If all the glyphs of the previous row were inserted
+		   by redisplay, it means the previous row was
+		   produced from a single newline, which is only
+		   possible if that newline came from the same string
+		   as the one which produced this ROW.  */
+		seen_this_string = 1;
 	    }
 	  else
 	    {
@@ -18662,7 +18667,7 @@ find_row_edges (struct it *it, struct gl
 		    seen_this_string = 1;
 		}
 	      else
-		abort ();
+		seen_this_string = 1;
 	    }
 	}
       /* Take note of each display string that covers a newline only






Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#9739; Package emacs. (Thu, 13 Oct 2011 02:00:02 GMT) Full text and rfc822 format available.

Message #24 received at 9739 <at> debbugs.gnu.org (full text, mbox):

From: Haitao Li <lihaitao <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 9739 <at> debbugs.gnu.org
Subject: Re: bug#9739: 24.0.90; abort at find_row_edges xdisp.c:18714
Date: Thu, 13 Oct 2011 09:59:06 +0800
On Thu, Oct 13, 2011 at 4:16 AM, Eli Zaretskii <eliz <at> gnu.org> wrote:
>
> Yes, the code that aborts was introduced in that revision.
>
> I think I fixed the crash, please try the latest bzr.  Or apply the
> patch below.
>

Yes, it fixed the crash. Thank you for the great work!




Message #25 received at 9739-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Haitao Li <lihaitao <at> gmail.com>
Cc: 9739-done <at> debbugs.gnu.org
Subject: Re: bug#9739: 24.0.90; abort at find_row_edges xdisp.c:18714
Date: Thu, 13 Oct 2011 10:38:17 +0200
> From: Haitao Li <lihaitao <at> gmail.com>
> Date: Thu, 13 Oct 2011 09:59:06 +0800
> Cc: 9739 <at> debbugs.gnu.org
> 
> On Thu, Oct 13, 2011 at 4:16 AM, Eli Zaretskii <eliz <at> gnu.org> wrote:
> >
> > Yes, the code that aborts was introduced in that revision.
> >
> > I think I fixed the crash, please try the latest bzr.  Or apply the
> > patch below.
> >
> 
> Yes, it fixed the crash. Thank you for the great work!

Thanks, closing.





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 10 Nov 2011 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 13 years and 228 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.