This is another batch of doc and typo fixes.

If you have question on any of them, feel free to ask.

- Qian

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/fricas-devel/5d166641-075e-463e-8d3e-22ebdc78c6d7%40gmail.com.
diff --git a/ChangeLog b/ChangeLog
index 8f38cd28..d0210d8b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -408,6 +408,7 @@
 	* src/interp/as.boot, src/interp/bc-misc.boot,
 	src/interp/br-con.boot, src/interp/br-op1.boot,
 	src/interp/br-op2.boot, src/interp/br-util.boot,
+	src/interp/functor.boot,
 	src/interp/htsetvar.boot, src/interp/i-spec1.boot,
 	src/interp/interop.boot, src/interp/nrunfast.boot:
 	Fix wrong number of arguments error caught by ECL
@@ -7094,6 +7095,7 @@
 	src/algebra/Makefile.in: Adjust
 
 2015-02-25  Peter Broadbery  <[email protected]>
+
 	* src/interp/hashcode.boot: fix hashcode handling for
 	Void in Aldor
 
@@ -7428,7 +7430,7 @@
 2014-11-07  Waldek Hebisch  <[email protected]>
 
 	* src/interp/vmlisp.lisp: Redirect IO when running programs
-	from Closure CL
+	from Clozure CL
 
 2014-11-07  Waldek Hebisch  <[email protected]>
 
@@ -7437,7 +7439,7 @@
 2014-11-06  Waldek Hebisch  <[email protected]>
 
 	* src/algebra/plot.spad, src/algebra/plot3d.spad:
-	Simplify (works around Closure CL bug)
+	Simplify (works around Clozure CL bug)
 
 2014-10-16  Waldek Hebisch  <[email protected]>
 
@@ -8084,7 +8086,7 @@
 
 	* src/interp/i-output.boot, src/interp/i-syscmd.boot,
 	src/interp/format.boot, src/interp/nruncomp.boot,
-	src/interp/nrunopt.boot, rc/interp/br-con.boot,
+	src/interp/nrunopt.boot, src/interp/br-con.boot,
 	src/interp/compiler.boot, src/doc/ht/man0.ht:
 	Misc cleanups.
 
@@ -10231,7 +10233,7 @@
 2012-01-05  Waldek Hebisch  <[email protected]>
 
 	* src/lisp/fricas-lisp.lisp: Turn on prettyprinting
-	for Closure CL.
+	for Clozure CL.
 
 2012-01-05  Waldek Hebisch  <[email protected]>
 
@@ -10402,9 +10404,9 @@
 
 2011-12-08  Waldek Hebisch  <[email protected]>
 
-	Support using gmp with Closure CL.
+	Support using gmp with Clozure CL.
 	* src/lisp/num-gmp.lisp, src/lib/gmp_wrap.c: Add code for
-	Closure CL.
+	Clozure CL.
 	configure.ac, src/interp/util.lisp,
 	src/lisp/Makefile.in: Adjust.
 
@@ -11615,7 +11617,7 @@
 
 2010-11-12  Waldek Hebisch  <[email protected]>
 
-	* src/interp/primitives.lisp: Work around Closure CL compiler bug.
+	* src/interp/primitives.lisp: Work around Clozure CL compiler bug.
 
 2010-11-12  Waldek Hebisch  <[email protected]>
 
@@ -12552,7 +12554,7 @@
 2010-01-08  Rainer Joswig <[email protected]>
 
 	* src/lisp/fricas-lisp.lisp: save-core-restart(): Use default
-	location of Closure CL kernel.
+	location of Clozure CL kernel.
 
 2010-01-04  Martin Rubey  <[email protected]>
 
@@ -14074,7 +14076,7 @@
 2008-10-14  Waldek Hebisch  <[email protected]>
 
 	* src/interp/util.lisp, src/lisp/fricas-lisp.lisp:  Turn
-	Closure CL based AXIOMsys into binary.
+	Clozure CL based AXIOMsys into binary.
 	src/sman/sman.c: Adjust.
 
 2008-10-13  Waldek Hebisch  <[email protected]>
@@ -14737,7 +14739,7 @@
 
 2008-05-21  Waldek Hebisch  <[email protected]>
 
-	* src/lisp/fricas-package.lisp: Fix build with Closure CL
+	* src/lisp/fricas-package.lisp: Fix build with Clozure CL
 	1.2.
 
 2008-05-21  Ralf Hemmecke  <[email protected]>
@@ -15816,7 +15818,7 @@
 	* src/interp/property.lisp.pamphlet: Remove useless or
 	redundant settings. Move some entries to
 	* src/interp/def.lisp.pamphlet: here
-	* rc/interp/spad.lisp.pamphlet: and here.
+	* src/interp/spad.lisp.pamphlet: and here.
 
 2007-10-11  Waldek Hebisch  <[email protected]>
 
diff --git a/INSTALL b/INSTALL
index 1f5b23a9..1ba4a8c4 100644
--- a/INSTALL
+++ b/INSTALL
@@ -995,7 +995,7 @@ Known problems
   Also, Clozure CL earlier than release 1.2 has bug in complex cosine
   function.  Those bugs are fixed in release 1.2.  If you want to use
   earlier version you can work around the bugs applying the
