summary refs log tree commit diff
path: root/manual
diff options
context:
space:
mode:
Diffstat (limited to 'manual')
-rw-r--r--manual/arith.texi20
-rw-r--r--manual/conf.texi16
-rw-r--r--manual/creature.texi2
-rw-r--r--manual/filesys.texi30
-rw-r--r--manual/intro.texi2
-rw-r--r--manual/llio.texi8
-rw-r--r--manual/maint.texi51
-rw-r--r--manual/math.texi34
-rw-r--r--manual/message.texi70
-rw-r--r--manual/pattern.texi4
-rw-r--r--manual/search.texi18
-rw-r--r--manual/signal.texi2
-rw-r--r--manual/socket.texi2
-rw-r--r--manual/startup.texi2
-rw-r--r--manual/stdio.texi24
-rw-r--r--manual/string.texi26
-rw-r--r--manual/time.texi4
-rw-r--r--manual/users.texi2
18 files changed, 163 insertions, 154 deletions
diff --git a/manual/arith.texi b/manual/arith.texi
index 2e418838db..431b4dbfec 100644
--- a/manual/arith.texi
+++ b/manual/arith.texi
@@ -12,7 +12,7 @@ These functions are declared in the header files @file{math.h} and
 * Not a Number::                Making NaNs and testing for NaNs.
 * Imaginary Unit::              Constructing complex Numbers.
 * Predicates on Floats::        Testing for infinity and for NaNs.
-* Floating-Point Classes::      Classifiy floating-point numbers.
+* Floating-Point Classes::      Classify floating-point numbers.
 * Operations on Complex::       Projections, Conjugates, and Decomposing.
 * Absolute Value::              Absolute value functions.
 * Normalization Functions::     Hacks for radix-2 representations.
@@ -41,13 +41,13 @@ these situations.  There is a special value for infinity.
 @comment math.h
 @comment ISO
 @deftypevr Macro float_t INFINITY
-A expression representing the inifite value.  @code{INFINITY} values are
+A expression representing the infinite value.  @code{INFINITY} values are
 produce by mathematical operations like @code{1.0 / 0.0}.  It is
 possible to continue the computations with this value since the basic
 operations as well as the mathematical library functions are prepared to
 handle values like this.
 
-Beside @code{INFINITY} also the value @code{-INIFITY} is representable
+Beside @code{INFINITY} also the value @code{-INFINITY} is representable
 and it is handled differently if needed.  It is possible to test a
 variables for infinite value using a simple comparison but the
 recommended way is to use the the @code{isinf} function.
@@ -103,7 +103,7 @@ such as by defining @code{_GNU_SOURCE}, and then you must include
 @pindex complex.h
 To construct complex numbers it is necessary have a way to express the
 imaginary part of the numbers.  In mathematics one uses the symbol ``i''
-to mark a number as imaginary.  For convenienve the @file{complex.h}
+to mark a number as imaginary.  For convenience the @file{complex.h}
 header defines two macros which allow to use a similar easy notation.
 
 @deftypevr Macro float_t _Imaginary_I
@@ -284,7 +284,7 @@ situation the function be absolutely necessary one can use
 @end smallexample
 
 @noindent
-to avoid the macro expansion.  Using the macro has two big adavantages:
+to avoid the macro expansion.  Using the macro has two big advantages:
 it is more portable and one does not have to choose the right function
 among @code{isnan}, @code{isnanf}, and @code{isnanl}.
 @end deftypefn
@@ -297,7 +297,7 @@ among @code{isnan}, @code{isnanf}, and @code{isnanl}.
 @cindex decompose complex numbers
 
 This section lists functions performing some of the simple mathematical
-operations on complex numbers.  Using any of the function requries that
+operations on complex numbers.  Using any of the function requires that
 the C compiler understands the @code{complex} keyword, introduced to the
 C language in the @w{ISO C 9X} standard.
 
@@ -357,7 +357,7 @@ cut along the negative real axis.
 @deftypefunx {complex long double} cprojl (complex long double @var{z})
 Return the projection of the complex value @var{z} on the Riemann
 sphere.  Values with a infinite complex part (even if the real part
-is NaN) are projected to positive infinte on the real axis.  If the real part is infinite, the result is equivalent to
+is NaN) are projected to positive infinite on the real axis.  If the real part is infinite, the result is equivalent to
 
 @smallexample
 INFINITY + I * copysign (0.0, cimag (z))
@@ -531,7 +531,7 @@ bit set.
 This is not the same as @code{x < 0.0} since in some floating-point
 formats (e.g., @w{IEEE 754}) the zero value is optionally signed.  The
 comparison @code{-0.0 < 0.0} will not be true while @code{signbit
-(-0.0)} will return a nonzeri value.
+(-0.0)} will return a nonzero value.
 @end deftypefun
 
 @node Rounding and Remainders
@@ -599,7 +599,7 @@ raise the inexact exception.
 @comment math.h
 @comment ISO
 @deftypefun double modf (double @var{value}, double *@var{integer-part})
-@deftypefunx float modff (flaot @var{value}, float *@var{integer-part})
+@deftypefunx float modff (float @var{value}, float *@var{integer-part})
 @deftypefunx {long double} modfl (long double @var{value}, long double *@var{integer-part})
 These functions break the argument @var{value} into an integer part and a
 fractional part (between @code{-1} and @code{1}, exclusive).  Their sum
