diff --git a/docs/cmu-user/cmu-user.texi b/docs/cmu-user/cmu-user.texi index 5db2657ed59a6d9eff87fd0a8f7039d1e66d416b..9c9d9b84bf3aa9e97456074b4854c924b55b8c3a 100644 --- a/docs/cmu-user/cmu-user.texi +++ b/docs/cmu-user/cmu-user.texi @@ -151,6 +151,13 @@ Alien @xref{\arg\, @kwd{\arg\}} @end macro +@c Link to CLHS issues. The link only needs to be the last part of +@c the file; we prepend the appropriate CLHS path. The text describes +@c the issue---usually the name of the issue. +@macro clhscleanup {text, link} +X3J13 cleanup ``@url{https://www.lispworks.com/documentation/HyperSpec/Issues/\link\,\text\}'' +@end macro + @macro manualdate {} December 2018 @end macro diff --git a/docs/cmu-user/compiler-hint.texi b/docs/cmu-user/compiler-hint.texi index f48fd09adf35be3bee7138ef9901f74a56b67b76..7b5ac53aaea3901168473d079eeb5aff1d21d7a5 100644 --- a/docs/cmu-user/compiler-hint.texi +++ b/docs/cmu-user/compiler-hint.texi @@ -521,8 +521,8 @@ return, then (in safe compilation policies) a ``@code{NIL Function @end itemize This is consistent with the new interpretation of function types and -the @code{ftype} declaration in the proposed X3J13 -``function-type-argument-type-semantics'' cleanup. Note also, that if +the @code{ftype} declaration in the proposed @clhscleanup{ +function-type-argument-type-semantics, iss176_w.htm}. Note also, that if you don't explicitly declare the type of a function using a global @code{ftype} declaration, then @python{} will compute a function type from the definition, providing a degree of inter-routine type diff --git a/docs/cmu-user/compiler.texi b/docs/cmu-user/compiler.texi index 999ca55a88a307ae5af05db11f696e8bafc5777d..49f72f85f3bc928d1659b312ef69a3a79b6c344b 100644 --- a/docs/cmu-user/compiler.texi +++ b/docs/cmu-user/compiler.texi @@ -59,18 +59,18 @@ Functions may be compiled using @code{compile}, @code{compile-file}, or @var{name} is @false, the compiled function object is returned. If @var{definition} is supplied, it should be a lambda expression that is to be compiled and then placed in the function cell of - @var{name}. As per the proposed X3J13 cleanup - ``compile-argument-problems'', @var{definition} may also be an + @var{name}. As per the proposed @clhscleanup{ + compile-argument-problems, iss058_w.htm}, @var{definition} may also be an interpreted function. - The return values are as per the proposed X3J13 cleanup - ``compiler-diagnostics''. The first value is the function name or - function object. The second value is @false{} if no compiler - diagnostics were issued, and @true{} otherwise. The third value is - @false{} if no compiler diagnostics other than style warnings were - issued. A non-@false{} value indicates that there were ``serious'' - compiler diagnostics issued, or that other conditions of type - @tindexed{error} or @tindexed{warning} (but not + The return values are as per the proposed + @clhscleanup{compiler-diagnostics, iss065_w.htm}. The first value is the + function name or function object. The second value is @false{} if + no compiler diagnostics were issued, and @true{} otherwise. The + third value is @false{} if no compiler diagnostics other than style + warnings were issued. A non-@false{} value indicates that there + were ``serious'' compiler diagnostics issued, or that other + conditions of type @tindexed{error} or @tindexed{warning} (but not @tindexed{style-warning}) were signaled during compilation. @end defun @@ -161,8 +161,8 @@ If non-@nil, enable recording of cross-reference and loading the fasl later will populate the cross-reference database. @end table - The return values are as per the proposed X3J13 cleanup - ``compiler-diagnostics''. The first value from @code{compile-file} + The return values are as per the proposed @clhscleanup{ + compiler-diagnostics, iss065_w.htm}. The first value from @code{compile-file} is the truename of the output file, or @false{} if the file could not be created. The interpretation of the second and third values is described above for @code{compile}. @@ -192,8 +192,8 @@ If non-@nil, enable recording of cross-reference @cpindex compilation @subentry units @cmucl{} supports the @macref{with-compilation-unit} macro added to the -language by the X3J13 ``with-compilation-unit'' compiler cleanup -issue. This provides a mechanism for eliminating spurious undefined +language by the @clhscleanup{with-compilation-unit, iss360_w.htm}. +This provides a mechanism for eliminating spurious undefined warnings when there are forward references across files, and also provides a standard way to access compiler extensions. @@ -596,12 +596,12 @@ Notes are used when there is something that seems a bit odd, but that might reasonably appear in correct programs. @end table -Note that the compiler does not fully conform to the proposed X3J13 -``compiler-diagnostics'' cleanup. Errors, warnings and notes mostly -correspond to errors, warnings and style-warnings, but many things -that the cleanup considers to be style-warnings are printed as -warnings rather than notes. Also, warnings, style-warnings and most -errors aren't really signaled using the condition system. +Note that the compiler does not fully conform to the proposed +@clhscleanup{compiler-diagnostics, iss065_w.htm}. Errors, warnings and +notes mostly correspond to errors, warnings and style-warnings, but +many things that the cleanup considers to be style-warnings are +printed as warnings rather than notes. Also, warnings, style-warnings +and most errors aren't really signaled using the condition system. @node Errors During Macroexpansion @@ -1275,7 +1275,7 @@ option to @macref{with-compilation-unit}. @cindex static functions Since @clisp{} forbids the redefinition of standard functions@footnote{See the -proposed X3J13 ``lisp-symbol-redefinition'' cleanup.}, the compiler can have +proposed @clhscleanup{lisp-symbol-redefinition, iss214_w.htm}.}, the compiler can have special knowledge of these standard functions embedded in it. This special knowledge is used in various ways (open coding, inline expansion, source transformation), but the implications to the user are basically the same: