Subject: bug#19468: 25.0.50; UI inconveniences with M-.

From: Eli Zaretskii <[email-masked]>
Date: Sat, 02 May 2015 10:10:54 +0300

> From: Dmitry Gutov <[email-masked]>
> Date: Sat, 2 May 2015 03:08:39 +0300
> 
> On 04/29/2015 09:03 PM, Eli Zaretskii wrote:
> 
> >>> Using ID-Utils is one possible way, I guess.
> 
> It will be used now, courtesy of semantic/symref, if the ID file is in 
> the same directory as TAGS.

I cannot seem to make it to work.  Here's what I did:

  ./src/emacs -Q
  C-x C-f src/xdisp.c RET
  move to a place that references set_cursor_from_row
  M-x xref-find-references RET

I get "Symbol's function definition is void: mapcan".

I then manually load cl, and re-invoke the command.  The result now is
"No known references for: set_cursor_from_row".  But the shell command
"gid set_cursor_from_row" returns this list of matches:

  src/xdisp.c:174:   latter, see also set_cursor_from_row).
  src/xdisp.c:380:   cursor; <= 0 if not known.  Set by set_cursor_from_row, used for
  src/xdisp.c:777:static bool set_cursor_from_row (struct window *, struct glyph_row *,
  src/xdisp.c:1406:                set_cursor_from_row conspires with cursor_row_p to
  src/xdisp.c:4421:                 text, which confuses `set_cursor_from_row'.
  src/xdisp.c:13675:            set_cursor_from_row (w, row, w->current_matrix, 0, 0, 0, 0);
  src/xdisp.c:14191:set_cursor_from_row (struct window *w, struct glyph_row *row,
  src/xdisp.c:15568:                set_cursor_from_row (w, row, w->current_matrix, 0, 0, 0, 0);
  src/xdisp.c:15582:               occlude point.  We need to let set_cursor_from_row
  src/xdisp.c:15596:                  rv |= set_cursor_from_row (w, row, w->current_matrix,
  src/xdisp.c:15652:                if (set_cursor_from_row (w, row, w->current_matrix, 0, 0, 0, 0))
  src/xdisp.c:16202:        set_cursor_from_row (w, row, w->desired_matrix, 0, 0, 0, 0);
  src/xdisp.c:16634:      set_cursor_from_row (w, row, w->current_matrix, 0, 0, 0, 0);
  src/xdisp.c:17081:              set_cursor_from_row (w, row, w->current_matrix, 0, 0,
  src/xdisp.c:17317:               bidi-reordered glyph rows.  Let set_cursor_from_row
  src/xdisp.c:17322:                if (!set_cursor_from_row (w, row, w->current_matrix,
  src/xdisp.c:17892:          set_cursor_from_row (w, row, current_matrix, 0, 0, 0, 0);
  src/xdisp.c:17932:          set_cursor_from_row (w, row, current_matrix, 0, 0, 0, 0);
  src/xdisp.c:18154:          set_cursor_from_row (w, row, w->current_matrix, 0, 0, 0, 0);
  src/xdisp.c:18163:          set_cursor_from_row (w, row, w->current_matrix, delta,
  src/xdisp.c:20794:    set_cursor_from_row (it->w, row, it->w->desired_matrix, 0, 0, 0, 0);

In case it matters, the ID file was produced manually with this
command in the top-level Emacs directory:

  mkid -o ID .

What am I missing?