Subject: bug#68370: 30.0.50; pcase eieio, map, seq, and cl-struct constructs are not described in the manual

From: Richard Stallman <[email-masked]>
Date: Fri, 12 Jan 2024 22:54:28 -0500

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > 1. eieio is more or less clear - it is a separate manual

I don't think anything but eieio and its documentation needs to
describe how to use eieio.  I won't try to implement anything about
eieio in cond*.

If there is a general need for such a construct in cond*, it can
be added later.

  > 2. seq.el is documented in 6.1 section, which may be a problem - the
  >    very concept of pattern matching is only introduced in 11.4.1 (pcase)
  >    section. So, it might be confusing for the readers to see information
  >    about pattern matching so early in the manual.

Can someone please describe for me the construct used in pcase
for matching sequences -- tell me how to use it and what it does?
Then I could implement that facility in cond*.

  > 4. 11.4.1 The ‘pcase’ macro section already documents ‘(cl-type TYPE)’,
  >    but not (cl-struct TYPE &rest FIELDS). It will be awkward to document
  >    cl-struct pattern in CL manual, while leaving cl-type in the 11.4.1
  >    section of the Elisp manual.

I would like to implement matching of cl-structs in cond*.  But I have
never used cl-structs and I don't know how they are used.

Can someone tell me about the constructs for constructing a structure
of a specified type with specified field values?  Please tell me how
to use it and what it does.  Then I could implement that for cond*.

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)