diff options
| author | Mattias EngdegÄrd <mattiase@acm.org> | 2024-05-07 12:17:39 +0200 |
|---|---|---|
| committer | Mattias EngdegÄrd <mattiase@acm.org> | 2024-05-07 12:29:48 +0200 |
| commit | c2bca6fe0f1c191444d2dc632190706b2a5b663d (patch) | |
| tree | 9d7be2456d0bfb95cb1a2b3295e3f05df6dae70d | |
| parent | 1ac70626fa6720a407a23b1b9c14364e5a9230ae (diff) | |
* etc/NEWS: Elaborate `type` declare entry and regroup.
| -rw-r--r-- | etc/NEWS | 24 |
1 files changed, 18 insertions, 6 deletions
@@ -1959,11 +1959,6 @@ unibyte string. * Lisp Changes in Emacs 30.1 -+++ -** 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, and 'closure' is the common parent type of 'interpreted-function' @@ -2452,8 +2447,25 @@ were used to customizing 'native-comp-async-report-warnings-errors' to nil or 'silent', we suggest that you now leave it at its default value, and see if you get only warnings that matter. +** Function 'declare' forms + ++++ +*** New 'type' function declaration. +The declaration '(type TYPE)' specifies the type of a function. +Example: + + (defun hello (x y) + (declare (type (function (integer boolean) string))) + ...) + +specifies that the function takes two arguments, an integer and a +boolean, and returns a string. This information can be used by the +native compiler to produce better code, but specifying an incorrect type +may lead to Emacs crashing. See the Info node "(elisp) Declare Form" +for further information. + +++ -** New function declaration and property 'important-return-value'. +*** New 'important-return-value' function declaration and property. The declaration '(important-return-value t)' sets the 'important-return-value' property which indicates that the function return value should probably not be thrown away implicitly. |
