guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] branch master updated: Update NEWS


From: Andy Wingo
Subject: [Guile-commits] branch master updated: Update NEWS
Date: Thu, 07 Jan 2021 06:12:23 -0500

This is an automated email from the git hooks/post-receive script.

wingo pushed a commit to branch master
in repository guile.

The following commit(s) were added to refs/heads/master by this push:
     new ca02592  Update NEWS
ca02592 is described below

commit ca025920e52d40a678bf95be3480a5e6d46149e5
Author: Andy Wingo <wingo@pobox.com>
AuthorDate: Thu Jan 7 12:12:00 2021 +0100

    Update NEWS
    
    * NEWS: Update.
---
 NEWS | 41 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 40 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index 6944492..6f4f6da 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,5 @@
 Guile NEWS --- history of user-visible changes.
-Copyright (C) 1996-2020 Free Software Foundation, Inc.
+Copyright (C) 1996-2021 Free Software Foundation, Inc.
 See the end for copying conditions.
 
 Please send Guile bug reports to bug-guile@gnu.org.
@@ -16,6 +16,45 @@ O(1) dispatch time, regardless of the length of the chain.  
This
 optimization is also unlocked in many cases for `match' expressions with
 many similar clauses whose first differentiator are constants.
 
+** New (ice-9 copy-tree) module
+
+This module includes the `copy-tree' procedure that was previously
+implemented in C and present in the default `(guile)' module.  See
+"Copying" in the manual.
+
+** New warning: use-before-definition
+
+This analysis, enabled at `-W1', issues warnings for programs that use
+top-level variables before they are defined.
+
+** New warning: non-idempotent-definition
+
+This analysis, enabled at `-W1', issues warnings for programs that whose
+use of a variable is ambiguous.  For example, in the program:
+
+  (define saved-add +)
+  (define + error)
+
+The intention would seem to be to "save" the value of the base `+'
+procedure, then override it locally.  However if this program is ever
+loaded twice, then the second time it is loaded, `+' will be taken from
+the local binding instead of the import.  Users that want this kind of
+behavior should either use lexical bindings instead of top-level
+bindings, or otherwise rename important clobbered bindings via modules.
+
+* New deprecations
+
+** `copy-tree' in the default environment, and `scm_copy_tree' from C
+
+Import the `(ice-9 copy-tree)' module instead.
+
+** `unbound-variable-analysis`, `macro-use-before-definition-analysis`
+
+These bindings from `(language tree-il analyze)' are replaced by the
+use-before-definition analysis, which powers a number of warnings.  Use
+`make-use-before-definition-analysis', but note that these interfaces
+are quite intimate parts of the compiler!
+
 * Incompatible changes
 
 ** `copy' read-option removed



reply via email to

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