@@ -1060,7 +1060,7 @@ format supports this; and to the largest representable value otherwise.
 If the input string is @code{"nan"} or
 @code{"nan(@var{n-char-sequence})"} the return value of @code{strtod} is
 the representation of the NaN (not a number) value (if the
-flaoting-point formats supports this.  The form with the
+floating-point formats supports this.  The form with the
 @var{n-char-sequence} enables in an implementation specific way to
 specify the form of the NaN value.  When using the @w{IEEE 754}
 floating-point format, the NaN value can have a lot of forms since only
diff --git a/manual/conf.texi b/manual/conf.texi
index 64591ee9f2..86e29a8e04 100644
--- a/manual/conf.texi
+++ b/manual/conf.texi
@@ -1601,56 +1601,56 @@ after logging in.
 @comment unistd.h
 @comment Unix98
 @item _CS_LFS_CFLAGS
-The returned string specifies which additionals flags must be given to
+The returned string specifies which additional flags must be given to
 the C compiler if a source is compiled using the
 @code{_LARGEFILE_SOURCE} feature select macro; @pxref{Feature Test Macros}.
 
 @comment unistd.h
 @comment Unix98
 @item _CS_LFS_LDFLAGS
-The returned string specifies which additionals flags must be given to
+The returned string specifies which additional flags must be given to
 the linker if a source is compiled using the
 @code{_LARGEFILE_SOURCE} feature select macro; @pxref{Feature Test Macros}.
 
 @comment unistd.h
 @comment Unix98
 @item _CS_LFS_LIBS
-The returned string specifies which additionals libraries must be linked
+The returned string specifies which additional libraries must be linked
 to the application if a source is compiled using the
 @code{_LARGEFILE_SOURCE} feature select macro; @pxref{Feature Test Macros}.
 
 @comment unistd.h
 @comment Unix98
 @item _CS_LFS_LINTFLAGS
-The returned string specifies which additionals flags must be given to
+The returned string specifies which additional flags must be given to
 the the lint tool if a source is compiled using the
 @code{_LARGEFILE_SOURCE} feature select macro; @pxref{Feature Test Macros}.
 
 @comment unistd.h
 @comment Unix98
 @item _CS_LFS64_CFLAGS
-The returned string specifies which additionals flags must be given to
+The returned string specifies which additional flags must be given to
 the C compiler if a source is compiled using the
 @code{_LARGEFILE64_SOURCE} feature select macro; @pxref{Feature Test Macros}.
 
 @comment unistd.h
 @comment Unix98
 @item _CS_LFS64_LDFLAGS
-The returned string specifies which additionals flags must be given to
+The returned string specifies which additional flags must be given to
 the linker if a source is compiled using the
 @code{_LARGEFILE64_SOURCE} feature select macro; @pxref{Feature Test Macros}.
 
 @comment unistd.h
 @comment Unix98
 @item _CS_LFS64_LIBS
-The returned string specifies which additionals libraries must be linked
+The returned string specifies which additional libraries must be linked
 to the application if a source is compiled using the
 @code{_LARGEFILE64_SOURCE} feature select macro; @pxref{Feature Test Macros}.
 
 @comment unistd.h
 @comment Unix98
 @item _CS_LFS64_LINTFLAGS
-The returned string specifies which additionals flags must be given to
+The returned string specifies which additional flags must be given to
 the the lint tool if a source is compiled using the
 @code{_LARGEFILE64_SOURCE} feature select macro; @pxref{Feature Test Macros}.
 @end table
diff --git a/manual/creature.texi b/manual/creature.texi
index 2e0c62e1f7..38a11c0093 100644
--- a/manual/creature.texi
+++ b/manual/creature.texi
@@ -95,7 +95,7 @@ Single Unix specification, @w{version 2}.
 @comment X/Open
 @defvr Macro _LARGEFILE_SOURCE
 If this macro is defined some extra functions are available which
-rectify a few shortcomings in all previous standards.  More concreten
+rectify a few shortcomings in all previous standards.  More concrete
 the functions @code{fseeko} and @code{ftello} are available.  Without
 these functions the difference between the @w{ISO C} interface
 (@code{fseek}, @code{ftell}) and the low-level POSIX interface
diff --git a/manual/filesys.texi b/manual/filesys.texi
index 7e8a1a12d2..6d62545cc4 100644
--- a/manual/filesys.texi
+++ b/manual/filesys.texi
@@ -18,7 +18,7 @@ access permissions and modification times.
 * Accessing Directories::       Finding out what files a directory
 				 contains.
 * Working on Directory Trees::  Apply actions to all files or a selectable
-                                 subset of a directory hierachy.
+                                 subset of a directory hierarchy.
 * Hard Links::                  Adding alternate names to a file.
 * Symbolic Links::              A file that ``points to'' a file name.
 * Deleting Files::              How to delete a file, and what that means.
@@ -504,14 +504,14 @@ we want to see all directory entries we always return @code{1}.
 
 @node Working on Directory Trees
 @section Working on Directory Trees
-@cindex directory hierachy
-@cindex hierachy, directory
+@cindex directory hierarchy
+@cindex hierarchy, directory
 @cindex tree, directory
 
 The functions to handle files in directories described so far allowed to
 retrieve all the information in small pieces or process all files in a
 directory (see @code{scandir}).  Sometimes it is useful to process whole
-hierachies of directories and the contained files.  The X/Open
+hierarchies of directories and the contained files.  The X/Open
 specification define two functions to do this.  The simpler form is
 derived from an early definition in @w{System V} systems and therefore
 this function is available on SVID derived systems.  The prototypes and
@@ -591,7 +591,7 @@ with some extra information as described below.
 @deftp {Data Type} {struct FTW}
 The contained information helps to interpret the name parameter and
 gives some information about current state of the traversal of the
-directory hierachy.
+directory hierarchy.
 
 @table @code
 @item int base
@@ -644,7 +644,7 @@ The @var{descriptors} parameter to the @code{ftw} function specifies how
 many file descriptors the @code{ftw} function is allowed to consume.
 The more descriptors can be used the faster the function can run.  For
 each level of directories at most one descriptor is used so that for
-very deep directory hierachies the limit on open file descriptors for
+very deep directory hierarchies the limit on open file descriptors for
 the process or the system can be exceeded.  Beside this the limit on
 file descriptors is counted together for all threads in a multi-threaded
 program and therefore it is always good too limit the maximal number of
@@ -679,7 +679,7 @@ values, combined using bitwise OR.
 While traversing the directory symbolic links are not followed.  I.e.,
 if this flag is given symbolic links are reported using the
 @code{FTW_SL} value for the type parameter to the callback function.
-Please note that if this flag is used the appearence of @code{FTW_SL} in
+Please note that if this flag is used the appearance of @code{FTW_SL} in
 a callback function does not mean the referenced file does not exist.
 To indicate this the extra value @code{FTW_SLN} exists.
 @item FTW_MOUNT
@@ -1447,7 +1447,7 @@ This macro returns nonzero if the file is a symbolic link.
 This macro returns nonzero if the file is a socket.  @xref{Sockets}.
 @end deftypefn
 
-An alterate non-POSIX method of testing the file type is supported for
+An alternate non-POSIX method of testing the file type is supported for
 compatibility with BSD.  The mode can be bitwise ANDed with
 @code{S_IFMT} to extract the file type code, and compared to the
 appropriate type code constant.  For example,
@@ -1780,7 +1780,7 @@ used as the swap area of diskless client machines.  The idea is that the
 pages of the file will be cached in the client's memory, so it is a
 waste of the server's memory to cache them a second time.  In this use
 the sticky bit also says that the filesystem may fail to record the
-file's modification time onto disk reliably (the idea being that noone
+file's modification time onto disk reliably (the idea being that no-one
 cares for a swap file).
 @end table
 
@@ -1790,7 +1790,7 @@ These bit values are correct for most systems, but they are not
 guaranteed.
 
 @strong{Warning:} Writing explicit numbers for file permissions is bad
-practice.  It is not only nonportable, it also requires everyone who
+practice.  It is not only non-portable, it also requires everyone who
 reads your program to remember what the bits mean.  To make your
 program clean, use the symbolic names.
 
@@ -2080,7 +2080,7 @@ Argument that means, test for existence of the file.
 @cindex file access time
 @cindex file modification time
 @cindex file attribute modification time
-Each file has three timestamps associated with it:  its access time,
+Each file has three time stamps associated with it:  its access time,
 its modification time, and its attribute modification time.  These
 correspond to the @code{st_atime}, @code{st_mtime}, and @code{st_ctime}
 members of the @code{stat} structure; see @ref{File Attributes}.
@@ -2093,7 +2093,7 @@ values, see @ref{Calendar Time}.
 
 Reading from a file updates its access time attribute, and writing
 updates its modification time.  When a file is created, all three
-timestamps for that file are set to the current time.  In addition, the
+time stamps for that file are set to the current time.  In addition, the
 attribute change time and modification time fields of the directory that
 contains the new entry are updated.
 
@@ -2109,7 +2109,7 @@ the times for the file being renamed.
 Changing attributes of a file (for example, with @code{chmod}) updates
 its attribute change time field.
 
