emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r116524: * doc/lispref/functions.texi (Declare Form)


From: Stefan Monnier
Subject: [Emacs-diffs] trunk r116524: * doc/lispref/functions.texi (Declare Form): Document gv-expander,
Date: Sat, 22 Feb 2014 03:39:15 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 116524
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16829
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Fri 2014-02-21 22:39:10 -0500
message:
  * doc/lispref/functions.texi (Declare Form): Document gv-expander,
  gv-setter, and compiler-macro.
modified:
  doc/lispref/ChangeLog          changelog-20091113204419-o5vbwnq5f7feedwu-6155
  doc/lispref/functions.texi     
functions.texi-20091113204419-o5vbwnq5f7feedwu-6182
=== modified file 'doc/lispref/ChangeLog'
--- a/doc/lispref/ChangeLog     2014-02-21 20:10:56 +0000
+++ b/doc/lispref/ChangeLog     2014-02-22 03:39:10 +0000
@@ -1,3 +1,8 @@
+2014-02-22  Stefan Monnier  <address@hidden>
+
+       * functions.texi (Declare Form): Document gv-expander, gv-setter, and
+       compiler-macro (bug#16829).
+
 2014-02-21  Juanma Barranquero  <address@hidden>
 
        * windows.texi (Window Configurations): Doc fix.
@@ -16,6 +21,11 @@
 
        * functions.texi (Defining Functions): Mention defalias-fset-function.
 
+2014-02-17  Stefan Monnier  <address@hidden>
+
+       * minibuf.texi (Completion Commands): Don't document obsolete
+       `common-substring' arg of display-completion-list.
+
 2014-02-17  Glenn Morris  <address@hidden>
 
        * minibuf.texi (Text from Minibuffer): Update read-regexp details.
@@ -31,8 +41,8 @@
 
 2014-02-10  Lars Ingebrigtsen  <address@hidden>
 
-       * text.texi (User-Level Deletion): Document
-       `delete-trailing-whitespace' (bug#15309).
+       * text.texi (User-Level Deletion):
+       Document `delete-trailing-whitespace' (bug#15309).
 
 2014-02-09  Lars Ingebrigtsen  <address@hidden>
 
@@ -237,8 +247,8 @@
 2013-12-24  Tassilo Horn  <address@hidden>
 
        * control.texi (Pattern matching case statement): Fix missing
-       argument in simple expression language sample (Bug#16238).  Add
-       some sample programs written in that language.  Mention that
+       argument in simple expression language sample (Bug#16238).
+       Add some sample programs written in that language.  Mention that
        `pcase' requires lexical binding.
 
 2013-12-23  Xue Fuqiao  <address@hidden>
@@ -253,8 +263,8 @@
 
 2013-12-23  Chong Yidong  <address@hidden>
 
-       * keymaps.texi (Controlling Active Maps): Renamed
-       set-temporary-overlay-map to set-transient map.  Doc fixes.
+       * keymaps.texi (Controlling Active Maps):
+       Rename set-temporary-overlay-map to set-transient map.  Doc fixes.
        (Searching Keymaps): The transient keymap takes precedence.
 
 2013-12-23  Glenn Morris  <address@hidden>
@@ -523,8 +533,8 @@
 2013-10-08  Eli Zaretskii  <address@hidden>
 
        Support menus on text-mode terminals.
-       * keymaps.texi (Defining Menus, Mouse Menus, Menu Bar): Modify
-       wording to the effect that menus are supported on TTYs.
+       * keymaps.texi (Defining Menus, Mouse Menus, Menu Bar):
+       Modify wording to the effect that menus are supported on TTYs.
 
        * frames.texi (Pop-Up Menus, Dialog Boxes)
        (Display Feature Testing): Update for menu support on TTYs.
@@ -731,8 +741,8 @@
 2013-07-22  Michael Albinus  <address@hidden>
 
        * files.texi (Magic File Names): Add file-notify-add-watch,
-       file-notify-rm-watch and file-notify-supported-p.  Move
-       file-remote-p down.
+       file-notify-rm-watch and file-notify-supported-p.
+       Move file-remote-p down.
 
        * errors.texi (Standard Errors): Add file-notify-error.
 

=== modified file 'doc/lispref/functions.texi'
--- a/doc/lispref/functions.texi        2014-02-20 07:38:47 +0000
+++ b/doc/lispref/functions.texi        2014-02-22 03:39:10 +0000
@@ -1554,14 +1554,17 @@
 This acts like a call to @code{set-advertised-calling-convention}
 (@pxref{Obsolete Functions}); @var{signature} specifies the correct
 argument list for calling the function or macro, and @var{when} should
-be a string indicating when the variable was first made obsolete.
+be a string indicating when the old argument list was first made obsolete.
 
 @item (debug @var{edebug-form-spec})
 This is valid for macros only.  When stepping through the macro with
 Edebug, use @var{edebug-form-spec}.  @xref{Instrumenting Macro Calls}.
 
 @item (doc-string @var{n})
-Use element number @var{n}, if any, as the documentation string.
+This is used when defining a function or macro which itself will be used to
+define entities like functions, macros, or variables.  It indicates that
+the @var{n}th argument, if any, should be considered
+as a documentation string.
 
 @item (indent @var{indent-spec})
 Indent calls to this function or macro according to @var{indent-spec}.
@@ -1576,7 +1579,37 @@
 which case the warning message gives no extra details).  @var{when}
 should be a string indicating when the function or macro was first
 made obsolete.
+
address@hidden (compiler-macro @var{expander})
+This can only be used for functions, and tells the compiler to use
address@hidden as an optimization function.  When encountering a call to the
+function, of the form @code{(@var{function} @address@hidden)}, the macro
+expander will call @var{expander} with that form as well as with
address@hidden@dots, and @var{expander} can either return a new expression to 
use
+instead of the function call, or it can return just the form unchanged,
+to indicate that the function call should be left alone.  @var{expander} can
+be a symbol, or it can be a form @code{(lambda (@var{arg}) @var{body})} in
+which case @var{arg} will hold the original function call expression, and the
+(unevaluated) arguments to the function can be accessed using the function's
+formal arguments.
+
address@hidden (gv-expander @var{expander})
+Declare @var{expander} to be the function to handle calls to the macro (or
+function) as a generalized variable, similarly to @code{gv-define-expander}.
address@hidden can be a symbol or it can be of the form @code{(lambda
+(@var{arg}) @var{body})} in which case that function will additionally have
+access to the macro (or function)'s arguments.
+
address@hidden (gv-setter @var{setter})
+Declare @var{setter} to be the function to handle calls to the macro (or
+function) as a generalized variable.  @var{setter} can be a symbol in which
+case it will be passed to @code{gv-define-simple-setter}, or it can be of the
+form @code{(lambda (@var{arg}) @var{body})} in which case that function will
+additionally have access to the macro (or function)'s arguments and it will
+passed to @code{gv-define-setter}.
+
 @end table
+
 @end defmac
 
 @node Declaring Functions


reply via email to

[Prev in Thread] Current Thread [Next in Thread]