$(srcdir)/package.texi \
$(srcdir)/positions.texi \
$(srcdir)/processes.texi \
+ $(srcdir)/records.texi \
$(srcdir)/searching.texi \
$(srcdir)/sequences.texi \
$(srcdir)/streams.texi \
@c See the file elisp.texi for copying conditions.
@node Records
@chapter Records
-@cindex record
+@cindex records
The purpose of records is to allow programmers to create objects
with new types that are not built into Emacs. They are used as the
list specifying the contents. The first list element must be the
record type. The following elements are the record slots.
+ To avoid conflicts with other type names, Lisp programs that define
+new types of records should normally use the naming conventions of the
+package where these record types are introduced for the names of the
+types. Note that the names of the types which could possibly conflict
+might not be known at the time the package defining a record type is
+loaded; they could be loaded at some future point in time.
+
A record is considered a constant for evaluation: the result of
evaluating it is the same record. This does not evaluate or even
examine the slots. @xref{Self-Evaluating Forms}.
used internally to represent cl-defstruct and defclass instances, for
example.
+If your program defines new record types, you should use
+package-naming conventions for naming those types. This is so any
+potential conflicts with other types are avoided.
+
+++
** 'save-some-buffers' now uses 'save-some-buffers-default-predicate'
to decide which buffers to ask about, if the PRED argument is nil.