guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] GNU Guile branch, master, updated. release_1-9-6-177-g6b


From: Ludovic Courtès
Subject: [Guile-commits] GNU Guile branch, master, updated. release_1-9-6-177-g6bf927a
Date: Tue, 19 Jan 2010 21:36:29 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=6bf927ab6ea9232b4678bb6b99ef9dfa23a62941

The branch, master has been updated
       via  6bf927ab6ea9232b4678bb6b99ef9dfa23a62941 (commit)
       via  788cf402394a4bedc1c4e6bb97b22a2e33226450 (commit)
       via  baedef98eeee0357983ce9730b102be6b2158029 (commit)
       via  d532c41b91a53a5559de42bf15a3980b8f041677 (commit)
      from  912a8702466f07ca3f4c673a895361e5d7775b7b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 6bf927ab6ea9232b4678bb6b99ef9dfa23a62941
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jan 19 22:29:13 2010 +0100

    Update `NEWS'.

commit 788cf402394a4bedc1c4e6bb97b22a2e33226450
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jan 19 22:28:38 2010 +0100

    Document `guile-tools compile'.
    
    * doc/ref/api-evaluation.texi (Compilation): Document `guile-tools
      compile'.

commit baedef98eeee0357983ce9730b102be6b2158029
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jan 19 21:41:41 2010 +0100

    Reinstate `scm_is_bool ()' as a function.
    
    * libguile/boolean.c (scm_is_bool): New function.
    
    * libguile/boolean.h (scm_is_bool): New function declaration.

commit d532c41b91a53a5559de42bf15a3980b8f041677
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jan 19 18:49:06 2010 +0100

    Make `sockets.test' more robust.
    
    * test-suite/tests/socket.test ("AF_INET6/SOCK_STREAM"): Gracefully
      handle cases where this combination is not supported.

-----------------------------------------------------------------------

Summary of changes:
 NEWS                         |   34 ++++++++++++++++++++++++++++-
 doc/ref/api-evaluation.texi  |   48 +++++++++++++++++++++++++++++++++++++++--
 libguile/boolean.c           |   14 +++++++++++-
 libguile/boolean.h           |    4 ++-
 test-suite/tests/socket.test |   12 +++++++--
 5 files changed, 103 insertions(+), 9 deletions(-)

diff --git a/NEWS b/NEWS
index d07f669..dbe5b11 100644
--- a/NEWS
+++ b/NEWS
@@ -197,6 +197,26 @@ allows Guile's copy of SSAX to override any Guile-Lib copy 
the user has
 installed. Also it should cut the number of `stat' system calls by half,
 in the common case.
 
