Package: emacs;
Reported by: Werner LEMBERG <wl <at> gnu.org>
Date: Thu, 27 Dec 2018 08:56:01 UTC
Severity: normal
Tags: moreinfo
Found in version 27.0.50
Fixed in version 29.1
Done: Lars Ingebrigtsen <larsi <at> gnus.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 33885 in the body.
You can then email your comments to 33885 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
bug-gnu-emacs <at> gnu.org
:bug#33885
; Package emacs
.
(Thu, 27 Dec 2018 08:56:01 GMT) Full text and rfc822 format available.Werner LEMBERG <wl <at> gnu.org>
:bug-gnu-emacs <at> gnu.org
.
(Thu, 27 Dec 2018 08:56:01 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Werner LEMBERG <wl <at> gnu.org> To: bug-gnu-emacs <at> gnu.org Subject: 27.0.50; PUA character makes emacs crash Date: Thu, 27 Dec 2018 09:54:59 +0100 (CET)
[Message part 1 (text/plain, inline)]
Loading the attached file `bug.el' (containing the single PUA character U+E6A3) with emacs -Q bug.el causes a crash: xdisp.c:28955: Emacs fatal error: assertion failed: it->ascent >= 0 && it->descent >= 0 I've also attached the output of `bt full'. Werner In GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.20.10) of 2018-12-27 built on linux Repository revision: 806ae9fc48f59751a8fce543be40ffe473f548bf Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.11803000 System Description: openSUSE Leap 42.3 Recent messages: Loading /usr/local/share/emacs/site-lisp/cjk-enc.el (source)...done Loading /usr/local/share/emacs/site-lisp/cjktilde.el (source)...done Loading /usr/local/share/emacs/site-lisp/quail-reverse.el (source)...done Loading mew...done Loading calendar...done For information about GNU Emacs and the GNU system, type C-h C-a. Making completion list... Quit Type C-x 1 to remove help window. Configured using: 'configure --with-x-toolkit=gtk --enable-checking=yes,glyphs --enable-check-lisp-object-type 'CFLAGS=-O0 -g3 -gdwarf-4'' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB NOTIFY INOTIFY GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM THREADS LIBSYSTEMD JSON LCMS2 Important settings: value of $LANG: de_AT.UTF-8 value of $XMODIFIERS: @im=none locale-coding-system: utf-8-unix Major mode: Fundamental Minor modes in effect: TeX-PDF-mode: t tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t column-number-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: /usr/local/share/emacs/site-lisp/thai-word hides /usr/local/share/emacs/27.0.50/lisp/language/thai-word Features: (shadow pp mew-varsx mew-unix emacsbug message rmc puny dired dired-loaddefs format-spec rfc822 mml mml-sec epa derived epg gnus-util rmail rmail-loaddefs time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils apropos elec-pair edmacro kmacro rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-enc xmltok sgml-mode dom hideshow cal-menu calendar cal-loaddefs mew-auth mew-config mew-imap2 mew-imap mew-nntp2 mew-nntp mew-pop mew-smtp mew-ssl mew-ssh mew-net mew-highlight mew-sort mew-fib mew-ext mew-refile mew-demo mew-attach mew-draft mew-message mew-thread mew-virtual mew-summary4 mew-summary3 mew-summary2 mew-summary mew-search mew-pick mew-passwd mew-scan mew-syntax mew-bq mew-smime mew-pgp mew-header mew-exec mew-mark mew-mime mew-edit mew-decode mew-encode mew-cache mew-minibuf mew-complete mew-addrbook mew-local mew-vars3 mew-vars2 mew-vars mew-env mew-mule3 mew-mule mew-gemacs mew-key mew-func mew-blvs mew-const mew tex dbus xml crm advice auto-loads tex-site quail help-mode cjktilde mm-util mail-prsvr disp-table finder-inf package easymenu epg-config url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json map url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors 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 composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray 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 threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 202452 4316) (symbols 48 30527 61) (strings 32 71159 885) (string-bytes 1 1786347) (vectors 16 27728) (vector-slots 8 678829 13622) (floats 8 80 76) (intervals 56 645 221) (buffers 992 13) (heap 1024 50769 2024))
[bug.el (text/plain, inline)]
[gdb.txt (text/plain, inline)]
#0 0x00007ffff0d01adb in raise (sig=6) at ../sysdeps/unix/sysv/linux/pt-raise.c:36 resultvar = 0 pid = <optimized out> #1 0x0000000000591d17 in terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:403 #2 0x0000000000629939 in die (msg=0x7439b8 "it->ascent >= 0 && it->descent >= 0", file=0x73d53d "xdisp.c", line=28955) at alloc.c:7111 #3 0x00000000004a3f84 in x_produce_glyphs (it=0x7fffffff7d20) at xdisp.c:28955 extra_line_spacing = 0 #4 0x0000000000487e99 in display_line (it=0x7fffffff7d20, cursor_vpos=0) at xdisp.c:21660 n_glyphs_before = 0 hpos_before = 32767 x_before = -33504 phys_ascent = 0 phys_descent = 0 x = 0 nglyphs = 10462928 descent = 0 ascent = 0 overwide_wrap_prefix = false row = 0x1bf5800 overlay_arrow_string = { i = 0xc600 } wrap_it = { window = { i = 0x1204580 }, w = 0xc600, f = 0x7fffffff68a0, method = 6629870, stop_charpos = 4294967298, prev_stop = 140737488316608, base_level_stop = 0, end_charpos = 5819181, s = 0x1204585 "", string_nchars = 15122368, 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 = 0x7fffffff68a0, dpvec = 0x58b781 <builtin_lisp_symbol+44>, dpend = 0x7fffffff6910, dpvec_char_len = 0, dpvec_face_id = 0, saved_face_id = -38640, ctl_chars = {{ i = 0x652ca3 <unbind_to+237> }, { i = 0x0 }, { i = 0xb }, { i = 0x7 }, { i = 0x7860 }, { i = 0xc600 }, { i = 0x1204585 }, { i = 0x0 }, { i = 0x0 }, { i = 0x0 }, { i = 0x58b781 <builtin_lisp_symbol+44> }, { i = 0x15a2635 }, { i = 0xb }, { i = 0x7fffffff7030 }, { i = 0x6a5ac1 <exec_byte_code+15598> }, { i = 0xb2f3e5 <pure+1222437> }}, start = { pos = { charpos = 0, bytepos = 14 }, overlay_string_index = 0, string_pos = { charpos = 0, bytepos = 14 }, dpvec_index = 0 }, current = { pos = { charpos = 0, bytepos = 14 }, overlay_string_index = 14, string_pos = { charpos = 25632, bytepos = 0 }, dpvec_index = 6 }, n_overlay_strings = 20401587, overlay_strings_charpos = 14, overlay_strings = {{ i = 0x0 }, { i = 0xe }, { i = 0x6 }, { i = 0xe }, { i = 0x6 }, { i = 0xe }, { i = 0x6 }, { i = 0x0 }, { i = 0x0 }, { i = 0x0 }, { i = 0x0 }, { i = 0x0 }, { i = 0x0 }, { i = 0x1a1989c520c618c5 }, { i = 0x5cbcac9c8c71bc5 }, { i = 0x28a8e24cd22cc21 }}, string_overlays = {{ i = 0x830103b265001e84 }, { i = 0x29825e64010028 }, { i = 0xc720cfce0202b264 }, { i = 0x22d12105cbcad0c8 }, { i = 0x500ea85058e24d2 }, { i = 0x606d300ea855705 }, { i = 0x518624c5d40606 }, { i = 0x835606060102b204 }, { i = 0xc5d4030606d500dd }, { i = 0x6d7006f31d68824 }, { i = 0xd5007f8230220306 }, { i = 0xd88824ced4040706 }, { i = 0x8901b22241024001 }, { i = 0x8941014089410140 }, { i = 0x141014089410140 }, { i = 0x1306890a06070604 }}, string = { i = 0x560f060100a38457 }, from_overlay = { i = 0xc5d40301d500aa83 }, stack = {{ string = { i = 0x20c00c3830c8824 }, string_nchars = 12813143, end_charpos = -4358320219658583869, stop_charpos = -8982693313776451328, prev_stop = 494794314771792088, base_level_stop = -8636460336219873017, cmp_it = { stop_pos = 434266469930611201, id = -9077372127760087546, ch = -1305935813, rule_idx = 2267611570, lookback = 30, nglyphs = -36816, reversed_p = 255, charpos = 6954694, nchars = 2050, nbytes = 0, from = 2, to = 0, width = 110 }, face_id = -36408, u = { image = { object = { i = 0xb2f3e5 <pure+1222437> }, slice = { x = { i = 0x0 }, y = { i = 0xb2f3c4 <pure+1222404> }, width = { i = 0x0 }, height = { i = 0x0 } }, image_id = 0 }, stretch = { object = { i = 0xb2f3e5 <pure+1222437> } }, xwidget = { object = { i = 0xb2f3e5 <pure+1222437> } } }, 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 = { i = 0xe }, 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 = { i = 0x0 }, font_height = { i = 0x0 } }, { string = { i = 0x0 }, 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 = { i = 0x0 }, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, image_id = 0 }, stretch = { object = { i = 0x0 } }, xwidget = { object = { i = 0x0 } } }, 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 = { i = 0x0 }, area = 14, 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 = { i = 0x0 }, font_height = { i = 0x0 } }, { string = { i = 0x0 }, string_nchars = 0, end_charpos = 0, stop_charpos = 6, prev_stop = 0, base_level_stop = 14, 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 = { i = 0x0 }, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, image_id = 0 }, stretch = { object = { i = 0x0 } }, xwidget = { object = { i = 0x0 } } }, 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 = { i = 0x0 }, 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 = { i = 0x0 }, font_height = { i = 0x0 } }, { string = { i = 0x0 }, string_nchars = 0, end_charpos = 22685237, stop_charpos = 0, prev_stop = 0, base_level_stop = 0, cmp_it = { stop_pos = 6, 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 = { i = 0x0 }, slice = { x = { i = 0xe }, y = { i = 0x0 }, width = { i = 0x9503a0 }, height = { i = 0x1d4 } }, image_id = 0 }, stretch = { object = { i = 0x0 } }, xwidget = { object = { i = 0x0 } } }, 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 = { i = 0x7fffffff6938 }, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = (unknown: 18988128), 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 = { i = 0x2 }, font_height = { i = 0x2 } }, { string = { i = 0x2 }, string_nchars = 0, end_charpos = 512, stop_charpos = 11, prev_stop = 244, base_level_stop = 140737488316928, cmp_it = { stop_pos = 140737488316928, id = 140737488316704, ch = 224, rule_idx = 224, lookback = 11, nglyphs = 15916, reversed_p = false, charpos = 28, nchars = 11727848, nbytes = 0, from = 244, to = 0, width = 30 }, face_id = 0, u = { image = { object = { i = 0xb2f395 <pure+1222357> }, slice = { x = { i = 0x0 }, y = { i = 0x7fffffff7010 }, width = { i = 0x8700000001 }, height = { i = 0x2 } }, image_id = 2 }, stretch = { object = { i = 0xb2f395 <pure+1222357> } }, xwidget = { object = { i = 0xb2f395 <pure+1222357> } } }, position = { charpos = 140737488317172, bytepos = 140737488316728 }, current = { pos = { charpos = 140737488316704, bytepos = 144115188081674002 }, overlay_string_index = 11727765, string_pos = { charpos = 140737488318904, bytepos = 140737488318736 }, dpvec_index = 6623553 }, from_overlay = { i = 0xb2f395 <pure+1222357> }, area = RIGHT_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 = { i = 0x0 }, font_height = { i = 0xe6bfc0 <lispsym> } }}, sp = 0, selective = 0, what = 4294930592, face_id = 32767, selective_display_ellipsis_p = true, 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 = true, starts_in_middle_of_char_p = true, face_before_selective_p = true, constrain_row_ascent_descent_p = true, line_number_produced_p = false, line_wrap = TRUNCATE, base_face_id = 2050, c = 0, len = 0, cmp_it = { stop_pos = 25769767136, id = 15122368, ch = 0, rule_idx = 15122368, lookback = 98784247808, nglyphs = 11727760, reversed_p = false, charpos = 5, nchars = 11, nbytes = 0, from = 11727765, to = 0, width = 0 }, char_to_display = -36592, glyphless_method = 32767, image_id = 9747424, xwidget = 0xb2f1c5 <pure+1221893>, slice = { x = { i = 0x13272a8 }, y = { i = 0x7fffffff7190 }, width = { i = 0x650705 <Ffuncall+903> }, height = { i = 0x7fffffff71b0 } }, space_width = { i = 0x3 }, voffset = 0, tab_width = 0, font_height = { i = 0x30058b781 }, object = { i = 0x1f5 }, position = { charpos = 2, bytepos = 9747424 }, truncation_pixel_width = 2002, continuation_pixel_width = 0, first_visible_x = 0, last_visible_x = 11727765, last_visible_y = 0, extra_line_spacing = 6494800, max_extra_line_spacing = 0, override_ascent = 10, override_descent = 0, override_boff = 2, glyph_row = 0x6, area = 10, nglyphs = 0, pixel_width = -34928, ascent = 32767, descent = 6970049, max_ascent = 0, max_descent = 11727301, phys_ascent = 0, phys_descent = 6, max_phys_ascent = 0, max_phys_descent = 0, current_x = 0, continuation_lines_width = 6, eol_pos = { charpos = 2006, bytepos = 2002 }, current_y = 92, first_vpos = 0, vpos = 0, hpos = 0, lnum = 11727301, lnum_bytepos = 0, lnum_width = -36320, lnum_pixel_width = 32767, pt_lnum = 5816684, tab_offset = 11727301, left_user_fringe_bitmap = 0, right_user_fringe_bitmap = 0, left_user_fringe_face_id = 492808, right_user_fringe_face_id = 343817, bidi_p = false, bidi_it = { bytepos = 4451257376741460480, charpos = 8871000590524291, ch = 210305480, nchars = 4759583527199325709, ch_len = -8518241167867983595, type = 404625182, type_after_wn = 3407421129, orig_type = 3469593798, resolved_level = 5 '\005', isolate_level = 33 '!', invalid_levels = -3241234922252393264, invalid_isolates = 2620633239920207060, prev = { charpos = -8707426539787725357, type = 4294932368, orig_type = 32767 }, last_strong = { charpos = 6954694, type = 1030, orig_type = UNKNOWN_BT }, next_for_neutral = { charpos = 1, type = 50, orig_type = UNKNOWN_BT }, prev_for_neutral = { charpos = 140737488320880, type = 11727301, orig_type = UNKNOWN_BT }, next_for_ws = { charpos = 0, type = 11727268, 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' }, { 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 = 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 = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000' } <repeats 41 times>, { 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 = 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 = 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 = 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 = 2002, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 3, level = 222 '\336', flags = 0 '\000' }, { next_for_neutral_pos = 140737488320064, next_for_neutral_type = 2, last_strong_type = 7, prev_for_neutral_type = 6, level = 98 'b', flags = 0 '\000' }, { next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 3, level = 222 '\336', flags = 0 '\000' }, { next_for_neutral_pos = 140737488320096, next_for_neutral_type = 5, last_strong_type = 7, prev_for_neutral_type = 2, level = 98 'b', flags = 0 '\000' }, { next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 3, level = 222 '\336', flags = 0 '\000' }, { next_for_neutral_pos = 140737488320304, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 4, level = 98 'b', flags = 0 '\000' }, { next_for_neutral_pos = 18892160, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 3, level = 222 '\336', 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 = 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 = 1, last_strong_type = 0, prev_for_neutral_type = 4, level = 0 '\000', flags = 0 '\000' }, { next_for_neutral_pos = 10, next_for_neutral_type = 0, last_strong_type = 3, prev_for_neutral_type = 1, level = 0 '\000', flags = 0 '\000' }, { next_for_neutral_pos = 140737488318984, next_for_neutral_type = 0, last_strong_type = 1, prev_for_neutral_type = 0, level = 255 '\377', flags = 255 '\377' }, { next_for_neutral_pos = 140737488318880, next_for_neutral_type = 0, last_strong_type = 5, prev_for_neutral_type = 1, level = 0 '\000', flags = 0 '\000' }, { next_for_neutral_pos = 104, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 7, level = 231 '\347', flags = 0 '\000' }, { next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000' }, { next_for_neutral_pos = 14591712, next_for_neutral_type = 7, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000' }, { next_for_neutral_pos = 140737488321328, next_for_neutral_type = 3, last_strong_type = 4, prev_for_neutral_type = 0, level = 69 'E', flags = 0 '\000' }, { next_for_neutral_pos = 1, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 4, level = 255 '\377', flags = 255 '\377' }, { next_for_neutral_pos = 18892165, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 6, level = 32 ' ', flags = 1 '\001' }, { next_for_neutral_pos = 140737488320368, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 230 '\346', 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 = 140737488320400, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 6, level = 88 'X', flags = 0 '\000' }, { next_for_neutral_pos = 25064328, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 6, level = 32 ' ', flags = 1 '\001' }, { next_for_neutral_pos = 140737488320464, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 230 '\346', flags = 0 '\000' }, { next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 230 '\346', 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 = 140737488320480, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 6, level = 88 'X', flags = 0 '\000' }, { next_for_neutral_pos = 18892165, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 6, level = 32 ' ', flags = 1 '\001' }, { next_for_neutral_pos = 140737488320544, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 230 '\346', 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 = 140737488320544, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 6, level = 88 'X', flags = 0 '\000' }, { next_for_neutral_pos = 25064328, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000' }, { next_for_neutral_pos = 140737488320640, next_for_neutral_type = 5, last_strong_type = 7, prev_for_neutral_type = 2, level = 101 'e', flags = 0 '\000' }, { next_for_neutral_pos = 19008947, next_for_neutral_type = 0, last_strong_type = 1, prev_for_neutral_type = 6, level = 126 '~', flags = 1 '\001' }, { next_for_neutral_pos = 16944, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 230 '\346', 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 = 140737488320640, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 6, level = 88 'X', flags = 0 '\000' }, { next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 1, level = 98 'b', flags = 0 '\000' }, { next_for_neutral_pos = 140737488320736, next_for_neutral_type = 5, last_strong_type = 3, prev_for_neutral_type = 4, level = 108 'l', flags = 0 '\000' }, { next_for_neutral_pos = 16944, next_for_neutral_type = 4, last_strong_type = 0, prev_for_neutral_type = 3, level = 109 'm', flags = 0 '\000' }, { next_for_neutral_pos = 19010371, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 5, level = 255 '\377', flags = 255 '\377' }, { next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 5, level = 255 '\377', flags = 255 '\377' }, { next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 230 '\346', flags = 0 '\000' }, { next_for_neutral_pos = 1, next_for_neutral_type = 0, last_strong_type = 1, prev_for_neutral_type = 6, level = 126 '~', flags = 1 '\001' }, { next_for_neutral_pos = 140737488320768, next_for_neutral_type = 5, last_strong_type = 4, prev_for_neutral_type = 0, level = 108 'l', flags = 0 '\000' }, { next_for_neutral_pos = 107399246728, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 2, level = 44 ',', flags = 1 '\001' }, { next_for_neutral_pos = 140737488320800, next_for_neutral_type = 1, last_strong_type = 7, prev_for_neutral_type = 3, level = 88 'X', flags = 0 '\000' }, { next_for_neutral_pos = 19695781, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 255 '\377', flags = 255 '\377' }, { next_for_neutral_pos = 140737488320832, next_for_neutral_type = 7, last_strong_type = 3, prev_for_neutral_type = 4, level = 88 'X', flags = 0 '\000' }, { next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 0, level = 238 '\356', flags = 0 '\000' }, { next_for_neutral_pos = 140737488320864, next_for_neutral_type = 7, last_strong_type = 3, prev_for_neutral_type = 4, level = 88 'X', flags = 0 '\000' }, { next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 2, level = 44 ',', flags = 1 '\001' }, { next_for_neutral_pos = 140737488320928, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 230 '\346', 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 = 140737488320928, next_for_neutral_type = 5, last_strong_type = 6, prev_for_neutral_type = 2, level = 88 'X', flags = 0 '\000' }, { next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 2, level = 44 ',', flags = 1 '\001' }, { next_for_neutral_pos = 140737488320992, next_for_neutral_type = 3, last_strong_type = 2, prev_for_neutral_type = 5, level = 81 'Q', flags = 0 '\000' }, { next_for_neutral_pos = 15632917, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 230 '\346', flags = 0 '\000' }, { next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 230 '\346', 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 = 140737488321024, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 6, level = 88 'X', flags = 0 '\000' }, { next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 230 '\346', flags = 0 '\000' }, { next_for_neutral_pos = 140737488321296, next_for_neutral_type = 2, last_strong_type = 5, prev_for_neutral_type = 1, level = 109 'm', flags = 0 '\000' }, { next_for_neutral_pos = 0, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 6, level = 88 'X', flags = 0 '\000' }, { next_for_neutral_pos = 3, next_for_neutral_type = 5, 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 = 4, prev_for_neutral_type = 6, level = 255 '\377', flags = 255 '\377' }, { next_for_neutral_pos = 19008947, next_for_neutral_type = 0, last_strong_type = 1, prev_for_neutral_type = 6, level = 126 '~', flags = 1 '\001' }, { next_for_neutral_pos = 16944, next_for_neutral_type = 1, 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 = 0, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 6, level = 88 'X', 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 = 140737488321264, next_for_neutral_type = 5, last_strong_type = 3, prev_for_neutral_type = 4, level = 108 'l', flags = 0 '\000' }, { next_for_neutral_pos = 16944, next_for_neutral_type = 3, last_strong_type = 2, prev_for_neutral_type = 0, level = 183 '\267', flags = 1 '\001' }, { next_for_neutral_pos = 19010371, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 5, level = 255 '\377', flags = 255 '\377' }, { next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 5, level = 255 '\377', flags = 255 '\377' }, { next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 7, level = 231 '\347', flags = 0 '\000' }}, string = { lstring = { i = 0x4230 }, s = 0x17e7388 "\002", schars = 140737488321296, bufpos = 42956812837, from_disp_str = false, unibyte = false }, w = 0x0, paragraph_dir = (unknown: 4294933456), separator_limit = 4513096, first_elt = false, new_paragraph = true, frame_window_p = true }, paragraph_embedding = (unknown: 4294933792) } wrap_data = 0x0 may_wrap = false wrap_x = 22974368 wrap_row_used = -1 wrap_row_ascent = 1 wrap_row_height = 0 wrap_row_phys_ascent = 1 wrap_row_phys_height = 0 wrap_row_extra_line_spacing = 4508075 wrap_row_min_pos = 140737488321776 wrap_row_min_bpos = 1 wrap_row_max_pos = 1 wrap_row_max_bpos = 22974368 cvpos = 0 min_pos = 4 max_pos = 0 min_bpos = 22974368 max_bpos = 1 pending_handle_line_prefix = false header_line = 0 hscroll_this_line = false first_visible_x = 0 last_visible_x = 880 x_incr = 0 line_number_needed = false #5 0x000000000047a011 in try_window (window=..., pos=..., flags=1) at xdisp.c:17778 w = 0x15e8fa0 it = { window = { i = 0x15e8fa5 }, w = 0x15e8fa0, f = 0x15e7fa0, method = GET_FROM_BUFFER, stop_charpos = 3, prev_stop = 1, base_level_stop = 0, end_charpos = 3, s = 0x0, string_nchars = 0, redisplay_end_trigger_charpos = 0, multibyte_p = true, 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 = {{ i = 0x0 } <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 = -1, string_pos = { charpos = -1, bytepos = -1 }, dpvec_index = -1 }, n_overlay_strings = 0, overlay_strings_charpos = 1, overlay_strings = {{ i = 0x0 } <repeats 16 times>}, string_overlays = {{ i = 0x0 } <repeats 16 times>}, string = { i = 0x0 }, from_overlay = { i = 0x0 }, stack = {{ string = { i = 0x0 }, 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 = { i = 0x0 }, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, image_id = 0 }, stretch = { object = { i = 0x0 } }, xwidget = { object = { i = 0x0 } } }, 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 = { i = 0x0 }, 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 = { i = 0x0 }, font_height = { i = 0x0 } }, { string = { i = 0x0 }, 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 = { i = 0x0 }, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, image_id = 0 }, stretch = { object = { i = 0x0 } }, xwidget = { object = { i = 0x0 } } }, 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 = { i = 0x0 }, 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 = { i = 0x0 }, font_height = { i = 0x0 } }, { string = { i = 0x0 }, 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 = { i = 0x0 }, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, image_id = 0 }, stretch = { object = { i = 0x0 } }, xwidget = { object = { i = 0x0 } } }, 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 = { i = 0x0 }, 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 = { i = 0x0 }, font_height = { i = 0x0 } }, { string = { i = 0x0 }, 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 = { i = 0x0 }, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, image_id = 0 }, stretch = { object = { i = 0x0 } }, xwidget = { object = { i = 0x0 } } }, 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 = { i = 0x0 }, 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 = { i = 0x0 }, font_height = { i = 0x0 } }, { string = { i = 0x0 }, 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 = { i = 0x0 }, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, image_id = 0 }, stretch = { object = { i = 0x0 } }, xwidget = { object = { i = 0x0 } } }, 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 = { i = 0x0 }, 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 = { i = 0x0 }, font_height = { i = 0x0 } }}, sp = 0, selective = 0, what = IT_CHARACTER, face_id = 17, 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_number_produced_p = false, line_wrap = WINDOW_WRAP, base_face_id = 0, c = 59043, len = 3, cmp_it = { stop_pos = 1, 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 = 59043, glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE, image_id = 0, xwidget = 0x0, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, space_width = { i = 0x0 }, voffset = 0, tab_width = 8, font_height = { i = 0x0 }, object = { i = 0x1204585 }, position = { charpos = 1, bytepos = 1 }, truncation_pixel_width = 0, continuation_pixel_width = 11, first_visible_x = 0, last_visible_x = 880, last_visible_y = 850, extra_line_spacing = 0, max_extra_line_spacing = 0, override_ascent = -1, override_descent = 0, override_boff = 0, glyph_row = 0x1bf5800, area = TEXT_AREA, nglyphs = 1, pixel_width = 7, ascent = 16, descent = -5, max_ascent = 0, max_descent = 0, phys_ascent = 9, phys_descent = 5, 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, lnum = 0, lnum_bytepos = 0, lnum_width = 0, lnum_pixel_width = 0, pt_lnum = 0, tab_offset = 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 = 1, charpos = 1, ch = 59043, nchars = 1, ch_len = 3, type = STRONG_L, type_after_wn = STRONG_L, orig_type = STRONG_L, resolved_level = 0 '\000', isolate_level = 0 '\000', invalid_levels = 0, invalid_isolates = 0, prev = { charpos = 1, type = NEUTRAL_B, orig_type = NEUTRAL_B }, 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 = STRONG_L, orig_type = UNKNOWN_BT }, next_for_ws = { charpos = -1, 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 = 1, disp_pos = 3, 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 = { i = 0x0 }, s = 0x0, schars = 0, bufpos = 0, from_disp_str = false, unibyte = false }, w = 0x15e8fa0, paragraph_dir = L2R, separator_limit = -1, first_elt = false, new_paragraph = false, frame_window_p = true }, paragraph_embedding = L2R } last_text_row = 0x0 f = 0x15e7fa0 cursor_vpos = 0 it_charpos = 15122368 #6 0x000000000047743d in redisplay_window (window=..., just_this_one_p=false) at xdisp.c:17225 d2 = -23312 d6 = -20768 d1 = 32767 d5 = 32513 rtop = 0 rbot = 1 w = 0x15e8fa0 f = 0x15e7fa0 buffer = 0x1204580 old = 0x1204580 lpoint = { charpos = 1, bytepos = 1 } opoint = { charpos = 1, bytepos = 1 } startp = { charpos = 1, bytepos = 1 } update_mode_line = true tem = 0 it = { window = { i = 0x0 }, w = 0x2c000000000, f = 0x0, method = 65, stop_charpos = 1, prev_stop = 65, base_level_stop = 1, end_charpos = 22978464, s = 0x1 <error: Cannot access memory at address 0x1>, string_nchars = 1, redisplay_end_trigger_charpos = 140737488331968, multibyte_p = true, header_line_p = true, string_from_display_prop_p = false, string_from_prefix_prop_p = true, from_disp_prop_p = false, ellipsis_p = true, avoid_cursor_p = false, dp = 0x1, dpvec = 0xffffffff00000001, dpend = 0x15e9fa0, dpvec_char_len = 0, dpvec_face_id = 0, saved_face_id = 22962949, ctl_chars = {{ i = 0x1 }, { i = 0x1bd16b0 }, { i = 0x1bd11d0 }, { i = 0x7fffffffb840 }, { i = 0x47a254 <try_window+893> }, { i = 0x1 }, { i = 0x1 }, { i = 0x15e9fa5 }, { i = 0x0 }, { i = 0x15e9fa5 }, { i = 0x15e9fa0 }, { i = 0x15e7fa0 }, { i = 0x0 }, { i = 0x42 }, { i = 0x1 }, { i = 0x0 }}, start = { pos = { charpos = 66, bytepos = 0 }, overlay_string_index = 0, string_pos = { charpos = 0, bytepos = 1 }, 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 = {{ i = 0x0 } <repeats 12 times>, { i = 0x42 }, { i = 0x42 }, { i = 0xffffffffffffffff }, { i = 0xffffffffffffffff }}, string_overlays = {{ i = 0xffffffffffffffff }, { i = 0xffffffff }, { i = 0x42 }, { i = 0x42 }, { i = 0xffffffffffffffff }, { i = 0xffffffffffffffff }, { i = 0xffffffffffffffff }, { i = 0xffffffff }, { i = 0x0 }, { i = 0x42 }, { i = 0x0 }, { i = 0x0 }, { i = 0x0 }, { i = 0x0 }, { i = 0x0 }, { i = 0x0 }}, string = { i = 0x0 }, from_overlay = { i = 0x0 }, stack = {{ string = { i = 0x0 }, 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 = { i = 0x0 }, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, image_id = 0 }, stretch = { object = { i = 0x0 } }, xwidget = { object = { i = 0x0 } } }, 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 = { i = 0x0 }, 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 = { i = 0x0 }, font_height = { i = 0x0 } }, { string = { i = 0x0 }, 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 = { i = 0x0 }, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, image_id = 0 }, stretch = { object = { i = 0x0 } }, xwidget = { object = { i = 0x0 } } }, 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 = { i = 0x0 }, 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 = { i = 0x0 }, font_height = { i = 0x0 } }, { string = { i = 0x0 }, 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 = { i = 0x0 }, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, image_id = 0 }, stretch = { object = { i = 0x0 } }, xwidget = { object = { i = 0x0 } } }, 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 = { i = 0x0 }, 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 = { i = 0x0 }, font_height = { i = 0x0 } }, { string = { i = 0x0 }, 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 = { i = 0x0 }, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, image_id = 0 }, stretch = { object = { i = 0x0 } }, xwidget = { object = { i = 0x0 } } }, 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 = { i = 0x0 }, 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 = { i = 0x0 }, font_height = { i = 0x0 } }, { string = { i = 0x0 }, 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 = { i = 0x0 }, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, image_id = 0 }, stretch = { object = { i = 0x0 } }, xwidget = { object = { i = 0x0 } } }, 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 = { i = 0x0 }, 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 = { i = 0x0 }, font_height = { i = 0x0 } }}, sp = 0, selective = 0, what = IT_CHARACTER, 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_number_produced_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, xwidget = 0x0, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, space_width = { i = 0x0 }, voffset = 0, tab_width = 0, font_height = { i = 0x0 }, object = { i = 0x0 }, position = { charpos = 0, bytepos = 5 }, truncation_pixel_width = 35, continuation_pixel_width = 0, first_visible_x = 2, last_visible_x = 0, last_visible_y = 46, extra_line_spacing = 1, max_extra_line_spacing = 0, override_ascent = 63, override_descent = 0, override_boff = -1, glyph_row = 0xfffffffe, 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 = 46, bytepos = 0 }, current_y = 0, first_vpos = 0, vpos = 0, hpos = 0, lnum = 0, lnum_bytepos = 0, lnum_width = 0, lnum_pixel_width = 0, pt_lnum = 0, tab_offset = 524288, 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 = 15601013, charpos = 66, ch = 66, nchars = 720896, ch_len = 107374183280, type = UNKNOWN_BT, type_after_wn = UNKNOWN_BT, orig_type = 4294967295, resolved_level = 0 '\000', isolate_level = 0 '\000', invalid_levels = 0, invalid_isolates = 29169584, prev = { charpos = 4294967297, type = RLO, orig_type = WEAK_CS }, last_strong = { charpos = 6, 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 = 25, orig_type = UNKNOWN_BT }, bracket_pairing_pos = 1, 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 = 1048576, level_stack = {{ next_for_neutral_pos = 66, next_for_neutral_type = 2, last_strong_type = 0, prev_for_neutral_type = 1, level = 0 '\000', flags = 0 '\000' }, { next_for_neutral_pos = 4294967295, 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 = 6, 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 = 0, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 1, level = 0 '\000', flags = 0 '\000' }, { next_for_neutral_pos = 81604378624, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 1, level = 0 '\000', flags = 0 '\000' }, { next_for_neutral_pos = 0, 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 = 2, last_strong_type = 0, prev_for_neutral_type = 1, level = 0 '\000', flags = 0 '\000' }, { next_for_neutral_pos = 81604378625, 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 = 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 = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000' }, { next_for_neutral_pos = 4294967296, 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 = 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' } <repeats 90 times>, { next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 5, level = 228 '\344', flags = 0 '\000' }, { next_for_neutral_pos = 140737488336256, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 230 '\346', 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 = 140737488336288, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 6, level = 88 'X', flags = 0 '\000' }, { next_for_neutral_pos = 140737488336304, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 5, level = 228 '\344', flags = 0 '\000' }, { next_for_neutral_pos = 140737488336496, next_for_neutral_type = 5, last_strong_type = 7, prev_for_neutral_type = 2, level = 98 'b', flags = 0 '\000' }, { next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 5, level = 228 '\344', flags = 0 '\000' }, { next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 4, level = 227 '\343', flags = 0 '\000' }, { next_for_neutral_pos = 140737488336544, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 4, level = 98 'b', flags = 0 '\000' }, { next_for_neutral_pos = 15601008, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 4, level = 227 '\343', flags = 0 '\000' }, { next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 7, level = 227 '\343', flags = 0 '\000' }, { next_for_neutral_pos = 20181235, next_for_neutral_type = 3, last_strong_type = 7, prev_for_neutral_type = 5, level = 98 'b', flags = 0 '\000' }, { next_for_neutral_pos = 140737488336448, next_for_neutral_type = 7, last_strong_type = 6, prev_for_neutral_type = 0, level = 88 'X', flags = 0 '\000' }, { next_for_neutral_pos = 20181267, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 3, level = 51 '3', flags = 1 '\001' }, { next_for_neutral_pos = 20181235, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 7, level = 227 '\343', flags = 0 '\000' }, { next_for_neutral_pos = 140737488336528, next_for_neutral_type = 3, last_strong_type = 6, prev_for_neutral_type = 7, level = 98 'b', flags = 0 '\000' }, { next_for_neutral_pos = 20181267, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 230 '\346', flags = 0 '\000' }, { next_for_neutral_pos = 82, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000' }, { next_for_neutral_pos = 140737488336528, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 6, level = 88 'X', flags = 0 '\000' }, { next_for_neutral_pos = 140737488336544, next_for_neutral_type = 3, last_strong_type = 2, prev_for_neutral_type = 4, level = 51 '3', flags = 1 '\001' }, { next_for_neutral_pos = 140737488336576, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 4, level = 98 'b', flags = 0 '\000' }, { next_for_neutral_pos = 140737488336592, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000' }, { next_for_neutral_pos = 50688, next_for_neutral_type = 6, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000' }, { next_for_neutral_pos = 140737488337280, next_for_neutral_type = 5, last_strong_type = 2, prev_for_neutral_type = 6, level = 96 '`', flags = 0 '\000' }, { next_for_neutral_pos = 82, next_for_neutral_type = 6, last_strong_type = 3, prev_for_neutral_type = 1, level = 0 '\000', flags = 0 '\000' }}, string = { lstring = { i = 0x0 }, s = 0x0, schars = 0, bufpos = 0, from_disp_str = false, unibyte = false }, 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 count = 6 rc = 0 centering_position = -1 last_line_misfit = false beg_unchanged = -1 end_unchanged = 0 frame_line_height = 25 margin = 0 use_desired_matrix = false itdata = 0x0 #7 0x000000000046f8b6 in redisplay_window_0 (window=...) at xdisp.c:14953 #8 0x000000000064c3bc in internal_condition_case_1 (bfun=0x46f874 <redisplay_window_0>, arg=..., handlers=..., hfun=0x46f83c <redisplay_window_error>) at eval.c:1397 val = { i = 0x7fffffffb960 } c = 0x1873c00 #9 0x000000000046f80f in redisplay_windows (window=...) at xdisp.c:14933 w = 0x15e8fa0 #10 0x000000000046e269 in redisplay_internal () at xdisp.c:14416 gcscrollbars = true f_redisplay_flag = true f = 0x15e7fa0 w = 0x15e8fa0 sw = 0x15e8fa0 fr = 0x15e7fa0 pending = false must_finish = true match_p = true tlbufpos = { charpos = 0, bytepos = 0 } tlendpos = { charpos = 0, bytepos = 0 } number_of_visible_frames = 1 count = 3 sf = 0x15e7fa0 polling_stopped_here = false tail = { i = 0x12b79b3 } frame = { i = 0x15e7fa5 } hscroll_retries = 0 garbaged_frame_retries = 0 consider_all_windows_p = true update_miniwindow_p = true #11 0x000000000046bb38 in redisplay () at xdisp.c:13626 #12 0x000000000059a4cd in read_char (commandflag=1, map=..., prev_event=..., used_mouse_menu=0x7fffffffd36f, end_time=0x0) at keyboard.c:2460 echo_current = false c = { i = 0x0 } jmpcount = 34378743507 local_getcjmp = {{ __jmpbuf = {19005107, 15122368, 0, 0, 0, 5814145, 0, 0}, __mask_was_saved = -11760, __saved_mask = { __val = {5988948, 0, 0, 50688, 0, 0, 0, 0, 0, 0, 14942528, 140737488343408, 15122368, 0, 0, 0} } }} save_jump = {{ __jmpbuf = {0, 15122368, 0, 0, 140737488343072, 5814145, 22668560, 24937552}, __mask_was_saved = -12048, __saved_mask = { __val = {5986346, 140737488343432, 0, 140737488343136, 15122368, 0, 0, 140737488343168, 5814145, 0, 5815351, 140737488343280, 6630563, 19005123, 3, 0} } }} tem = { i = 0x95c490 } save = { i = 0x159e510 } previous_echo_area_message = { i = 0x0 } also_record = { i = 0x0 } reread = false recorded = false polling_stopped_here = false orig_kboard = 0x1ac5750 #13 0x00000000005aaa9a in read_key_sequence (keybuf=0x7fffffffd530, prompt=..., dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9078 interrupted_kboard = 0x1ac5750 interrupted_frame = 0x15e7fa0 key = { i = 0x16ad705 } used_mouse_menu = false echo_local_start = 0 last_real_key_start = 0 keys_local_start = 0 new_binding = { i = 0x7fffffffd3a0 } count = 3 t = 0 echo_start = 0 keys_start = 0 current_binding = { i = 0x121fed3 } first_unbound = 31 mock_input = 0 used_mouse_menu_history = {false <repeats 30 times>} fkey = { parent = { i = 0x12c5cf3 }, map = { i = 0x12c5cf3 }, start = 0, end = 0 } keytran = { parent = { i = 0xeab2b3 }, map = { i = 0xeab2b3 }, start = 0, end = 0 } indec = { parent = { i = 0x12c5d23 }, map = { i = 0x12c5d23 }, start = 0, end = 0 } shift_translated = false delayed_switch_frame = { i = 0x0 } original_uppercase = { i = 0x100000002 } original_uppercase_position = -1 dummyflag = false starting_buffer = 0x1204580 fake_prefixed_keys = { i = 0x0 } first_event = { i = 0x0 } second_event = { i = 0x0 } #14 0x0000000000596f7c in command_loop_1 () at keyboard.c:1347 cmd = { i = 0x54f0 } keybuf = {{ i = 0x0 }, { i = 0xe73cd0 <lispsym+32016> }, { i = 0x7d10 }, { i = 0x0 }, { i = 0x7fffffffd5c0 }, { i = 0x6529ee <do_one_unbind+713> }, { i = 0x7f0100000002 }, { i = 0x7fffffffd5e0 }, { i = 0xed0890 }, { i = 0x0 }, { i = 0x7fffffffd5a0 }, { i = 0xe6bfc0 <lispsym> }, { i = 0x0 }, { i = 0x0 }, { i = 0x7fffffffd5c0 }, { i = 0x58b781 <builtin_lisp_symbol+44> }, { i = 0x93b650 }, { i = 0x0 }, { i = 0x7fffffffd630 }, { i = 0x652ca3 <unbind_to+237> }, { i = 0x124e483 }, { i = 0x3 }, { i = 0x7 }, { i = 0xe6bfc0 <lispsym> }, { i = 0x0 }, { i = 0x0 }, { i = 0x7fffffffd620 }, { i = 0x58b781 <builtin_lisp_symbol+44> }, { i = 0x0 }, { i = 0xe73cd0 <lispsym+32016> }} i = 0 prev_modiff = 0 prev_buffer = 0x0 already_adjusted = false #15 0x000000000064c2e2 in internal_condition_case (bfun=0x596b1f <command_loop_1>, handlers=..., hfun=0x59616e <cmd_error>) at eval.c:1373 val = { i = 0x7fffffffd6e0 } c = 0x1871320 #16 0x0000000000596738 in command_loop_2 (ignore=...) at keyboard.c:1088 val = { i = 0x0 } #17 0x000000000064b7aa in internal_catch (tag=..., func=0x59670f <command_loop_2>, arg=...) at eval.c:1136 val = { i = 0x0 } c = 0x1871200 #18 0x00000000005966d8 in command_loop () at keyboard.c:1067 #19 0x0000000000595c72 in recursive_edit_1 () at keyboard.c:712 count = 1 val = { i = 0x7fffffffd7c0 } #20 0x0000000000595e5c in Frecursive_edit () at keyboard.c:783 count = 0 buffer = { i = 0x0 } #21 0x0000000000593a17 in main (argc=3, argv=0x7fffffffda28) at emacs.c:1722 stack_bottom_variable = 0x7fffefc24300 do_initial_setlocale = true dumping = false skip_args = 0 no_loadup = false junk = 0x0 dname_arg = 0x0 ch_to_dir = 0x0 original_pwd = 0x0 rlim = { rlim_cur = 10022912, rlim_max = 18446744073709551615 } sockfd = -1
bug-gnu-emacs <at> gnu.org
:bug#33885
; Package emacs
.
(Thu, 27 Dec 2018 10:37:01 GMT) Full text and rfc822 format available.Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: bug-gnu-emacs <at> gnu.org,Werner LEMBERG <wl <at> gnu.org>,33885 <at> debbugs.gnu.org Subject: Re: bug#33885: 27.0.50; PUA character makes emacs crash Date: Thu, 27 Dec 2018 12:36:14 +0200
On December 27, 2018 10:54:59 AM GMT+02:00, Werner LEMBERG <wl <at> gnu.org> wrote: > > Loading the attached file `bug.el' (containing the single PUA > character U+E6A3) with > > emacs -Q bug.el > > causes a crash: > > xdisp.c:28955: > Emacs fatal error: > assertion failed: > it->ascent >= 0 && it->descent >= 0 > > I've also attached the output of `bt full'. Thanks. Do you have some custom font setup, which is supposed to display this PUA character? Because on my system, there's no font for this codepoint (as I'd expect), and therefore Emacs displays it as "glyphless" character, showing a box with the character's code in hex, and that avoids the assertion violation. So please step through x_produce_glyphs when Emacs needs to produce a glyph for this character, and tell how you end up with both ascent and descent values zero. It isn't supposed to happen with valid fonts.
bug-gnu-emacs <at> gnu.org
:bug#33885
; Package emacs
.
(Thu, 27 Dec 2018 10:37:02 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#33885
; Package emacs
.
(Thu, 27 Dec 2018 11:34:01 GMT) Full text and rfc822 format available.Message #14 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: bug-gnu-emacs <at> gnu.org,33885 <at> debbugs.gnu.org,wl <at> gnu.org Subject: Re: bug#33885: 27.0.50; PUA character makes emacs crash Date: Thu, 27 Dec 2018 13:33:36 +0200
On December 27, 2018 12:36:14 PM GMT+02:00, Eli Zaretskii <eliz <at> gnu.org> wrote: > On December 27, 2018 10:54:59 AM GMT+02:00, Werner LEMBERG > <wl <at> gnu.org> wrote: > > > > Loading the attached file `bug.el' (containing the single PUA > > character U+E6A3) with > > > > emacs -Q bug.el > > > > causes a crash: > > > > xdisp.c:28955: > > Emacs fatal error: > > assertion failed: > > it->ascent >= 0 && it->descent >= 0 > > > > I've also attached the output of `bt full'. > > > Thanks. > > Do you have some custom font setup, which is supposed to display this > PUA character? Because on my system, there's no font for this > codepoint (as I'd expect), and therefore Emacs displays it as > "glyphless" character, showing a box with the character's code in hex, > and that avoids the assertion violation. > > So please step through x_produce_glyphs when Emacs needs to produce a > glyph for this character, and tell how you end up with both ascent and > descent values zero. It isn't supposed to happen with valid fonts. Sorry, I meant these values should be non-negatve. It seems like in your case, descent is -5? How come?
bug-gnu-emacs <at> gnu.org
:bug#33885
; Package emacs
.
(Thu, 27 Dec 2018 11:34:02 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#33885
; Package emacs
.
(Fri, 28 Dec 2018 08:34:02 GMT) Full text and rfc822 format available.Message #20 received at 33885 <at> debbugs.gnu.org (full text, mbox):
From: Werner LEMBERG <wl <at> gnu.org> To: eliz <at> gnu.org Cc: bug-gnu-emacs <at> gnu.org, 33885 <at> debbugs.gnu.org Subject: Re: bug#33885: 27.0.50; PUA character makes emacs crash Date: Fri, 28 Dec 2018 09:33:33 +0100 (CET)
>> Loading the attached file `bug.el' (containing the single PUA >> character U+E6A3) with >> >> emacs -Q bug.el >> >> causes a crash: >> >> xdisp.c:28955: >> Emacs fatal error: >> assertion failed: >> it->ascent >= 0 && it->descent >= 0 >> >> I've also attached the output of `bt full'. > > Do you have some custom font setup, which is supposed to display this > PUA character? No custom setup, but... > Because on my system, there's no font for this codepoint (as I'd > expect), ... a font that *does* have this character (following the MUFI standard to display characters for medieval research). https://folk.uib.no/hnooh/mufi/ The font in question is `Cardo Regular', Version 1.045, which you can freely download as http://scholarsfonts.net/cardo104.zip (Note that the Google variant of this font doesn't contain the MUFI characters.) Character U+E6A3 gets mapped to glyph 3817, `uni00720325', which is glyph `r' with a ring below; the `ttx' font disassembler shows the following entry from the font's `glyf' table: <TTGlyph name="uni00720325" xMin="52" yMin="-510" xMax="747" yMax="927"> <component glyphName="r" x="0" y="0" flags="0x204"/> <component glyphName="ring" x="-39" y="-1589" flags="0x4"/> </TTGlyph> > and therefore Emacs displays it as "glyphless" character, showing a > box with the character's code in hex, and that avoids the assertion > violation. > > So please step through x_produce_glyphs when Emacs needs to produce > a glyph for this character, and tell how you end up with both ascent > and descent values zero. It isn't supposed to happen with valid > fonts. Uh, oh, I'm completely lost in this function; nowhere I can get information on the font's name. Additionally, there is no repeatable way to set a breakpoint right before the crash; the number of iterations are different each time. However, calling `strace' and searching for `open(' helped me identify the last font that Emacs opened. Werner
bug-gnu-emacs <at> gnu.org
:bug#33885
; Package emacs
.
(Fri, 28 Dec 2018 08:39:01 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#33885
; Package emacs
.
(Fri, 28 Dec 2018 09:17:01 GMT) Full text and rfc822 format available.Message #26 received at 33885 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Werner LEMBERG <wl <at> gnu.org> Cc: 33885 <at> debbugs.gnu.org Subject: Re: bug#33885: 27.0.50; PUA character makes emacs crash Date: Fri, 28 Dec 2018 11:16:17 +0200
> Date: Fri, 28 Dec 2018 09:33:33 +0100 (CET) > Cc: bug-gnu-emacs <at> gnu.org, 33885 <at> debbugs.gnu.org > From: Werner LEMBERG <wl <at> gnu.org> > > ... a font that *does* have this character (following the MUFI > standard to display characters for medieval research). > > https://folk.uib.no/hnooh/mufi/ > > The font in question is `Cardo Regular', Version 1.045, which you > can freely download as > > http://scholarsfonts.net/cardo104.zip > > (Note that the Google variant of this font doesn't contain the MUFI > characters.) > > Character U+E6A3 gets mapped to glyph 3817, `uni00720325', which is > glyph `r' with a ring below; the `ttx' font disassembler shows the > following entry from the font's `glyf' table: > > <TTGlyph name="uni00720325" xMin="52" yMin="-510" xMax="747" yMax="927"> > <component glyphName="r" x="0" y="0" flags="0x204"/> > <component glyphName="ring" x="-39" y="-1589" flags="0x4"/> > </TTGlyph> Does this explain why the descent comes out negative? (I'm not an expert on font metrics.) > > So please step through x_produce_glyphs when Emacs needs to produce > > a glyph for this character, and tell how you end up with both ascent > > and descent values zero. It isn't supposed to happen with valid > > fonts. > > Uh, oh, I'm completely lost in this function; nowhere I can get > information on the font's name. Additionally, there is no repeatable > way to set a breakpoint right before the crash; the number of > iterations are different each time. The way I would suggest to put a useful breakpoint there is this: break x_produce_glyphs if it->char_to_display == 0xe6a3 See also a few more questions I asked in the follow-up message. (I will try to install that font, but that might take a few days. In the meantime, if you can report the additional information, I might be able to come up with a patch even without installing the font and reproducing the problem here.) Thanks.
bug-gnu-emacs <at> gnu.org
:bug#33885
; Package emacs
.
(Fri, 28 Dec 2018 12:40:01 GMT) Full text and rfc822 format available.Message #29 received at 33885 <at> debbugs.gnu.org (full text, mbox):
From: Werner LEMBERG <wl <at> gnu.org> To: eliz <at> gnu.org Cc: 33885 <at> debbugs.gnu.org Subject: Re: bug#33885: 27.0.50; PUA character makes emacs crash Date: Fri, 28 Dec 2018 13:38:56 +0100 (CET)
>> Character U+E6A3 gets mapped to glyph 3817, `uni00720325', which is >> glyph `r' with a ring below; the `ttx' font disassembler shows the >> following entry from the font's `glyf' table: >> >> <TTGlyph name="uni00720325" xMin="52" yMin="-510" xMax="747" yMax="927"> >> <component glyphName="r" x="0" y="0" flags="0x204"/> >> <component glyphName="ring" x="-39" y="-1589" flags="0x4"/> >> </TTGlyph> > > Does this explain why the descent comes out negative? (I'm not an > expert on font metrics.) No. The `glyf' data of this glyph looks correct. > The way I would suggest to put a useful breakpoint there is this: > > break x_produce_glyphs if it->char_to_display == 0xe6a3 OK, did that. Here's the contents of `it' ($11), `face' ($12), and `font' ($13), respectively, at xdisp.c:28221. The `font' entry looks very strange. AFAICS, it's not a problem related to a single glyph. We rather have to check how the `Cardo' fonts get loaded into Emacs; it looks as if the global font descent value is incorrect. Please tell me (a) how to identify the font used for U+E6A3, and (b) where to set a breakpoint to see the font loading in action. And indeed, ttx shows the following for the global values (in the `hhea' table): <ascent value="1645"/> <descent value="620"/> Compare this to, say, LiberationMono-Regular: <ascent value="1705"/> <descent value="-615"/> So we have a font error in Cardo, setting the (Apple specific) descent with the wrong sign. Handling the ascent and descent in OpenType is a mess, since up to three competing sets are present in the font. See http://www.typophile.com/node/13081 for a quite exhaustive discussion. Werner ====================================================================== $11 = { window = { i = 0x15e8fa5 }, w = 0x15e8fa0, f = 0x15e7fa0, method = GET_FROM_BUFFER, stop_charpos = 3, prev_stop = 1, base_level_stop = 0, end_charpos = 3, s = 0x0, string_nchars = 0, redisplay_end_trigger_charpos = 0, multibyte_p = true, 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 = {{ i = 0x0 } <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 = -1, string_pos = { charpos = -1, bytepos = -1 }, dpvec_index = -1 }, n_overlay_strings = 0, overlay_strings_charpos = 1, overlay_strings = {{ i = 0x0 } <repeats 16 times>}, string_overlays = {{ i = 0x0 } <repeats 16 times>}, string = { i = 0x0 }, from_overlay = { i = 0x0 }, stack = {{ string = { i = 0x0 }, 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 = { i = 0x0 }, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, image_id = 0 }, stretch = { object = { i = 0x0 } }, xwidget = { object = { i = 0x0 } } }, 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 = { i = 0x0 }, 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 = { i = 0x0 }, font_height = { i = 0x0 } }, { string = { i = 0x0 }, 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 = { i = 0x0 }, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, image_id = 0 }, stretch = { object = { i = 0x0 } }, xwidget = { object = { i = 0x0 } } }, 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 = { i = 0x0 }, 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 = { i = 0x0 }, font_height = { i = 0x0 } }, { string = { i = 0x0 }, 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 = { i = 0x0 }, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, image_id = 0 }, stretch = { object = { i = 0x0 } }, xwidget = { object = { i = 0x0 } } }, 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 = { i = 0x0 }, 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 = { i = 0x0 }, font_height = { i = 0x0 } }, { string = { i = 0x0 }, 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 = { i = 0x0 }, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, image_id = 0 }, stretch = { object = { i = 0x0 } }, xwidget = { object = { i = 0x0 } } }, 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 = { i = 0x0 }, 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 = { i = 0x0 }, font_height = { i = 0x0 } }, { string = { i = 0x0 }, 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 = { i = 0x0 }, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, image_id = 0 }, stretch = { object = { i = 0x0 } }, xwidget = { object = { i = 0x0 } } }, 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 = { i = 0x0 }, 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 = { i = 0x0 }, font_height = { i = 0x0 } }}, sp = 0, selective = 0, what = IT_CHARACTER, face_id = 17, 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_number_produced_p = false, line_wrap = WINDOW_WRAP, base_face_id = 0, c = 59043, len = 3, cmp_it = { stop_pos = 1, 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 = 59043, glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE, image_id = 0, xwidget = 0x0, slice = { x = { i = 0x0 }, y = { i = 0x0 }, width = { i = 0x0 }, height = { i = 0x0 } }, space_width = { i = 0x0 }, voffset = 0, tab_width = 8, font_height = { i = 0x0 }, object = { i = 0x120c2e5 }, position = { charpos = 1, bytepos = 1 }, truncation_pixel_width = 0, continuation_pixel_width = 11, first_visible_x = 0, last_visible_x = 880, last_visible_y = 850, extra_line_spacing = 0, max_extra_line_spacing = 0, override_ascent = -1, override_descent = 0, override_boff = 0, glyph_row = 0x1c06800, 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, lnum = 0, lnum_bytepos = 0, lnum_width = 0, lnum_pixel_width = 0, pt_lnum = 0, tab_offset = 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 = 1, charpos = 1, ch = 59043, nchars = 1, ch_len = 3, type = STRONG_L, type_after_wn = STRONG_L, orig_type = STRONG_L, resolved_level = 0 '\000', isolate_level = 0 '\000', invalid_levels = 0, invalid_isolates = 0, prev = { charpos = 1, type = NEUTRAL_B, orig_type = NEUTRAL_B }, 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 = STRONG_L, orig_type = UNKNOWN_BT }, next_for_ws = { charpos = -1, 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 = 1, disp_pos = 3, 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 = { i = 0x0 }, s = 0x0, schars = 0, bufpos = 0, from_disp_str = false, unibyte = false }, w = 0x15e8fa0, paragraph_dir = L2R, separator_limit = -1, first_elt = false, new_paragraph = false, frame_window_p = true }, paragraph_embedding = L2R } $12 = { lface = {{ i = 0x5970 }, { i = 0x1b645e4 }, { i = 0x1b64624 }, { i = 0x9de0 }, { i = 0x1b2 }, { i = 0x9de0 }, { i = 0x9de0 }, { i = 0x0 }, { i = 0x0 }, { i = 0x1b6ec74 }, { i = 0x1b6ec94 }, { i = 0x0 }, { i = 0x0 }, { i = 0x0 }, { i = 0x0 }, { i = 0x15f0085 }, { i = 0x0 }, { i = 0x1b720a4 }, { i = 0xd5f0 }}, id = 17, gc = 0x0, stipple = 0, foreground = 0, background = 16777215, underline_color = 0, overline_color = 0, strike_through_color = 0, box_color = 0, font = 0x226b780, fontset = 3, box_line_width = 0, box = FACE_NO_BOX, underline_type = FACE_UNDER_LINE, use_box_color_for_shadows_p = false, underline_p = false, overline_p = false, strike_through_p = false, foreground_defaulted_p = false, background_defaulted_p = false, underline_defaulted_p = false, overline_color_defaulted_p = false, strike_through_color_defaulted_p = false, box_color_defaulted_p = false, tty_bold_p = false, tty_italic_p = false, tty_underline_p = false, tty_reverse_p = false, colors_copied_bitwise_p = true, overstrike = false, hash = 1344140, next = 0x0, prev = 0x191c150, ascii_face = 0x191c150, extra = 0x0 } $13 = { header = { size = 4611686018880454673 }, props = {{ i = 0xe7f0 }, { i = 0x11d8390 }, { i = 0x11d83c0 }, { i = 0x0 }, { i = 0x7f50 }, { i = 0x19142 }, { i = 0x19082 }, { i = 0x19102 }, { i = 0x4e }, { i = 0x0 }, { i = 0x0 }, { i = 0x2 }, { i = 0x211e4b3 }, { i = 0x0 }, { i = 0x1cf1da4 }, { i = 0x1cf1dc4 }, { i = 0x20445d4 }}, min_width = 5, max_width = 5, pixel_size = 19, height = 11, space_width = 5, average_width = 10, ascent = 16, descent = -5, underline_thickness = 0, underline_position = 1, vertical_centering = false, baseline_offset = 0, relative_compose = 0, default_ascent = 0, encoding_charset = -1, repertory_charset = -1, driver = 0x7b5fa0 <xftfont_driver> }
bug-gnu-emacs <at> gnu.org
:bug#33885
; Package emacs
.
(Fri, 28 Dec 2018 13:37:01 GMT) Full text and rfc822 format available.Message #32 received at 33885 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Werner LEMBERG <wl <at> gnu.org> Cc: 33885 <at> debbugs.gnu.org Subject: Re: bug#33885: 27.0.50; PUA character makes emacs crash Date: Fri, 28 Dec 2018 15:30:57 +0200
> Date: Fri, 28 Dec 2018 13:38:56 +0100 (CET) > Cc: 33885 <at> debbugs.gnu.org > From: Werner LEMBERG <wl <at> gnu.org> > > > break x_produce_glyphs if it->char_to_display == 0xe6a3 > > OK, did that. Here's the contents of `it' ($11), `face' ($12), and > `font' ($13), respectively, at xdisp.c:28221. The `font' entry looks > very strange. Agreed, it looks like descent has the wrong sign. > AFAICS, it's not a problem related to a single glyph. We rather have > to check how the `Cardo' fonts get loaded into Emacs; it looks as if > the global font descent value is incorrect. Please tell me (a) how to > identify the font used for U+E6A3, and (b) where to set a breakpoint > to see the font loading in action. (a) font->props[2] names the font, so: (gdb) pp font->props[2] should display its name in human-readable form. To have the "pp" command in GDB, you need to issue the command (gdb) source /path/to/emacs/src/.gdbinit before you type the above. (b) Given your list of features, which includes XFT, I think you want to set a breakpoint in xftfont_open, where there's a call to XftFontOpenPattern. Thanks.
bug-gnu-emacs <at> gnu.org
:bug#33885
; Package emacs
.
(Fri, 28 Dec 2018 15:00:02 GMT) Full text and rfc822 format available.Message #35 received at 33885 <at> debbugs.gnu.org (full text, mbox):
From: Werner LEMBERG <wl <at> gnu.org> To: eliz <at> gnu.org Cc: 33885 <at> debbugs.gnu.org Subject: Re: bug#33885: 27.0.50; PUA character makes emacs crash Date: Fri, 28 Dec 2018 15:58:50 +0100 (CET)
>> We rather have to check how the `Cardo' fonts get loaded into >> Emacs; it looks as if the global font descent value is incorrect. >> Please tell me (a) how to identify the font used for U+E6A3, and >> (b) where to set a breakpoint to see the font loading in action. > > (a) font->props[2] names the font, so: > > (gdb) pp font->props[2] > > should display its name in human-readable form. Thanks. This indeed gives `Cardo'. > (b) Given your list of features, which includes XFT, I think you > want to set a breakpoint in xftfont_open, where there's a call to > XftFontOpenPattern. OK. `XftFontOpenPattern' returns the following data for `Cardo': (gdb) p *xftfont $12 = { ascent = 16, descent = -5, height = 6, max_advance_width = 91, charset = 0x7fffe23d52d8, pattern = 0x1f01050 } This is problematic, since it only reflects the Apple values for ascent and descent (i.e., the data in the font's `hhea' table). To solve the issue, there are two possible solutions IMHO. (1) Simply accept whatever `XftFontOpenPattern' returns, including negative values for `descent' – actually, such font might exist: for example, consider a special font that only contains dashes of different length. (2) Improve the heuristics to get sensible global ascent and descent values of a font. In particular, use the FreeType library to access a TrueType's or OpenType's `OS/2' table and compare its vertical metrics values with the `hhea' data to eliminate bugs in the font – sign problems with `descent' do happen especially in older fonts that were either designed for Apple or for Windows, and the fields for the `other' OS were filled out arbitrarily, more or less. Werner
bug-gnu-emacs <at> gnu.org
:bug#33885
; Package emacs
.
(Fri, 28 Dec 2018 15:34:01 GMT) Full text and rfc822 format available.Message #38 received at 33885 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Werner LEMBERG <wl <at> gnu.org> Cc: 33885 <at> debbugs.gnu.org Subject: Re: bug#33885: 27.0.50; PUA character makes emacs crash Date: Fri, 28 Dec 2018 17:33:07 +0200
> Date: Fri, 28 Dec 2018 15:58:50 +0100 (CET) > Cc: 33885 <at> debbugs.gnu.org > From: Werner LEMBERG <wl <at> gnu.org> > > OK. `XftFontOpenPattern' returns the following data for `Cardo': > > (gdb) p *xftfont > $12 = { > ascent = 16, > descent = -5, > height = 6, > max_advance_width = 91, > charset = 0x7fffe23d52d8, > pattern = 0x1f01050 > } > > This is problematic, since it only reflects the Apple values for > ascent and descent (i.e., the data in the font's `hhea' table). To > solve the issue, there are two possible solutions IMHO. > > (1) Simply accept whatever `XftFontOpenPattern' returns, including > negative values for `descent' – actually, such font might exist: > for example, consider a special font that only contains dashes of > different length. I don't think this is a good idea. > (2) Improve the heuristics to get sensible global ascent and descent > values of a font. In particular, use the FreeType library to > access a TrueType's or OpenType's `OS/2' table and compare its > vertical metrics values with the `hhea' data to eliminate bugs in > the font – sign problems with `descent' do happen especially in > older fonts that were either designed for Apple or for Windows, > and the fields for the `other' OS were filled out arbitrarily, > more or less. I'd appreciate more details on how this could be done. I'm no expert on fonts nor on FreeType, and last I checked we have no one else. Thanks.
bug-gnu-emacs <at> gnu.org
:bug#33885
; Package emacs
.
(Fri, 28 Dec 2018 17:04:02 GMT) Full text and rfc822 format available.Message #41 received at 33885 <at> debbugs.gnu.org (full text, mbox):
From: Werner LEMBERG <wl <at> gnu.org> To: eliz <at> gnu.org Cc: 33885 <at> debbugs.gnu.org Subject: Re: bug#33885: 27.0.50; PUA character makes emacs crash Date: Fri, 28 Dec 2018 18:03:11 +0100 (CET)
>> (2) Improve the heuristics to get sensible global ascent and >> descent values of a font. In particular, use the FreeType >> library to access a TrueType's or OpenType's `OS/2' table and >> compare its vertical metrics values with the `hhea' data to >> eliminate bugs in the font – sign problems with `descent' do >> happen especially in older fonts that were either designed for >> Apple or for Windows, and the fields for the `other' OS were >> filled out arbitrarily, more or less. > > I'd appreciate more details on how this could be done. I'm no > expert on fonts nor on FreeType, and last I checked we have no one > else. A possible workflow. (0) Check that we have an SFNT font (which means either TrueType or OpenType): if (FT_IS_SFNT(ft_face)) ... (1) Use TT_OS2* os2_table; os2_table = (TT_OS2)FT_Get_Sfnt_Table(ft_face, FT_SFNT_OS2); to extract the `OS/2' table data from an existing `FT_Face' object for a given font. We are interested in the fields fsSelection sTypoAscender sTypoDescender sTypoLineGap usWinAscent usWinDescent of FreeType's `TT_OS2' structure and in ascent descent of xft's `XftFont' structure; the latter is based on the `ascender' and `descender' fields of an OpenType font's `hhea' table (with `descent' having the opposite sign of of `descender'). [Since `XftFont' doesn't provide `hhea's `lineGap' value it probably makes sense to use `FT_Get_Sfnt_Table' also to access this value.] (2) Check that sTypoAscender - sTypoDescender > 0 ascent + descent > 0 usWinAscent + usWinDescent > 0 and filter out the value pairs that don't fit. For example, I've seen fonts where `sTypo*' values were all zero. (3) Check that -sign(descent) == sign(sTypoDescender) == -sign(usWinDescent) If this holds, use `usWin*' or `sTypo*' values, depending on bit 7 of `fsSelection'. Maybe use `ascent/descent' if on a Mac. If this doesn't hold, try to sanitize the not-fitting value. Werner
bug-gnu-emacs <at> gnu.org
:bug#33885
; Package emacs
.
(Fri, 28 Dec 2018 17:07:01 GMT) Full text and rfc822 format available.Message #44 received at 33885 <at> debbugs.gnu.org (full text, mbox):
From: Werner LEMBERG <wl <at> gnu.org> To: eliz <at> gnu.org Cc: 33885 <at> debbugs.gnu.org Subject: Re: bug#33885: 27.0.50; PUA character makes emacs crash Date: Fri, 28 Dec 2018 18:06:45 +0100 (CET)
> A possible workflow. BTW, here's another useful page that gives some recommendations on ascender and descender values. https://docs.microsoft.com/en-us/typography/opentype/otspec170/recom Werner
bug-gnu-emacs <at> gnu.org
:bug#33885
; Package emacs
.
(Fri, 28 Dec 2018 19:16:02 GMT) Full text and rfc822 format available.Message #47 received at 33885 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Werner LEMBERG <wl <at> gnu.org> Cc: 33885 <at> debbugs.gnu.org Subject: Re: bug#33885: 27.0.50; PUA character makes emacs crash Date: Fri, 28 Dec 2018 21:15:19 +0200
> Date: Fri, 28 Dec 2018 18:03:11 +0100 (CET) > Cc: 33885 <at> debbugs.gnu.org > From: Werner LEMBERG <wl <at> gnu.org> > > >> (2) Improve the heuristics to get sensible global ascent and > >> descent values of a font. In particular, use the FreeType > >> library to access a TrueType's or OpenType's `OS/2' table and > >> compare its vertical metrics values with the `hhea' data to > >> eliminate bugs in the font – sign problems with `descent' do > >> happen especially in older fonts that were either designed for > >> Apple or for Windows, and the fields for the `other' OS were > >> filled out arbitrarily, more or less. > > > > I'd appreciate more details on how this could be done. I'm no > > expert on fonts nor on FreeType, and last I checked we have no one > > else. > > A possible workflow. Thanks, I will see what I can do about this. Or maybe someone else will beat me to it.
bug-gnu-emacs <at> gnu.org
:bug#33885
; Package emacs
.
(Sat, 12 Feb 2022 08:43:02 GMT) Full text and rfc822 format available.Message #50 received at 33885 <at> debbugs.gnu.org (full text, mbox):
From: Lars Ingebrigtsen <larsi <at> gnus.org> To: Werner LEMBERG <wl <at> gnu.org> Cc: 33885 <at> debbugs.gnu.org Subject: Re: bug#33885: 27.0.50; PUA character makes emacs crash Date: Sat, 12 Feb 2022 09:42:16 +0100
Werner LEMBERG <wl <at> gnu.org> writes: > Loading the attached file `bug.el' (containing the single PUA > character U+E6A3) with > > emacs -Q bug.el > > causes a crash: > > xdisp.c:28955: > Emacs fatal error: > assertion failed: > it->ascent >= 0 && it->descent >= 0 (I'm going through old bug reports that unfortunately weren't resolved at the time.) I vaguely recall a similar problem being fixed recently (but not with this specific character). Would it be possible for you to try Emacs 28/29 and see whether the problem is still present there? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no
Lars Ingebrigtsen <larsi <at> gnus.org>
to control <at> debbugs.gnu.org
.
(Sat, 12 Feb 2022 08:43:02 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#33885
; Package emacs
.
(Sat, 12 Feb 2022 08:59:01 GMT) Full text and rfc822 format available.Message #55 received at 33885 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Lars Ingebrigtsen <larsi <at> gnus.org> Cc: wl <at> gnu.org, 33885 <at> debbugs.gnu.org Subject: Re: bug#33885: 27.0.50; PUA character makes emacs crash Date: Sat, 12 Feb 2022 10:57:50 +0200
> Resent-From: Lars Ingebrigtsen <larsi <at> gnus.org> > Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> > Resent-CC: bug-gnu-emacs <at> gnu.org > Resent-Sender: help-debbugs <at> gnu.org > From: Lars Ingebrigtsen <larsi <at> gnus.org> > Date: Sat, 12 Feb 2022 09:42:16 +0100 > Cc: 33885 <at> debbugs.gnu.org > > Werner LEMBERG <wl <at> gnu.org> writes: > > > Loading the attached file `bug.el' (containing the single PUA > > character U+E6A3) with > > > > emacs -Q bug.el > > > > causes a crash: > > > > xdisp.c:28955: > > Emacs fatal error: > > assertion failed: > > it->ascent >= 0 && it->descent >= 0 > > (I'm going through old bug reports that unfortunately weren't resolved > at the time.) > > I vaguely recall a similar problem being fixed recently (but not with > this specific character). Would it be possible for you to try Emacs 28/29 > and see whether the problem is still present there? Yes, we now do if (it->ascent < 0) it->ascent = 0; if (it->descent < 0) it->descent = 0; so I think this assertion violation should not happen anymore. (And in a production build, the assertion goes away anyway.)
bug-gnu-emacs <at> gnu.org
:bug#33885
; Package emacs
.
(Sat, 12 Mar 2022 22:44:01 GMT) Full text and rfc822 format available.Message #58 received at 33885 <at> debbugs.gnu.org (full text, mbox):
From: Lars Ingebrigtsen <larsi <at> gnus.org> To: Eli Zaretskii <eliz <at> gnu.org> Cc: wl <at> gnu.org, 33885 <at> debbugs.gnu.org Subject: Re: bug#33885: 27.0.50; PUA character makes emacs crash Date: Sat, 12 Mar 2022 23:43:48 +0100
Eli Zaretskii <eliz <at> gnu.org> writes: >> I vaguely recall a similar problem being fixed recently (but not with >> this specific character). Would it be possible for you to try Emacs 28/29 >> and see whether the problem is still present there? > > Yes, we now do > > if (it->ascent < 0) > it->ascent = 0; > if (it->descent < 0) > it->descent = 0; > > so I think this assertion violation should not happen anymore. (And > in a production build, the assertion goes away anyway.) And there wasn't any further response within a month, so I'm closing this bug report. If the problem still exists, please respond to this email and we'll reopen the bug report. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no
Lars Ingebrigtsen <larsi <at> gnus.org>
to control <at> debbugs.gnu.org
.
(Sat, 12 Mar 2022 22:45:03 GMT) Full text and rfc822 format available.Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Sun, 10 Apr 2022 11:24:08 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.