diff --git a/doc/mpir.info b/doc/mpir.info
index 7e5da564..bf8e0a31 100644
--- a/doc/mpir.info
+++ b/doc/mpir.info
@@ -24,7 +24,7 @@ END-INFO-DIR-ENTRY
 
 Indirect:
 mpir.info-1: 990
-mpir.info-2: 300292
+mpir.info-2: 300378
 
 Tag Table:
 (Indirect)
@@ -72,103 +72,103 @@ Node: Integer Random Numbers120019
 Node: Integer Import and Export121795
 Node: Miscellaneous Integer Functions125800
 Node: Integer Special Functions127661
-Node: Rational Number Functions130746
-Node: Initializing Rationals131941
-Node: Rational Conversions134187
-Node: Rational Arithmetic135919
-Node: Comparing Rationals137256
-Node: Applying Integer Functions138624
-Node: I/O of Rationals140108
-Node: Floating-point Functions141971
-Node: Initializing Floats144859
-Node: Assigning Floats148557
-Node: Simultaneous Float Init & Assign151125
-Node: Converting Floats152655
-Node: Float Arithmetic155616
-Node: Float Comparison157662
-Node: I/O of Floats159014
-Node: Miscellaneous Float Functions161340
-Node: Low-level Functions163241
-Node: Random Number Functions183680
-Node: Random State Initialization184750
-Node: Random State Seeding186813
-Node: Random State Miscellaneous188203
-Node: Formatted Output188845
-Node: Formatted Output Strings189091
-Node: Formatted Output Functions194331
-Node: C++ Formatted Output198408
-Node: Formatted Input201095
-Node: Formatted Input Strings201332
-Node: Formatted Input Functions205994
-Node: C++ Formatted Input208967
-Node: C++ Class Interface210875
-Node: C++ Interface General211880
-Node: C++ Interface Integers214963
-Node: C++ Interface Rationals218397
-Node: C++ Interface Floats222076
-Node: C++ Interface Random Numbers227371
-Node: C++ Interface Limitations229501
-Node: BSD Compatible Functions232347
-Node: Custom Allocation232565
-Node: Language Bindings236757
-Node: Algorithms240773
-Node: Multiplication Algorithms241478
-Node: Basecase Multiplication242413
-Node: Karatsuba Multiplication244325
-Node: Toom 3-Way Multiplication247955
-Node: FFT Multiplication254364
-Node: Other Multiplication259702
-Node: Division Algorithms262188
-Node: Single Limb Division262536
-Node: Basecase Division265456
-Node: Divide and Conquer Division266660
-Node: Exact Division268898
-Node: Exact Remainder272066
-Node: Small Quotient Division274359
-Node: Greatest Common Divisor Algorithms275958
-Node: Binary GCD276232
-Node: Accelerated GCD278911
-Node: Extended GCD280710
-Node: Jacobi Symbol282381
-Node: Powering Algorithms283298
-Node: Normal Powering Algorithm283562
-Node: Modular Powering Algorithm284091
-Node: Root Extraction Algorithms285155
-Node: Square Root Algorithm285471
-Node: Nth Root Algorithm287614
-Node: Perfect Square Algorithm288400
-Node: Perfect Power Algorithm290487
-Node: Radix Conversion Algorithms291109
-Node: Binary to Radix291486
-Node: Radix to Binary295417
-Node: Other Algorithms297349
-Node: Prime Testing Algorithm297703
-Node: Factorial Algorithm298888
-Node: Binomial Coefficients Algorithm300292
-Node: Fibonacci Numbers Algorithm301187
-Node: Lucas Numbers Algorithm303663
-Node: Random Number Algorithms304385
-Node: Assembler Coding306509
-Node: Assembler Code Organisation307486
-Node: Assembler Basics308459
-Node: Assembler Carry Propagation309618
-Node: Assembler Cache Handling311456
-Node: Assembler Functional Units313624
-Node: Assembler Floating Point315245
-Node: Assembler SIMD Instructions319028
-Node: Assembler Software Pipelining320017
-Node: Assembler Loop Unrolling321085
-Node: Assembler Writing Guide323305
-Node: Internals326075
-Node: Integer Internals326589
-Node: Rational Internals328846
-Node: Float Internals330086
-Node: Raw Output Internals337414
-Node: C++ Interface Internals338609
-Node: Contributors341908
-Node: References346842
-Node: GNU Free Documentation License351898
-Node: Concept Index374345
-Node: Function Index420343
+Node: Rational Number Functions130832
+Node: Initializing Rationals132027
+Node: Rational Conversions134273
+Node: Rational Arithmetic136005
+Node: Comparing Rationals137342
+Node: Applying Integer Functions138710
+Node: I/O of Rationals140194
+Node: Floating-point Functions142057
+Node: Initializing Floats144945
+Node: Assigning Floats148643
+Node: Simultaneous Float Init & Assign151211
+Node: Converting Floats152741
+Node: Float Arithmetic155702
+Node: Float Comparison157748
+Node: I/O of Floats159100
+Node: Miscellaneous Float Functions161426
+Node: Low-level Functions163327
+Node: Random Number Functions183766
+Node: Random State Initialization184836
+Node: Random State Seeding186899
+Node: Random State Miscellaneous188289
+Node: Formatted Output188931
+Node: Formatted Output Strings189177
+Node: Formatted Output Functions194417
+Node: C++ Formatted Output198494
+Node: Formatted Input201181
+Node: Formatted Input Strings201418
+Node: Formatted Input Functions206080
+Node: C++ Formatted Input209053
+Node: C++ Class Interface210961
+Node: C++ Interface General211966
+Node: C++ Interface Integers215049
+Node: C++ Interface Rationals218483
+Node: C++ Interface Floats222162
+Node: C++ Interface Random Numbers227457
+Node: C++ Interface Limitations229587
+Node: BSD Compatible Functions232433
+Node: Custom Allocation232651
+Node: Language Bindings236843
+Node: Algorithms240859
+Node: Multiplication Algorithms241564
+Node: Basecase Multiplication242499
+Node: Karatsuba Multiplication244411
+Node: Toom 3-Way Multiplication248041
+Node: FFT Multiplication254450
+Node: Other Multiplication259788
+Node: Division Algorithms262274
+Node: Single Limb Division262622
+Node: Basecase Division265542
+Node: Divide and Conquer Division266746
+Node: Exact Division268984
+Node: Exact Remainder272152
+Node: Small Quotient Division274445
+Node: Greatest Common Divisor Algorithms276044
+Node: Binary GCD276318
+Node: Accelerated GCD278997
+Node: Extended GCD280796
+Node: Jacobi Symbol282467
+Node: Powering Algorithms283384
+Node: Normal Powering Algorithm283648
+Node: Modular Powering Algorithm284177
+Node: Root Extraction Algorithms285241
+Node: Square Root Algorithm285557
+Node: Nth Root Algorithm287700
+Node: Perfect Square Algorithm288486
+Node: Perfect Power Algorithm290573
+Node: Radix Conversion Algorithms291195
+Node: Binary to Radix291572
+Node: Radix to Binary295503
+Node: Other Algorithms297435
+Node: Prime Testing Algorithm297789
+Node: Factorial Algorithm298974
+Node: Binomial Coefficients Algorithm300378
+Node: Fibonacci Numbers Algorithm301273
+Node: Lucas Numbers Algorithm303749
+Node: Random Number Algorithms304471
+Node: Assembler Coding306595
+Node: Assembler Code Organisation307572
+Node: Assembler Basics308545
+Node: Assembler Carry Propagation309704
+Node: Assembler Cache Handling311542
+Node: Assembler Functional Units313710
+Node: Assembler Floating Point315331
+Node: Assembler SIMD Instructions319114
+Node: Assembler Software Pipelining320103
+Node: Assembler Loop Unrolling321171
+Node: Assembler Writing Guide323391
+Node: Internals326161
+Node: Integer Internals326675
+Node: Rational Internals328932
+Node: Float Internals330172
+Node: Raw Output Internals337500
+Node: C++ Interface Internals338695
+Node: Contributors341994
+Node: References346928
+Node: GNU Free Documentation License351984
+Node: Concept Index374431
+Node: Function Index420429
 
 End Tag Table
