Control: tags -1 + patch

the attached patch fixes the build with the updated eglibc and texinfo, however
fails in the tests.  Stopping there.  I don't see the test failures with an
updated libgc 7.2.

So maybe better to update libgc and guile-2.0 to 2.0.9.
diff -Nru guile-2.0-2.0.5+1/debian/changelog guile-2.0-2.0.5+1/debian/changelog
--- guile-2.0-2.0.5+1/debian/changelog  2012-03-18 19:31:09.000000000 +0100
+++ guile-2.0-2.0.5+1/debian/changelog  2013-05-13 20:25:30.000000000 +0200
@@ -1,3 +1,12 @@
+guile-2.0 (2.0.5+1-3.1) unstable; urgency=low
+
+  * Non maintainer upload.
+  * Remove the gets check. Closes: #701397.
+  * Rebuild for the libffi transition.
+  * Fix texinfo errors exposed by texinfo 5.1.
+
+ -- Matthias Klose <d...@debian.org>  Mon, 13 May 2013 14:44:28 +0200
+
 guile-2.0 (2.0.5+1-3) unstable; urgency=low
 
   * Add 0003-Mark-mutex-with-owner-not-retained-threads-test-as-u.patch.
diff -Nru guile-2.0-2.0.5+1/debian/patches/gnulib-update.diff 
guile-2.0-2.0.5+1/debian/patches/gnulib-update.diff
--- guile-2.0-2.0.5+1/debian/patches/gnulib-update.diff 1970-01-01 
01:00:00.000000000 +0100
+++ guile-2.0-2.0.5+1/debian/patches/gnulib-update.diff 2013-05-13 
14:43:53.000000000 +0200
@@ -0,0 +1,31 @@
+diff --git a/lib/stdio.in.h b/lib/stdio.in.h
+index 7e4d593..f7e06ad 100644
+--- a/lib/stdio.in.h
++++ b/lib/stdio.in.h
+@@ -699,22 +699,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
+ # endif
+ #endif
+ 
+-#if @GNULIB_GETS@
+-# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-#   undef gets
+-#   define gets rpl_gets
+-#  endif
+-_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
+-_GL_CXXALIAS_RPL (gets, char *, (char *s));
+-# else
+-_GL_CXXALIAS_SYS (gets, char *, (char *s));
+-#  undef gets
+-# endif
+-_GL_CXXALIASWARN (gets);
+ /* It is very rare that the developer ever has full control of stdin,
+-   so any use of gets warrants an unconditional warning.  Assume it is
+-   always declared, since it is required by C89.  */
++   so any use of gets warrants an unconditional warning; besides, C11
++   removed it.  */
++#undef gets
++#if HAVE_RAW_DECL_GETS
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+ #endif
+ 
diff -Nru guile-2.0-2.0.5+1/debian/patches/series 
guile-2.0-2.0.5+1/debian/patches/series
--- guile-2.0-2.0.5+1/debian/patches/series     2012-03-18 19:29:45.000000000 
+0100
+++ guile-2.0-2.0.5+1/debian/patches/series     2013-05-13 14:58:49.000000000 
+0200
@@ -1,3 +1,5 @@
 0001-Change-guile-to-guile-X.Y-for-info-pages.patch
 0002-Mark-Unused-modules-are-removed-gc-test-as-unresolve.patch
 0003-Mark-mutex-with-owner-not-retained-threads-test-as-u.patch