-  "contib/omcl.diff" patch and recompiling the compiler (see the
+  "contrib/omcl.diff" patch and recompiling the compiler (see the
   patch or Clozure CL documentation for instructions).
 
 - Older versions of Clisp may fail to build FriCAS complaining about
@@ -1008,7 +1008,7 @@ Aldor: https://github.com/aldorlang/aldor
 Axiom: https://www.nongnu.org/axiom/
 CLISP: http://clisp.cons.org
 Clozure CL: http://ccl.clozure.com/manual/chapter2.2.html
-CMUCL: https://www.cons.org/cmucl/
+CMUCL: https://cmucl.org
 CTAN: https://www.ctan.org/
 ECL: http://ecls.sourceforge.net
 Emacs: https://www.gnu.org/software/emacs/
diff --git a/src/algebra/ainterval.spad b/src/algebra/ainterval.spad
index bdc67939..dd335a4f 100644
--- a/src/algebra/ainterval.spad
+++ b/src/algebra/ainterval.spad
@@ -16,7 +16,7 @@ AIntervalCategory(R : OrderedAbelianSemiGroup) : Category ==
   AbelianSemiGroup with
     interval : (R, R) -> %
       ++ interval(x,y) creates a new interval \spad{[x,y]}, if
-      ++ \spad{x<=y}; returns \spad{[y,x]}, if \spad{y<x}.
+      ++ \spad{x<=y} and $\spad{[y,x]}, if \spad{y<x}.
     qinterval : (R, R) -> %
       ++ qinterval(inf,sup) creates a new interval without checking the
       ++ ordering on the elements.
diff --git a/src/algebra/catdef.spad b/src/algebra/catdef.spad
index 958fc621..540edbb4 100644
--- a/src/algebra/catdef.spad
+++ b/src/algebra/catdef.spad
@@ -1082,7 +1082,7 @@ OrderedMonoid() : Category == Join(OrderedSemiGroup, Monoid)
 ++ operations are compatible with the ordering.
 ++
 ++ Axiom:
-++   \spad{0<a and b<c => ab< ac}
+++   \spad{0<a and b<c => ab < ac}
 
 OrderedRing() : Category == Join(OrderedAbelianGroup, OrderedMonoid, Ring,
          CharacteristicZero)
diff --git a/src/algebra/evalut.spad b/src/algebra/evalut.spad
index b121a48e..b7cc9391 100644
--- a/src/algebra/evalut.spad
+++ b/src/algebra/evalut.spad
@@ -211,7 +211,7 @@ ModularEvaluationCategory(PT : Type, MP : Type) : Category == Exports where
 )abbrev package MEVAL1 ModularEvaluation1
 ++ Description:
 ++ This package implements an interface to polynomial evaluation
-++ for mulivariate polynomials.
+++ for multivariate polynomials.
 ModularEvaluation1() : Exports == Implementation where
   MP ==> Polynomial(Integer)
   Exports ==> ModularEvaluationCategory(MP, MP)
diff --git a/src/algebra/flopak.spad b/src/algebra/flopak.spad
index 8b94022b..933ccedd 100644
--- a/src/algebra/flopak.spad
+++ b/src/algebra/flopak.spad
@@ -355,7 +355,7 @@ FloatingPointConvertion : Exports == Implementation where
       fixed_mr : (F, I, mode_Rec) -> S
         ++ fixed_mr(f, d, mr) is the fixed conversion.
       floating_mr : (F, I, mode_Rec) -> S
-        ++ fixed_mr(f, d, mr) is the floating conversion.
+        ++ floating_mr(f, d, mr) is the floating conversion.
       general_mr : (F, I, mode_Rec) -> S
         ++ general_mr(f, d, mr) is the general conversion.
       convert_mr : (F, I, mode_Rec) -> S
diff --git a/src/algebra/fname.spad b/src/algebra/fname.spad
index 15285546..f04d991c 100644
--- a/src/algebra/fname.spad
+++ b/src/algebra/fname.spad
@@ -87,12 +87,12 @@ FileName() : FileNameCategory == add
             n := f::String
             if n = "" then
                 n := "."
-            r1 : Integer := writeablep(n)$Lisp
+            r1 : Integer := writablep(n)$Lisp
             r1 > 0 => true
             n := file_directory(n)$Lisp
             if n = "" then
                 n := "."
-            r1 := writeablep(n)$Lisp
+            r1 := writablep(n)$Lisp
             r1 > 0
 
         new(d, pref, e) ==
@@ -100,7 +100,7 @@ FileName() : FileNameCategory == add
                 d := "."
             r1 : Integer := file_kind(d)$Lisp
             if r1 > 0 then
-                r1 := writeablep(d)$Lisp
+                r1 := writablep(d)$Lisp
             not(r1 > 0) =>
                 error "new: directory must exist and be writable"
             new_fname(d, pref, e)$Lisp
diff --git a/src/algebra/fops.spad b/src/algebra/fops.spad
index 473ece84..8b241ba8 100644
--- a/src/algebra/fops.spad
+++ b/src/algebra/fops.spad
@@ -322,7 +322,7 @@ BasicKeyedAccessFile : Exports == Implementation where
       ++ read(f, key) reads item with the key \spad{key} from \spad{f}.
     read : (%, String, None) -> None
       ++ read(f, key, val) reads item with the key \spad{key} from
-      ++ \spad{f}.  If \spad{key} is not presents returns \spad{val}.
+      ++ \spad{f}.  If \spad{key} is not present, \spad{val} is returned.
     write! : (%, String, None) -> Void
       ++ write! writes one item to the keyed access file.
     remove! : (%, String) -> Void