diff --git a/doc/mpir.info-1 b/doc/mpir.info-1
index 4cfc421b..8584e32e 100644
--- a/doc/mpir.info-1
+++ b/doc/mpir.info-1
@@ -3083,6 +3083,9 @@ applications will not need them.
      calculate in a regular `mpz_init' variable and copy the result to
      an array variable with `mpz_set'.
 
+     *This function is obsolete.  It will disappear from future MPIR
+     releases.*
+
  -- Function: void * _mpz_realloc (mpz_t INTEGER, mp_size_t NEW_ALLOC)
      Change the space for INTEGER to NEW_ALLOC limbs.  The value in
      INTEGER is preserved if it fits, or is set to 0 if not.  The return
diff --git a/doc/mpir.info-2 b/doc/mpir.info-2
index a012180d..d47fcd57 100644
--- a/doc/mpir.info-2
+++ b/doc/mpir.info-2
@@ -2336,7 +2336,7 @@ Function and Type Index
 * __MPIR_VERSION_PATCHLEVEL:             Useful Macros and Constants.
                                                               (line  21)
 * _mpz_realloc:                          Integer Special Functions.
-                                                              (line  51)
+                                                              (line  54)
 * abs <1>:                               C++ Interface Floats.
                                                               (line  70)
 * abs <2>:                               C++ Interface Rationals.