+gnulib-update.diff
+texinfo-docs.diff
diff -Nru guile-2.0-2.0.5+1/debian/patches/texinfo-docs.diff 
guile-2.0-2.0.5+1/debian/patches/texinfo-docs.diff
--- guile-2.0-2.0.5+1/debian/patches/texinfo-docs.diff  1970-01-01 
01:00:00.000000000 +0100
+++ guile-2.0-2.0.5+1/debian/patches/texinfo-docs.diff  2013-05-13 
15:01:47.000000000 +0200
@@ -0,0 +1,332 @@
+Index: b/doc/ref/api-control.texi
+===================================================================
+--- a/doc/ref/api-control.texi 2012-01-30 21:36:48.000000000 +0000
++++ b/doc/ref/api-control.texi 2013-05-13 12:59:05.648041397 +0000
+@@ -1,7 +1,7 @@
+ @c -*-texinfo-*-
+ @c This is part of the GNU Guile Reference Manual.
+-@c Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2009, 2010, 2011, 
2012
+-@c   Free Software Foundation, Inc.
++@c Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2009, 2010,
++@c   2011, 2012, 2013 Free Software Foundation, Inc.
+ @c See the file guile.texi for copying conditions.
+ 
+ @node Control Mechanisms
+@@ -44,7 +44,7 @@
+ output port, then display a newline.  We use @code{begin} to form a
+ compound expression out of this sequence of sub-expressions.
+ 
+-@deffn syntax begin expr1 expr2 @dots{}
++@deffn syntax begin expr @dots{}
+ The expression(s) are evaluated in left-to-right order and the value of
+ the last expression is returned as the value of the
+ @code{begin}-expression.  This expression type is used when the
+@@ -200,7 +200,7 @@
+ @code{cond} ignores its boolean state; instead, @code{cond} evaluates
+ @var{guard} and applies the resulting procedure to the value(s) of
+ @var{test}, as if @var{guard} were the @var{consumer} argument of
+-@code{call-with-values}.  Iff the result of that procedure call is a
++@code{call-with-values}.  If the result of that procedure call is a
+ true value, it evaluates @var{expression} and applies the resulting
+ procedure to the value(s) of @var{test}, in the same manner as the
+ @var{guard} was called.
+@@ -212,18 +212,30 @@
+ @end deffn
+ 
+ @deffn syntax case key clause1 clause2 @dots{}
+-@var{key} may be any expression, the @var{clause}s must have the form
++@var{key} may be any expression, and the @var{clause}s must have the form
+ 
+ @lisp
+ ((@var{datum1} @dots{}) @var{expr1} @var{expr2} @dots{})
+ @end lisp
+ 
++or
++
++@lisp
++((@var{datum1} @dots{}) => @var{expression})
++@end lisp
++
+ and the last @var{clause} may have the form
+ 
+ @lisp
+ (else @var{expr1} @var{expr2} @dots{})
+ @end lisp
+ 
++or
++
++@lisp
++(else => @var{expression})
++@end lisp
++
+ All @var{datum}s must be distinct.  First, @var{key} is evaluated.  The
+ result of this evaluation is compared against all @var{datum} values using
+ @code{eqv?}.  When this comparison succeeds, the expression(s) following
+@@ -234,6 +246,11 @@
+ @code{else}-clause, the expressions following the @code{else} are
+ evaluated.  If there is no such clause, the result of the expression is
+ unspecified.
++
++For the @code{=>} clause types, @var{expression} is evaluated and the
++resulting procedure is applied to the value of @var{key}.  The result of
++this procedure application is then the result of the
++@code{case}-expression.
+ @end deffn
+ 
+ 
+@@ -277,7 +294,7 @@
+ R5RS defines a construct for programming loops, calling @code{do}.  In
+ addition, Guile has an explicit looping syntax called @code{while}.
+ 
+-@deffn syntax do ((variable init [step]) @dots{}) (test [expr @dots{}]) body 
@dots{}
++@deffn syntax do ((variable init [step]) @dots{}) (test expr @dots{}) body 
@dots{}
+ Bind @var{variable}s and evaluate @var{body} until @var{test} is true.
+ The return value is the last @var{expr} after @var{test}, if given.  A
+ simple example will illustrate the basic form,
+@@ -348,7 +365,7 @@
+ Within @code{while}, two extra bindings are provided, they can be used
+ from both @var{cond} and @var{body}.
+ 
+-@deffn {Scheme Procedure} break break-arg...
++@deffn {Scheme Procedure} break break-arg @dots{}
+ Break out of the @code{while} form.
+ @end deffn
+ 
+@@ -477,17 +494,20 @@
+ @end deffn
+ 
+ @deffn {Scheme Procedure} make-prompt-tag [stem]
+-Make a new prompt tag.  Currently prompt tags are generated symbols.
+-This may change in some future Guile version.
++Make a new prompt tag.  A prompt tag is simply a unique object.
++Currently, a prompt tag is a fresh pair.  This may change in some future
++Guile version.
+ @end deffn
+ 
+ @deffn {Scheme Procedure} default-prompt-tag
+ Return the default prompt tag.  Having a distinguished default prompt
+ tag allows some useful prompt and abort idioms, discussed in the next
+-section.
++section.  Note that @code{default-prompt-tag} is actually a parameter,
++and so may be dynamically rebound using @code{parameterize}.
++@xref{Parameters}.
+ @end deffn
+ 
+-@deffn {Scheme Procedure} abort-to-prompt tag val ...
++@deffn {Scheme Procedure} abort-to-prompt tag val1 val2 @dots{}
+ Unwind the dynamic and control context to the nearest prompt named @var{tag},
+ also passing the given values.
+ @end deffn
+@@ -557,9 +577,58 @@
+ 
+ Before moving on, we should mention that if the handler of a prompt is a
+ @code{lambda} expression, and the first argument isn't referenced, an abort to
+-that prompt will not cause a continuation to be reified. This can be an
++that prompt will not cause a continuation to be reified.  This can be an
+ important efficiency consideration to keep in mind.
+ 
++@cindex continuation, escape
++One example where this optimization matters is @dfn{escape
++continuations}.  Escape continuations are delimited continuations whose
++only use is to make a non-local exit---i.e., to escape from the current
++continuation.  Such continuations are invoked only once, and for this
++reason they are sometimes called @dfn{one-shot continuations}.  A common
++use of escape continuations is when throwing an exception
++(@pxref{Exceptions}).
++
++The constructs below are syntactic sugar atop prompts to simplify the
++use of escape continuations.
++
++@deffn {Scheme Procedure} call-with-escape-continuation proc
++@deffnx {Scheme Procedure} call/ec proc
++Call @var{proc} with an escape continuation.
++
++In the example below, the @var{return} continuation is used to escape
++the continuation of the call to @code{fold}.
++
++@lisp
++(use-modules (ice-9 control)
++             (srfi srfi-1))
++
++(define (prefix x lst)
++  ;; Return all the elements before the first occurrence
++  ;; of X in LST.
++  (call/ec
++    (lambda (return)
++      (fold (lambda (element prefix)
++              (if (equal? element x)
++                  (return (reverse prefix))  ; escape `fold'
++                  (cons element prefix)))
++            '()
++            lst))))
++
++(prefix 'a '(0 1 2 a 3 4 5))
++@result{} (0 1 2)
++@end lisp
++@end deffn
++
++@deffn {Scheme Syntax} let-escape-continuation k body @dots{}
++@deffnx {Scheme Syntax} let/ec k body @dots{}
++Bind @var{k} within @var{body} to an escape continuation.
++
++This is equivalent to
++@code{(call/ec (lambda (@var{k}) @var{body} @dots{}))}.
++@end deffn
++
++
+ @node Shift and Reset
+ @subsubsection Shift, Reset, and All That
+ 
+@@ -599,8 +668,9 @@
+ Likewise there is an abbreviation for @code{abort-to-prompt}, which
+ assumes the default prompt tag:
+ 
+-@deffn {Scheme Procedure} abort val...
+-Abort to the default prompt tag, passing @var{val...} to the handler.
++@deffn {Scheme Procedure} abort val1 val2 @dots{}
++Abort to the default prompt tag, passing @var{val1} @var{val2} @dots{}
++to the handler.
+ @end deffn
+ 
+ As mentioned before, @code{(ice-9 control)} also provides other
+@@ -627,19 +697,22 @@
+ operator is @dfn{+F+}.  @code{shift} and @code{reset} are such
+ operators.
+ 
+-@deffn {Scheme Syntax} reset body...
+-Establish a prompt, and evaluate @var{body...} within that prompt.
++@deffn {Scheme Syntax} reset body1 body2 @dots{}
++Establish a prompt, and evaluate @var{body1} @var{body2} @dots{} within
++that prompt.
+ 
+ The prompt handler is designed to work with @code{shift}, described
+ below.
+ @end deffn
+ 
+-@deffn {Scheme Syntax} shift cont body...
+-Abort to the nearest @code{reset}, and evaluate @var{body...} in a
+-context in which the captured continuation is bound to @var{cont}.
+-
+-As mentioned above, both the @var{body...} expression and invocations of
+-@var{cont} implicitly establish a prompt.
++@deffn {Scheme Syntax} shift cont body1 body2 @dots{}
++Abort to the nearest @code{reset}, and evaluate @var{body1} @var{body2}
++@dots{} in a context in which the captured continuation is bound to
++@var{cont}.
++
++As mentioned above, taken together, the @var{body1} @var{body2} @dots{}
++expressions and the invocations of @var{cont} implicitly establish a
++prompt.
+ @end deffn
+ 
+ Interested readers are invited to explore Oleg Kiselyov's wonderful web
+@@ -803,7 +876,7 @@
+ parameters.
+ 
+ @rnindex values
+-@deffn {Scheme Procedure} values arg1 @dots{} argN
++@deffn {Scheme Procedure} values arg @dots{}
+ @deffnx {C Function} scm_values (args)
+ Delivers all of its arguments to its continuation.  Except for
+ continuations created by the @code{call-with-values} procedure,
+@@ -817,12 +890,27 @@
+ @var{args}, so @var{args} should not be modified subsequently.
+ @end deffn
+ 
+-@deffn {C Function} scm_c_value_ref (values, idx)
++@deftypefn {C Function} SCM scm_c_values (SCM *base, size_t n)
++@code{scm_c_values} is an alternative to @code{scm_values}.  It creates
++a new values object, and copies into it the @var{n} values starting from
++@var{base}.
++
++Currently this creates a list and passes it to @code{scm_values}, but we
++expect that in the future we will be able to use more a efficient
++representation.
++@end deftypefn
++
++@deftypefn {C Function} size_t scm_c_nvalues (SCM obj)
++If @var{obj} is a multiple-values object, returns the number of values
++it contains.  Otherwise returns 1.
++@end deftypefn
++
++@deftypefn {C Function} SCM scm_c_value_ref (SCM obj, size_t idx)
+ Returns the value at the position specified by @var{idx} in
+-@var{values}.  Note that @var{values} will ordinarily be a
++@var{obj}.  Note that @var{obj} will ordinarily be a
+ multiple-values object, but it need not be.  Any other object
+ represents a single value (itself), and is handled appropriately.
+-@end deffn
++@end deftypefn
+ 
+ @rnindex call-with-values
+ @deffn {Scheme Procedure} call-with-values producer consumer
+@@ -948,6 +1036,11 @@
+ This manual prefers to speak of throwing and catching exceptions, since
+ this terminology matches the corresponding Guile primitives.
+ 
++The exception mechanism described in this section has connections with
++@dfn{delimited continuations} (@pxref{Prompts}).  In particular,
++throwing an exception is akin to invoking an @dfn{escape continuation}
++(@pxref{Prompt Primitives, @code{call/ec}}).
++
+ 
+ @node Catch
+ @subsubsection Catching Exceptions
+@@ -1220,10 +1313,10 @@
+ of exception should specify the additional arguments that are expected
+ for that kind of exception.
+ 
+-@deffn {Scheme Procedure} throw key . args
++@deffn {Scheme Procedure} throw key arg @dots{}
+ @deffnx {C Function} scm_throw (key, args)
+-Invoke the catch form matching @var{key}, passing @var{args} to the
+-@var{handler}.  
++Invoke the catch form matching @var{key}, passing @var{arg} @dots{} to
++the @var{handler}.
+ 
+ @var{key} is a symbol.  It will match catches of the same symbol or of
+ @code{#t}.
+@@ -1312,9 +1405,9 @@
+ conditions that are implemented on top of the exception primitives just
+ described.
+ 
+-@deffn {Scheme Procedure} error msg args @dots{}
++@deffn {Scheme Procedure} error msg arg @dots{}
+ Raise an error with key @code{misc-error} and a message constructed by
+-displaying @var{msg} and writing @var{args}.
++displaying @var{msg} and writing @var{arg} @enddots{}.
+ @end deffn
+ 
+ @deffn {Scheme Procedure} scm-error key subr message args data
+@@ -1696,8 +1789,8 @@
+ @deftypefnx {C Function} void scm_wrong_type_arg (char *@var{subr}, int 
@var{argnum}, SCM @var{bad_value})
+ @deftypefnx {C Function} void scm_wrong_type_arg_msg (char *@var{subr}, int 
@var{argnum}, SCM @var{bad_value}, const char *@var{expected})
+ @deftypefnx {C Function} void scm_memory_error (char *@var{subr})
+-Throw an error with the various keys described above.
+ @deftypefnx {C Function} void scm_misc_error (const char *@var{subr}, const 
char *@var{message}, SCM @var{args})
++Throw an error with the various keys described above.
+ 
+ In @code{scm_wrong_num_args}, @var{proc} should be a Scheme symbol
+ which is the name of the procedure incorrectly invoked.  The other
+Index: b/doc/r5rs/r5rs.texi
+===================================================================
+--- a/doc/r5rs/r5rs.texi       2012-01-30 21:36:48.000000000 +0000
++++ b/doc/r5rs/r5rs.texi       2013-05-13 13:01:44.717134944 +0000
+@@ -114,6 +114,8 @@
+ @c  [For the macros in R5RS -RK]
+ 
+ 
++@end titlepage
++
+ 
+ 
+ @unnumbered Summary
+@@ -177,8 +179,6 @@
+ 
+ @page
+ 
+-@end titlepage
+-
+ @c INFO first page
+ @ifnottex
+ 

Reply via email to