diff --git a/src/algebra/fspace.spad b/src/algebra/fspace.spad
index 6d5e3f22..cda59470 100644
--- a/src/algebra/fspace.spad
+++ b/src/algebra/fspace.spad
@@ -1159,7 +1159,7 @@ FunctionSpace2(R : Comparable, K : KernelCategory(%)) : Category ==
 
 )abbrev category FS FunctionSpace
 ++ Description:
-++ Specializaton of \spadtype{FunctionSpace2} for \spadtype{Kernel}.
+++ Specialization of \spadtype{FunctionSpace2} for \spadtype{Kernel}.
 FunctionSpace(R : Comparable) : Category ==
     Join(FunctionSpace2(R, Kernel(%)), ExpressionSpace)
 
diff --git a/src/algebra/hypertex.spad b/src/algebra/hypertex.spad
index a0a93005..359f9824 100644
--- a/src/algebra/hypertex.spad
+++ b/src/algebra/hypertex.spad
@@ -657,7 +657,7 @@ BrowserInformation : Exports == Implementation where
      constructor_name? : SY -> Boolean
        ++ constructor_name?(s) returns true if and only if s is a name
        ++ of existing constructor.
-     constructor_signature : (SY) -> SE
+     constructor_signature : SY -> SE
        ++ constructor_signature(s) gives constructor signature, that
        ++ is S-expression (list) giving type of constructor and types
        ++ of arguments.
@@ -1747,7 +1747,7 @@ HyperdocUtilities() : Exports == Implementation where
                         n := integer(op)
                         n = 0 => "0"::SY
                         n = 1 => "1"::SY
-                        error "unexpeted integer as operation"
+                        error "unexpected integer as operation"
                     error "unexpected operation"
                 ns := string(ops)
                 cat := destruct(cat)(2)
diff --git a/src/algebra/ideal.spad b/src/algebra/ideal.spad
index 633ba859..8927b88b 100644
--- a/src/algebra/ideal.spad
+++ b/src/algebra/ideal.spad
@@ -6,7 +6,7 @@
 ++ Also See:
 ++ AMS Classifications:
 ++ Keywords:
-++ References: P. Gianni, B. Trager, G. Zacharias, Grobner bases
+++ References: P. Gianni, B. Trager, G. Zacharias, Groebner bases
 ++   and primary decompositions of polynomial ideals,
 ++   J. Symbolic Comput. (1988) 6, 149-167.
 ++ Description: This domain represents polynomial ideals with coefficients
diff --git a/src/algebra/kl.spad b/src/algebra/kl.spad
index 0365b60f..81383ad0 100644
--- a/src/algebra/kl.spad
+++ b/src/algebra/kl.spad
@@ -33,7 +33,7 @@ SortedCache(S : CachableSet) : Exports == Implementation where
       ++ determine whether x is equal to y. It returns x with an integer
       ++ associated with it.
     linearSearch : (S -> Boolean) -> Union(S, "failed")
-      ++ linearSearch(f) searches the cache, calling \spad{f(y)} find
+      ++ linearSearch(f) searches the cache, calling \spad{f(y)} to find
       ++ desired y.  It returns y from cache if f(y) is true or "failed"
       ++ if no such y exists.
     enterInCache : (S, (S, S) -> Integer) -> S
diff --git a/src/algebra/pgrobner.spad b/src/algebra/pgrobner.spad
index a5ee9a3e..f7b55de1 100644
--- a/src/algebra/pgrobner.spad
+++ b/src/algebra/pgrobner.spad
@@ -14,7 +14,7 @@
 ++ in either lexicographic ordering or total degree ordering refined
 ++ by reverse lex. The input is the ordinary polynomial type which
 ++ is internally converted to a type with the required ordering.
-++ The resulting grobner basis is converted back to ordinary polynomials.
+++ The resulting groebner basis is converted back to ordinary polynomials.
 ++ The ordering among the variables is controlled by an explicit list
 ++ of variables which is passed as a second argument. The coefficient
 ++ domain is allowed to be any gcd domain, but the groebner basis is
diff --git a/src/algebra/poly.spad b/src/algebra/poly.spad
index d66d346f..37695db0 100644
--- a/src/algebra/poly.spad
+++ b/src/algebra/poly.spad
@@ -62,7 +62,7 @@ FreeModuleCategory(R, S) : Category == Exports where
         if R has CommutativeRing then
              Module(R)
              linearExtend : (S->R, %)->R
-          ++ \spad{linearExtend: (f, x)} returns the linear extension
+          ++ \spad{linearExtend(f, x)} returns the linear extension
           ++ of a map defined on the basis applied to a linear combination
       add
 
diff --git a/src/algebra/pscat.spad b/src/algebra/pscat.spad
index 415ebbb1..8e6aba15 100644
--- a/src/algebra/pscat.spad
+++ b/src/algebra/pscat.spad
@@ -137,7 +137,7 @@ UnivariatePowerSeriesCategory(Coef, Expon) : Category == Definition where
 
 )abbrev category RATPSCT UnivariateSeriesWithRationalExponents
 ++ Description:
-++ This is category of power series with rational expnents.
+++ This is category of power series with rational exponents.
 UnivariateSeriesWithRationalExponents(Coef, Expon) : Category == Def where
   Coef   : Ring
   Expon  : OrderedAbelianMonoid
