unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#21200: 25.0.50; xdisp.c: infinite loop when using invisibility specs
@ 2015-08-06 18:26 Pip Cet
  2015-08-06 19:36 ` Eli Zaretskii
  0 siblings, 1 reply; 4+ messages in thread
From: Pip Cet @ 2015-08-06 18:26 UTC (permalink / raw)
  To: 21200

[-- Attachment #1: Type: text/plain, Size: 1456 bytes --]

Hi,
with the current git tree (revision 0aec2aac), I'm running into
problems with an infinite loop in xdisp.c which I believe to be fixed
by this patch, which is reasonably obvious:

diff --git a/src/xdisp.c b/src/xdisp.c
index e45cb87..7b221d4 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -4221,6 +4221,8 @@ handle_invisible_prop (struct it *it)
           if (invis == 2)
             display_ellipsis_p = true;
         }
+
+              charpos = end_charpos;
         }
       while (invis != 0 && endpos < len);

in this loop:

      do
        {
          end_charpos = Fnext_single_property_change (charpos, Qinvisible,
                              it->string, limit);
          if (INTEGERP (end_charpos))
        {
          endpos = XFASTINT (end_charpos);
          charpos = end_charpos;
          prop = Fget_text_property (end_charpos, Qinvisible, it->string);
          invis = TEXT_PROP_MEANS_INVISIBLE (prop);
          if (invis == 2)
            display_ellipsis_p = true;
        }
        }
      while (invis != 0 && endpos < len);

Without the patch, we keep calling Fnext_property_change with the same
arguments and expecting a different result, which obviously never
happens. In fact it seems to me we only need one of charpos and
end_charpos as the code currently stands, anyway. However, charpos =
f(..., charpos, ...) might cause confusion.

I can provide more detail if necessary, but as I said, it's a fairly
obvious bug.

[-- Attachment #2: emacs-006.diff --]
[-- Type: text/plain, Size: 315 bytes --]

diff --git a/src/xdisp.c b/src/xdisp.c
index e45cb87..7b221d4 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -4221,6 +4221,8 @@ handle_invisible_prop (struct it *it)
 		  if (invis == 2)
 		    display_ellipsis_p = true;
 		}
+
+              charpos = end_charpos;
 	    }
 	  while (invis != 0 && endpos < len);
 

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* bug#21200: 25.0.50; xdisp.c: infinite loop when using invisibility specs
  2015-08-06 18:26 bug#21200: 25.0.50; xdisp.c: infinite loop when using invisibility specs Pip Cet
@ 2015-08-06 19:36 ` Eli Zaretskii
  2015-08-06 21:16   ` Pip Cet
  0 siblings, 1 reply; 4+ messages in thread
From: Eli Zaretskii @ 2015-08-06 19:36 UTC (permalink / raw)
  To: Pip Cet; +Cc: 21200

> Date: Thu, 6 Aug 2015 18:26:05 +0000
> From: Pip Cet <pipcet@gmail.com>
> 
> with the current git tree (revision 0aec2aac), I'm running into
> problems with an infinite loop in xdisp.c which I believe to be fixed
> by this patch, which is reasonably obvious:
> 
> diff --git a/src/xdisp.c b/src/xdisp.c
> index e45cb87..7b221d4 100644
> --- a/src/xdisp.c
> +++ b/src/xdisp.c
> @@ -4221,6 +4221,8 @@ handle_invisible_prop (struct it *it)
>            if (invis == 2)
>              display_ellipsis_p = true;
>          }
> +
> +              charpos = end_charpos;
>          }
>        while (invis != 0 && endpos < len);
> 
> in this loop:
> 
>       do
>         {
>           end_charpos = Fnext_single_property_change (charpos, Qinvisible,
>                               it->string, limit);
>           if (INTEGERP (end_charpos))
>         {
>           endpos = XFASTINT (end_charpos);
>           charpos = end_charpos;
>           prop = Fget_text_property (end_charpos, Qinvisible, it->string);
>           invis = TEXT_PROP_MEANS_INVISIBLE (prop);
>           if (invis == 2)
>             display_ellipsis_p = true;
>         }
>         }
>       while (invis != 0 && endpos < len);
> 
> Without the patch, we keep calling Fnext_property_change with the same
> arguments and expecting a different result, which obviously never
> happens. In fact it seems to me we only need one of charpos and
> end_charpos as the code currently stands, anyway. However, charpos =
> f(..., charpos, ...) might cause confusion.
> 
> I can provide more detail if necessary, but as I said, it's a fairly
> obvious bug.

Yes, please provide the details, and preferably also a recipe where
you see the loop.

Thanks.





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#21200: 25.0.50; xdisp.c: infinite loop when using invisibility specs
  2015-08-06 19:36 ` Eli Zaretskii
