From: Eli Zaretskii Date: Fri, 3 Mar 2023 19:44:54 +0000 (+0200) Subject: ; More doc improvements for OClosures X-Git-Tag: emacs-29.0.90~260 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=585faf4c173;p=emacs.git ; More doc improvements for OClosures * doc/lispref/functions.texi (OClosures): * doc/lispref/commands.texi (Using Interactive): * etc/NEWS: Some more docs improvements for OClosures. --- diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi index 6fd9377e1de..20be706bebd 100644 --- a/doc/lispref/commands.texi +++ b/doc/lispref/commands.texi @@ -325,10 +325,10 @@ function @code{oclosure-interactive-form}. @defun oclosure-interactive-form function Just like @code{interactive-form}, this function takes a command and returns its interactive form. The difference is that it is a generic -function and it is only called when @var{function} is an OClosure. -The purpose is to make it possible for some OClosure types to compute -their interactive forms dynamically instead of carrying it in one of -their slots. +function and it is only called when @var{function} is an OClosure +(@pxref{OClosures}). The purpose is to make it possible for some +OClosure types to compute their interactive forms dynamically instead +of carrying it in one of their slots. This is used for example for @code{kmacro} functions in order to reduce their memory size, since they all share the same interactive diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index d1459404375..d38f6ef38bc 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi @@ -1731,6 +1731,11 @@ This function returns the OClosure type (a symbol) of @var{object} if it is an OClosure, and @code{nil} otherwise. @end defun +One other function related to OClosures is +@code{oclosure-interactive-form}, which allows some types of OClosures +to compute their interactive forms dynamically. @xref{Using +Interactive, oclosure-interactive-form}. + @node Advising Functions @section Advising Emacs Lisp Functions diff --git a/etc/NEWS b/etc/NEWS index b5e67d47037..189ca590e3f 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -3231,8 +3231,11 @@ manually if needed, using the new user options 'wallpaper-command' and +++ ** New package 'oclosure'. -This allows the creation of "functions with slots" or "function -objects" via the macros 'oclosure-define' and 'oclosure-lambda'. +This allows the creation of OClosures, which are "functions with +slots" or "function objects" that expose additional information about +themselves. Use the new macros 'oclosure-define' and +'oclosure-lambda' to create OClosures. See the "(elisp) OClosures" +node for more information. +++ *** New generic function 'oclosure-interactive-form'.