-You can also change some of the timestamps of a file explicitly using
+You can also change some of the time stamps of a file explicitly using
 the @code{utime} function---all except the attribute change time.  You
 need to include the header file @file{utime.h} to use this facility.
 @pindex utime.h
@@ -2142,7 +2142,7 @@ values from the @code{actime} and @code{modtime} members (respectively)
 of the @code{utimbuf} structure pointed at by @var{times}.
 
 The attribute modification time for the file is set to the current time
-in either case (since changing the timestamps is itself a modification
+in either case (since changing the time stamps is itself a modification
 of the file attributes).
 
 The @code{utime} function returns @code{0} if successful and @code{-1}
@@ -2153,7 +2153,7 @@ are defined for this function:
 @table @code
 @item EACCES
 There is a permission problem in the case where a null pointer was
-passed as the @var{times} argument.  In order to update the timestamp on
+passed as the @var{times} argument.  In order to update the time stamp on
 the file, you must either be the owner of the file, have write
 permission on the file, or be a privileged user.
 
diff --git a/manual/intro.texi b/manual/intro.texi
index 7597807274..fa16041b9b 100644
--- a/manual/intro.texi
+++ b/manual/intro.texi
@@ -15,7 +15,7 @@ operating system, and extensions specific to the GNU system.
 
 The purpose of this manual is to tell you how to use the facilities
 of the GNU library.  We have mentioned which features belong to which
-standards to help you identify things that are potentially nonportable
+standards to help you identify things that are potentially non-portable
 to other systems.  But the emphasis in this manual is not on strict
 portability.
 
diff --git a/manual/llio.texi b/manual/llio.texi
index 23c5f767f1..c31a5cf0eb 100644
--- a/manual/llio.texi
+++ b/manual/llio.texi
@@ -242,7 +242,7 @@ extra bytes are stripped of.  If the file was small or equal to
 @var{length} in size before nothing is done.  The file must be writable
 by the user to perform this operation.
 
-The return value is zero is everything wnet ok.  Otherwise the return
+The return value is zero is everything went ok.  Otherwise the return
 value is @math{-1} and the global variable @var{errno} is set to:
 @table @code
 @item EACCES
@@ -1180,16 +1180,16 @@ No synchronization is possible since the system does not implement this.
 Sometimes it is not even necessary to write all data associated with a
 file descriptor.  E.g., in database files which do not change in size it
 is enough to write all the file content data to the device.
-Metainformation like the modification time etc. are not that important
+Meta-information like the modification time etc. are not that important
 and leaving such information uncommitted does not prevent a successful
 recovering of the file in case of a problem.
 
 @comment unistd.h
 @comment POSIX
 @deftypefun int fdatasync (int @var{fildes})
-When a call to the @code{fdatasync} function returns it is maed sure
+When a call to the @code{fdatasync} function returns it is made sure
 that all of the file data is written to the device.  For all pending I/O
-operations the parts guaranteeing data integrety finished.
+operations the parts guaranteeing data integrity finished.
 
 Not all systems implement the @code{fdatasync} operation.  On systems
 missing this functionality @code{fdatasync} is emulated by a call to
diff --git a/manual/maint.texi b/manual/maint.texi
index e6fc47f8e1..7698549bf3 100644
--- a/manual/maint.texi
+++ b/manual/maint.texi
@@ -513,25 +513,35 @@ posix
 @noindent
 So the final list is @file{unix/bsd/vax unix/bsd unix/inet unix posix}.
 
-@file{sysdeps} has two ``special'' subdirectories, called @file{generic}
-and @file{stub}.  These two are always implicitly appended to the list
-of subdirectories (in that order), so you needn't put them in an
-@file{Implies} file, and you should not create any subdirectories under
-them intended to be new specific categories.  @file{generic} is for
-things that can be implemented in machine-independent C, using only
-other machine-independent functions in the C library.  @file{stub} is
-for @dfn{stub} versions of functions which cannot be implemented on a
-particular machine or operating system.  The stub functions always
-return an error, and set @code{errno} to @code{ENOSYS} (Function not
-implemented).  @xref{Error Reporting}.
-
-A source file is known to be system-dependent by its having a version in
-@file{generic} or @file{stub}; every generally-available function whose
-implementation is system-dependent in should have either a generic or
-stub implementation (there is no point in having both).  Some rare functions
-are only useful on specific systems and aren't defined at all on others;
-these do not appear anywhere in the system-independent source code or makefiles
-(including the @file{generic} and @file{stub} directories), only in the
+@file{sysdeps} has a ``special'' subdirectory called @file{generic}.  It
+is always implicitly appended to the list of subdirectories, so you
+needn't put it in an @file{Implies} file, and you should not create any
+subdirectories under it intended to be new specific categories.
+@file{generic} serves two purposes.  First, the makefiles do not bother
+to look for a system-dependent version of a file that's not in
+@file{generic}.  This means that any system-dependent source file must
+have an analogue in @file{generic}, even if the routines defined by that
+file are not implemented on other platforms.  Second. the @file{generic}
+version of a system-dependent file is used if the makefiles do not find
+a version specific to the system you're compiling for.
+
+If it is possible to implement the routines in a @file{generic} file in
+machine-independent C, using only other machine-independent functions in
+the C library, then you should do so.  Otherwise, make them stubs.  A
+@dfn{stub} function is a function which cannot be implemented on a
+particular machine or operating system.  Stub functions always return an
+error, and set @code{errno} to @code{ENOSYS} (Function not implemented).
+@xref{Error Reporting}.  If you define a stub function, you must place
+the statement @code{stub_warning(@var{function})}, where @var{function}
+is the name of your function, after its definition; also, you must
+include the file @code{<stub-tag.h>} into your file.  This causes the
+function to be listed in the installed @code{<gnu/stubs.h>}, and
+makes GNU ld warn when the function is used.
+
+Some rare functions are only useful on specific systems and aren't
+defined at all on others; these do not appear anywhere in the
+system-independent source code or makefiles (including the
+@file{generic} and @file{stub} directories), only in the
 system-dependent @file{Makefile} in the specific system's subdirectory.
 
 If you come across a file that is in one of the main source directories
@@ -737,8 +747,7 @@ hierarchy that are not for particular machine architectures.
 
 @table @file
 @item generic
-@itemx stub
-As described above (@pxref{Porting}), these are the two subdirectories
+As described above (@pxref{Porting}), this is the subdirectory
 that every configuration implicitly uses after all others.
 
 @item ieee754
diff --git a/manual/math.texi b/manual/math.texi
index fe9394b22d..478678f236 100644
--- a/manual/math.texi
+++ b/manual/math.texi
@@ -236,7 +236,7 @@ If the exception does not cause a trap handler to be called the result
 of the operation is taken as a quiet NaN.
 
 @item Division by Zero
-This exception is raised if the devisor is zero and the dividend is a
+This exception is raised if the divisor is zero and the dividend is a
 finite nonzero number.  If no trap occurs the result is either
 @math{+@infinity{}} or @math{-@infinity{}}, depending on the
 signs of the operands.
@@ -413,7 +413,7 @@ representable as an integer.  These are completely independent types.
 It is sometimes necessary so save the complete status of the
 floating-point unit for a certain time to perform some completely
 different actions.  Beside the status of the exception flags, the
-control word for the exceptions and the rounding mode can be safed.
+control word for the exceptions and the rounding mode can be saved.
 
 The file @file{fenv.h} defines the type @code{fenv_t}.  The layout of a
 variable of this type is implementation defined but the variable is able
@@ -710,7 +710,7 @@ exception if one of the arguments is an unordered value.
 @cindex Optimization
 
 If an application uses many floating point function it is often the case
-that the costs for the function calls itseld are not neglectable.
+that the costs for the function calls itselfs are not neglectable.
 Modern processor implementation often can execute the operation itself
 very fast but the call means a disturbance of the control flow.
 
@@ -811,7 +811,7 @@ radians.  Both values, @code{*@var{sinx}} and @code{*@var{cosx}}, are in
 the range of @code{-1} to @code{1}.
 
 This function is a GNU extension.  It should be used whenever both sine
-and cosine are needed but in protable applications there should be a
+and cosine are needed but in portable applications there should be a
 fallback method for systems without this function.
 @end deftypefun
 
@@ -1036,7 +1036,7 @@ magnitude of the result is too large to be representable.
 @comment math.h
 @comment ISO
 @deftypefun double log (double @var{x})
-@deftypefunx float logf (floatdouble @var{x})
+@deftypefunx float logf (float @var{x})
 @deftypefunx {long double} logl (long double @var{x})
 These functions return the natural logarithm of @var{x}.  @code{exp (log
 (@var{x}))} equals @var{x}, exactly in mathematics and approximately in
@@ -1211,7 +1211,7 @@ near zero.
 @cindex complex logarithm functions
 
 @w{ISO C 9X} defines variants of some of the exponentiation and
-logarithm functions.  As for the other functions handlung complex
+logarithm functions.  As for the other functions handling complex
 numbers these functions are perhaps better optimized and provide better
 error checking than a direct use of the formulas of the mathematical
 definition.
@@ -1488,7 +1488,7 @@ The GNU library supports the standard @w{ISO C} random number functions
 plus two other sets derived from BSD and SVID.  We recommend you use the
 standard ones, @code{rand} and @code{srand} if only a small number of
 random bits are required.  The SVID functions provide an interface which
-allows better randon number generator algorithms and they return up to
+allows better random number generator algorithms and they return up to
 48 random bits in one calls and they also return random floating-point
 numbers if wanted.  The SVID function might not be available on some BSD
 derived systems but since they are required in the XPG they are
@@ -1580,7 +1580,7 @@ This function returns the next pseudo-random number in the sequence.
 The range of values returned is from @code{0} to @code{RAND_MAX}.
 
 @strong{Please note:} Historically this function returned a @code{long
-int} value.  But with the appearence of 64bit machines this could lead
+int} value.  But with the appearance of 64bit machines this could lead
 to severe compatibility problems and therefore the type now explicitly
 limits the return value to 32bit.
 @end deftypefun