diff --git a/src/algebra/skpol.spad b/src/algebra/skpol.spad
index cf5292eb..e2478615 100644
--- a/src/algebra/skpol.spad
+++ b/src/algebra/skpol.spad
@@ -1,6 +1,6 @@
 )abbrev category MORECAT MultivariateSkewPolynomialCategory
 ++ Description:
-++ General catogory for skew polynomials.
+++ General category for skew polynomials.
 MultivariateSkewPolynomialCategory(R : Ring, E : OrderedAbelianMonoidSup,
     Var : OrderedSet) : Category == MaybeSkewPolynomialCategory(R, E, Var)
 
diff --git a/src/clef/e_buf.c b/src/clef/e_buf.c
index e849fdd7..c7cd1115 100644
--- a/src/clef/e_buf.c
+++ b/src/clef/e_buf.c
@@ -121,7 +121,7 @@ shift_buff(int cp, int bp, int diff) {
 }
 
 void
-null_termiante_buff(void) {
+null_terminate_buff(void) {
     buff[buff_pntr] = 0;
 }
 
diff --git a/src/clef/e_buf.h b/src/clef/e_buf.h
index d2dfc509..bfc4ecc2 100644
--- a/src/clef/e_buf.h
+++ b/src/clef/e_buf.h
@@ -24,7 +24,7 @@ extern void shift_buff(int cp, int bp, int diff);
 
 extern void store_final_buff_char(char c);
 
-extern void null_termiante_buff(void);
+extern void null_terminate_buff(void);
 extern int buff_length(void);
 extern int buff_cmp(char *s);
 
diff --git a/src/clef/edible.c b/src/clef/edible.c
index 9efc7f36..2b90008b 100644
--- a/src/clef/edible.c
+++ b/src/clef/edible.c
@@ -240,7 +240,7 @@ main(int argc, char *argv[])
   close(serverNum);
   ppid = getppid();
 
-  /* Iinitialize some stuff for the reading and writing */
+  /* Initialize some stuff for the reading and writing */
   define_function_keys();
   init_reader();
   PTY = 1;
diff --git a/src/clef/edin.c b/src/clef/edin.c
index 0c08827c..af697e07 100644
--- a/src/clef/edin.c
+++ b/src/clef/edin.c
@@ -689,7 +689,7 @@ insert_queue(void) {
     if (!ECHOIT) {
         return;
     }
-    null_termiante_buff();
+    null_terminate_buff();
     if (ring != NULL && !buff_cmp(ring->buff)) {
         return;
     }
diff --git a/src/clef/fnct_key.c b/src/clef/fnct_key.c
index fcef97bf..fad0bc5f 100644
--- a/src/clef/fnct_key.c
+++ b/src/clef/fnct_key.c
@@ -89,7 +89,7 @@ set_editor_key(void)
 
 
 
-/***  This routine id used to find the users function key mappings. It
+/***  This routine is used to find the users function key mappings. It
     simply searches the users HOME directory for a file called ".clef".
     If found it gets the key bindings from within
     *****/
@@ -168,7 +168,7 @@ get_key(int fd,char * ty) {
 
     /*
      * Determines the key number being mapped, and whether it is immediate or
-     * delay. It reurns the key value, and modifies the parameter type
+     * delay. It returns the key value, and modifies the parameter type
      */
     char keynum[1024];
     int nr;
diff --git a/src/doc/htex/EXPR.htex b/src/doc/htex/EXPR.htex
index 4dc0fd02..4f3ee61a 100644
--- a/src/doc/htex/EXPR.htex
+++ b/src/doc/htex/EXPR.htex
@@ -66,12 +66,12 @@ to use a \spadtype{Complex} coefficient domain or not is
 important since \Language{} can perform some simplifications
 on real-valued objects
 }{
-\spadcommand{log(exp  x)@Expression(Integer)}
+\spadcommand{log(exp x)@Expression(Integer)}
 }
 \xtc{
 ... which are not valid on complex ones.
 }{
-\spadcommand{log(exp  x)@Expression(Complex Integer)}
+\spadcommand{log(exp x)@Expression(Complex Integer)}
 }
 \xtc{
 Many potential coefficient domains, such as
diff --git a/src/doc/htex/ug08.htex b/src/doc/htex/ug08.htex
index f9153c56..b0406c75 100644
--- a/src/doc/htex/ug08.htex
+++ b/src/doc/htex/ug08.htex
@@ -4523,7 +4523,7 @@ We can obtain a list of all the roots in this way.
 
 The expression
 \begin{verbatim}
-- coefficient(j.factor, 0)}
+- coefficient(j.factor, 0)
 \end{verbatim}
 is the \eth{i} root
 of \smath{p(x)} and the elements of \spad{roots} are the \eth{i}
@@ -4532,7 +4532,7 @@ roots of \smath{p(x)} as \spad{i} ranges from \spad{1} to \spad{5}.
 \xtc{
 Assign the roots as the values of the variables \spad{a1,...,a5}.
 }{
-\spadcommand{(a1,a2,a3,a4,a5) := (roots.1,roots.2,roots.3,roots.4,roots.5) \free{roots} \bound{ais}}
+\spadcommand{(a1,a2,a3,a4,a5) := (roots.1,roots.2,roots.3,roots.4,roots.5); \free{roots} \bound{ais}}
 }
 %
 
diff --git a/src/doc/htex/ug13.htex b/src/doc/htex/ug13.htex
index 9124b453..a7b068e7 100644
--- a/src/doc/htex/ug13.htex
+++ b/src/doc/htex/ug13.htex
@@ -874,7 +874,7 @@ domain.
 \begin{xmpLines}
 PI ==> PositiveInteger
 Database(S): Exports == Implementation where
-  S: Object with
+  S: OrderedSet with
     elt: (%, Symbol) -> String
     display: % -> Void
     fullDisplay: % -> Void
@@ -1137,7 +1137,7 @@ constructor abbreviations you created.
 \begin{xmpLines}
 )abbrev domain  ICARD   IndexCard
 )abbrev domain  QEQUAT  QueryEquation
