From: Eli Zaretskii Date: Thu, 2 May 2024 16:30:40 +0000 (+0300) Subject: ; Fix last change X-Git-Tag: archive/raspbian/1%30.1+1-3+rpi1^2~2^2~20^2~1680 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=12e3ffcc97af739f0134959ce4a5ff2f23ffa971;p=emacs.git ; Fix last change * etc/NEWS: Fix wording of a recently-added item. * doc/lispref/functions.texi (Declare Form): Fix markup. --- diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index d88f5d05339..a77bf6e233d 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi @@ -2725,22 +2725,22 @@ Here's an example of using @code{type} inside @code{declare} to declare a function @code{positive-p} that takes an argument of type @var{number} and return a @var{boolean}: -@group @lisp +@group (defun positive-p (x) (declare (type (function (number) boolean))) (when (> x 0) t)) -@end lisp @end group +@end lisp Similarly this declares a function @code{cons-or-number} that: expects a first argument being a @var{cons} or a @var{number}, a second optional argument of type @var{string} and return one of the symbols @code{is-cons} or @code{is-number}: -@group @lisp +@group (defun cons-or-number (x &optional err-msg) (declare (type (function ((or cons number) &optional string) (member is-cons is-number)))) @@ -2749,11 +2749,10 @@ argument of type @var{string} and return one of the symbols (if (numberp x) 'is-number (error (or err-msg "Unexpected input"))))) -@end lisp @end group +@end lisp -More types are described in the Lisp Data Types chapter (@ref{Lisp Data -Types}). +For description of additional types, see @ref{Lisp Data Types}). Declaring a function with an incorrect type produces undefined behavior and could lead to unexpected results or might even crash Emacs when code diff --git a/etc/NEWS b/etc/NEWS index 8477a1eed58..b55ee02e0bd 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1940,9 +1940,9 @@ unibyte string. * Lisp Changes in Emacs 30.1 +++ -** Function type declaration -It is now possible, using the 'declare' macro, to declare expected types -of function arguments and return type. +** Function type declaration. +It is now possible to declare the expected type of a function's +arguments and its return type using the 'declare' macro. ** New types 'closure' and 'interpreted-function'. 'interpreted-function' is the new type used for interpreted functions,