diff --git a/Documentation/Base.gsdoc b/Documentation/Base.gsdoc index b241bea3d..c71d6820f 100644 --- a/Documentation/Base.gsdoc +++ b/Documentation/Base.gsdoc @@ -309,8 +309,9 @@ notice and this notice are preserved. memory on process exit.

- Use of this facility is a work in progress ... many classes - do not yet clean up after themselves when this is enabled. + Many classes do not yet clean up after themselves when this + is enabled. Cleanup is currently problematic and may never + work nicely, so this feature may be removed.

GNUSTEP_STACK_TRACE @@ -500,7 +501,9 @@ notice and this notice are preserved. This may be used in conjunction with NSZombieEnabled to specify whether the objects should really be deallocated. If you set this to YES, the zombie logging will only work until the - deallocated memory is re-used. + deallocated memory is re-used.
+ This feature only works with the classic runtime as the modern + runtime can't support both zombies and deallocation.

NSZombieEnabled @@ -516,8 +519,9 @@ notice and this notice are preserved. examine the process memory when you are running under a debugger.
As this overrides actual object deallocation, all memory - allocated for objects will be leaked unless the - NSDeallocateZombies environment variable is also set.
+ allocated for objects will be leaked (unless using the + classic runtime with the NSDeallocateZombies environment + variable is also set).
You can use the CRASH_ON_ZOMBIE environment variable to force an abort after the message is logged.

diff --git a/Documentation/coding-standards.texi b/Documentation/coding-standards.texi index a020e1f04..ef8af5455 100644 --- a/Documentation/coding-standards.texi +++ b/Documentation/coding-standards.texi @@ -158,10 +158,11 @@ where those spaces might be omitted ((eg. when brackets are doubled)). This applies to square brackets too. Where round brackets are used to enclose function or macro paramters, there -is no space between the function romacro name and the opening bracket, and +is no space between the function or macro name and the opening bracket, and where round brackets are used for type-casts or at the end of a statement, there is normally no space between the closing bracket and the following -expression or semicolon- +expression or semicolon (however there is a space between the round bracket +and the start of a method name in a method declaration or definition) - @example a = (int)b; - (void) methodWithArg1: (int)arg1 andArg2: (float)arg2; @@ -300,7 +301,14 @@ using ObjectiveC-2.0, though compatibility with old compilers should be maintained wherever possible, and preprocessor macros must be used to at least conditionally build new code without breaking old code. -One ObjectiveC-2.0 feature (the dot ('.') operator) is forbidden though. +In particular, blocks are completely non-portable and must never be used +internally (though methods with block arguments are provided for +compatibilty with the Apple APIs). As well as being similar to the 'goto' +operation in making code hard to maintain, bllocks have a number of issues +which mean they are never likely to become standard across compilers +(eg https://thephd.dev/lambdas-nested-functions-block-expressions-oh-my). + +Another ObjectiveC-2.0 feature (the dot ('.') operator) is also forbidden. One problem is that, while apparently simple, the actual operation of this feature in unusual cases is actually undefined and varies between compiler versions. diff --git a/Documentation/news.texi b/Documentation/news.texi index cbf1ca7fc..d07501655 100644 --- a/Documentation/news.texi +++ b/Documentation/news.texi @@ -13,6 +13,14 @@ See the @url{ReleaseNotes.html} document for more information. @section Noteworthy changes in version @samp{1.30.0} +@itemize @bullet + +@end itemize + +@ifclear ANNOUNCE-ONLY + +@section Noteworthy changes in version @samp{1.30.0} + @itemize @bullet @item Library version changed from 1.29 to 1.30 @@ -62,8 +70,6 @@ See the @url{ReleaseNotes.html} document for more information. @end itemize -@ifclear ANNOUNCE-ONLY - @section Noteworthy changes in version @samp{1.29.0} @itemize @bullet