-)abbrev domain  MTHING  MergeThing
+)abbrev package MTHING  MergeThing
 )abbrev domain  DLIST   DataList
 )abbrev domain  DBASE   Database
 )abbrev package OPQUERY OperationsQuery
@@ -1150,9 +1150,9 @@ With all this in {\bf alql.spad}, for example, compile it using
 \end{verbatim}
 and then load each of the constructors:
 \begin{verbatim}
-)load ICARD QEQUAT MTHING DLIST DBASE OPQUERY
+)library ICARD QEQUAT MTHING DLIST DBASE OPQUERY
 \end{verbatim}
-\syscmdindex{load}
+\syscmdindex{library}
 You are ready to try some sample queries.
 
 % *********************************************************************
diff --git a/src/doc/htex/ug16.htex b/src/doc/htex/ug16.htex
index 24d837bd..5dffa140 100644
--- a/src/doc/htex/ug16.htex
+++ b/src/doc/htex/ug16.htex
@@ -170,10 +170,6 @@ Every constructor must have a unique abbreviation.
 This abbreviation is part of the name of the subdirectory
 under which the components of the compiled constructor are
 stored.
-%% BEGIN OBSOLETE
-% It is this abbreviation that is used to bring compiled code into
-% \Language{} with the {\tt )load} command.
-%% END OBSOLETE
 Furthermore, by issuing this command you
 let the system know what file to load automatically if you use a new
 constructor.
@@ -238,8 +234,7 @@ constructor name \spadtype{VectorFunctions2} from the system:
 \end{verbatim}
 
 \par\noindent{\bf Also See:}
-\titledspadref{{\tt )compile}}{ugSysCmdcompile} and
-% \titledspadref{{\tt )load}}{ugSysCmdload}.
+\titledspadref{{\tt )compile}}{ugSysCmdcompile}.
 
 
 % *********************************************************************
@@ -428,7 +423,7 @@ values for the specific objects {\tt x, y} and {\tt f}, issue
 To remove  the declarations  of everything while  leaving the  definitions and
 values, issue
 \begin{verbatim}
-)clear mode  all
+)clear mode all
 )clear m all
 \end{verbatim}
 To remove declarations for the specific objects {\tt x, y} and {\tt f}, issue
@@ -749,15 +744,6 @@ should stop at the first error.
 The value of the {\tt )set break} variable then controls what happens.
 
 
-%% BEGIN OBSOLETE
-% It is important for you to realize that it does not suffice to compile a
-% constructor to use the new code in the interpreter.
-% After compilation, the {\tt )load} command with the
-% {\tt )update} option should be used to bring in the new code
-% and update internal system tables with information about the
-% constructor.
-%% END OBSOLETE
-
 \par\noindent{\bf Also See:}
 \titledspadref{{\tt )abbreviation}}{ugSysCmdabbreviation},
 \titledspadref{{\tt )edit}}{ugSysCmdedit}, and
@@ -1213,7 +1199,7 @@ indicates that history data should be saved in an external file on disk.
 indicates that all history data should be kept in memory rather than
 saved in a file.
 Note that if you are computing with very large objects it may not be
-practical to kept this data in memory.
+practical to keep this data in memory.
 
 \item[{\tt )reset}]
 will flush the internal list of the most recent workspace calculations
@@ -1378,97 +1364,6 @@ command may be used to  drop out  of \Language{}  into \Lisp{}.
 \titledspadref{{\tt )fin}}{ugSysCmdfin}.
 
 
