| 
      
      
      From: Dieter K. <cra...@us...> - 2011-06-07 22:22:15
      
     | 
| This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima, A Computer Algebra System".
The branch, master has been updated
       via  948f8cd61909dfee300d615ce869fbe77b46f38c (commit)
       via  8e0a07643245de79687ea28cb244be0f1c9c3ae4 (commit)
       via  bdbe6737498b41793e54021eae77b6f658a7bbdd (commit)
       via  22173d5520005313e4918c2fa3045e10f6c9d00b (commit)
       via  48467a9bcaccac53206e5432d04e2c9354c26bdf (commit)
       via  af8a89cb7900b625575b8d68e61dc0c029fd5275 (commit)
       via  11c6c35f06bf6f54cbffc7bce7de6b9c25b4002d (commit)
       via  48c1d874e59e03ce2aaad79b8869ddea9e3208fb (commit)
       via  ceaffa6d619ac0c36c6ff93c51ef79b2087ebeba (commit)
       via  03ad184b46777f0e085130a907d5beaedcda32b4 (commit)
       via  4cef2adceabfa7693cf40b5e6de9c59729d34a95 (commit)
       via  e160724bee1caa059636ce12c2e95ee9c76624d4 (commit)
       via  67f709e65ebfc4c0c6fe8476de93265bd1ec2bc8 (commit)
      from  e2f3b6e1c16bcbfce844c04374e40ea98428f4ea (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 948f8cd61909dfee300d615ce869fbe77b46f38c
Author: crategus <cra...@us...>
Date:   Wed Jun 8 00:15:01 2011 +0200
    Initial commit.
    
    Adding the following symbols:
    printprops from the file Command.texi
    declare from the file Expression.texi
diff --git a/doc/info/Database.texi b/doc/info/Database.texi
new file mode 100644
index 0000000..be3a773
--- /dev/null
+++ b/doc/info/Database.texi
@@ -0,0 +1,491 @@
+@menu
+* Introduction to Maximas Database::
+* Functions and Variables for Properties::
+* Functions and Variables for Facts::
+* Functions and Variables for Predicates::
+@end menu
+
+@c -----------------------------------------------------------------------------
+@node Introduction to Maximas Database, Functions and Variables for Properties, Maximas Database, Maximas Database
+@section Introduction to Maximas Database
+@c -----------------------------------------------------------------------------
+
+@c -----------------------------------------------------------------------------
+@node Functions and Variables for Properties, Functions and Variables for Facts, Introduction to Maximas Database, Maximas Database
+@section Functions and Variables for Properties
+@c -----------------------------------------------------------------------------
+
+@c NEEDS EXPANSION, CLARIFICATION, AND EXAMPLES
+@c THIS ITEM IS EXTREMELY IMPORTANT
+@c ENSURE THAT ALL KEYWORDS RECOGNIZED BY declare HAVE THEIR OWN DOCUMENTATION ITEMS !!
+@c ALSO: HOW TO FIND THE LIST OF ALL SYMBOLS WHICH HAVE A GIVEN PROPERTY ??
+
+@c -----------------------------------------------------------------------------
+@anchor{declare}
+@deffn {Function} declare (@var{a_1}, @var{p_1}, @var{a_2}, @var{p_2}, @dots{})
+
+Assigns the atom or list of atoms @var{a_i} the property or list of properties
+@var{p_i}.  When @var{a_i} and/or @var{p_i} are lists, each of the atoms gets
+all of the properties.
+
+@code{declare} quotes its arguments.
+@code{declare} always returns @code{done}.
+
+
+As noted in the description for each declaration flag, for some flags
+@code{featurep(@var{object}, @var{feature})} returns @code{true} if @var{object}
+has been declared to have @var{feature}.  However, @code{featurep} does not
+recognize some flags; this is a bug.
+
+See also @code{features}.
+
+@code{declare} recognizes the following properties:
+
+@table @asis
+@item @code{evfun}
+Makes @var{a_i} known to @code{ev} so that the function named by @var{a_i}
+is applied when @var{a_i} appears as a flag argument of @code{ev}.
+See @code{evfun}.
+
+@item @code{evflag}
+Makes @var{a_i} known to the @code{ev} function so that @var{a_i} is bound to
+@code{true} during the execution of @code{ev} when @var{a_i} appears as a flag
+argument of @code{ev}.  See @code{evflag}.
+
+@c OBSOLETE @code{special} (RECOGNIZED BY DECLARE BUT NEVER USED ANYWHERE)
+
+@item @code{bindtest}
+Tells Maxima to trigger an error when @var{a_i} is evaluated unbound.
+
+@item @code{noun}
+Tells Maxima to parse @var{a_i} as a noun.  The effect of this is to replace
+instances of @var{a_i} with @code{'@var{a_i}} or @code{nounify(@var{a_i})},
+depending on the context.
+
+@item @code{constant}
+Tells Maxima to consider @var{a_i} a symbolic constant.
+@c WHAT MAXIMA KNOWS ABOUT SYMBOLIC CONSTANTS IS PRETTY LIMITED
+@c DUNNO IF WE WANT TO GET INTO DETAILS HERE.
+@c MAYBE IN THE DOCUMENTATION FOR CONSTANT (IF THERE IS SUCH)
+
+@item @code{scalar}
+Tells Maxima to consider @var{a_i} a scalar variable.
+
+@item @code{nonscalar}
+Tells Maxima to consider @var{a_i} a nonscalar variable.
+The usual application is to declare a variable as a symbolic vector or matrix.
+
+@item @code{nonarray}
+Tells Maxima to consider @var{a_i} not an array.  This declaration prevents
+multiple evaluation of a subscripted variable name.
+
+@item @code{mainvar}
+Tells Maxima to consider @var{a_i} a "main variable".  A main variable succeeds
+all other constants and variables in the canonical ordering of Maxima
+expressions, as determined by @code{ordergreatp}.
+
+@item @code{alphabetic}
+Tells Maxima to recognize all characters in @var{a_i} (which must be a string)
+as alphabetic characters.
+
+@item @code{feature}
+Tells Maxima to recognize @var{a_i} as the name of a feature.
+Other atoms may then be declared to have the @var{a_i} property.
+
+@item @code{rassociative}, @code{lassociative}
+Tells Maxima to recognize @var{a_i} as a right-associative or left-associative
+function.
+
+@item @code{nary}
+Tells Maxima to recognize @var{a_i} as an n-ary function.
+
+The @code{nary} declaration is not the same as calling the @code{nary} function.
+The sole effect of @code{declare(foo, nary)} is to instruct the Maxima
+simplifier to flatten nested expressions, for example, to simplify
+@code{foo(x, foo(y, z))} to @code{foo(x, y, z)}.
+
+@item @code{symmetric}, @code{antisymmetric}, @code{commutative}
+Tells Maxima to recognize @var{a_i} as a symmetric or antisymmetric function.
+@code{commutative} is the same as @code{symmetric}.
+
+@item @code{oddfun}, @code{evenfun}
+Tells Maxima to recognize @var{a_i} as an odd or even function.
+
+@item @code{outative}
+Tells Maxima to simplify @var{a_i} expressions by pulling constant factors out
+of the first argument.
+
+When @var{a_i} has one argument, a factor is considered constant if it is a
+literal or declared constant.
+
+When @var{a_i} has two or more arguments, a factor is considered constant if the
+second argument is a symbol and the factor is free of the second argument.
+
+@item @code{multiplicative}
+Tells Maxima to simplify @var{a_i} expressions by the substitution
+@code{@var{a_i}(x * y * z * ...)} @code{-->} 
+@code{@var{a_i}(x) * @var{a_i}(y) * @var{a_i}(z) * ...}.
+The substitution is carried out on the first argument only.
+
+@item @code{additive}
+Tells Maxima to simplify @var{a_i} expressions by the substitution
+@code{@var{a_i}(x + y + z + ...)} @code{-->}
+@code{@var{a_i}(x) + @var{a_i}(y) + @var{a_i}(z) + ...}.
+The substitution is carried out on the first argument only.
+
+@item @code{linear}
+Equivalent to declaring @var{a_i} both @code{outative} and @code{additive}.
+
+@c OBSOLETE @code{analytic} (RECOGNIZED BY DECLARE BUT NEVER USED ANYWHERE)
+
+@item @code{integer}, @code{noninteger}
+Tells Maxima to recognize @var{a_i} as an integer or noninteger variable.
+
+@item @code{even}, @code{odd}
+Tells Maxima to recognize @var{a_i} as an even or odd integer variable.
+
+@item @code{rational}, @code{irrational}
+Tells Maxima to recognize @var{a_i} as a rational or irrational real variable.
+
+@item @code{real}, @code{imaginary}, @code{complex}
+Tells Maxima to recognize @var{a_i} as a real, pure imaginary, or complex
+variable.
+
+@item @code{increasing}, @code{decreasing}
+Tells Maxima to recognize @var{a_i} as an increasing or decreasing function.
+@c MAXIMA FAILS TO DEDUCE F(2) > F(1) FOR INCREASING FUNCTION F
+@c AND FAILS TO DEDUCE ANYTHING AT ALL ABOUT DECREASING FUNCTIONS
+@c REPORTED AS SF BUG # 1483194
+
+@item @code{posfun}
+Tells Maxima to recognize @var{a_i} as a positive function.
+
+@item @code{integervalued}
+Tells Maxima to recognize @var{a_i} as an integer-valued function.
+
+@end table
+
+Examples:
+
+@code{evfun} and @code{evflag} declarations.
+
+@c ===beg===
+@c declare (expand, evfun);
+@c (a + b)^3;
+@c (a + b)^3, expand;
+@c declare (demoivre, evflag);
+@c exp (a + b*%i);
+@c exp (a + b*%i), demoivre;
+@c ===end===
+@example
+(%i1) declare (expand, evfun);
+(%o1)                         done
+(%i2) (a + b)^3;
+                                   3
+(%o2)                       (b + a)
+(%i3) (a + b)^3, expand;
+                     3        2      2      3
+(%o3)               b  + 3 a b  + 3 a  b + a
+(%i4) declare (demoivre, evflag);
+(%o4)                         done
+(%i5) exp (a + b*%i);
+                             %i b + a
+(%o5)                      %e
+(%i6) exp (a + b*%i), demoivre;
+                      a
+(%o6)               %e  (%i sin(b) + cos(b))
+@end example
+
+@code{bindtest} declaration.
+
+@c ===beg===
+@c aa + bb;
+@c declare (aa, bindtest);
+@c aa + bb;
+@c aa : 1234;
+@c aa + bb;
+@c ===end===
+@example
+(%i1) aa + bb;
+(%o1)                        bb + aa
+(%i2) declare (aa, bindtest);
+(%o2)                         done
+(%i3) aa + bb;
+aa unbound variable
+ -- an error.  Quitting.  To debug this try debugmode(true);
+(%i4) aa : 1234;
+(%o4)                         1234
+(%i5) aa + bb;
+(%o5)                       bb + 1234
+@end example
+
+@code{noun} declaration.
+
+@c ===beg===
+@c factor (12345678);
+@c declare (factor, noun);
+@c factor (12345678);
+@c ''%, nouns;
+@c ===end===
+@example
+(%i1) factor (12345678);
+                             2
+(%o1)                     2 3  47 14593
+(%i2) declare (factor, noun);
+(%o2)                         done
+(%i3) factor (12345678);
+(%o3)                   factor(12345678)
+(%i4) ''%, nouns;
+                             2
+(%o4)                     2 3  47 14593
+@end example
+
+@code{constant}, @code{scalar}, @code{nonscalar}, and @code{mainvar}
+declarations.
+
+@c ===beg===
+@c declare (bb, constant);
+@c declare (cc, scalar);
+@c declare (dd, nonscalar);
+@c declare (ee, mainvar);
+@c ===end===
+@example
+@end example
+
+@code{alphabetic} declaration.
+
+@c ===beg===
+@c xx\~yy\`\@ : 1729;
+@c declare ("~`@", alphabetic);
+@c xx~yy`@ + @yy`xx + `xx@@yy~;
+@c listofvars (%);
+@c ===end===
+@example
+(%i1) xx\~yy\`\@@ : 1729;
+(%o1)                         1729
+(%i2) declare ("~`@@", alphabetic);
+(%o2)                         done
+(%i3) xx~yy`@@ + @@yy`xx + `xx@@@@yy~;
+(%o3)               `xx@@@@yy~ + @@yy`xx + 1729
+(%i4) listofvars (%);
+(%o4)                  [@@yy`xx, `xx@@@@yy~]
+@end example
+
+@code{feature} declaration.
+
+@c ===beg===
+@c declare (FOO, feature);
+@c declare (x, FOO);
+@c featurep (x, FOO);
+@c ===end===
+@example
+(%i1) declare (FOO, feature);
+(%o1)                         done
+(%i2) declare (x, FOO);
+(%o2)                         done
+(%i3) featurep (x, FOO);
+(%o3)                         true
+@end example
+
+@code{rassociative} and @code{lassociative} declarations.
+
+@c ===beg===
+@c declare (F, rassociative);
+@c declare (G, lassociative);
+@c ===end===
+@example
+@end example
+
+@code{nary} declaration.
+
+@c ===beg===
+@c H (H (a, b), H (c, H (d, e)));
+@c declare (H, nary);
+@c H (H (a, b), H (c, H (d, e)));
+@c ===end===
+@example
+(%i1) H (H (a, b), H (c, H (d, e)));
+(%o1)               H(H(a, b), H(c, H(d, e)))
+(%i2) declare (H, nary);
+(%o2)                         done
+(%i3) H (H (a, b), H (c, H (d, e)));
+(%o3)                   H(a, b, c, d, e)
+@end example
+
+@code{symmetric} and @code{antisymmetric} declarations.
+
+@c ===beg===
+@c S (b, a);
+@c declare (S, symmetric);
+@c S (b, a);
+@c S (a, c, e, d, b);
+@c T (b, a);
+@c declare (T, antisymmetric);
+@c T (b, a);
+@c T (a, c, e, d, b);
+@c ===end===
+@example
+(%i1) S (b, a);
+(%o1)                        S(b, a)
+(%i2) declare (S, symmetric);
+(%o2)                         done
+(%i3) S (b, a);
+(%o3)                        S(a, b)
+(%i4) S (a, c, e, d, b);
+(%o4)                   S(a, b, c, d, e)
+(%i5) T (b, a);
+(%o5)                        T(b, a)
+(%i6) declare (T, antisymmetric);
+(%o6)                         done
+(%i7) T (b, a);
+(%o7)                       - T(a, b)
+(%i8) T (a, c, e, d, b);
+(%o8)                   T(a, b, c, d, e)
+@end example
+
+@code{oddfun} and @code{evenfun} declarations.
+
+@c ===beg===
+@c o (- u) + o (u);
+@c declare (o, oddfun);
+@c o (- u) + o (u);
+@c e (- u) - e (u);
+@c declare (e, evenfun);
+@c e (- u) - e (u);
+@c ===end===
+@example
+(%i1) o (- u) + o (u);
+(%o1)                     o(u) + o(- u)
+(%i2) declare (o, oddfun);
+(%o2)                         done
+(%i3) o (- u) + o (u);
+(%o3)                           0
+(%i4) e (- u) - e (u);
+(%o4)                     e(- u) - e(u)
+(%i5) declare (e, evenfun);
+(%o5)                         done
+(%i6) e (- u) - e (u);
+(%o6)                           0
+@end example
+
+@code{outative} declaration.
+
+@c ===beg===
+@c F1 (100 * x);
+@c declare (F1, outative);
+@c F1 (100 * x);
+@c declare (zz, constant);
+@c F1 (zz * y);
+@c ===end===
+@example
+(%i1) F1 (100 * x);
+(%o1)                       F1(100 x)
+(%i2) declare (F1, outative);
+(%o2)                         done
+(%i3) F1 (100 * x);
+(%o3)                       100 F1(x)
+(%i4) declare (zz, constant);
+(%o4)                         done
+(%i5) F1 (zz * y);
+(%o5)                       zz F1(y)
+@end example
+
+@code{multiplicative} declaration.
+
+@c ===beg===
+@c F2 (a * b * c);
+@c declare (F2, multiplicative);
+@c F2 (a * b * c);
+@c ===end===
+@example
+(%i1) F2 (a * b * c);
+(%o1)                       F2(a b c)
+(%i2) declare (F2, multiplicative);
+(%o2)                         done
+(%i3) F2 (a * b * c);
+(%o3)                   F2(a) F2(b) F2(c)
+@end example
+
+@code{additive} declaration.
+
+@c ===beg===
+@c F3 (a + b + c);
+@c declare (F3, additive);
+@c F3 (a + b + c);
+@c ===end===
+@example
+(%i1) F3 (a + b + c);
+(%o1)                     F3(c + b + a)
+(%i2) declare (F3, additive);
+(%o2)                         done
+(%i3) F3 (a + b + c);
+(%o3)                 F3(c) + F3(b) + F3(a)
+@end example
+
+@code{linear} declaration.
+
+@c ===beg===
+@c 'sum (F(k) + G(k), k, 1, inf);
+@c declare (nounify (sum), linear);
+@c 'sum (F(k) + G(k), k, 1, inf);
+@c ===end===
+@example
+(%i1) 'sum (F(k) + G(k), k, 1, inf);
+                       inf
+                       ====
+                       \
+(%o1)                   >    (G(k) + F(k))
+                       /
+                       ====
+                       k = 1
+(%i2) declare (nounify (sum), linear);
+(%o2)                         done
+(%i3) 'sum (F(k) + G(k), k, 1, inf);
+@group
+                     inf          inf
+                     ====         ====
+                     \            \
+(%o3)                 >    G(k) +  >    F(k)
+                     /            /
+                     ====         ====
+                     k = 1        k = 1
+@end group
+@end example
+
+@opencatbox
+@category{Declarations and inferences}
+@closecatbox
+@end deffn
+
+@c NEEDS WORK ESPECIALLY EXAMPLES
+@c WHOLE BUSINESS WITH PROPERTIES IS PRETTY CONFUSING, TRY TO CLEAR IT UP
+
+@c -----------------------------------------------------------------------------
+@anchor{printprops}
+@deffn  {Function} printprops (@var{a}, @var{i})
+@deffnx {Function} printprops ([@var{a_1}, @dots{}, @var{a_n}], @var{i})
+@deffnx {Function} printprops (all, @var{i})
+
+Displays the property with the indicator @var{i} associated with the atom
+@var{a}.  @var{a} may also be a list of atoms or the atom @code{all} in which
+case all of the atoms with the given property will be used.  For example,
+@code{printprops ([f, g], atvalue)}.  @code{printprops} is for properties that
+cannot otherwise be displayed, i.e.  for @mrefcomma{atvalue}@w{}
+@mrefcomma{atomgrad} @mrefcomma{gradef} and @mrefdot{matchdeclare}
+
+@opencatbox
+@category{Declarations and inferences} @category{Display functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@node Functions and Variables for Facts, Functions and Variables for Predicates, Functions and Variables for Properties, Maximas Database
+@section Functions and Variables for Facts
+@c -----------------------------------------------------------------------------
+
+@c -----------------------------------------------------------------------------
+@node Functions and Variables for Predicates, , Functions and Variables for Facts, Maximas Database
+@section Functions and Variables for Predicates
+@c -----------------------------------------------------------------------------
+
+
commit 8e0a07643245de79687ea28cb244be0f1c9c3ae4
Author: crategus <cra...@us...>
Date:   Wed Jun 8 00:12:36 2011 +0200
    Moving and adding documentation:
    
    1. Moving the function printprops to the file Database.texi.
    2. Adding a section "Functions and Variables for Display".
    2. Adding the following symbols from the file Input.texi:
       %dispflag
       absboxchar
       disp
       display
       display2d
       display_format_internal
       dispterms
       expt
       exptdispflag
       grind
       ibase
       ldisp
       ldisplay
       linel
       lispdisp
       obase
       pfeformat
       print
       stardisp
       ttyoff
diff --git a/doc/info/Command.texi b/doc/info/Command.texi
index a0c19f9..8b51971 100644
--- a/doc/info/Command.texi
+++ b/doc/info/Command.texi
@@ -1,6 +1,7 @@
 @menu
 * Introduction to Command Line::
 * Functions and Variables for Command Line::
+* Functions and Variables for Display::
 @end menu
 
 @c -----------------------------------------------------------------------------
@@ -11,7 +12,7 @@
 @c end concepts Command Line
 
 @c -----------------------------------------------------------------------------
-@node Functions and Variables for Command Line,  , Introduction to Command Line, Command Line
+@node Functions and Variables for Command Line, Functions and Variables for Display, Introduction to Command Line, Command Line
 @section Functions and Variables for Command Line
 @c -----------------------------------------------------------------------------
 
@@ -683,27 +684,6 @@ Arguments may be combined, e.g., @code{playback ([5, 10], grind, time, slow)}.
 @closecatbox
 @end deffn
 
-@c NEEDS WORK ESPECIALLY EXAMPLES
-@c WHOLE BUSINESS WITH PROPERTIES IS PRETTY CONFUSING, TRY TO CLEAR IT UP
-
-@c -----------------------------------------------------------------------------
-@anchor{printprops}
-@deffn  {Function} printprops (@var{a}, @var{i})
-@deffnx {Function} printprops ([@var{a_1}, @dots{}, @var{a_n}], @var{i})
-@deffnx {Function} printprops (all, @var{i})
-
-Displays the property with the indicator @var{i} associated with the atom
-@var{a}.  @var{a} may also be a list of atoms or the atom @code{all} in which
-case all of the atoms with the given property will be used.  For example,
-@code{printprops ([f, g], atvalue)}.  @code{printprops} is for properties that
-cannot otherwise be displayed, i.e.  for @mrefcomma{atvalue}@w{}
-@mrefcomma{atomgrad} @mrefcomma{gradef} and @mrefdot{matchdeclare}
-
-@opencatbox
-@category{Declarations and inferences} @category{Display functions}
-@closecatbox
-@end deffn
-
 @c -----------------------------------------------------------------------------
 @need 800
 @anchor{prompt}
@@ -907,3 +887,758 @@ The values are removed from the variables.  @code{values} is the empty list.
 @closecatbox
 @end defvr
 
+@c -----------------------------------------------------------------------------
+@node Functions and Variables for Display, , Functions and Variables for Command Line, Command Line
+@section Functions and Variables for Display
+@c -----------------------------------------------------------------------------
+
+@c -----------------------------------------------------------------------------
+@anchor{%dispflag}
+@defvr {Option variable} %edispflag
+Default value: @code{false}
+
+When @code{%edispflag} is @code{true}, Maxima displays @code{%e} to a negative
+exponent as a quotient.  For example, @code{%e^-x} is displayed as
+@code{1/%e^x}.
+
+Example:
+
+@c ===beg===
+@c %e^-10;
+@c %edispflag:true$
+@c %e^-10;
+@c ===end===
+@example
+(%i1) %e^-10;
+                               - 10
+(%o1)                        %e
+(%i2) %edispflag:true$
+(%i3) %e^-10;
+                               1
+(%o3)                         ----
+                                10
+                              %e
+@end example
+
+@opencatbox
+@category{Exponential and logarithm functions} @category{Display flags and variables}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{absboxchar}
+@defvr {Option variable} absboxchar
+Default value: @code{!}
+
+@code{absboxchar} is the character used to draw absolute value
+signs around expressions which are more than one line tall.
+
+@opencatbox
+@category{Display flags and variables}
+@closecatbox
+@end defvr
+
+@c AFTER REVIEWING src/displa.lisp, IT LOOKS LIKE THIS VARIABLE HAS NO EFFECT
+@c CUT IT ON THE NEXT PASS
+@c @defvar cursordisp
+@c Default value: @code{true}
+@c 
+@c When @code{cursordisp} is @code{true}, expressions are drawn by
+@c the displayer in logical sequence.  This only works with a console
+@c which can do cursor movement.  If @code{false}, expressions are
+@c printed line by line.
+@c 
+@c @code{cursordisp} is always @code{false} when a @code{writefile} is in
+@c effect.
+@c 
+@c @end defvar
+
+@c -----------------------------------------------------------------------------
+@anchor{disp}
+@deffn {Function} disp (@var{expr_1}, @var{expr_2}, @dots{})
+
+is like @code{display} but only the value of the arguments are displayed rather
+than equations.  This is useful for complicated arguments which don't have names 
+or where only the value of the argument is of interest and not the name.
+
+Examples:
+
+@c ===beg===
+@c b[1,2]:x-x^2$
+@c x:123$
+@c disp(x, b[1,2], sin(1.0));
+@c ===end===
+@example
+(%i1) b[1,2]:x-x^2$
+(%i2) x:123$
+(%i3) disp(x, b[1,2], sin(1.0));
+                               123
+
+                                  2
+                             x - x
+
+                        .8414709848078965
+
+(%o3)                         done
+@end example
+
+@opencatbox
+@category{Display functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@anchor{display}
+@deffn {Function} display (@var{expr_1}, @var{expr_2}, @dots{})
+
+Displays equations whose left side is @var{expr_i} unevaluated, and whose right
+side is the value of the expression centered on the line.  This function is 
+useful in blocks and @code{for} statements in order to have intermediate results 
+displayed.  The arguments to @code{display} are usually atoms, subscripted 
+variables, or function calls.  See also @code{disp}.
+
+Examples:
+
+@c ===beg===
+@c b[1,2]:x-x^2$
+@c x:123$
+@c display(x, b[1,2], sin(1.0));
+@c ===end===
+@example
+(%i1) b[1,2]:x-x^2$
+(%i2) x:123$
+(%i3) display(x, b[1,2], sin(1.0));
+                             x = 123
+
+                                      2
+                         b     = x - x
+                          1, 2
+
+                  sin(1.0) = .8414709848078965
+
+(%o3)                         done
+@end example
+
+@opencatbox
+@category{Display functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@anchor{display2d}
+@defvr {Option variable} display2d
+Default value: @code{true}
+
+When @code{display2d} is @code{false}, the console display is a string 
+(1-dimensional) form rather than a display (2-dimensional) form.
+
+Example:
+
+@c ===beg===
+@c x/(x^2+1);
+@c display2d:false$
+@c x/(x^2+1);
+@c ===end===
+@example
+(%i1) x/(x^2+1);
+                               x
+(%o1)                        ------
+                              2
+                             x  + 1
+(%i2) display2d:false$
+(%i3) x/(x^2+1);
+(%o3) x/(x^2+1)
+@end example
+
+@opencatbox
+@category{Display flags and variables}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{display_format_internal}
+@defvr {Option variable} display_format_internal
+Default value: @code{false}
+
+When @code{display_format_internal} is @code{true}, expressions are displayed
+without being transformed in ways that hide the internal mathematical
+representation.  The display then corresponds to what @code{inpart} returns
+rather than @code{part}.
+
+Examples:
+
+@example
+User     part       inpart
+a-b;      a - b     a + (- 1) b
+
+           a            - 1
+a/b;       -         a b
+           b
+                       1/2
+sqrt(x);   sqrt(x)    x
+
+          4 X        4
+X*4/3;    ---        - X
+           3         3
+@end example
+
+@opencatbox
+@category{Display flags and variables}
+@closecatbox
+@end defvr
+
+@c IS THIS FUNCTION STILL USEFUL ???
+@c REPHRASE, NEEDS EXAMPLES
+
+@c -----------------------------------------------------------------------------
+@anchor{dispterms}
+@deffn {Function} dispterms (@var{expr})
+
+Displays @var{expr} in parts one below the other.  That is, first the operator
+of @var{expr} is displayed, then each term in a sum, or factor in a product, or
+part of a more general expression is displayed separately.  This is useful if
+@var{expr} is too large to be otherwise displayed.  For example if @code{P1},
+@code{P2}, @dots{}  are very large expressions then the display program may run
+out of storage space in trying to display @code{P1 + P2 + ...}  all at once.
+However, @code{dispterms (P1 + P2 + ...)} displays @code{P1}, then below it
+@code{P2}, etc.  When not using @code{dispterms}, if an exponential expression
+is too wide to be displayed as @code{A^B} it appears as @code{expt (A, B)} (or
+as @code{ncexpt (A, B)} in the case of @code{A^^B}).
+
+@opencatbox
+@category{Display functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@anchor{expt}
+@deffn {Function} expt (@var{a}, @var{b})
+
+If an exponential expression is too wide to be displayed as
+@code{@var{a}^@var{b}} it appears as @code{expt (@var{a}, @var{b})} (or as
+@code{ncexpt (@var{a}, @var{b})} in the case of @code{@var{a}^^@var{b}}).
+
+@c THIS SEEMS LIKE A BUG TO ME. expt, ncexpt SHOULD BE RECOGNIZED SINCE MAXIMA
+@c ITSELF PRINTS THEM SOMETIMES. THESE SHOULD JUST SIMPLIFY TO ^ AND ^^, RESPECTIVELY.
+@code{expt} and @code{ncexpt} are not recognized in input.
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@anchor{exptdispflag}
+@defvr {Option variable} exptdispflag
+Default value: @code{true}
+
+When @code{exptdispflag} is @code{true}, Maxima displays expressions
+with negative exponents using quotients, e.g., @code{X^(-1)} as @code{1/X}.
+
+@opencatbox
+@category{Expressions} @category{Display flags and variables}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{grind}
+@deffn  {Function} grind (@var{expr})
+@deffnx {Option variable} grind
+
+The function @code{grind} prints @var{expr} to the console in a form suitable
+for input to Maxima.  @code{grind} always returns @code{done}.
+
+When @var{expr} is the name of a function or macro, @code{grind} prints the
+function or macro definition instead of just the name.
+
+See also @code{string}, which returns a string instead of printing its output.
+@code{grind} attempts to print the expression in a manner which makes it
+slightly easier to read than the output of @code{string}.
+
+When the variable @code{grind} is @code{true}, the output of @code{string} and
+@code{stringout} has the same format as that of @code{grind}; otherwise no
+attempt is made to specially format the output of those functions.  The default
+value of the variable @code{grind} is @code{false}.
+
+@code{grind} can also be specified as an argument of @code{playback}.  When
+@code{grind} is present, @code{playback} prints input expressions in the same
+format as the @code{grind} function.  Otherwise, no attempt is made to specially
+format input expressions.
+
+@code{grind} evaluates its argument.
+
+Examples:
+
+@c ===beg===
+@c aa + 1729;
+@c grind (%);
+@c [aa, 1729, aa + 1729];
+@c grind (%);
+@c matrix ([aa, 17], [29, bb]);
+@c grind (%);
+@c set (aa, 17, 29, bb);
+@c grind (%);
+@c exp (aa / (bb + 17)^29);
+@c grind (%);
+@c expr: expand ((aa + bb)^10);
+@c grind (expr);
+@c string (expr);
+@c cholesky (A):= block ([n : length (A), L : copymatrix (A),
+@c   p : makelist (0, i, 1, length (A))], 
+@c   for i thru n do for j : i thru n do
+@c   (x : L[i, j], x : x - sum (L[j, k] * L[i, k], k, 1, i - 1), 
+@c   if i = j then @c   p[i] : 1 / sqrt(x) else L[j, i] : x * p[i]), 
+@c   for i thru n do L[i, i] : 1 / p[i],
+@c   for i thru n do for j : i + 1 thru n do L[i, j] : 0, L)$
+@c grind (cholesky);
+@c string (fundef (cholesky));
+@c ===end===
+@example
+(%i1) aa + 1729;
+(%o1)                       aa + 1729
+(%i2) grind (%);
+aa+1729$
+(%o2)                         done
+(%i3) [aa, 1729, aa + 1729];
+(%o3)                 [aa, 1729, aa + 1729]
+(%i4) grind (%);
+[aa,1729,aa+1729]$
+(%o4)                         done
+(%i5) matrix ([aa, 17], [29, bb]);
+                           [ aa  17 ]
+(%o5)                      [        ]
+                           [ 29  bb ]
+(%i6) grind (%);
+matrix([aa,17],[29,bb])$
+(%o6)                         done
+(%i7) set (aa, 17, 29, bb);
+(%o7)                   @{17, 29, aa, bb@}
+(%i8) grind (%);
+@{17,29,aa,bb@}$
+(%o8)                         done
+(%i9) exp (aa / (bb + 17)^29);
+                                aa
+                            -----------
+                                     29
+                            (bb + 17)
+(%o9)                     %e
+(%i10) grind (%);
+%e^(aa/(bb+17)^29)$
+(%o10)                        done
+(%i11) expr: expand ((aa + bb)^10);
+         10           9        2   8         3   7         4   6
+(%o11) bb   + 10 aa bb  + 45 aa  bb  + 120 aa  bb  + 210 aa  bb
+         5   5         6   4         7   3        8   2
+ + 252 aa  bb  + 210 aa  bb  + 120 aa  bb  + 45 aa  bb
+        9        10
+ + 10 aa  bb + aa
+(%i12) grind (expr);
+bb^10+10*aa*bb^9+45*aa^2*bb^8+120*aa^3*bb^7+210*aa^4*bb^6
+     +252*aa^5*bb^5+210*aa^6*bb^4+120*aa^7*bb^3+45*aa^8*bb^2
+     +10*aa^9*bb+aa^10$
+(%o12)                        done
+(%i13) string (expr);
+(%o13) bb^10+10*aa*bb^9+45*aa^2*bb^8+120*aa^3*bb^7+210*aa^4*bb^6\
++252*aa^5*bb^5+210*aa^6*bb^4+120*aa^7*bb^3+45*aa^8*bb^2+10*aa^9*\
+bb+aa^10
+(%i14) cholesky (A):= block ([n : length (A), L : copymatrix (A),
+  p : makelist (0, i, 1, length (A))], for i thru n do
+  for j : i thru n do
+  (x : L[i, j], x : x - sum (L[j, k] * L[i, k], k, 1, i - 1),
+  if i = j then p[i] : 1 / sqrt(x) else L[j, i] : x * p[i]),
+  for i thru n do L[i, i] : 1 / p[i],
+  for i thru n do for j : i + 1 thru n do L[i, j] : 0, L)$
+(%i15) grind (cholesky);
+cholesky(A):=block(
+         [n:length(A),L:copymatrix(A),
+          p:makelist(0,i,1,length(A))],
+         for i thru n do
+             (for j from i thru n do
+                  (x:L[i,j],x:x-sum(L[j,k]*L[i,k],k,1,i-1),
+                   if i = j then p[i]:1/sqrt(x)
+                       else L[j,i]:x*p[i])),
+         for i thru n do L[i,i]:1/p[i],
+         for i thru n do (for j from i+1 thru n do L[i,j]:0),L)$
+(%o15)                        done
+(%i16) string (fundef (cholesky));
+(%o16) cholesky(A):=block([n:length(A),L:copymatrix(A),p:makelis\
+t(0,i,1,length(A))],for i thru n do (for j from i thru n do (x:L\
+[i,j],x:x-sum(L[j,k]*L[i,k],k,1,i-1),if i = j then p[i]:1/sqrt(x\
+) else L[j,i]:x*p[i])),for i thru n do L[i,i]:1/p[i],for i thru \
+n do (for j from i+1 thru n do L[i,j]:0),L)
+@end example
+
+@opencatbox
+@category{Display functions} @category{Display flags and variables}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@anchor{ibase}
+@defvr {Option variable} ibase
+Default value: 10
+
+@code{ibase} is the base for integers read by Maxima.
+
+@code{ibase} may be assigned any integer between 2 and 36 (decimal), inclusive.
+When @code{ibase} is greater than 10,
+the numerals comprise the decimal numerals 0 through 9
+plus letters of the alphabet A, B, C, @dots{},
+as needed to make @code{ibase} digits in all.
+Letters are interpreted as digits only if the first digit is 0 through 9.
+Uppercase and lowercase letters are not distinguished.
+The numerals for base 36, the largest acceptable base,
+comprise 0 through 9 and A through Z.
+
+Whatever the value of @code{ibase},
+when an integer is terminated by a decimal point,
+it is interpreted in base 10.
+
+See also @code{obase}.
+
+Examples:
+
+@code{ibase} less than 10.
+
+@c ===beg===
+@c ibase : 2 $
+@c obase;
+@c 1111111111111111;
+@c ===end===
+@example
+(%i1) ibase : 2 $
+(%i2) obase;
+(%o2)                          10
+(%i3) 1111111111111111;
+(%o3)                         65535
+@end example
+
+@code{ibase} greater than 10.
+Letters are interpreted as digits only if the first digit is 0 through 9.
+
+@c ===beg===
+@c ibase : 16 $
+@c obase;
+@c 1000;
+@c abcd;
+@c symbolp (abcd);
+@c 0abcd;
+@c symbolp (0abcd);
+@c ===end===
+@example
+(%i1) ibase : 16 $
+(%i2) obase;
+(%o2)                          10
+(%i3) 1000;
+(%o3)                         4096
+(%i4) abcd;
+(%o4)                         abcd
+(%i5) symbolp (abcd);
+(%o5)                         true
+(%i6) 0abcd;
+(%o6)                         43981
+(%i7) symbolp (0abcd);
+(%o7)                         false
+@end example
+
+When an integer is terminated by a decimal point,
+it is interpreted in base 10.
+
+@c ===beg===
+@c ibase : 36 $
+@c obase;
+@c 1234;
+@c 1234.;
+@c ===end===
+@example
+(%i1) ibase : 36 $
+(%i2) obase;
+(%o2)                          10
+(%i3) 1234;
+(%o3)                         49360
+(%i4) 1234.;
+(%o4)                         1234
+@end example
+
+@opencatbox
+@category{Console interaction}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{ldisp}
+@deffn {Function} ldisp (@var{expr_1}, @dots{}, @var{expr_n})
+
+Displays expressions @var{expr_1}, @dots{}, @var{expr_n} to the console as
+printed output.  @code{ldisp} assigns an intermediate expression label to each
+argument and returns the list of labels.
+
+See also @code{disp}.
+
+@example
+(%i1) e: (a+b)^3;
+                                   3
+(%o1)                       (b + a)
+(%i2) f: expand (e);
+                     3        2      2      3
+(%o2)               b  + 3 a b  + 3 a  b + a
+(%i3) ldisp (e, f);
+                                   3
+(%t3)                       (b + a)
+
+                     3        2      2      3
+(%t4)               b  + 3 a b  + 3 a  b + a
+
+(%o4)                      [%t3, %t4]
+(%i4) %t3;
+                                   3
+(%o4)                       (b + a)
+(%i5) %t4;
+                     3        2      2      3
+(%o5)               b  + 3 a b  + 3 a  b + a
+@end example
+
+@opencatbox
+@category{Display functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@anchor{ldisplay}
+@deffn {Function} ldisplay (@var{expr_1}, @dots{}, @var{expr_n})
+
+Displays expressions @var{expr_1}, @dots{}, @var{expr_n} to the console as
+printed output.  Each expression is printed as an equation of the form
+@code{lhs = rhs} in which @code{lhs} is one of the arguments of @code{ldisplay}
+and @code{rhs} is its value.  Typically each argument is a variable.
+@code{ldisp} assigns an intermediate expression label to each equation and
+returns the list of labels.
+
+See also @code{display}.
+
+@example
+(%i1) e: (a+b)^3;
+                                   3
+(%o1)                       (b + a)
+(%i2) f: expand (e);
+                     3        2      2      3
+(%o2)               b  + 3 a b  + 3 a  b + a
+(%i3) ldisplay (e, f);
+                                     3
+(%t3)                     e = (b + a)
+
+                       3        2      2      3
+(%t4)             f = b  + 3 a b  + 3 a  b + a
+
+(%o4)                      [%t3, %t4]
+(%i4) %t3;
+                                     3
+(%o4)                     e = (b + a)
+(%i5) %t4;
+                       3        2      2      3
+(%o5)             f = b  + 3 a b  + 3 a  b + a
+@end example
+
+@opencatbox
+@category{Display functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@anchor{linel}
+@defvr {Option variable} linel
+Default value: 79
+
+@code{linel} is the assumed width (in characters) of the console display for the
+purpose of displaying expressions.  @code{linel} may be assigned any value by
+the user, although very small or very large values may be impractical.  Text
+printed by built-in Maxima functions, such as error messages and the output of
+@code{describe}, is not affected by @code{linel}.
+
+@opencatbox
+@category{Display flags and variables}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{lispdisp}
+@defvr {Option variable} lispdisp
+Default value: @code{false}
+
+When @code{lispdisp} is @code{true}, Lisp symbols are displayed with a leading
+question mark @code{?}.  Otherwise, Lisp symbols are displayed with no leading
+mark.
+
+Examples:
+
+@c ===beg===
+@c lispdisp: false$
+@c ?foo + ?bar;
+@c lispdisp: true$
+@c ?foo + ?bar;
+@c ===end===
+@example
+(%i1) lispdisp: false$
+(%i2) ?foo + ?bar;
+(%o2)                       foo + bar
+(%i3) lispdisp: true$
+(%i4) ?foo + ?bar;
+(%o4)                      ?foo + ?bar
+@end example
+
+@opencatbox
+@category{Display flags and variables}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{obase}
+@defvr {Option variable} obase
+Default value: 10
+
+@code{obase} is the base for integers displayed by Maxima.
+
+@code{obase} may be assigned any integer between 2 and 36 (decimal), inclusive.
+When @code{obase} is greater than 10,
+the numerals comprise the decimal numerals 0 through 9
+plus capital letters of the alphabet A, B, C, @dots{}, as needed.
+A leading 0 digit is displayed if the leading digit is otherwise a letter.
+The numerals for base 36, the largest acceptable base,
+comprise 0 through 9, and A through Z.
+
+See also @code{ibase}.
+
+Examples:
+
+@c ===beg===
+@c obase : 2;
+@c 2^8 - 1;
+@c obase : 8;
+@c 8^8 - 1;
+@c obase : 16;
+@c 16^8 - 1;
+@c obase : 36;
+@c 36^8 - 1;
+@c ===end===
+@example
+(%i1) obase : 2;
+(%o1)                          10
+(%i2) 2^8 - 1;
+(%o10)                      11111111
+(%i3) obase : 8;
+(%o3)                          10
+(%i4) 8^8 - 1;
+(%o4)                       77777777
+(%i5) obase : 16;
+(%o5)                          10
+(%i6) 16^8 - 1;
+(%o6)                       0FFFFFFFF
+(%i7) obase : 36;
+(%o7)                          10
+(%i8) 36^8 - 1;
+(%o8)                       0ZZZZZZZZ
+@end example
+
+@opencatbox
+@category{Display flags and variables} @category{Console interaction}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{pfeformat}
+@defvr {Option variable} pfeformat
+Default value: @code{false}
+
+When @code{pfeformat} is @code{true}, a ratio of integers is displayed with the
+solidus (forward slash) character, and an integer denominator @code{n} is
+displayed as a leading multiplicative term @code{1/n}.
+
+@example
+(%i1) pfeformat: false$
+(%i2) 2^16/7^3;
+                              65536
+(%o2)                         -----
+                               343
+(%i3) (a+b)/8;
+                              b + a
+(%o3)                         -----
+                                8
+(%i4) pfeformat: true$ 
+(%i5) 2^16/7^3;
+(%o5)                       65536/343
+(%i6) (a+b)/8;
+(%o6)                      1/8 (b + a)
+@end example
+
+@opencatbox
+@category{Display flags and variables}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{print}
+@deffn {Function} print (@var{expr_1}, @dots{}, @var{expr_n})
+
+Evaluates and displays @var{expr_1}, @dots{}, @var{expr_n} one after another,
+from left to right, starting at the left edge of the console display.
+
+The value returned by @code{print} is the value of its last argument.
+@code{print} does not generate intermediate expression labels.
+
+See also @code{display}, @code{disp}, @code{ldisplay}, and @code{ldisp}.
+Those functions display one expression per line, while @code{print} attempts
+to display two or more expressions per line.
+
+To display the contents of a file, see @code{printfile}.
+
+@example
+(%i1) r: print ("(a+b)^3 is", expand ((a+b)^3), "log (a^10/b) is",
+      radcan (log (a^10/b)))$
+            3        2      2      3
+(a+b)^3 is b  + 3 a b  + 3 a  b + a  log (a^10/b) is 
+
+                                              10 log(a) - log(b) 
+(%i2) r;
+(%o2)                  10 log(a) - log(b)
+(%i3) disp ("(a+b)^3 is", expand ((a+b)^3), "log (a^10/b) is",
+      radcan (log (a^10/b)))$
+                           (a+b)^3 is
+
+                     3        2      2      3
+                    b  + 3 a b  + 3 a  b + a
+
+                         log (a^10/b) is
+
+                       10 log(a) - log(b)
+@end example
+
+@opencatbox
+@category{Display functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@anchor{stardisp}
+@defvr {Option variable} stardisp
+Default value: @code{false}
+
+When @code{stardisp} is @code{true}, multiplication is
+displayed with an asterisk @code{*} between operands.
+
+@opencatbox
+@category{Display flags and variables}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{ttyoff}
+@defvr {Option variable} ttyoff
+Default value: @code{false}
+
+When @code{ttyoff} is @code{true}, output expressions are not displayed.
+Output expressions are still computed and assigned labels.  See @code{labels}.
+
+Text printed by built-in Maxima functions, such as error messages and the output
+of @code{describe}, is not affected by @code{ttyoff}.
+
+@opencatbox
+@category{Display flags and variables}
+@closecatbox
+@end defvr
+
commit bdbe6737498b41793e54021eae77b6f658a7bbdd
Author: crategus <cra...@us...>
Date:   Wed Jun 8 00:08:28 2011 +0200
    Adding some nodes for cross references
diff --git a/doc/info/Special.texi b/doc/info/Special.texi
index 4dbde94..f5f09e1 100644
--- a/doc/info/Special.texi
+++ b/doc/info/Special.texi
@@ -11,8 +11,10 @@
 * Functions and Variables for Special Functions::  
 @end menu
 
+@c -----------------------------------------------------------------------------
 @node Introduction to Special Functions, Bessel Functions, Special Functions, Special Functions
 @section Introduction to Special Functions
+@c -----------------------------------------------------------------------------
 
 Special function notation follows:
 
@@ -59,10 +61,15 @@ parabolic_cylinder_d (v,z)     Parabolic cylinder D function
 @category{Bessel functions} @category{Airy functions} @category{Special functions}
 @closecatbox
 
+@c -----------------------------------------------------------------------------
 @node Bessel Functions, Airy Functions, Introduction to Special Functions, Special Functions
-
 @section Bessel Functions
+@c -----------------------------------------------------------------------------
+
+@c -----------------------------------------------------------------------------
+@anchor{bessel_j}
 @deffn {Function} bessel_j (@var{v}, @var{z})
+
 The Bessel function of the first kind of order @math{v} and argument @math{z}.
 
 @code{bessel_j} is defined as
@@ -91,7 +98,10 @@ although the infinite series is not used for computations.
 @closecatbox
 @end deffn
 
+@c -----------------------------------------------------------------------------
+@anchor{bessel_y}
 @deffn {Function} bessel_y (@var{v}, @var{z})
+
 The Bessel function of the second kind of order @math{v} and argument @math{z}.
 
 @code{bessel_y} is defined as
@@ -116,8 +126,12 @@ the limit as @math{v} approaches @math{n} is taken.
 @closecatbox
 @end deffn
 
+@c -----------------------------------------------------------------------------
+@anchor{bessel_i}
 @deffn {Function} bessel_i (@var{v}, @var{z})
-The modified Bessel function of the first kind of order @math{v} and argument @math{z}.
+
+The modified Bessel function of the first kind of order @math{v} and argument
+@math{z}.
 
 @code{bessel_i} is defined as
 @ifnottex
@@ -144,8 +158,12 @@ although the infinite series is not used for computations.
 @closecatbox
 @end deffn
 
+@c -----------------------------------------------------------------------------
+@anchor{bessel_k}
 @deffn {Function} bessel_k (@var{v}, @var{z})
-The modified Bessel function of the second kind of order @math{v} and argument @math{z}.
+
+The modified Bessel function of the second kind of order @math{v} and argument
+@math{z}.
 
 @code{bessel_k} is defined as
 @ifnottex
@@ -168,7 +186,9 @@ then the limit as @math{v} approaches @math{n} is taken.
 @end deffn
 
 @c -----------------------------------------------------------------------------
+@anchor{hankel_1}
 @deffn {Function} hankel_1 (@var{v}, @var{z})
+
 The Hankel function of the first kind of order @math{v} and argument @math{z}
 (A&S 9.1.3). @code{hankel_1} is defined as
 
@@ -247,7 +267,9 @@ order @math{v} is not supported. Maxima returns a noun form:
 @end deffn
 
 @c -----------------------------------------------------------------------------
+@anchor{hankel_2}
 @deffn {Function} hankel_2 (@var{v}, @var{z})
+
 The Hankel function of the second kind of order @math{v} and argument @math{z}
 (A&S 9.1.4). @code{hankel_2} is defined as
 
@@ -272,6 +294,8 @@ For examples see @code{hankel_1}.
 @closecatbox
 @end deffn
 
+@c -----------------------------------------------------------------------------
+@anchor{besselexpand}
 @defvr {Option variable} besselexpand
 Default value: @code{false}
 
@@ -301,9 +325,9 @@ the Bessel function is expanded.
 @category{Bessel functions} @category{Simplification flags and variables} 
 @category{Special functions}
 @closecatbox
-
 @end defvr
 
+@c -----------------------------------------------------------------------------
 @deffn {Function} scaled_bessel_i (@var{v}, @var{z}) 
 
 The scaled modified Bessel function of the first kind of order
@@ -328,13 +352,16 @@ Identical to @code{scaled_bessel_i(0,z)}.
 @closecatbox
 @end deffn
 
-@deffn {Function} scaled_bessel_i1 (@var{z}) 
+@c -----------------------------------------------------------------------------
+@deffn {Function} scaled_bessel_i1 (@var{z})
+
 Identical to @code{scaled_bessel_i(1,z)}.
 @opencatbox
 @category{Bessel functions} @category{Special functions}
 @closecatbox
 @end deffn
 
+@c -----------------------------------------------------------------------------
 @deffn {Function} %s [@var{u},@var{v}] (@var{z}) 
 Lommel's little s[u,v](z) function.  
 Probably Gradshteyn & Ryzhik 8.570.1.
@@ -343,10 +370,11 @@ Probably Gradshteyn & Ryzhik 8.570.1.
 @closecatbox
 @end deffn
 
-
-
+@c -----------------------------------------------------------------------------
 @node Airy Functions, Gamma and factorial Functions, Bessel Functions, Special Functions
 @section Airy Functions
+@c -----------------------------------------------------------------------------
+
 The Airy functions Ai(x) and Bi(x) are defined in Abramowitz and Stegun,
 @i{Handbook of Mathematical Functions}, Section 10.4. 
 
@@ -368,7 +396,7 @@ See also @code{airy_bi}, @code{airy_dai}, @code{airy_dbi}.
 @closecatbox
 @end deffn
 
-
+@c -----------------------------------------------------------------------------
 @deffn {Function} airy_dai (@var{x})
 The derivative of the Airy function Ai @code{airy_ai(x)}. 
 
@@ -379,6 +407,7 @@ See @code{airy_ai}.
 @closecatbox
 @end deffn
 
+@c -----------------------------------------------------------------------------
 @deffn {Function} airy_bi (@var{x})
 The Airy function Bi(x).  (A&S 10.4.3)
 
@@ -391,7 +420,7 @@ See @code{airy_ai}, @code{airy_dbi}.
 @closecatbox
 @end deffn
 
-
+@c -----------------------------------------------------------------------------
 @deffn {Function} airy_dbi (@var{x})
 The derivative of the Airy Bi function @code{airy_bi(x)}.
 
@@ -402,14 +431,17 @@ See @code{airy_ai} and @code{airy_bi}.
 @closecatbox
 @end deffn
 
+@c -----------------------------------------------------------------------------
 @node Gamma and factorial Functions, Exponential Integrals, Airy Functions, Special Functions
 @section Gamma and factorial Functions
+@c -----------------------------------------------------------------------------
 
 The gamma function and the related beta, psi and incomplete gamma 
 functions are defined in Abramowitz and Stegun,
 @i{Handbook of Mathematical Functions}, Chapter 6.
 
 @c -----------------------------------------------------------------------------
+@anchor{gamma}
 @deffn {Function} gamma (@var{z})
 
 The basic definition of the gamma function (A&S 6.1.1) is
@@ -599,6 +631,7 @@ $$\Gamma\left(a , z_{1}, z_{2}\right)=\int_{z_{1}}^{z_{2}}{t^{a-1}\,e^ {- t }\;d
 @end deffn
 
 @c -----------------------------------------------------------------------------
+@anchor{gammalim}
 @defvr {Option variable} gammalim
 Default value: 1000000
 
@@ -617,6 +650,9 @@ simplification of the result of @code{gamma} of an integer argument as well.
 
 @c NEED CROSS REFS HERE
 @c NEED EXAMPLES HERE
+
+@c -----------------------------------------------------------------------------
+@anchor{makegamma}
 @deffn {Function} makegamma (@var{expr})
 Transforms instances of binomial, factorial, and beta
 functions in @var{expr} into gamma functions.
@@ -628,6 +664,7 @@ See also @code{makefact}.
 @closecatbox
 @end deffn
 
+@c -----------------------------------------------------------------------------
 @deffn {Function} beta (@var{a}, @var{b})
 The beta function is defined as @code{gamma(a) gamma(b)/gamma(a+b)} 
 (A&S 6.2.1).
commit 22173d5520005313e4918c2fa3045e10f6c9d00b
Author: crategus <cra...@us...>
Date:   Wed Jun 8 00:07:43 2011 +0200
    Adding the node distribute_over
diff --git a/doc/info/Simplification.texi b/doc/info/Simplification.texi
index 34987ad..7395134 100644
--- a/doc/info/Simplification.texi
+++ b/doc/info/Simplification.texi
@@ -99,6 +99,7 @@ time.
 @end deffn
 
 @c -----------------------------------------------------------------------------
+@anchor{distribute_over}
 @defvr {Option variable} distribute_over
 Default value: @code{true}
 
commit 48467a9bcaccac53206e5432d04e2c9354c26bdf
Author: crategus <cra...@us...>
Date:   Wed Jun 8 00:07:00 2011 +0200
    Moving allbut to the file Expressions.texi
diff --git a/doc/info/Operators.texi b/doc/info/Operators.texi
index 2964be4..e11f6ba 100644
--- a/doc/info/Operators.texi
+++ b/doc/info/Operators.texi
@@ -1228,61 +1228,6 @@ applied to expressions of the form @code{sum(x[i],i,lower-limit,upper-limit)}.
 @closecatbox
 @end defvr
 
-@c NEEDS TO BE REWORKED. NOT CONVINCED THIS SYMBOL NEEDS ITS OWN ITEM
-@c (SHOULD BE DESCRIBED IN CONTEXT OF EACH FUNCTION WHICH RECOGNIZES IT)
-
-@c -----------------------------------------------------------------------------
-@anchor{allbut}
-@defvr {Keyword} allbut
-
-works with the @code{part} commands (i.e.  @code{part}, @code{inpart},
-@code{substpart}, @code{substinpart}, @code{dpart}, and @code{lpart}).
-For example,
-
-@c ===beg===
-@c expr : e + d + c + b + a;
-@c part (expr, [2, 5]);
-@c ===end===
-@example
-(%i1) expr : e + d + c + b + a;
-(%o1)                   e + d + c + b + a
-(%i2) part (expr, [2, 5]);
-(%o2)                         d + a
-@end example
-
-while
-
-@c ===beg===
-@c expr : e + d + c + b + a;
-@c part (expr, allbut (2, 5));
-@c ===end===
-@example
-(%i1) expr : e + d + c + b + a;
-(%o1)                   e + d + c + b + a
-(%i2) part (expr, allbut (2, 5));
-(%o2)                       e + c + b
-@end example
-
-@code{allbut} is also recognized by @code{kill}.
-
-@c ===beg===
-@c [aa : 11, bb : 22, cc : 33, dd : 44, ee : 55];
-@c kill (allbut (cc, dd));
-@c [aa, bb, cc, dd];
-@c ===end===
-@example
-(%i1) [aa : 11, bb : 22, cc : 33, dd : 44, ee : 55];
-(%o1)                 [11, 22, 33, 44, 55]
-(%i2) kill (allbut (cc, dd));
-(%o0)                         done
-(%i1) [aa, bb, cc, dd];
-(%o1)                   [aa, bb, 33, 44]
-@end example
-
-@code{kill(allbut(@var{a_1}, @var{a_2}, ...))} has the effect of @code{kill(all)}
-except that it does not kill the symbols @var{a_1}, @var{a_2}, @dots{}
-@end defvr
-
 @c -----------------------------------------------------------------------------
 @anchor{antisymmetric}
 @defvr {Declaration} antisymmetric
commit af8a89cb7900b625575b8d68e61dc0c029fd5275
Author: crategus <cra...@us...>
Date:   Wed Jun 8 00:06:20 2011 +0200
    Moving aliases and args to the file Expressions.texi
diff --git a/doc/info/Miscellaneous.texi b/doc/info/Miscellaneous.texi
index eb6145e..39c987f 100644
--- a/doc/info/Miscellaneous.texi
+++ b/doc/info/Miscellaneous.texi
@@ -36,20 +36,6 @@ system browser.
 @c -----------------------------------------------------------------------------
 
 @c -----------------------------------------------------------------------------
-@anchor{aliases}
-@defvr {System variable} aliases
-Default value: @code{[]}
-
-@code{aliases} is the list of atoms which have a user defined alias (set up by
-the @code{alias}, @code{ordergreat}, @code{orderless} functions or by declaring
-the atom a @code{noun} with @code{declare}).
-
-@opencatbox
-@category{Declarations and inferences} @category{Global variables}
-@closecatbox
-@end defvr
-
-@c -----------------------------------------------------------------------------
 @anchor{alphabetic}
 @defvr {Declaration} alphabetic
 
@@ -83,29 +69,6 @@ Example:
 @closecatbox
 @end defvr
 
-@c THE FUNCTION APRPOS IS MOVED TO THE FILE HELP.TEXI
-
-@c -----------------------------------------------------------------------------
-@anchor{args}
-@deffn {Function} args (@var{expr})
-
-Returns the list of arguments of @code{expr},
-which may be any kind of expression other than an atom.
-Only the arguments of the top-level operator are extracted;
-subexpressions of @code{expr} appear as elements or subexpressions of elements
-of the list of arguments.
-
-The order of the items in the list may depend on the global flag @code{inflag}.
-
-@code{args (@var{expr})} is equivalent to @code{substpart ("[", @var{expr}, 0)}.
-See also @code{substpart}, and @code{op}.
-
-@c NEEDS EXAMPLES
-@opencatbox
-@category{Expressions}
-@closecatbox
-@end deffn
-
 @c -----------------------------------------------------------------------------
 @anchor{genindex}
 @defvr {Option variable} genindex
commit 11c6c35f06bf6f54cbffc7bce7de6b9c25b4002d
Author: crategus <cra...@us...>
Date:   Wed Jun 8 00:05:21 2011 +0200
    Moving and adding functions:
    
    1. Moving the function at to the file Differentiation.texi
    2. Moving the function declare to the file Database.texi
    3. Adding the following symbols:
       from Miscellaneous.texi:
         aliases
         args
       from Operators.texi:
         allbut
       from Lists.texi:
         atom
       from Input.texi:
         collapse
diff --git a/doc/info/Expressions.texi b/doc/info/Expressions.texi
index 55cec47..f45fe5b 100644
--- a/doc/info/Expressions.texi
+++ b/doc/info/Expressions.texi
@@ -411,66 +411,108 @@ etc.  Any even number of arguments may be used.
 @end deffn
 
 @c -----------------------------------------------------------------------------
-@anchor{at}
-@deffn  {Function} at (@var{expr}, [@var{eqn_1}, @dots{}, @var{eqn_n}])
-@deffnx {Function} at (@var{expr}, @var{eqn})
+@anchor{aliases}
+@defvr {System variable} aliases
+Default value: @code{[]}
 
-Evaluates the expression @var{expr} with the variables assuming the values as
-specified for them in the list of equations @code{[@var{eqn_1}, ...,
-@var{eqn_n}]} or the single equation @var{eqn}.
+@code{aliases} is the list of atoms which have a user defined alias (set up by
+the @code{alias}, @code{ordergreat}, @code{orderless} functions or by declaring
+the atom a @code{noun} with @code{declare}).
 
-If a subexpression depends on any of the variables for which a value is
-specified but there is no @code{atvalue} specified and it can't be otherwise
-evaluated, then a noun form of the @code{at} is returned which displays in a
-two-dimensional form.
+@opencatbox
+@category{Declarations and inferences} @category{Global variables}
+@closecatbox
+@end defvr
 
-@code{at} carries out multiple substitutions in parallel.
+@c NEEDS TO BE REWORKED. NOT CONVINCED THIS SYMBOL NEEDS ITS OWN ITEM
+@c (SHOULD BE DESCRIBED IN CONTEXT OF EACH FUNCTION WHICH RECOGNIZES IT)
 
-See also @code{atvalue}.  For other functions which carry out substitutions,
-see also @code{subst} and @code{ev}.
+@c -----------------------------------------------------------------------------
+@anchor{allbut}
+@defvr {Keyword} allbut
 
-Examples:
+works with the @code{part} commands (i.e.  @code{part}, @code{inpart},
+@code{substpart}, @code{substinpart}, @code{dpart}, and @code{lpart}).
+For example,
 
 @c ===beg===
-@c atvalue (f(x,y), [x = 0, y = 1], a^2);
-@c atvalue ('diff (f(x,y), x), x = 0, 1 + y);
-@c printprops (all, atvalue);
-@c diff (4*f(x, y)^2 - u(x, y)^2, x);
-@c at (%, [x = 0, y = 1]);
+@c expr : e + d + c + b + a;
+@c part (expr, [2, 5]);
 @c ===end===
 @example
-(%i1) atvalue (f(x,y), [x = 0, y = 1], a^2);
-                                2
-(%o1)                          a
-(%i2) atvalue ('diff (f(x,y), x), x = 0, 1 + y);
-(%o2)                        @@2 + 1
-(%i3) printprops (all, atvalue);
-                                !
-                  d             !
-                 --- (f(@@1, @@2))!       = @@2 + 1
-                 d@@1            !
-                                !@@1 = 0
+(%i1) expr : e + d + c + b + a;
+(%o1)                   e + d + c + b + a
+(%i2) part (expr, [2, 5]);
+(%o2)                         d + a
+@end example
 
-                                     2
-                          f(0, 1) = a
+while
 
-(%o3)                         done
-(%i4) diff (4*f(x, y)^2 - u(x, y)^2, x);
-                  d                          d
-(%o4)  8 f(x, y) (-- (f(x, y))) - 2 u(x, y) (-- (u(x, y)))
-                  dx                         dx
-(%i5) at (%, [x = 0, y = 1]);
-@group
-                                         !
-              2              d           !
-(%o5)     16 a  - 2 u(0, 1) (-- (u(x, y))!            )
-                             dx          !
-                                         !x = 0, y = 1
-@end group
+@c ===beg===
+@c expr : e + d + c + b + a;
+@c part (expr, allbut (2, 5));
+@c ===end===
+@example
+(%i1) expr : e + d + c + b + a;
+(%o1)                   e + d + c + b + a
+(%i2) part (expr, allbut (2, 5));
+(%o2)                       e + c + b
+@end example
+
+@code{allbut} is also recognized by @code{kill}.
+
+@c ===beg===
+@c [aa : 11, bb : 22, cc : 33, dd : 44, ee : 55];
+@c kill (allbut (cc, dd));
+@c [aa, bb, cc, dd];
+@c ===end===
+@example
+(%i1) [aa : 11, bb : 22, cc : 33, dd : 44, ee : 55];
+(%o1)                 [11, 22, 33, 44, 55]
+(%i2) kill (allbut (cc, dd));
+(%o0)                         done
+(%i1) [aa, bb, cc, dd];
+(%o1)                   [aa, bb, 33, 44]
 @end example
 
+@code{kill(allbut(@var{a_1}, @var{a_2}, ...))} has the effect of @code{kill(all)}
+except that it does not kill the symbols @var{a_1}, @var{a_2}, @dots{}
+@end defvr
+
+@c ------------------------------...
 
[truncated message content] |