Package: emacs Version: 24.5 struct position * compute_motion (ptrdiff_t from, ptrdiff_t frombyte, EMACS_INT fromvpos, EMACS_INT fromhpos, bool did_motion, ptrdiff_t to, EMACS_INT tovpos, EMACS_INT tohpos, EMACS_INT width, ptrdiff_t hscroll, int tab_offset, struct window *win) { ... if (dp == buffer_display_table ()) width_table = (VECTORP (BVAR (current_buffer, width_table)) ? XVECTOR (BVAR (current_buffer, width_table))->contents : 0); else /* If the window has its own display table, we can't use the width run cache, because that's based on the buffer's display table. */ width_table = 0; // initialize it with 0 (current buffer has no display table) ... if (width_cache) { /* Is this character part of the current run? If so, extend the run. */ if (pos - 1 == width_run_end && XFASTINT (width_table[c]) == width_run_width) // dereference width_table here, and crash width_run_end = pos; ... Sergei Litvin