Subject: bug#45443: 28.0.50; Can't find definition of compilation--message->loc

From: Eli Zaretskii <[email-masked]>
Date: Sat, 26 Dec 2020 12:44:00 +0200

> From: Richard Stallman <[email-masked]>
> Date: Sat, 26 Dec 2020 05:18:53 -0500
> 
> Trying to debug a bug in compile-goto-error on Rmail files,
> I typed C-h f compilation--message->loc RET
> then clicked on the file name -- which is supposed to find the definition
> of that function.
> 
> It did not find the definition; instead it said,
> 
>     Unable to find location in file
> 
> I also tried M-x find-function RET compilation--message->loc RET.
> It found a call to compilation--message->loc, not the definition.
> 
> I searched for that name in the file and did not find a definition.
> I will try grepping for it.

It's a general problem with uses of cl-defstruct and similar
constructs: they generate functions and macros that the Help functions
are unable to find.  In this case, see this part of compile.el:

  (cl-defstruct (compilation--message
	      (:constructor nil)
	      (:copier nil)
	      ;; (:type list)                ;Old representation.
	      (:constructor compilation--make-message (loc type end-loc rule))
	      (:conc-name compilation--message->))
    loc type end-loc rule)