-
-% *********************************************************************
-\head{section}{)load}{ugSysCmdload}
-% *********************************************************************
-\syscmdindex{load}
-
-
-\par\noindent{\bf User Level Required:} interpreter
-
-%% BEGIN OBSOLETE
-% \par\noindent{\bf Command Syntax:}
-% \begin{simpleList}
-% \item{\tt )load {\it libName1  \lanb{}libName2 ...\ranb{}} \lanb{})update\ranb{}}
-% \item{\tt )load {\it libName1  \lanb{}libName2 ...\ranb{}} )cond \lanb{})update\ranb{}}
-% \item{\tt )load {\it libName1  \lanb{}libName2 ...\ranb{}} )query}
-% \item{\tt )load {\it libName1  \lanb{}libName2 ...\ranb{}} )noexpose}
-% \end{simpleList}
-%% END OBSOLETE
-
-\par\noindent{\bf Command Description:}
-
-This command is obsolete. Use \spadsys{)library} instead.
-
-%% BEGIN OBSOLETE
-
-% The {\tt )load} command is used to bring in the compiled library code
-% for constructors and update internal system tables with information
-% about the constructors.
-% This command is usually only used by \Language{} library developers.
-%
-% The abbreviation of a constructor serves as part of the name of the
-% directory in which the compiled code is stored (see
-% \spadref{ugSysCmdabbreviation} for a discussion of defining and querying
-% abbreviations).
-% The abbreviation is used in the {\tt )load} command.
-% For example, to load the constructors \spadtype{Integer},
-% \spadtype{NonNegativeInteger} and \spadtype{List} which have
-% abbreviations \spadtype{INT}, \spadtype{NNI} and \spadtype{LIST},
-% respectively, issue the command
-% \begin{verbatim}
-% )load INT NNI LIST
-% \end{verbatim}
-% To load constructors only if they have not already been
-% loaded (that is., load {\it conditionally}), use the {\tt )cond}
-% option:
-% \begin{verbatim}
-% )load INT NNI LIST )cond
-% \end{verbatim}
-% To query whether particular constructors have been loaded, use the
-% {\tt )query} option:
-% \begin{verbatim}
-% )load I NNI L )query
-% \end{verbatim}
-% When constructors are loaded from \Language{} system directories, some
-% checks and updates are not performed because it is assumed that the system
-% knows about these constructors.
-% To force these checks and updates to occur, add the {\tt )update}
-% option to the command:
-% \begin{verbatim}
-% )load INT NNI LIST )update
-% )load INT NNI LIST )cond )update
-% \end{verbatim}
-% The only time it is really necessary to use the {\tt )load} command is
-% when a new constructor has been compiled or an existing constructor has
-% been modified and then compiled.
-% If an {\tt )abbreviate} command has been issued for a constructor, it
-% will be automatically loaded when needed.
-% In particular, any constructor that comes with the \Language{} system
-% will be automatically loaded.
-%
-% If you write several interdependent constructors it is important that
-% they all get loaded when needed.
-% To accomplish this, either load them manually or issue
-% {\tt )abbreviate} commands for each of the constructors so that they
-% will be automatically loaded when needed.
-%
-% Constructors are automatically exposed in the frame in which you load
-% them unless you use the {\tt )noexpose} option.
-% \begin{verbatim}
-% )load MATCAT- )noexpose
-% \end{verbatim}
-% See \spadref{ugTypesExpose}
-% for more information about constructor exposure.
-%
-% \par\noindent{\bf Also See:}
-% \titledspadref{{\tt )abbreviation}}{ugSysCmdabbreviation} and
-% \titledspadref{{\tt )compile}}{ugSysCmdcompile}.
-
-%% END OBSOLETE
-
-
 % *********************************************************************
 \head{section}{)ltrace}{ugSysCmdltrace}
 % *********************************************************************