@ 2015-08-06 21:16   ` Pip Cet
  2015-08-07 13:46     ` Eli Zaretskii
  0 siblings, 1 reply; 4+ messages in thread
From: Pip Cet @ 2015-08-06 21:16 UTC (permalink / raw)
  Cc: 21200

[-- Attachment #1: Type: text/plain, Size: 2110 bytes --]

Dear Eli,
thank you for responding. I've attached the output of M-x
report-emacs-bug, including the gdb backtrace and a test script that
triggers the problem. If you need me to run further tests, please let
me know.

My apologies for sending an incomplete report at first.

Thanks!

On Thu, Aug 6, 2015 at 7:36 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> Date: Thu, 6 Aug 2015 18:26:05 +0000
>> From: Pip Cet <pipcet@gmail.com>
>>
>> with the current git tree (revision 0aec2aac), I'm running into
>> problems with an infinite loop in xdisp.c which I believe to be fixed
>> by this patch, which is reasonably obvious:
>>
>> diff --git a/src/xdisp.c b/src/xdisp.c
>> index e45cb87..7b221d4 100644
>> --- a/src/xdisp.c
>> +++ b/src/xdisp.c
>> @@ -4221,6 +4221,8 @@ handle_invisible_prop (struct it *it)
>>            if (invis == 2)
>>              display_ellipsis_p = true;
>>          }
>> +
>> +              charpos = end_charpos;
>>          }
>>        while (invis != 0 && endpos < len);
>>
>> in this loop:
>>
>>       do
>>         {
>>           end_charpos = Fnext_single_property_change (charpos, Qinvisible,
>>                               it->string, limit);
>>           if (INTEGERP (end_charpos))
>>         {
>>           endpos = XFASTINT (end_charpos);
>>           charpos = end_charpos;
>>           prop = Fget_text_property (end_charpos, Qinvisible, it->string);
>>           invis = TEXT_PROP_MEANS_INVISIBLE (prop);
>>           if (invis == 2)
>>             display_ellipsis_p = true;
>>         }
>>         }
>>       while (invis != 0 && endpos < len);
>>
>> Without the patch, we keep calling Fnext_property_change with the same
>> arguments and expecting a different result, which obviously never
>> happens. In fact it seems to me we only need one of charpos and
>> end_charpos as the code currently stands, anyway. However, charpos =
>> f(..., charpos, ...) might cause confusion.
>>
>> I can provide more detail if necessary, but as I said, it's a fairly
>> obvious bug.
>
> Yes, please provide the details, and preferably also a recipe where
> you see the loop.
>
> Thanks.

[-- Attachment #2: emacs-bug-info-001.txt --]
[-- Type: text/plain, Size: 36301 bytes --]

--text follows this line--

The following code crashes emacs -Q --load test.el:
----
(let ((o (make-overlay (point) (point))))
  (overlay-put o 'after-string (concat (propertize "hi" 'invisible 'symbol)
                                       (propertize "bye" 'invisible 'symbol2))))
----


bt full
bt full
#0  0x00000000004507e0 in handle_invisible_prop (it=0x7ffde3ebcc20) at /home/pip/git/emacs/src/xdisp.c:4210
        display_ellipsis_p = false
        endpos = <optimized out>
        end_charpos = <optimized out>
        handled = HANDLED_RECOMPUTE_PROPS
        invis = 1
        prop = <optimized out>
#1  0x000000000043e20a in handle_stop (it=0x7ffde3ebcc20) at /home/pip/git/emacs/src/xdisp.c:3313
        handled = HANDLED_NORMALLY
        handle_overlay_change_p = true
        p = 0x83c530 <it_props+48>
#2  0x000000000044bd87 in start_display (it=it@entry=0x7ffde3ebcc20, w=w@entry=0x11f1130, pos=...) at /home/pip/git/emacs/src/xdisp.c:2944
        row = <optimized out>