+** Compile-time warning: -Wunused-toplevel
+
+Guile can warn about potentially unused top-level (global)
+variables. Pass the -Wunused-toplevel on the `guile-tools compile'
+command line, or add
+`#:warnings '(unused-toplevel)' to your `compile' or `compile-file'
+invocation.
+
+** New reader options: `square-brackets' and `r6rs-hex-escapes'
+
+The reader supports a new option (changeable via `read-options'),
+`square-brackets', which instructs it to interpret square brackets as
+parenthesis.  This option is on by default.
+
+If this causes problems with your code, make sure to report it to
address@hidden so we can change the default.
+
+When the new `r6rs-hex-escapes' reader option is enabled, the reader
+will recognize string escape sequences as defined in R6RS.
+
 ** And of course, the usual collection of bugfixes
  
 Interested users should see the ChangeLog for more information.
@@ -246,6 +266,15 @@ Running Guile with no arguments drops the user into the 
new REPL. While
 it is self-documenting to an extent, the new REPL has not yet been
 documented in the manual. This will be fixed before 2.0.
 
+** New reader options: `square-brackets' and `r6rs-hex-escapes'
+
+The reader supports a new option (changeable via `read-options'),
+`square-brackets', which instructs it to interpret square brackets as
+parenthesis.  This option is on by default.
+
+When the new `r6rs-hex-escapes' reader option is enabled, the reader
+will recognize string escape sequences as defined in R6RS.
+
 ** Function profiling and tracing at the REPL
     
 The `,profile FORM' REPL meta-command can now be used to statistically
@@ -937,7 +966,7 @@ There was an EBCDIC compile flag that altered some of the 
character
 processing.  It appeared that full EBCDIC support was never completed
 and was unmaintained.
 
-** Compile-time warnings: -Wunbound-variable, -Warity-mismatch. 
+** Compile-time warnings
 
 Guile can warn about potentially unbound free variables. Pass the
 -Wunbound-variable on the `guile-tools compile' command line, or add
@@ -948,6 +977,9 @@ Guile can also warn when you pass the wrong number of 
arguments to a
 procedure, with -Warity-mismatch, or `arity-mismatch' in the
 `#:warnings' as above.
 
+Other warnings include `-Wunused-variable' and `-Wunused-toplevel', to
+warn about unused local or global (top-level) variables.
+
 ** A new `memoize-symbol' evaluator trap has been added.
 
 This trap can be used for efficiently implementing a Scheme code
diff --git a/doc/ref/api-evaluation.texi b/doc/ref/api-evaluation.texi
index f1aeace..04540f7 100644
--- a/doc/ref/api-evaluation.texi
+++ b/doc/ref/api-evaluation.texi
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 
2006, 2009
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 
2006, 2009, 2010
 @c   Free Software Foundation, Inc.
 @c See the file guile.texi for copying conditions.
 
@@ -460,8 +460,7 @@ Note that well-written Scheme programs will not typically 
call the
 procedures in this section, for the same reason that it is often bad
 taste to use @code{eval}. The normal interface to the compiler is the
 command-line file compiler, which can be invoked from the shell as
address@hidden compile @var{foo.scm}}. This interface needs more
-documentation.
address@hidden compile foo.scm}.
 
 (Why are calls to @code{eval} and @code{compile} usually in bad taste?
 Because they are limited, in that they can only really make sense for
@@ -474,6 +473,49 @@ For more information on the compiler itself, see 
@ref{Compiling to the
 Virtual Machine}. For information on the virtual machine, see @ref{A
 Virtual Machine for Guile}.
 
+The command-line interface to Guile's compiler is the @command{guile-tools
+compile} command:
+
address@hidden {Command} {guile-tools compile} address@hidden @var{file}...
+Compile @var{file}, a source file, and store bytecode in the compilation cache
+or in the file specified by the @option{-o} option.  The following options are
+available:
+
address@hidden @option
+
address@hidden -L @var{dir}
address@hidden address@hidden
+Add @var{dir} to the front of the module load path.
+
address@hidden -o @var{ofile}
address@hidden address@hidden
+Write output bytecode to @var{ofile}.  By convention, bytecode file names end
+in @code{.go}.
+
address@hidden -W @var{warning}
address@hidden address@hidden
+Emit warnings of type @var{warning}; use @code{--warn=help} for a list of
+available warnings.  Currently recognized warnings include
address@hidden, @code{unused-toplevel}, @code{unbound-variable}, and
address@hidden
+
address@hidden -f @var{lang}
address@hidden address@hidden
+Use @var{lang} as the source language of @var{file}.  If this option is 
omitted,
address@hidden is assumed.
+
address@hidden -t @var{lang}
address@hidden address@hidden
+Use @var{lang} as the target language of @var{file}.  If this option is 
omitted,
address@hidden is assumed.
+
address@hidden table
+
address@hidden deffn
+
+The compiler can also be invoked directly by Scheme code using the procedures
+below:
+
 @deffn {Scheme Procedure} compile exp [env=#f] [from=(current-language)] 
[to=value] [opts=()]
 Compile the expression @var{exp} in the environment @var{env}. If
 @var{exp} is a procedure, the result will be a compiled procedure;
diff --git a/libguile/boolean.c b/libguile/boolean.c
index d7091bb..1ca0d78 100644
--- a/libguile/boolean.c
+++ b/libguile/boolean.c
@@ -1,4 +1,4 @@
-/*     Copyright (C) 1995, 1996, 2000, 2001, 2006, 2008, 2009 Free Software 
Foundation, Inc.
+/*     Copyright (C) 1995, 1996, 2000, 2001, 2006, 2008, 2009, 2010 Free 
Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -85,6 +85,18 @@ scm_to_bool (SCM x)
     scm_wrong_type_arg (NULL, 0, x);
 }
 
+/* We keep this primitive as a function in addition to the same-named macro
+   because some applications (e.g., GNU LilyPond 2.13.9) expect it to be a
+   function.  */
+#undef scm_is_bool
+int
+scm_is_bool (SCM obj)
+{
+  /* This must match the macro definition of `scm_is_bool ()'.  */
+  return scm_is_bool_and_not_nil (obj);
+}
+
+
 void
 scm_init_boolean ()
 {
diff --git a/libguile/boolean.h b/libguile/boolean.h
index 4c97a49..ba5313c 100644
--- a/libguile/boolean.h
+++ b/libguile/boolean.h
@@ -3,7 +3,7 @@
 #ifndef SCM_BOOLEAN_H
 #define SCM_BOOLEAN_H
 
-/* Copyright (C) 1995,1996,2000, 2006, 2008, 2009 Free Software Foundation, 
Inc.
+/* Copyright (C) 1995,1996,2000, 2006, 2008, 2009, 2010 Free Software 
Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -88,6 +88,8 @@
 #define scm_is_bool_and_not_nil(x)  \
   (SCM_MATCHES_BITS_IN_COMMON ((x), SCM_BOOL_F, SCM_BOOL_T))
 
+SCM_API int scm_is_bool (SCM);
+
 /* XXX Should scm_is_bool treat %nil as a boolean? */
 #define scm_is_bool(x)   (scm_is_bool_and_not_nil (x))
 
diff --git a/test-suite/tests/socket.test b/test-suite/tests/socket.test
index cc512bf..7389cee 100644
--- a/test-suite/tests/socket.test
+++ b/test-suite/tests/socket.test
@@ -1,6 +1,6 @@
 ;;;; socket.test --- test socket functions     -*- scheme -*-
 ;;;;
-;;;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software 
Foundation, Inc.
+;;;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software 
Foundation, Inc.
 ;;;;
 ;;;; This library is free software; you can redistribute it and/or
 ;;;; modify it under the terms of the GNU Lesser General Public
@@ -343,7 +343,9 @@
 
       ;; testing `bind', `listen' and `connect' on stream-oriented sockets
 
-      (let ((server-socket (socket AF_INET6 SOCK_STREAM 0))
+      (let ((server-socket
+             ;; Some platforms don't support this protocol/family combination.
+             (false-if-exception (socket AF_INET6 SOCK_STREAM 0)))
            (server-bound? #f)
            (server-listening? #f)
            (server-pid #f)
@@ -352,6 +354,8 @@
            (client-port 9998))
 
        (pass-if "bind"
+          (if (not server-socket)
+              (throw 'unresolved))
          (catch 'system-error
            (lambda ()
              (bind server-socket AF_INET6 ipv6-addr server-port)
@@ -363,8 +367,10 @@
                      (else (apply throw args)))))))
 
        (pass-if "bind/sockaddr"
-         (let* ((sock (socket AF_INET6 SOCK_STREAM 0))
+         (let* ((sock (false-if-exception (socket AF_INET6 SOCK_STREAM 0)))
                 (sockaddr (make-socket-address AF_INET6 ipv6-addr 
client-port)))
+            (if (not sock)
+                (throw 'unresolved))
            (catch 'system-error
              (lambda ()
                (bind sock sockaddr)


hooks/post-receive
-- 
GNU Guile




reply via email to

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