@@ -1619,7 +1619,7 @@ information @var{state}.  The argument must have been the result of
 a previous call to @var{initstate} or @var{setstate}.
 
 The return value is the previous value of the state information array.
-You can use thise value later as an argument to @code{setstate} to
+You can use this value later as an argument to @code{setstate} to
 restore that state.
 @end deftypefun
 
@@ -1734,12 +1734,12 @@ information provided.
 @deftypefun void srand48 (long int @var{seedval}))
 The @code{srand48} function sets the most significant 32 bits of the
 state internal state of the random number generator to the least
-significant 32 bits of the @var{seedval} parameter.  The lower 16 bts
-are initilialized to the value @code{0x330E}.  Even if the @code{long
+significant 32 bits of the @var{seedval} parameter.  The lower 16 bits
+are initialized to the value @code{0x330E}.  Even if the @code{long
 int} type contains more the 32 bits only the lower 32 bits are used.
 
 Due to this limitation the initialization of the state using this
-function of not very useful.  But it makes it easy to use a constrcut
+function of not very useful.  But it makes it easy to use a construct
 like @code{srand48 (time (0))}.
 
 A side-effect of this function is that the values @code{a} and @code{c}
@@ -1802,7 +1802,7 @@ Please note that it is no problem if several threads use the global
 state if all threads use the functions which take a pointer to an array
 containing the state.  The random numbers are computed following the
 same loop but if the state in the array is different all threads will
-get an individuual random number generator.
+get an individual random number generator.
 
 The user supplied buffer must be of type @code{struct drand48_data}.
 This type should be regarded as opaque and no member should be used
@@ -1830,7 +1830,7 @@ programs.
 @deftypefun int erand48_r (unsigned short int @var{xsubi}[3], struct drand48_data *@var{buffer}, double *@var{result})
 The @code{erand48_r} function works like the @code{erand48} and it takes
 an argument @var{buffer} which describes the random number generator.
-The state of the random number genertor is taken from the @code{xsubi}
+The state of the random number generator is taken from the @code{xsubi}
 array, the parameters for the congruential formula from the global
 random number generator data.  The random number is return in the
 variable pointed to by @var{result}.
@@ -1909,7 +1909,7 @@ memset (buffer, '\0', sizeof (struct drand48_data));
 @end smallexample
 
 @noindent
-Using any of the reetrant functions of this family now will
+Using any of the reentrant functions of this family now will
 automatically initialize the random number generator to the default
 values for the state and the parameters of the congruential formula.
 
@@ -1924,8 +1924,8 @@ what you expect.
 @deftypefun int srand48_r (long int @var{seedval}, struct drand48_data *@var{buffer})
 The description of the random number generator represented by the
 information in @var{buffer} is initialized similar to what the function
-@code{srand48} does.  The state is initialized from the paramter
-@var{seedval} and the paameters for the congruential formula are
+@code{srand48} does.  The state is initialized from the parameter
+@var{seedval} and the parameters for the congruential formula are
 initialized to the default values.
 
 If the return value is non-negative the function call succeeded.
diff --git a/manual/message.texi b/manual/message.texi
index deb778440d..a292b78531 100644
--- a/manual/message.texi
+++ b/manual/message.texi
@@ -19,8 +19,8 @@ selection of the user.
 The GNU C Library provides two different sets of functions to support
 message translation.  The problem is that neither of the interfaces is
 officially defined by the POSIX standard.  The @code{catgets} family of
-functions is defined in the X/Open standard but this is drived from
-industry decisions and therefore not necessarily is based on reasinable
+functions is defined in the X/Open standard but this is derived from
+industry decisions and therefore not necessarily based on reasonable
 decisions.
 
 As mentioned above the message catalog handling provides easy
@@ -67,7 +67,7 @@ The user of the program must be able to guide the responsible function
 to find whatever catalog the user wants.  This is separated from what
 the programmer had in mind.
 
-All the types, constants and funtions for the @code{catgets} functions
+All the types, constants and functions for the @code{catgets} functions
 are defined/declared in the @file{nl_types.h} header file.
 
 @menu
@@ -99,7 +99,7 @@ Locating the catalog file must happen in a way which lets the user of
 the program influence the decision.  It is up to the user to decide
 about the language to use and sometimes it is useful to use alternate
 catalog files.  All this can be specified by the user by setting some
-enviroment variables.
+environment variables.
 
 The first problem is to find out where all the message catalogs are
 stored.  Every program could have its own place to keep all the
@@ -137,7 +137,7 @@ explained below.
 
 @item %l
 (This is the lowercase ell.) This format element is substituted with the
-language element of the locale name.  The string decsribing the selected
+language element of the locale name.  The string describing the selected
 locale is expected to have the form
 @code{@var{lang}[_@var{terr}[.@var{codeset}]]} and this format uses the
 first part @var{lang}.
@@ -186,7 +186,7 @@ to all other platforms providing the @code{catgets} interface.
 @cindex LC_MESSAGES environment variable
 @cindex LANG environment variable
 Otherwise the values of environment variables from the standard
-environemtn are examined (@pxref{Standard Environment}).  Which
+environment are examined (@pxref{Standard Environment}).  Which
 variables are examined is decided by the @var{flag} parameter of
 @code{catopen}.  If the value is @code{NL_CAT_LOCALE} (which is defined
 in @file{nl_types.h}) then the @code{catopen} function examines the
@@ -225,7 +225,7 @@ When an error occured the global variable @var{errno} is set to
 @item EBADF
 The catalog does not exist.
 @item ENOMSG
-The set/message touple does not name an existing element in the
+The set/message ttuple does not name an existing element in the
 message catalog.
 @end table
 
@@ -275,7 +275,7 @@ all @var{string} arguments should be written in the same language.
 
 It is somewhat uncomfortable to write a program using the @code{catgets}
 functions if no supporting functionality is available.  Since each
-set/message number touple must be unique the programmer must keep lists
+set/message number tuple must be unique the programmer must keep lists
 of the messages at the same time the code is written.  And the work
 between several people working on the same project must be coordinated.
 In @ref{Common Usage} we will see some how these problems can be relaxed
@@ -299,7 +299,7 @@ The only reasonable way the translate all the messages of a function and
 store the result in a message catalog file which can be read by the
 @code{catopen} function is to write all the message text to the
 translator and let her/him translate them all.  I.e., we must have a
-file with entries which associate the set/message touple with a specific
+file with entries which associate the set/message tuple with a specific
 translation.  This file format is specified in the X/Open standard and
 is as follows:
 
@@ -363,11 +363,11 @@ line ends quoting is disable.
 By default no quoting character is used.  In this mode strings are
 terminated with the first unescaped line break.  If there is a
 @code{$quote} sequence present newline need not be escaped.  Instead a
-string is terminated with the first unescaped appearence of the quote
+string is terminated with the first unescaped appearance of the quote
 character.
 
 A common usage of this feature would be to set the quote character to
-@code{"}.  Then any appearence of the @code{"} in the strings must
+@code{"}.  Then any appearance of the @code{"} in the strings must
 be escaped using the backslash (i.e., @code{\"} must be written).
 
 @item
@@ -414,7 +414,7 @@ $set SetOne
 two "   Message with ID \"two\", which gets the value 2 assigned"
 
 $set SetTwo
-$ Since the last set got the nubmer 1 assigned this set has number 2.
+$ Since the last set got the number 1 assigned this set has number 2.
 4000 "The numbers can be arbitrary, they need not start at one."
 @end smallexample
 
@@ -429,7 +429,7 @@ message definition would have to be left away and in this case the
 message with the identifier @code{two} would loose its leading whitespace.
 @item
 Mixing numbered messages with message having symbolic names is no
-problem and the numering happens automatically.
+problem and the numbering happens automatically.
 @end itemize
 
 
@@ -438,7 +438,7 @@ use in a running program.  The @code{catopen} function would have to
 parser the file and handle syntactic errors gracefully.  This is not so
 easy and the whole process is pretty slow.  Therefore the @code{catgets}
 functions expect the data in another more compact and ready-to-use file
-format.  There is a special programm @code{gencat} which is explained in
+format.  There is a special program @code{gencat} which is explained in
 detail in the next section.
 
 Files in this other format are not human readable.  To be easy to use by
@@ -449,7 +449,7 @@ so translation files can be shared by systems of arbitrary architecture
 Details about the binary file format are not important to know since
 these files are always created by the @code{gencat} program.  The
 sources of the GNU C Library also provide the sources for the
-@code{gencat} program and so the interested reader can look throught
+@code{gencat} program and so the interested reader can look through
 these source files to learn about the file format.
 
 
@@ -491,8 +491,8 @@ while using the device names is a GNU extension.
 
 The @code{gencat} program works by concatenating all input files and
 then @strong{merge} the resulting collection of message sets with a
-possiblity existing output file.  This is done by removing all messages
-with set/message number touples matching any of the generated messages
+possibly existing output file.  This is done by removing all messages
+with set/message number tuples matching any of the generated messages
 from the output file and then adding all the new messages.  To
 regenerate a catalog file while ignoring the old contents therefore
 requires to remove the output file if it exists.  If the output is
@@ -541,8 +541,8 @@ method first to understand the benefits of extensions.
 
 Since the X/Open format of the message catalog files does not allow
 symbol names we have to work with numbers all the time.  When we start
-writing a program we have to replace all appearences of translatable
-strings with someting like
+writing a program we have to replace all appearances of translatable
+strings with something like
 
 @smallexample
 catgets (catdesc, set, msg, "string")
@@ -556,8 +556,8 @@ message numbers.
 
 In a bigger program several programmers usually work at the same time on
 the program and so coordinating the number allocation is crucial.
-Though no two different strings must be indexed by the same touple of
-numbers it is highly desireable to reuse the numbers for equal strings
+Though no two different strings must be indexed by the same tuple of
+numbers it is highly desirable to reuse the numbers for equal strings
 with equal translations (please note that there might be strings which
 are equal in one language but have different translations due to
 difference contexts).
@@ -570,7 +570,7 @@ cannot be discovered by the compiler or the @code{catgets} functions.
 Only the user of the program might see wrong messages printed.  In the
 worst cases the messages are so irritating that they cannot be
 recognized as wrong.  Think about the translations for @code{"true"} and
-@code{"false"} being exchanged.  This could result in a desaster.
+@code{"false"} being exchanged.  This could result in a disaster.
 
 
 @subsubsection Using symbolic names
@@ -829,7 +829,7 @@ something like
 Here the @var{errno} value is used in the @code{printf} function while
 processing the @code{%m} format element and if the @code{gettext}
 function would change this value (it is called before @code{printf} is
-called) we wouls get a wrong message.
+called) we would get a wrong message.
 
 So there is no easy way to detect a missing message catalog beside
 comparing the argument string with the result.  But it is normally the
@@ -856,7 +856,7 @@ pointer the @code{dgettext} function is exactly equivalent to
 @code{gettext} since the default value for the domain name is used.
 
 As for @code{gettext} the return value type is @code{char *} which is an
-anachronism.  The returned string must never be modfied.
+anachronism.  The returned string must never be modified.
 @end deftypefun
 
 @deftypefun {char *} dcgettext (const char *@var{domainname}, const char *@var{msgid}, int @var{category})
@@ -895,7 +895,7 @@ but @code{LC_MESSAGES} in for the @var{category} parameter.  We are
 dealing with messages here and any other choice can only be irritating.
 
 As for @code{gettext} the return value type is @code{char *} which is an
-anachronism.  The returned string must never be modfied.
+anachronism.  The returned string must never be modified.
 @end deftypefun
 
 When using the three functions above in a program it is a frequent case
@@ -906,7 +906,7 @@ will not change.  I.e., the algorithm to determine the translation is
 deterministic.
 
 Exactly this is what the optimizations implemented in the
-@file{libintl.h} header will use.  Whenver a program is compiler with
+@file{libintl.h} header will use.  Whenever a program is compiler with
 the GNU C compiler, optimization is selected and the @var{msgid}
 argument to @code{gettext}, @code{dgettext} or @code{dcgettext} is a
 constant string the actual function call will only be done the first
@@ -920,7 +920,7 @@ independent of the compiler or compiler options in use.
 @node Locating gettext catalog
 @subsubsection How to determine which catalog to be used
 
-The functions to retrieve the translations for a given mesage have a
+The functions to retrieve the translations for a given message have a
 remarkable simple interface.  But to provide the user of the program
 still the opportunity to select exactly the translation s/he wants and
 also to provide the programmer the possibility to influence the way to
@@ -977,7 +977,7 @@ to read the messages in another language and so the user of the program
 should be able to define an precedence order of languages.
 @end itemize
 
-We can devide the configuration actions in two parts: the one is
+We can divide the configuration actions in two parts: the one is
 performed by the programmer, the other by the user.  We will start with
 the functions the programmer can use since the user configuration will
 be based on this.
@@ -999,7 +999,7 @@ all future @code{gettext} calls, to @var{domainname}.  Please note that
 @var{domainname} parameter of these functions is not the null pointer.
 
 Before the first call to @code{textdomain} the default domain is
-@code{messages}.  This is the name specified in the fpsecification of
+@code{messages}.  This is the name specified in the specification of
 the @code{gettext} API.  This name is as good as any other name.  No
 program should ever really use a domain with this name since this can
 only lead to problems.
@@ -1025,10 +1025,10 @@ really never should be used.
 The @code{bindtextdomain} function can be used to specify the directly
 which contains the message catalogs for domain @var{domainname} for the
 different languages.  To be correct, this is the directory where the
-hierachy of directories is expected.  Details are explained below.
+hierarchy of directories is expected.  Details are explained below.
 
 For the programmer it is important to note that the translations which
-come with the program have be placed in a directory hierachy starting
+come with the program have be placed in a directory hierarchy starting
 at, say, @file{/foo/bar}.  Then the program should make a
 @code{bindtextdomain} call to bind the domain for the current program to
 this directory.  So it is made sure the catalogs are found.  A correctly
@@ -1036,7 +1036,7 @@ running program does not depend on the user setting an environment
 variable.
 
 The @code{bindtextdomain} function can be used several times and if the
-@var{domainname} argument is different the previously boundd domains
+@var{domainname} argument is different the previously bounded domains
 will not be overwritten.
 
 If the program which wish to use @code{bindtextdomain} at some point of
@@ -1095,7 +1095,7 @@ files.  If the program executed the @code{bindtextdomain} function for
 the message domain that is currently handled the @code{dir_name}
 component is the exactly the value which was given to the function as
 the second parameter.  I.e., @code{bindtextdomain} allows to overwrite
-the only system depdendent and fixed value to make it possible to
+the only system dependent and fixed value to make it possible to
 address file everywhere in the filesystem.
 
 The @var{category} is the name of the locale category which was selected
@@ -1220,7 +1220,7 @@ list:
 @code{audience}/@code{modifier}
 @end enumerate
 
-From the last entry one can see that the meaning of the @code{modifer}
+From the last entry one can see that the meaning of the @code{modifier}
 field in the X/Open format and the @code{audience} format have the same
 meaning.  Beside one can see that the @code{language} field for obvious
 reasons never will be dropped.
@@ -1296,7 +1296,7 @@ help to understand the input better.
 
 Other programs help to manage development cycle when new messages appear
 in the source files or when a new translation of the messages appear.
-here it should only be noted that using all the tools in GNu gettext it
+here it should only be noted that using all the tools in GNU gettext it
 is possible to @emph{completely} automize the handling of message
 catalog.  Beside marking the translatable string in the source code and
 generating the translations the developers do not have anything to do
diff --git a/manual/pattern.texi b/manual/pattern.texi
index 1decfe3dae..7a37e402c1 100644
--- a/manual/pattern.texi
+++ b/manual/pattern.texi
@@ -365,7 +365,7 @@ repeatedly.  It handles the flag @code{GLOB_NOESCAPE} by turning on the
 @node More Flags for Globbing
 @subsection More Flags for Globbing
 
-Beside the flags descibed in the last section, the GNU implementation of
+Beside the flags described in the last section, the GNU implementation of
 @code{glob} allows a few more flags which are also defined in the
 @file{glob.h} file.  Some of the extensions implement functionality
 which is available in modern shell implementations.
@@ -406,7 +406,7 @@ another one.  It is important to note that the range of each brace
 expression is completely contained in the outer brace expression (if
 there is one).
 
-The string between the mathing braces is separated into single
+The string between the matching braces is separated into single
 expressions by splitting at @code{,} (comma) characters.  The commas
 themself are discarded.  Please note what we said above about recursive
 brace expressions.  The commas used to separate the subexpressions must
diff --git a/manual/search.texi b/manual/search.texi
index 356d976555..013c584914 100644
--- a/manual/search.texi
+++ b/manual/search.texi
@@ -259,7 +259,7 @@ Computer Programming, Part 3: Searching and Sorting'' for more
 information.
 
 The weakest aspect of this function is that there can be at most one
-hashing table used throught the whole program.  The table is allocated
+hashing table used through the whole program.  The table is allocated
 in local memory out of control of the programmer.  As an extension the
 GNU C library provides an additional set of functions with an reentrant
 interface which provide a similar interface but which allow to keep
@@ -284,13 +284,13 @@ table with possibly different size.
 It is important to remember that the elements contained in the hashing
 table at the time @code{hdestroy} is called are @emph{not} freed by this
 function.  It is the responsibility of the program code to free those
-strings (if necessary at all).  Freeing all the element memory iss not
+strings (if necessary at all).  Freeing all the element memory is not
 possible without extra, separately kept information since there is no
 function to iterate through all available elements in the hashing table.
 If it is really necessary to free a table and all elements the
 programmer has to keep a list of all table elements and before calling
 @code{hdestroy} s/he has to free all element's data using this list.
-This is a very unpleasent mechanism and it also shows that this kind of
+This is a very unpleasant mechanism and it also shows that this kind of
 hashing tables is mainly meant for tables which are created once and
 used until the end of the program run.
 @end deftypefun
@@ -349,7 +349,7 @@ members should be changed directly.
 @comment search.h
 @comment GNU
 @deftypefun int hcreate_r (size_t @var{nel}, struct hsearch_data *@var{htab})
-The @code{hcreate_r} function intializes the object pointed to by
+The @code{hcreate_r} function initializes the object pointed to by
 @var{htab} to contain a hashing table with at least @var{nel} elements.
 So this function is equivalent to the @code{hcreate} function except
 that the initialized data structure is controlled by the user.
@@ -377,7 +377,7 @@ for the elements of the table.
 @deftypefun int hsearch_r (ENTRY @var{item}, ACTION @var{action}, ENTRY **@var{retval}, struct hsearch_data *@var{htab})
 The @code{hsearch_r} function is equivalent to @code{hsearch}.  The
 meaning of the first two arguments is identical.  But instead of
-operating on a single global hashing table the functio works on the
+operating on a single global hashing table the function works on the
 table described by the object pointed to by @var{htab} (which is
 initialized by a call to @code{hcreate_r}).
 
@@ -411,7 +411,7 @@ The GNU C library implementation even guarantees that this bound is
 never exceeded even for input data which cause problems for simple
 binary tree implementations.
 
-The functions desribed in the chapter are all described in the @w{System
+The functions described in the chapter are all described in the @w{System
 V} and X/Open specifications and are therefore quite portable.
 
 In contrast to the @code{hsearch} functions the @code{tsearch} functions
@@ -427,7 +427,7 @@ extended or searched.
 @deftypefun {void *} tsearch (const void *@var{key}, void **@var{rootp}, comparison_fn_t @var{compar})
 The @code{tsearch} function searches in the tree pointed to by
 @code{*@var{rootp}} for an element matching @var{key}.  The function
-pointed to by @var{compar} is used to determine wether two elements
+pointed to by @var{compar} is used to determine whether two elements
 match.  @xref{Comparison Functions} for a specification of the functions
 which can be used for the @var{compar} parameter.
 
@@ -512,7 +512,7 @@ tree and how the function is called.  The status of a node is either
 `leaf' or `internal node'.  For each leaf node the function is called
 exactly once, for each internal node it is called three times: before
 the first child is processed, after the first child is processed and
-after both childs are processed.  This makes it possible to handle all
+after both children are processed.  This makes it possible to handle all
 three methods of tree traversal (or even a combination of them).
 
 @table @code
@@ -540,7 +540,7 @@ For each node in the tree with a node pointed to by @var{root} the
 called three times, setting the @var{value} parameter or @var{action} to
 the appropriate value.  The @var{level} argument for the @var{action}
 function is computed while descending the tree with increasing the value
-by one for the escend to a child, starting with the value @math{0} for
+by one for the descend to a child, starting with the value @math{0} for
 the root node.
 
 Since the functions used for the @var{action} parameter to @code{twalk}
diff --git a/manual/signal.texi b/manual/signal.texi
index 7948229871..e6014ec195 100644
--- a/manual/signal.texi
+++ b/manual/signal.texi
@@ -1656,7 +1656,7 @@ make is whether at least one signal has arrived since a given time in
 the past.
 
 Here is an example of a handler for @code{SIGCHLD} that compensates for
-the fact that the number of signals recieved may not equal the number of
+the fact that the number of signals received may not equal the number of
 child processes generate them.  It assumes that the program keeps track
 of all the child processes with a chain of structures as follows:
 
diff --git a/manual/socket.texi b/manual/socket.texi
index 9cb9b435e4..76d7863728 100644
--- a/manual/socket.texi
+++ b/manual/socket.texi
@@ -687,7 +687,7 @@ Each computer on the Internet has one or more @dfn{Internet addresses},
 numbers which identify that computer among all those on the Internet.
 Users typically write IPv4 numeric host addresses as sequences of four
 numbers, separated by periods, as in @samp{128.52.46.32}, and IPv6
-numeric host addresses as sequences of up to eight numbers seperated by
+numeric host addresses as sequences of up to eight numbers separated by
 colons, as in @samp{5f03:1200:836f:c100::1}.
 
 Each computer also has one or more @dfn{host names}, which are strings
diff --git a/manual/startup.texi b/manual/startup.texi
index fab74edbef..7e42bb9c7b 100644
--- a/manual/startup.texi
+++ b/manual/startup.texi
@@ -520,7 +520,7 @@ classification.
 @cindex LC_MESSAGES environment variable
 
 This specifies what locale to use for printing messages and to parse
-reponses.
+responses.
 
 @item LC_MONETARY
 @cindex LC_MONETARY environment variable
diff --git a/manual/stdio.texi b/manual/stdio.texi
index fbf218ebf3..96c3de4fec 100644
--- a/manual/stdio.texi
+++ b/manual/stdio.texi
@@ -288,7 +288,7 @@ another function.
 @deftypefun int fcloseall (void)
 This function causes all open streams of the process to be closed and
 the connection to corresponding files to be broken.  All buffered data
-is written and any buffered inputis discarded.  The @code{fcloseall}
+is written and any buffered input is discarded.  The @code{fcloseall}
 function returns a value of @code{0} if all the files were closed
 successfully, and @code{EOF} if an error was detected.
 
@@ -912,7 +912,7 @@ initial @samp{%} character followed in sequence by:
 @item
 An optional specification of the parameter used for this format.
 Normally the parameters to the @code{printf} function a assigned to the
-formats in the order of appearence in the format string.  But in some
+formats in the order of appearance in the format string.  But in some
 situations (such as message translation) this is not desirable and this
 extension allows to specify and explicit parameter to be used.
 
@@ -1236,7 +1236,7 @@ numbers are represented is the form
 @w{[@code{-}]@code{0x}@var{h}@code{.}@var{hhh}@code{p}[@code{+}|@code{-}]@var{dd}}.
 At the left of the decimal-point character exactly one digit is print.
 This character is only @code{0} is the number is denormalized.
-Otherwise the value is unspecifed; it is implemention dependent how many
+Otherwise the value is unspecified; it is implemention dependent how many
 bits are used.  The number of hexadecimal digits on the right side of
 the decimal-point character is equal to the precision.  If the precision
 is zero it is determined to be large enough to provide an exact
@@ -2310,7 +2310,7 @@ register_printf_function ('B', printf_size, printf_size_info);
 @end smallexample
 
 Here we register the functions to print numbers as powers of 1000 since
-the format character @code{'B'} is an upper-case characeter.  If we
+the format character @code{'B'} is an upper-case character.  If we
 would additionally use @code{'b'} in a line like
 
 @smallexample
@@ -3110,7 +3110,7 @@ This function is similar to @code{fseek} but it corrects a problem with
 @code{fseeko} uses the correct type @code{off_t} for the @var{offset}
 parameter.
 
-For this reasonit is a good idea to prefer @code{ftello} whenever it is
+For this reason it is a good idea to prefer @code{ftello} whenever it is
 available since its functionality is (if different at all) closer the
 underlying definition.
 
@@ -3157,7 +3157,7 @@ the offset provided is relative to the end of the file.
 @comment ISO
 @deftypefun void rewind (FILE *@var{stream})
 The @code{rewind} function positions the stream @var{stream} at the
-begining of the file.  It is equivalent to calling @code{fseek} or
+beginning of the file.  It is equivalent to calling @code{fseek} or
 @code{fseeko} on the @var{stream} with an @var{offset} argument of
 @code{0L} and a @var{whence} argument of @code{SEEK_SET}, except that
 the return value is discarded and the error indicator for the stream is
@@ -3756,7 +3756,7 @@ the following members:
 @table @code
 @item cookie_read_function_t *read
 This is the function that reads data from the cookie.  If the value is a
-null pointer instead of a function, then read operations on ths stream
+null pointer instead of a function, then read operations on this stream
 always return @code{EOF}.
 
 @item cookie_write_function_t *write
@@ -3926,7 +3926,7 @@ Display the message in standard error.
 Display the message on the system console.
 @end vtable
 
-The errorneous piece of the system can be signalled by exactly one of the
+The erroneous piece of the system can be signalled by exactly one of the
 following values which also is bitwise ORed with the
 @var{classification} parameter to @code{fmtmsg}:
 
@@ -3945,11 +3945,11 @@ done by using exactly one of the following values:
 
 @vtable @code
 @item MM_APPL
-The errorneous condition is detected by the application.
+The erroneous condition is detected by the application.
 @item MM_UTIL
-The errorneous condition is detected by a utility.
+The erroneous condition is detected by a utility.
 @item MM_OPSYS
-The errorneous condition is detected by the operating system.
+The erroneous condition is detected by the operating system.
 @end vtable
 
 A last component of @var{classification} can signal the results of this
@@ -3970,7 +3970,7 @@ in the @var{classification} parameter.  The @var{label} parameter
 identifies the source of the message.  The string should consist of two
 colon separated parts where the first part has not more than 10 and the
 second part not more the 14 characters.  The @var{text} parameter
-descries the condition of the error, the @var{action} parameter possible
+describes the condition of the error, the @var{action} parameter possible
 steps to recover from the error and the @var{tag} parameter is a
 reference to the online documentation where more information can be
 found.  It should contain the @var{label} value and a unique
diff --git a/manual/string.texi b/manual/string.texi
index d6c09b8df9..767a811c7e 100644
--- a/manual/string.texi
+++ b/manual/string.texi
@@ -175,7 +175,7 @@ The @code{strnlen} function returns the length of the null-terminated
 string @var{s} is this length is smaller than @var{maxlen}.  Otherwise
 it returns @var{maxlen}.  Therefore this function is equivalent to
 @code{(strlen (@var{s}) < n ? strlen (@var{s}) : @var{maxlen})} but it
-is more efficent.
+is more efficient.
 
 @smallexample
 char string[32] = "hello, world";
@@ -247,7 +247,7 @@ memcpy (new, old, arraysize * sizeof (struct foo));
 @comment GNU
 @deftypefun {void *} mempcpy (void *@var{to}, const void *@var{from}, size_t @var{size})
 The @code{mempcpy} function is nearly identical to the @code{memcpy}
-function.  It copies @var{size} byts from the object beginning at
+function.  It copies @var{size} bytes from the object beginning at
 @code{from} into the object pointed to by @var{to}.  But instead of
 returning the value of @code{to} it returns a pointer to the byte
 following the last written byte in the object beginning at @var{to}.
@@ -616,7 +616,7 @@ This function is like @code{strcmp}, except that differences in case are
 ignored.  How uppercase and lowercase character are related is
 determined by the currently selected locale.  In the standard @code{"C"}
 locale the characters @"A and @"a do not match but in a locale which
-regards this characters as parts of the alphabeth they do match.
+regards this characters as parts of the alphabet they do match.
 
 @code{strcasecmp} is derived from BSD.
 @end deftypefun
@@ -669,12 +669,12 @@ value follows the same conventions as found in the @code{strverscmp}
 function.  In fact, if @var{s1} and @var{s2} contain no digits,
 @code{strverscmp} behaves like @code{strcmp}.
 
-Basically, we compare strings normaly (character by character), until
+Basically, we compare strings normally (character by character), until
 we find a digit in each string - then we enter a special comparison
 mode, where each sequence of digit is taken as a whole.  If we reach the
 end of these two parts without noticing a difference, we return to the
 standard comparison mode.  There are two types of numeric parts:
-"integral" and "fractionnal" (these laters begins with a '0'). The types
+"integral" and "fractional" (those  begin with a '0'). The types
 of the numeric parts affect the way we sort them:
 
 @itemize @bullet
@@ -682,13 +682,13 @@ of the numeric parts affect the way we sort them:
 integral/integral: we compare values as you would expect.
 
 @item
-fractionnal/integral: the fractionnal part is less than the integral one.
+fractional/integral: the fractional part is less than the integral one.
 Again, no surprise.
 
 @item
-fractionnal/fractionnal: the things become a bit more complex.
-if the common prefix contains only leading zeroes, the longest part is less
-than the other one; else the comparison behaves normaly.
+fractional/fractional: the things become a bit more complex.
+If the common prefix contains only leading zeroes, the longest part is less
+than the other one; else the comparison behaves normally.
 @end itemize
 
 @smallexample
@@ -697,14 +697,14 @@ strverscmp ("no digit", "no digit")
 strverscmp ("item#99", "item#100")
     @result{} <0   /* @r{same prefix, but 99 < 100.} */
 strverscmp ("alpha1", "alpha001")
-    @result{} >0   /* @r{fractionnal part inferior to integral one.} */
+    @result{} >0   /* @r{fractional part inferior to integral one.} */
 strverscmp ("part1_f012", "part1_f01")
-    @result{} >0   /* @r{two fractionnal parts.} */
+    @result{} >0   /* @r{two fractional parts.} */
 strverscmp ("foo.009", "foo.0")
     @result{} <0   /* @r{idem, but with leading zeroes only.} */
 @end smallexample
 
-This function is especially usefull when dealing with filename sorting,
+This function is especially useful when dealing with filename sorting,
 because filenames frequently hold indices/version numbers.
 
 @code{strverscmp} is a GNU extension.
@@ -852,7 +852,7 @@ sort_strings_fast (char **array, int nstrings)
     @{
       size_t length = strlen (array[i]) * 2;
       char *transformed;
-      size_t transformed_lenght;
+      size_t transformed_length;
 
       temp_array[i].input = array[i];
 
diff --git a/manual/time.texi b/manual/time.texi
index c2b2378da8..b67ef63d5e 100644
--- a/manual/time.texi
+++ b/manual/time.texi
@@ -568,7 +568,7 @@ universal time.
 @end deftypefun
 
 As for the @code{localtime} function we have the problem that the result
-is placed ina static variable.  POSIX.1c also provides a replacement for
+is placed in a static variable.  POSIX.1c also provides a replacement for
 @code{gmtime}.
 
 @comment time.h
@@ -1163,7 +1163,7 @@ broken-down time structure, since @code{tm_zone} reports the correct
 abbreviation even when it is not the latest one.
 
 Though the strings are declared as @code{char *} the user must stay away
-from modifying these strings.  Modying the strings will almost certainly
+from modifying these strings.  Modifying the strings will almost certainly
 lead to trouble.
 
 @end deftypevar
diff --git a/manual/users.texi b/manual/users.texi
index ca9dee4ca6..e6e358f44a 100644
--- a/manual/users.texi
+++ b/manual/users.texi
@@ -1770,7 +1770,7 @@ This function closes the internal stream used by @code{getgrent} or
 @subsection Netgroup Data
 
 @cindex Netgroup
-Sometimes it is useful group users according to other criterias like the
+Sometimes it is useful group users according to other criteria like the
 ones used in the @xref{Group Database}.  E.g., it is useful to associate
 a certain group of users with a certain machine.  On the other hand
 grouping of host names is not supported so far.