#3  0x000000000044d02f in try_window (window=window@entry=18813237, pos=..., flags=flags@entry=1) at /home/pip/git/emacs/src/xdisp.c:16888
        it = {window = 18813237, w = 0x11f1130, f = 0x11ef2b0, method = GET_FROM_STRING, stop_charpos = 0, prev_stop = 0, base_level_stop = 0, end_charpos = 5, s = 0x0, string_nchars = 0, redisplay_end_trigger_charpos = 0, multibyte_p = false, header_line_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, from_disp_prop_p = false, ellipsis_p = false, avoid_cursor_p = false, dp = 0x0, dpvec = 0x0, dpend = 0x0, dpvec_char_len = 0, dpvec_face_id = 0, saved_face_id = 0, ctl_chars = {0 <repeats 16 times>}, start = {pos = {charpos = 1, bytepos = 1}, overlay_string_index = -1, string_pos = {charpos = -1, bytepos = -1}, dpvec_index = -1}, current = {pos = {charpos = 1, bytepos = 1}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = -1}, n_overlay_strings = 1, overlay_strings_charpos = 1, overlay_strings = {34689668, 0 <repeats 15 times>}, string_overlays = {12660409, 0 <repeats 15 times>}, string = 34689668, from_overlay = 0, stack = {{string = 0, string_nchars = 0, end_charpos = 192, stop_charpos = 4, prev_stop = 1, base_level_stop = 0, cmp_it = {stop_pos = 78, id = -1, ch = -2, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0}, face_id = 16, u = {image = {object = 0, slice = {x = 0, y = 0, width = 0, height = 0}, image_id = 0}, comp = {object = 0}, stretch = {object = 0}}, position = {charpos = 1, bytepos = 1}, current = {pos = {charpos = 1, bytepos = 1}, overlay_string_index = 0, string_pos = {charpos = -1, bytepos = -1}, dpvec_index = -1}, from_overlay = 0, area = TEXT_AREA, method = GET_FROM_BUFFER, paragraph_embedding = L2R, multibyte_p = true, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = true, from_disp_prop_p = false, line_wrap = WINDOW_WRAP, 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 = false, 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 = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, 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 = false, 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 = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, 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 = false, 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 = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, 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 = false, 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 = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = 0, font_height = 0}}, sp = 1, selective = 0, what = IT_CHARACTER, face_id = 16, selective_display_ellipsis_p = true, ctl_arrow_p = true, face_box_p = false, start_of_box_run_p = false, end_of_box_run_p = false, overlay_strings_at_end_processed_p = false, ignore_overlay_strings_at_pos_p = false, glyph_not_available_p = false, starts_in_middle_of_char_p = false, face_before_selective_p = false, constrain_row_ascent_descent_p = false, line_wrap = WINDOW_WRAP, base_face_id = 0, c = 59, len = 0, cmp_it = {stop_pos = 78, id = -1, ch = -2, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, 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 = 0, height = 0}, space_width = 0, voffset = 0, tab_width = 8, font_height = 0, object = 12614917, position = {charpos = 1, bytepos = 1}, truncation_pixel_width = 0, continuation_pixel_width = 7, first_visible_x = 0, last_visible_x = 560, last_visible_y = 429, extra_line_spacing = 0, max_extra_line_spacing = 0, override_ascent = -1, override_descent = 0, override_boff = 0, glyph_row = 0x201be50, area = TEXT_AREA, nglyphs = 1, pixel_width = 0, ascent = 0, descent = 0, 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 = true, bidi_it = {bytepos = 0, charpos = 0, ch = 0, nchars = -1, ch_len = 0, type = NEUTRAL_B, type_after_wn = NEUTRAL_B, orig_type = NEUTRAL_B, resolved_level = 0 '\000', isolate_level = 0 '\000', invalid_levels = 0, invalid_isolates = 0, prev = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, last_strong = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, next_for_neutral = {charpos = -1, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, prev_for_neutral = {charpos = -1, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, next_for_ws = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, bracket_pairing_pos = -1, bracket_enclosed_type = UNKNOWN_BT, next_en_pos = 0, next_en_type = UNKNOWN_BT, sos = L2R, scan_dir = 0, disp_pos = -1, disp_prop = 0, stack_idx = 0, level_stack = {{next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'} <repeats 128 times>}, string = {lstring = 34689668, s = 0x0, schars = 5, bufpos = 1, from_disp_str = false, unibyte = true}, w = 0x11f1130, paragraph_dir = NEUTRAL_DIR, separator_limit = -1, first_elt = true, new_paragraph = true, frame_window_p = true}, paragraph_embedding = L2R}
        last_text_row = 0x0
        frame_line_height = 13
#4  0x0000000000462511 in redisplay_window (window=<optimized out>, just_this_one_p=just_this_one_p@entry=false) at /home/pip/git/emacs/src/xdisp.c:16367
        d2 = 0
        d6 = 0
        d1 = 0
        d5 = 0
        rtop = 0
        rbot = 0
        old = <optimized out>
        lpoint = <optimized out>
        opoint = <optimized out>
        startp = {charpos = 1, bytepos = 1}
        update_mode_line = true
        it = {window = 0, w = 0x0, f = 0x0, method = GET_FROM_BUFFER, stop_charpos = 0, prev_stop = 0, base_level_stop = 0, end_charpos = 0, s = 0x0, string_nchars = 0, redisplay_end_trigger_charpos = 0, multibyte_p = false, header_line_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, from_disp_prop_p = false, ellipsis_p = false, avoid_cursor_p = false, dp = 0x0, dpvec = 0x0, dpend = 0x0, dpvec_char_len = 0, dpvec_face_id = 0, saved_face_id = 0, ctl_chars = {0 <repeats 16 times>}, start = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, n_overlay_strings = 0, overlay_strings_charpos = 0, overlay_strings = {0 <repeats 16 times>}, string_overlays = {0 <repeats 16 times>}, string = 0, from_overlay = 0, stack = {{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 = false, 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 = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, 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 = false, 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 = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, 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 = false, 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 = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, 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 = false, 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 = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = 0, font_height = 0}, {string = 0, string_nchars = 0, end_charpos = 0, stop_charpos = 8589934595, prev_stop = 395136991232, base_level_stop = 1, cmp_it = {stop_pos = 0, id = -1, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0}, face_id = 92, u = {image = {object = 0, slice = {x = 0, y = 0, width = 0, height = 0}, image_id = 0}, comp = {object = 0}, stretch = {object = 0}}, position = {charpos = 524288, bytepos = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, from_overlay = 4294967295, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 1, space_width = 42949672967, font_height = 42949672963}}, sp = 3, selective = 34359738369, what = IT_COMPOSITION, face_id = 0, selective_display_ellipsis_p = false, ctl_arrow_p = false, face_box_p = false, start_of_box_run_p = false, end_of_box_run_p = false, overlay_strings_at_end_processed_p = false, ignore_overlay_strings_at_pos_p = false, glyph_not_available_p = false, starts_in_middle_of_char_p = false, face_before_selective_p = false, constrain_row_ascent_descent_p = false, 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 = false, 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 = 0, height = 0}, space_width = 0, voffset = 0, tab_width = 0, font_height = 0, object = 0, position = {charpos = 0, bytepos = 0}, truncation_pixel_width = 0, continuation_pixel_width = 0, first_visible_x = 0, last_visible_x = 0, last_visible_y = 0, extra_line_spacing = 0, max_extra_line_spacing = 0, override_ascent = 0, override_descent = 0, override_boff = 0, glyph_row = 0x0, area = LEFT_MARGIN_AREA, nglyphs = 0, pixel_width = 0, ascent = 0, descent = 0, 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 = false, bidi_it = {bytepos = 0, charpos = 0, ch = 0, nchars = 0, ch_len = 0, type = UNKNOWN_BT, type_after_wn = UNKNOWN_BT, orig_type = UNKNOWN_BT, resolved_level = 0 '\000', isolate_level = 0 '\000', invalid_levels = 0, invalid_isolates = 0, prev = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, last_strong = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, next_for_neutral = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, prev_for_neutral = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, next_for_ws = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, bracket_pairing_pos = 0, bracket_enclosed_type = UNKNOWN_BT, next_en_pos = 0, next_en_type = UNKNOWN_BT, sos = NEUTRAL_DIR, scan_dir = 0, disp_pos = 0, disp_prop = 0, stack_idx = 0, level_stack = {{next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'} <repeats 65 times>, {next_for_neutral_pos = 16384, next_for_neutral_type = 4, last_strong_type = 2, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140728427344064, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 7, level = 61 '=', flags = 1 '\001'}, {next_for_neutral_pos = 20825872, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 3, level = 235 '\353', flags = 227 '\343'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 6, level = 235 '\353', flags = 227 '\343'}, {next_for_neutral_pos = 19776, next_for_neutral_type = 2, last_strong_type = 0, prev_for_neutral_type = 1, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140728427344064, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 4955645, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 72057594037927936, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 20825584, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 4, level = 61 '=', flags = 1 '\001'}, {next_for_neutral_pos = 140728427344168, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140728427344160, next_for_neutral_type = 0, last_strong_type = 3, prev_for_neutral_type = 4, level = 235 '\353', flags = 227 '\343'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 5, level = 235 '\353', flags = 227 '\343'}, {next_for_neutral_pos = 140728427344496, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 5, level = 235 '\353', flags = 227 '\343'}, {next_for_neutral_pos = 20825872, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 20825584, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 4390064, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 6, next_for_neutral_type = 0, last_strong_type = 7, prev_for_neutral_type = 7, level = 255 '\377', flags = 255 '\377'}, {next_for_neutral_pos = 5932263, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 5924271, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 2, last_strong_type = 1, prev_for_neutral_type = 4, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 14784, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140728427344152, next_for_neutral_type = 5, last_strong_type = 0, prev_for_neutral_type = 5, level = 15 '\017', flags = 2 '\002'}, {next_for_neutral_pos = 5930607, next_for_neutral_type = 2, last_strong_type = 0, prev_for_neutral_type = 1, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 6, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 6, level = 235 '\353', flags = 227 '\343'}, {next_for_neutral_pos = 0, next_for_neutral_type = 2, last_strong_type = 0, prev_for_neutral_type = 1, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140728427344152, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 4, level = 235 '\353', flags = 227 '\343'}, {next_for_neutral_pos = 5948205, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140728427344168, next_for_neutral_type = 1, last_strong_type = 1, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 1, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140728427344496, next_for_neutral_type = 0, last_strong_type = 1, prev_for_neutral_type = 3, level = 235 '\353', flags = 227 '\343'}, {next_for_neutral_pos = 1, next_for_neutral_type = 2, last_strong_type = 0, prev_for_neutral_type = 1, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 5954664, next_for_neutral_type = 0, last_strong_type = 5, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 5919458, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140728427344496, next_for_neutral_type = 7, last_strong_type = 7, prev_for_neutral_type = 7, level = 255 '\377', flags = 255 '\377'}, {next_for_neutral_pos = 0, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 66, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 235 '\353', flags = 227 '\343'}, {next_for_neutral_pos = 5924271, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140728427344496, next_for_neutral_type = 6, last_strong_type = 2, prev_for_neutral_type = 6, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140728427344496, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 1, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 4393219, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 1, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 6, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 4448145, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 1, level = 235 '\353', flags = 227 '\343'}, {next_for_neutral_pos = 8635712, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 5, level = 131 '\203', flags = 0 '\000'}, {next_for_neutral_pos = 140728427344496, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140728427344496, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 1, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 1, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 4450576, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140728427344496, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 1, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 2, level = 30 '\036', flags = 1 '\001'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 1, level = 26 '\032', flags = 1 '\001'}, {next_for_neutral_pos = 1, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 4509786, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 6, level = 242 '\362', flags = 0 '\000'}, {next_for_neutral_pos = 55834574861, next_for_neutral_type = 5, last_strong_type = 4, prev_for_neutral_type = 1, level = 26 '\032', flags = 1 '\001'}, {next_for_neutral_pos = 18521696, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 2, level = 30 '\036', flags = 1 '\001'}}, string = {lstring = 0, s = 0x42 <error: Cannot access memory at address 0x42>, schars = 0, bufpos = 0, from_disp_str = false, unibyte = true}, w = 0x0, paragraph_dir = NEUTRAL_DIR, separator_limit = 0, first_elt = false, new_paragraph = false, frame_window_p = false}, paragraph_embedding = NEUTRAL_DIR}
        current_matrix_up_to_date_p = false
        used_current_matrix_p = false
        buffer_unchanged_p = false
        temp_scroll_step = false
        rc = 10
        centering_position = -1
        last_line_misfit = false
        beg_unchanged = <optimized out>
        end_unchanged = <optimized out>
        frame_line_height = 13
#5  0x00000000004651cb in redisplay_window_0 (window=window@entry=18813237) at /home/pip/git/emacs/src/xdisp.c:14184
No locals.
#6  0x00000000005579cb in internal_condition_case_1 (bfun=bfun@entry=0x4651a0 <redisplay_window_0>, arg=18813237, handlers=<optimized out>, hfun=hfun@entry=0x42bab0 <redisplay_window_error>) at /home/pip/git/emacs/src/eval.c:1380
        val = <optimized out>
        c = <optimized out>
#7  0x000000000043158e in redisplay_windows (window=18813237) at /home/pip/git/emacs/src/xdisp.c:14164
No locals.
#8  0x00000000004539b9 in redisplay_internal () at /home/pip/git/emacs/src/xdisp.c:13756
        gcscrollbars = <optimized out>
        w = <optimized out>
        sw = <optimized out>
        pending = <optimized out>
        must_finish = <optimized out>
        match_p = <optimized out>
        tlbufpos = <optimized out>
        tlendpos = <optimized out>
        number_of_visible_frames = <optimized out>
        sf = <optimized out>
        polling_stopped_here = <optimized out>
        tail = 15922579
        consider_all_windows_p = <optimized out>
        update_miniwindow_p = true
#9  0x0000000000454da5 in redisplay () at /home/pip/git/emacs/src/xdisp.c:13019
No locals.
#10 0x00000000004f2913 in read_char (commandflag=commandflag@entry=1, map=map@entry=19782739, prev_event=0, used_mouse_menu=used_mouse_menu@entry=0x7ffde3ec1feb, end_time=end_time@entry=0x0) at /home/pip/git/emacs/src/keyboard.c:2540
        echo_current = false
        c = <optimized out>
        jmpcount = <optimized out>
        local_getcjmp = {{__jmpbuf = {28800, 192, -1, 5555063, 2, 0, 12614912, 0}, __mask_was_saved = 0, __saved_mask = {__val = {192, 770, 12614917, 0 <repeats 13 times>}}}}
        save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5932552, 2, 16831344, 1, 5535622, 16873280}}}}
        tem = <optimized out>
        save = <optimized out>
        previous_echo_area_message = 0
        also_record = 0
        reread = false
        polling_stopped_here = false
        orig_kboard = 0xe1bd30
#11 0x00000000004f5129 in read_key_sequence (keybuf=keybuf@entry=0x7ffde3ec20c0, prompt=prompt@entry=0, dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true, fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false, bufsize=30) at /home/pip/git/emacs/src/keyboard.c:9161
        interrupted_kboard = 0xe1bd30
        interrupted_frame = 0x11ef2b0
        key = <optimized out>
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = <optimized out>
        keys_local_start = <optimized out>
        new_binding = <optimized out>
        t = <optimized out>
        echo_start = 0
        keys_start = 0
        current_binding = 19782739
        first_event = 0
        first_unbound = 31
        mock_input = 0
        fkey = {parent = 17311251, map = 17311251, start = 0, end = 0}
        keytran = {parent = 12569155, map = 12569155, start = 0, end = 0}
        indec = {parent = 17311315, map = 17311315, start = 0, end = 0}
        shift_translated = false
        delayed_switch_frame = 0
        original_uppercase = 4501728
        original_uppercase_position = -1
        dummyflag = false
        starting_buffer = 0xc07d00
        fake_prefixed_keys = 0
#12 0x00000000004f6d91 in command_loop_1 () at /home/pip/git/emacs/src/keyboard.c:1402
        cmd = <optimized out>
        keybuf = {20825712, 139984625812736, 3, 9867741, 2822930839, 8199744, 9867736, 96, 140728427357216, 0, 140728427356608, 5604643, 4, 139981574111284, 0, 91, 0, 0, 511101108334, 27792, 27792, 0, 12766531, 4002, 140728427357216, 5537345, 27792, 64, 0, 5603144}
        i = <optimized out>
        prev_modiff = 0
        prev_buffer = 0x0
#13 0x00000000005578a7 in internal_condition_case (bfun=bfun@entry=0x4f6b60 <command_loop_1>, handlers=handlers@entry=18672, hfun=hfun@entry=0x4edf70 <cmd_error>) at /home/pip/git/emacs/src/eval.c:1356
        val = <optimized out>
        c = <optimized out>
#14 0x00000000004e976c in command_loop_2 (ignore=ignore@entry=0) at /home/pip/git/emacs/src/keyboard.c:1134
        val = 1896544
#15 0x0000000000557783 in internal_catch (tag=tag@entry=44496, func=func@entry=0x4e9750 <command_loop_2>, arg=arg@entry=0) at /home/pip/git/emacs/src/eval.c:1116
        val = <optimized out>
        c = <optimized out>
#16 0x00000000004e9729 in command_loop () at /home/pip/git/emacs/src/keyboard.c:1113
No locals.
#17 0x00000000004edb7b in recursive_edit_1 () at /home/pip/git/emacs/src/keyboard.c:723
        val = <optimized out>
#18 0x00000000004edea0 in Frecursive_edit () at /home/pip/git/emacs/src/keyboard.c:794
        buffer = <optimized out>
#19 0x0000000000417d9b in main (argc=4, argv=0x7ffde3ec2428) at /home/pip/git/emacs/src/emacs.c:1629
        dummy = 140728427356880
        stack_bottom_variable = -29 '\343'
        do_initial_setlocale = <optimized out>
        dumping = <optimized out>
        skip_args = 0
        rlim = {rlim_cur = 8720000, rlim_max = 18446744073709551615}
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = <optimized out>
(gdb) xbacktrace
xbacktrace
Undefined command: "xbacktrace".  Try "help".
(gdb) 

In GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.16.6)
 of 2015-08-06 on <hostname>
Repository revision: 0aec2aaccd8b745fa7214f3edd453c04a04bfba4
Windowing system distributor `The X.Org Foundation', version 11.0.11702000
System Description:	Debian GNU/Linux unstable (sid)

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GCONF GSETTINGS NOTIFY
LIBSELINUX GNUTLS LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message dired format-spec
rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util help-fns help-mode easymenu cl-loaddefs pcase cl-lib mail-prsvr
mail-utils time-date mule-util tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel x-win term/common-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan
thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian
slovak czech european ethiopic indian cyrillic chinese charscript
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote dbusbind gfilenotify
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 80582 8278)
 (symbols 48 19072 0)
 (miscs 40 42 160)
 (strings 32 13987 4706)
 (string-bytes 1 387346)
 (vectors 16 10577)
 (vector-slots 8 409296 6548)
 (floats 8 127 18)
 (intervals 56 181 0)
 (buffers 976 11)
 (heap 1024 34640 869))

[-- Attachment #3: emacs-bug-001.el --]
[-- Type: text/x-emacs-lisp, Size: 199 bytes --]

(let ((o (make-overlay (point) (point))))
  (overlay-put o 'after-string (concat (propertize "hi" 'invisible 'symbol)
                                       (propertize "bye" 'invisible 'symbol2))))

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#21200: 25.0.50; xdisp.c: infinite loop when using invisibility specs
  2015-08-06 21:16   ` Pip Cet
@ 2015-08-07 13:46     ` Eli Zaretskii
  0 siblings, 0 replies; 4+ messages in thread
From: Eli Zaretskii @ 2015-08-07 13:46 UTC (permalink / raw)
  To: Pip Cet; +Cc: 21200-done

> Date: Thu, 6 Aug 2015 21:16:26 +0000
> From: Pip Cet <pipcet@gmail.com>
> Cc: 21200@debbugs.gnu.org
> 
> thank you for responding. I've attached the output of M-x
> report-emacs-bug, including the gdb backtrace and a test script that
> triggers the problem. If you need me to run further tests, please let
> me know.

Thanks.  Your analysis was correct, of course.  I fixed the bug with a
slightly different change (see commit 701484d on master), and also
added to the display engine's test suite a test case like the one you
presented.

> My apologies for sending an incomplete report at first.

No need to apologize.





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-08-07 13:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-06 18:26 bug#21200: 25.0.50; xdisp.c: infinite loop when using invisibility specs Pip Cet
2015-08-06 19:36 ` Eli Zaretskii
2015-08-06 21:16   ` Pip Cet
2015-08-07 13:46     ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).