diff --git a/src/doc/sphinx/source/citation.rst b/src/doc/sphinx/source/citation.rst
index 14920e41..37e155ed 100644
--- a/src/doc/sphinx/source/citation.rst
+++ b/src/doc/sphinx/source/citation.rst
@@ -114,7 +114,7 @@ In the following we list publications mentioning FriCAS.
   `The modular group and words in its two generators
   <https://arxiv.org/abs/1512.02596v5>`_
   (DOI: `10.1007/s10986-017-9339-2
-  <https://doi.org/10.1007/s10986-017-9339-2>`_
+  <https://doi.org/10.1007/s10986-017-9339-2>`_)
 
 * **Ralf Hemmecke**
   (2018):
@@ -152,7 +152,7 @@ In the following we list publications mentioning FriCAS.
   `A factorization theory for some free fields
   <https://www.ieja.net/files/papers/volume-28/2-V28-2020.pdf>`_
   (DOI: `10.24330/ieja.768114
-  <https://doi.org/https://doi.org/10.24330/ieja.768114>`_)
+  <https://doi.org/10.24330/ieja.768114>`_)
 
 * **Ralf Hemmecke**, **Silviu Radu**, and **Liangjie Ye**
   (2019):
@@ -202,7 +202,7 @@ In the following we list publications mentioning FriCAS.
   `On posets and polytopes attached to arbors
   <https://www.arxiv.org/pdf/2503.04247v2>`_
   (DOI: `10.7146/math.scand.a-159563
-  <https://doi.org/10.7146/math.scand.a-159563>`_
+  <https://doi.org/10.7146/math.scand.a-159563>`_)
 
 * **Ralf Hemmecke**, **Peter Paule**, and  **Silviu Radu**
   (2026):
diff --git a/src/doc/sphinx/source/faq.rst b/src/doc/sphinx/source/faq.rst
index 7abe670b..33e7c2a0 100644
--- a/src/doc/sphinx/source/faq.rst
+++ b/src/doc/sphinx/source/faq.rst
@@ -61,11 +61,11 @@ Please sign up before posting a message.
 
 The main source of information about FriCAS is the "Axiom book" by
 Jenks and Sutor in its adaptation for FriCAS. FriCAS continues to
-update that contents of that book along with its development and calls
+update the contents of that book along with its development and calls
 it |PACKAGE_BOOK|. Its content is shown by the integrated HyperDoc
 help system. You can also access the book in .pdf form at
 https://fricas.github.io/book.pdf.
-An older version is available in in .xhtml form at
+An older version is available in .xhtml form at
 https://wiki.fricas.org/JenksSutorInXhtml.
 
 
@@ -213,7 +213,7 @@ You can use a construction like
         finally
             bits(l)
 
-to temporarily set the floating poing precision and have it reset
+to temporarily set the floating point precision and have it reset
 after the computation even if the computation (your work) results in
 an error.
 
@@ -241,7 +241,7 @@ depend on the change and which you want to use, directly or
 indirectly.
 
 Full build takes care of bootstrapping and recompiles everything, so
-after that things works in expected way.
+after that things work in expected way.
 
 
 15. Are there things in FriCAS that do not work properly?
@@ -249,7 +249,7 @@ after that things works in expected way.
 
 Yes, there are certainly, a number of them. We list here a few.
 
-* Functions that have types as their parameters work in in the
+* Functions that have types as their parameters work in the
   compiler, but not in the interpreter.
 
   See
diff --git a/src/doc/sphinx/source/install.rst b/src/doc/sphinx/source/install.rst
index 44ea43be..74913d49 100644
--- a/src/doc/sphinx/source/install.rst
+++ b/src/doc/sphinx/source/install.rst
@@ -1098,7 +1098,7 @@ Known problems
   Also, Clozure CL earlier than release 1.2 has bug in complex cosine
   function.  Those bugs are fixed in release 1.2.  If you want to use
   earlier version you can work around the bugs applying the
-  ``contib/omcl.diff`` patch and recompiling the compiler (see the
+  ``contrib/omcl.diff`` patch and recompiling the compiler (see the
   patch or Clozure CL documentation for instructions).
 
 - Older versions of Clisp may fail to build FriCAS complaining about
@@ -1111,7 +1111,7 @@ Known problems
 .. _Axiom: https://www.nongnu.org/axiom/
 .. _CLISP: http://clisp.cons.org
 .. _Clozure CL: http://ccl.clozure.com/manual/chapter2.2.html
-.. _CMUCL: https://www.cons.org/cmucl/
+.. _CMUCL: https://cmucl.org
 .. _CTAN: https://www.ctan.org/
 .. _ECL: http://ecls.sourceforge.net
 .. _Emacs: https://www.gnu.org/software/emacs/
diff --git a/src/include/cfuns-c.H1 b/src/include/cfuns-c.H1
index af23933a..2650eed2 100644
--- a/src/include/cfuns-c.H1
+++ b/src/include/cfuns-c.H1
@@ -1,2 +1,2 @@
 extern int directoryp(char *);
-extern int writeablep(char *);
+extern int writablep(char *);
diff --git a/src/interp/br-data.boot b/src/interp/br-data.boot
index 53fc3c08..d6a42973 100644
--- a/src/interp/br-data.boot
+++ b/src/interp/br-data.boot
@@ -813,7 +813,7 @@ MAKEPROP('Record, 'documentation, '(
   (_=  (((Boolean) _% _%)
    "\spad{r = s} tests for equality of two records \spad{r} and \spad{s}"))
   (coerce (((OutputForm) _%)
-   "\spad{coerce(r)} returns an representation of \spad{r} as an output form")
+   "\spad{coerce(r)} returns a representation of \spad{r} as an output form")
          ((_% (List (Any)))
    "\spad{coerce(u)}, where \spad{u} is the list \spad{[x,y]} for \spad{x} of type \spad{A} and \spad{y} of type \spad{B}, returns the record \spad{[a:x,b:y]}"))
   (construct ((_% A B)
@@ -850,12 +850,12 @@ MAKEPROP('Union, 'documentation, '(
     "\spad{u = v} tests if two objects of the union are equal, that is, \spad{u} and \spad{v} are objects of same branch which are equal."))
   (case (((Boolean) % "a")
     "\spad{u case a} tests if \spad{u} is of branch \spad{a} of the union.")
-                (((Boolean) % "b")
+        (((Boolean) % "b")
     "\spad{u case b} tests if \spad{u} is of branch \spad{b} of the union."))
   (coerce ((A %)
-    "\spad{coerce(u)} returns \spad{x} of type \spad{A} if \spad{x} is of branch \spad{a} of the union. Error: if \spad{u} is of branch \spad{b} of the union.")
+    "\spad{coerce(u)} returns \spad{x} of type \spad{A} if \spad{x} is of the branch \spad{a} of the union. Error: if \spad{u} is of the branch \spad{b} of the union.")
           ((B %)
-    "\spad{coerce(u)} returns \spad{x} of type \spad{B} if \spad{x} is of branch \spad{b} branch of the union. Error: if \spad{u} is of the \spad{a} branch of the union.")
+    "\spad{coerce(u)} returns \spad{x} of type \spad{B} if \spad{x} is of the branch \spad{b} of the union. Error: if \spad{u} is of the branch \spad{a} of the union.")
           ((% A)
     "\spad{coerce(x)}, where \spad{x} has type \spad{A}, returns \spad{x} as a union type.")
           ((% B)
@@ -871,7 +871,7 @@ MAKEPROP('Enumeration, 'documentation, '(
   (_= (((Boolean) _% _%)
     "\spad{e = f} tests for equality of two enumerations \spad{e} and \spad{f}"))
   (_^_= (((Boolean) _% _%)
-    "\spad{e ~= f} tests that two enumerations \spad{e} and \spad{f} are nont equal"))
+    "\spad{e ~= f} tests that two enumerations \spad{e} and \spad{f} are not equal"))
   (coerce (((OutputForm) _%)
      "\spad{coerce(e)} returns a representation of enumeration \spad{r} as an output form")
           ((_% (Symbol))
diff --git a/src/interp/i-syscmd.boot b/src/interp/i-syscmd.boot
index 31cc8ba8..ae6a2564 100644
--- a/src/interp/i-syscmd.boot
+++ b/src/interp/i-syscmd.boot
@@ -1393,7 +1393,7 @@ DEFPARAMETER($useInternalHistoryTable, true)
 
 history l ==
   l or null $options => say_msg("S2IH0006", CONCAT(
-      '"You have not used the correct syntax for the %b history %d command.",
+      '"You have not used the correct syntax for the %b history %d command. ",
       '"Issue %b )help history %d for more information."), NIL)
   historySpad2Cmd()
 
diff --git a/src/interp/nlib.lisp b/src/interp/nlib.lisp
index a0233789..4658e0a5 100644
--- a/src/interp/nlib.lisp
+++ b/src/interp/nlib.lisp
@@ -31,7 +31,7 @@
 
 (in-package "BOOT")
 
-; Assumes that file is postioned after end of actual data, so that
+; Assumes that file is positioned after end of actual data, so that
 ; new indextable should overwrite old indextable (or part of it),
 ; but should not overwrite data.
 (defun |write_indextable| (stream indextable)
diff --git a/src/lib/cfuns-c.c b/src/lib/cfuns-c.c
index d6375b49..5f07a644 100644
--- a/src/lib/cfuns-c.c
+++ b/src/lib/cfuns-c.c
@@ -124,7 +124,7 @@ make_path_from_file(char *s, char *t)
     return 1;
 }
 
-/* The functions writeablep() and readablep() determine write and
+/* The functions writablep() and readablep() determine write and
    read access of a file designated by its name.
 
    The access is determined based on the POSIX semantics; see
@@ -155,7 +155,7 @@ make_path_from_file(char *s, char *t)
         access to the dirname of path.  */
 
 int
-writeablep(char *path)
+writablep(char *path)
 {
     struct stat buf;
     char newpath[100];
diff --git a/src/lisp/Makefile.in b/src/lisp/Makefile.in
index 6ecf0ae8..dea8d6e3 100644
--- a/src/lisp/Makefile.in
+++ b/src/lisp/Makefile.in
@@ -1,5 +1,5 @@
 # The purpose of this Makefile is to create a fresh Lisp image,
-# $(OUT)/lisp, augmented with a useful routines defined in
+# $(OUT)/lisp, augmented with useful routines defined in
 # fricas-lisp file.  This effectively creates our own dialect
 # of Lisp, which is used during the rest of build process
 
diff --git a/src/lisp/fricas-lisp.lisp b/src/lisp/fricas-lisp.lisp
index 1beeb09c..2c6eb042 100644
--- a/src/lisp/fricas-lisp.lisp
+++ b/src/lisp/fricas-lisp.lisp
@@ -1,4 +1,4 @@
-;;; This file contains portablity and support routines which abstract away
+;;; This file contains portability and support routines which abstract away
 ;;; differences between Lisp dialects.
 
 #+gcl
@@ -567,7 +567,7 @@ with this hack and will try to convince the GCL crowd to fix this.
 
 (foreign-defs
 
-(fricas-foreign-call |writeablep| "writeablep" int
+(fricas-foreign-call |writablep| "writablep" int
         (filename c-string))
 
 #+:fricas_has_remove_directory
@@ -738,9 +738,9 @@ with this hack and will try to convince the GCL crowd to fix this.
 ;;; Chdir function
 
 (defun CHDIR (dir)
-  ;; if current working directory is changed to DIR successfully, reutrn t,
+  ;; if current working directory is changed to DIR successfully, return t,
   ;; otherwise return nil.
-  (ignore-errors ;; check return value
+  (ignore-errors
     #+:clisp
     (ext:cd dir)
     #+:cmu
diff --git a/src/lisp/fricas-package.lisp b/src/lisp/fricas-package.lisp
index dcab567d..15f7f62b 100644
--- a/src/lisp/fricas-package.lisp
+++ b/src/lisp/fricas-package.lisp
@@ -1,4 +1,4 @@
-;;; We put this in separate file to avoid problems with compilation.
+;;; We put this in a separate file to avoid problems with compilation.
 (make-package "FRICAS-LISP"
      :use (list (or (find-package "COMMON-LISP")
                     "LISP")))
@@ -49,7 +49,7 @@
           |fricas_probe_file| |run_program| |run_shell_command|
           DEFCONST |exit_with_status| MEMQ |quiet_load_alien|
           |handle_input_file| |handle_output_file| |maybe_delete_file|
-          |remove_directory| |writeablep| |openServer| |sockGetInt|
+          |remove_directory| |writablep| |openServer| |sockGetInt|
           |sockSendInt| |sockSendString| |sockGetFloat| |sockSendFloat|
           |serverSwitch| |sockSendSignal| |sockGetStringFrom|))
 
diff --git a/src/lisp/primitives.lisp b/src/lisp/primitives.lisp
index 9144de6c..de3fa064 100644
--- a/src/lisp/primitives.lisp
+++ b/src/lisp/primitives.lisp
@@ -243,7 +243,7 @@
 (deftype machine_int () '(unsigned-byte 64))
 
 ;;; (x*y + z) using 32-bit x and y and 64-bit z and assuming that
-;;; intermediate results fits into 64 bits
+;;; intermediate result fits into 64 bits
 (defmacro QSMULADD64_32 (x y z)
     `(the machine_int
          (+ (the machine_int
@@ -888,7 +888,7 @@
 ;;; Support for re-seeding the lisp random number generator.
 (defun SEEDRANDOM () (setf *random-state* (make-random-state t)))
 
-; "failed" union branch, independet of type of union
+; "failed" union branch, independent of type of union
 (defvar |$spad_failure| (cons 1 "failed"))
 
 (defmacro |trappedSpadEval| (form)

Reply via email to