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=8442211ef0029581b35f784489afcf210491fc41 The branch, stable-2.0 has been updated via 8442211ef0029581b35f784489afcf210491fc41 (commit) via f2742bdd68619323da2c5f9f65f10684f6522e3c (commit) via 0fce815b1b50bc80092acfea44d03e4739140478 (commit) via 8f230e3341c344afe891cc45d0370c42a7813ace (commit) via 97c520fd3ff5ae0305b6d236e0bc31f794a6cce6 (commit) via bed025bd2569b1c033f24d7d9e660e39ebf65cac (commit) via 156119b0223cf14d335ebda84701a69b2ba95757 (commit) via a85c78ea1393985fdb6e6678dea19135c553d341 (commit) from b38c19a5a5935dc5b874625767ed4951452f46c2 (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 8442211ef0029581b35f784489afcf210491fc41 Author: David Kastrup <[email protected]> Date: Sat Sep 20 05:17:54 2014 -0400 Fix SCM_SMOB_OBJECT{_,_0_,_1_,_2_,_3_}LOC. Fixes <http://bugs.gnu.org/18495>. * libguile/smob.h (SCM_SMOB_OBJECT_LOC, SCM_SMOB_OBJECT_0_LOC) (SCM_SMOB_OBJECT_1_LOC, SCM_SMOB_OBJECT_2_LOC) (SCM_SMOB_OBJECT_3_LOC): These elementary API macros have been broken by commit 56164dc47f6616b359f0ad23be208f01a77b55fa in 2009. Signed-off-by: David Kastrup <[email protected]> commit f2742bdd68619323da2c5f9f65f10684f6522e3c Author: Mark H Weaver <[email protected]> Date: Sat Sep 20 04:51:02 2014 -0400 guild disassemble: Use #:prefix instead of #:renamer. * module/scripts/disassemble.scm: Use #:prefix instead of #:renamer in #:use-module clause. commit 0fce815b1b50bc80092acfea44d03e4739140478 Author: Mark H Weaver <[email protected]> Date: Sat Sep 20 04:42:49 2014 -0400 Document #:prefix option in use-module clauses. * doc/ref/api-modules.texi (Using Guile Modules): Document #:prefix option. commit 8f230e3341c344afe891cc45d0370c42a7813ace Author: Mark H Weaver <[email protected]> Date: Sat Sep 20 04:09:14 2014 -0400 SRFI-43: vector-concatenate: Fix error message. * module/srfi/srfi-43.scm (vector-concatenate): Fix the 'who' of an error message. commit 97c520fd3ff5ae0305b6d236e0bc31f794a6cce6 Author: Mark H Weaver <[email protected]> Date: Sat Sep 20 04:05:43 2014 -0400 VM: Use register "a3" for IP_REG on m68k. Subset of a patch by Andreas Schwab <[email protected]>. Reported by Rob Browning <[email protected]>. * libguile/vm-engine.h (IP_REG)[__mc68000__]: Use register "a3". commit bed025bd2569b1c033f24d7d9e660e39ebf65cac Author: Mark H Weaver <[email protected]> Date: Sat Sep 20 03:59:51 2014 -0400 VM: Allow the C compiler to choose FP_REG on ARM. Reported by Rob Browning <[email protected]>. * libguile/vm-engine.h (IP_REG)[__arm__]: Remove explicit register choice ("r7") for FP_REG, which was reported to cause compilation failures on ARM. commit 156119b0223cf14d335ebda84701a69b2ba95757 Author: Mark H Weaver <[email protected]> Date: Sat Sep 20 03:49:46 2014 -0400 Do not assume that 64-bit integers will be 64-bit aligned. * libguile/foreign.c (raw_bytecode, objcode_cells): * libguile/gsubr.c (raw_bytecode, objcode_cells): Use SCM_ALIGNED to ensure 64-bit alignment. commit a85c78ea1393985fdb6e6678dea19135c553d341 Author: Mark H Weaver <[email protected]> Date: Fri Sep 19 21:18:09 2014 -0400 VM: ASM_MUL for ARM: Add earlyclobber constraint to the SMULL outputs. Reported by Rob Browning <[email protected]>. * libguile/vm-i-scheme.c (ASM_MUL)[ARM]: Add earlyclobber (&) constraint to the SMULL output registers. ----------------------------------------------------------------------- Summary of changes: doc/ref/api-modules.texi | 37 +++++++++++++++++++++++++------------ libguile/foreign.c | 6 +++--- libguile/gsubr.c | 7 ++++--- libguile/smob.h | 10 +++++----- libguile/vm-engine.h | 6 +++--- libguile/vm-i-scheme.c | 5 ++--- module/scripts/disassemble.scm | 5 ++--- module/srfi/srfi-43.scm | 2 +- 8 files changed, 45 insertions(+), 33 deletions(-) diff --git a/doc/ref/api-modules.texi b/doc/ref/api-modules.texi index 0f54e01..e9d7aec 100644 --- a/doc/ref/api-modules.texi +++ b/doc/ref/api-modules.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Guile Reference Manual. -@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2007, 2008, 2009, 2010, 2011, 2012, 2013 +@c Copyright (C) 1996, 1997, 2000-2004, 2007-2014 @c Free Software Foundation, Inc. @c See the file guile.texi for copying conditions. @@ -126,6 +126,16 @@ them to suit the current module's needs. For example: #:renamer (symbol-prefix-proc 'unixy:))) @end lisp +@noindent +or more simply: + +@cindex prefix +@lisp +(use-modules ((ice-9 popen) + #:select ((open-pipe . pipe-open) close-pipe) + #:prefix unixy:)) +@end lisp + Here, the interface specification is more complex than before, and the result is that a custom interface with only two bindings is created and subsequently accessed by the current module. The mapping of old to new @@ -184,21 +194,24 @@ whose public interface is found and used. @cindex binding renamer @lisp - (MODULE-NAME [#:select SELECTION] [#:renamer RENAMER]) + (MODULE-NAME [#:select SELECTION] + [#:prefix PREFIX] + [#:renamer RENAMER]) @end lisp in which case a custom interface is newly created and used. @var{module-name} is a list of symbols, as above; @var{selection} is a -list of selection-specs; and @var{renamer} is a procedure that takes a -symbol and returns its new name. A selection-spec is either a symbol or -a pair of symbols @code{(ORIG . SEEN)}, where @var{orig} is the name in -the used module and @var{seen} is the name in the using module. Note -that @var{seen} is also passed through @var{renamer}. - -The @code{#:select} and @code{#:renamer} clauses are optional. If both are -omitted, the returned interface has no bindings. If the @code{#:select} -clause is omitted, @var{renamer} operates on the used module's public -interface. +list of selection-specs; @var{prefix} is a symbol that is prepended to +imported names; and @var{renamer} is a procedure that takes a symbol and +returns its new name. A selection-spec is either a symbol or a pair of +symbols @code{(ORIG . SEEN)}, where @var{orig} is the name in the used +module and @var{seen} is the name in the using module. Note that +@var{seen} is also modified by @var{prefix} and @var{renamer}. + +The @code{#:select}, @code{#:prefix}, and @code{#:renamer} clauses are +optional. If all are omitted, the returned interface has no bindings. +If the @code{#:select} clause is omitted, @var{prefix} and @var{renamer} +operate on the used module's public interface. In addition to the above, @var{spec} can also include a @code{#:version} clause, of the form: diff --git a/libguile/foreign.c b/libguile/foreign.c index 01af900..5c30d54 100644 --- a/libguile/foreign.c +++ b/libguile/foreign.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2010, 2011, 2012, 2013 Free Software Foundation, Inc. +/* Copyright (C) 2010-2014 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 @@ -814,7 +814,7 @@ SCM_DEFINE (scm_pointer_to_procedure, "pointer->procedure", 3, 0, 0, static const struct { - scm_t_uint64 dummy; /* ensure 8-byte alignment; perhaps there's a better way */ + SCM_ALIGNED (8) scm_t_uint64 dummy; /* alignment */ const scm_t_uint8 bytes[10 * (sizeof (struct scm_objcode) + 8 + sizeof (struct scm_objcode) + 32)]; } raw_bytecode = { @@ -867,7 +867,7 @@ make_objcode_trampoline (unsigned int nargs) static const struct { - scm_t_uint64 dummy; /* alignment */ + SCM_ALIGNED (8) scm_t_uint64 dummy; /* alignment */ scm_t_cell cells[10 * 2]; /* 10 double cells */ } objcode_cells = { 0, diff --git a/libguile/gsubr.c b/libguile/gsubr.c index b6f261f..f6357e1 100644 --- a/libguile/gsubr.c +++ b/libguile/gsubr.c @@ -1,4 +1,5 @@ -/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2006, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +/* Copyright (C) 1995-2001, 2006, 2008-2011, + * 2014 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 @@ -213,7 +214,7 @@ */ static const struct { - scm_t_uint64 dummy; /* ensure 8-byte alignment; perhaps there's a better way */ + SCM_ALIGNED (8) scm_t_uint64 dummy; /* alignment */ const scm_t_uint8 bytes[121 * (sizeof (struct scm_objcode) + 16 + sizeof (struct scm_objcode) + 32)]; } raw_bytecode = { @@ -317,7 +318,7 @@ static const struct static const struct { - scm_t_uint64 dummy; /* alignment */ + SCM_ALIGNED (8) scm_t_uint64 dummy; /* alignment */ scm_t_cell cells[121 * 2]; /* 11*11 double cells */ } objcode_cells = { 0, diff --git a/libguile/smob.h b/libguile/smob.h index 60abe37..f910a24 100644 --- a/libguile/smob.h +++ b/libguile/smob.h @@ -156,14 +156,14 @@ scm_new_double_smob (scm_t_bits tc, scm_t_bits data1, #define SCM_SET_SMOB_OBJECT_1(x,obj) (SCM_SET_SMOB_OBJECT_N ((x), 1, (obj))) #define SCM_SET_SMOB_OBJECT_2(x,obj) (SCM_SET_SMOB_OBJECT_N ((x), 2, (obj))) #define SCM_SET_SMOB_OBJECT_3(x,obj) (SCM_SET_SMOB_OBJECT_N ((x), 3, (obj))) -#define SCM_SMOB_OBJECT_0_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 0))) -#define SCM_SMOB_OBJECT_1_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 1))) -#define SCM_SMOB_OBJECT_2_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 2))) -#define SCM_SMOB_OBJECT_3_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 3))) +#define SCM_SMOB_OBJECT_0_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 0)) +#define SCM_SMOB_OBJECT_1_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 1)) +#define SCM_SMOB_OBJECT_2_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 2)) +#define SCM_SMOB_OBJECT_3_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 3)) #define SCM_SMOB_OBJECT(x) (SCM_SMOB_OBJECT_1 (x)) #define SCM_SET_SMOB_OBJECT(x,obj) (SCM_SET_SMOB_OBJECT_1 ((x), (obj))) -#define SCM_SMOB_OBJECT_LOC(x) (SCM_SMOB_OBJECT_1_LOC (x))) +#define SCM_SMOB_OBJECT_LOC(x) (SCM_SMOB_OBJECT_1_LOC (x)) #define SCM_SMOB_APPLY_0(x) (scm_call_0 (x)) diff --git a/libguile/vm-engine.h b/libguile/vm-engine.h index 46d4cff..178828c 100644 --- a/libguile/vm-engine.h +++ b/libguile/vm-engine.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. +/* Copyright (C) 2001, 2009-2012, 2014 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 @@ -74,14 +74,14 @@ #define FP_REG asm("%r16") #endif #ifdef __mc68000__ -#define IP_REG asm("a5") +#define IP_REG asm("a3") #define SP_REG asm("a4") #define FP_REG #endif #ifdef __arm__ #define IP_REG asm("r9") #define SP_REG asm("r8") -#define FP_REG asm("r7") +#define FP_REG #endif #endif diff --git a/libguile/vm-i-scheme.c b/libguile/vm-i-scheme.c index 587aa95..162efab 100644 --- a/libguile/vm-i-scheme.c +++ b/libguile/vm-i-scheme.c @@ -1,5 +1,4 @@ -/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013, - * 2014 Free Software Foundation, Inc. +/* Copyright (C) 2001, 2009-2014 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 @@ -363,7 +362,7 @@ VM_DEFINE_FUNCTION (149, ge, "ge?", 2) { \ scm_t_signed_bits rlo, rhi; \ asm ("smull %0, %1, %2, %3\n" \ - : "=r" (rlo), "=r" (rhi) \ + : "=&r" (rlo), "=&r" (rhi) \ : "r" (SCM_UNPACK (x) - scm_tc2_int), \ "r" (SCM_I_INUM (y))); \ if (SCM_LIKELY (SCM_SRS (rlo, 31) == rhi)) \ diff --git a/module/scripts/disassemble.scm b/module/scripts/disassemble.scm index 7dab2dd..6e99bf3 100644 --- a/module/scripts/disassemble.scm +++ b/module/scripts/disassemble.scm @@ -1,6 +1,6 @@ ;;; Disassemble --- Disassemble .go files into something human-readable -;; Copyright 2005, 2008, 2009, 2011 Free Software Foundation, Inc. +;; Copyright 2005, 2008, 2009, 2011, 2014 Free Software Foundation, Inc. ;; ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the GNU Lesser General Public License @@ -28,8 +28,7 @@ (define-module (scripts disassemble) #:use-module (system vm objcode) - #:use-module ((language assembly disassemble) - #:renamer (symbol-prefix-proc 'asm:)) + #:use-module ((language assembly disassemble) #:prefix asm:) #:export (disassemble)) (define %summary "Disassemble a compiled .go file.") diff --git a/module/srfi/srfi-43.scm b/module/srfi/srfi-43.scm index 88a3f3f..c1612aa 100644 --- a/module/srfi/srfi-43.scm +++ b/module/srfi/srfi-43.scm @@ -304,7 +304,7 @@ from the subsequent locations in VEC ..." Append each vector in LIST-OF-VECTORS. Equivalent to: (apply vector-append LIST-OF-VECTORS)" - (assert-vectors vs 'vector-append) + (assert-vectors vs 'vector-concatenate) (%vector-concatenate vs)) (define (vector-empty? vec) hooks/post-receive -- GNU Guile