@@ -2792,7 +2792,7 @@ Function and Type Index
 * mpz_get_str:                           Converting Integers. (line  46)
 * mpz_get_ui:                            Converting Integers. (line  11)
 * mpz_getlimbn:                          Integer Special Functions.
-                                                              (line  60)
+                                                              (line  63)
 * mpz_hamdist:                           Integer Logic and Bit Fiddling.
                                                               (line  29)
 * mpz_import:                            Integer Import and Export.
@@ -2887,7 +2887,7 @@ Function and Type Index
 * mpz_si_kronecker:                      Number Theoretic Functions.
                                                               (line  93)
 * mpz_size:                              Integer Special Functions.
-                                                              (line  68)
+                                                              (line  71)
 * mpz_sizeinbase:                        Miscellaneous Integer Functions.
                                                               (line  23)
 * mpz_sqrt:                              Integer Roots.       (line  17)
diff --git a/doc/mpir.texi b/doc/mpir.texi
index fcd72dee..dc4f1c54 100644
--- a/doc/mpir.texi
+++ b/doc/mpir.texi
@@ -4000,6 +4000,8 @@ array and a normal variable.
 For other functions, or if in doubt, the suggestion is to calculate in a
 regular @code{mpz_init} variable and copy the result to an array variable with
 @code{mpz_set}.
+
+@strong{This function is obsolete.  It will disappear from future MPIR releases.}
 @end deftypefun
 
 @deftypefun {void *} _mpz_realloc (mpz_t @var{integer}, mp_size_t @var{new_alloc})
diff --git a/mpz/array_init.c b/mpz/array_init.c
index 84baebdc..6ef814fb 100644
--- a/mpz/array_init.c
+++ b/mpz/array_init.c
@@ -23,6 +23,7 @@ MA 02110-1301, USA. */
 #include "mpir.h"
 #include "gmp-impl.h"
 
+// This function is obsolete 19/08/09
 void
 mpz_array_init (mpz_ptr arr, mp_size_t arr_size, mp_size_t nbits)
 {
