From e259b37f7316117d7c0f74b53373481c94c3cf02 Mon Sep 17 00:00:00 2001
From: Jose Antonio Ortega Ruiz <jao@gnu.org>
Date: Sun, 16 Sep 2001 22:17:33 +0000
Subject: partial doc update

---
 INSTALL              | 238 +++++++++++++++++++++++++++++----------------------
 NEWS                 |   6 ++
 doc/.cvsignore       |   1 +
 doc/mdk.texi         |  22 +++--
 doc/mdk_ack.texi     |   4 +-
 doc/mdk_copying.texi |   2 +-
 doc/mdk_gstart.texi  | 148 ++++++++++++++++++++++++++++++--
 doc/mdk_index.texi   |   4 +-
 doc/mdk_install.texi |   2 +-
 doc/mdk_intro.texi   |   4 +-
 10 files changed, 305 insertions(+), 126 deletions(-)

diff --git a/INSTALL b/INSTALL
index 5ad226a..d0c3422 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,161 +1,190 @@
-1. Installing MDK
+Installing MDK
+**************
 
-     1.1 Download the source tarball
-     1.2 Requirements
-     1.3 Basic installation
-     1.4 Emacs support
-     1.5 Special configure flags
-     1.6 Supported platforms
+Download the source tarball
+===========================
 
-  ------------------------------------------------------------------------
-
-1.1 Download the source tarball
+   GNU MDK is distributed as a source tarball available for download in
+the following URLs:
 
-GNU MDK is distributed as a source tarball available for download in the
-following URLs:
+   * <ftp://ftp.gnu.org/pub/gnu/mdk> (or one of its mirrors
+     (http://www.gnu.org/prep/ftp.html))
 
-   * ftp://ftp.gnu.org/pub/gnu/mdk (or one of its mirrors)
-   * http://sourceforge.net/project/showfiles.php?group_id=13897
+   * `http://sourceforge.net/project/showfiles.php?group_id=13897'
 
-The above sites contain the latest stable releases of MDK. The development
-branch is available at:
+   The above sites contain the latest stable releases of MDK. The
+development branch is available at:
 
-   * https://savannah.gnu.org/cvs/?group_id=118
+   * `https://savannah.gnu.org/cvs/?group_id=118'
 
-After you have downloaded the source tarball, unpack it in a directory of
-your choice using the command:
+   After you have downloaded the source tarball, unpack it in a
+directory of your choice using the command:
 
-  tar xfvz mdk-X.Y.tar.gz
+     tar xfvz mdk-X.Y.tar.gz
 
 where X.Y stands for the downloaded version (the current stable release
-being version 0.3.2).
+being version {No value for `VERSION'}).
 
-  ------------------------------------------------------------------------
+Requirements
+============
 
-1.2 Requirements
+   In order to build and install MDK, you will need the following
+libraries installed in your system:
 
-In order to build and install MDK, you will need the following libraries
-installed in your system:
+   - GLIB 1.2.0 (http://www.gtk.org) (required)
 
-   * GLIB 1.2.0 (required)
-   * GNU Flex 2.3 (required)
-   * GTK+ 1.2.0 (optional)
-   * libglade (optional)
-   * GNU readline and history libraries (optional)
+   - GNU Flex 2.3 (http://www.gnu.org/software/flex/flex.html)
+     (required)
 
-If present, readline and history are used to provide command completion and
-history management to the command line MIX virtual machine, mixvm GTK+ and
-libglade are needed if you want to build the graphical interface to the MIX
-virtual machine, gmixvm.
+   - GTK 1.2.0 (http://www.gtk.org) (optional)
 
-Please note: you need both the libraries and the headers; this means both
-the library package and the `-dev' package if you do not compile your
-libraries yourself (ex: installing `libgtk1.2' and `libgtk1.2-dev' on
-Debian).
+   - Libglade (ftp://ftp.gnome.org/pub/GNOME/stable/sources/libglade/)
+     (optional)
 
-  ------------------------------------------------------------------------
+   - GNU Readline
+     (http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html)
+     (optional)
 
-1.3 Basic installation
+   - GNU Libguile 1.3 (http://www.gnu.org/software/guile) (optional)
 
-MDK uses GNU Autoconf and Automake tools, and, therefore, should be built
-and installed without hassle using the following commands inside the source
-directory:
+   If present, readline and history are used to provide command
+completion and history management to the command line MIX virtual
+machine, `mixvm'.  GTK+ and libglade are needed if you want to build
+the graphical interface to the MIX virtual machine, `gmixvm'. Finally,
+if libguile is found, the MDK utilities will be compiled with Guile
+support and will be extensible using Scheme.
 
-  ./configure
-  make
-  make install
+   *Please note*: you need both the libraries _and_ the headers; this
+means both the library package and the `-dev' package if you do not
+compile your libraries yourself (ex: installing `libgtk1.2' and
+`libgtk1.2-dev' on Debian).
 
-where the last one must be run as root.
+Basic installation
+==================
 
-The first command, configure, will setup the makefiles for your system. In
-particular, configure will look for GTK+ and libglade, and, if they are
-present, will generate the appropiate makefiles for building the gmixvm
-graphical user interface. Upon completion, you should see a message with the
-configuration results like the following:
+   MDK uses GNU Autoconf and Automake tools, and, therefore, should be
+built and installed without hassle using the following commands inside
+the source directory:
 
-  *** GNU MDK 0.3 has been successfully configured. ***
+     ./configure
+     make
+     make install
 
-  Type make to build the following utilities:
-      - mixasm (MIX assembler)
-      - mixvm (MIX virtual machine, with readline support)
-      - gmixvm (mixvm GTK+ GUI)
+where the last one must be run as root.
 
-where the last line may be missing if you lack the above mentioned
+   The first command, `configure', will setup the makefiles for your
+system. In particular, `configure' will look for GTK+ and libglade,
+and, if they are present, will generate the appropiate makefiles for
+building the `gmixvm' graphical user interface. Upon completion, you
+should see a message with the configuration results like the following:
+
+     *** GNU MDK 0.5 has been successfully configured. ***
+     
+     Type 'make' to build the following utilities:
+         - mixasm (MIX assembler)
+         - mixvm (MIX virtual machine, with readline support,
+	          with guile support)
+         - gmixvm (mixvm GTK+ GUI, with guile support)
+         - mixguile (the mixvm guile shell)
+
+where the last lines may be missing if you lack the above mentioned
 libraries.
 
-The next command, make, will actually build the MDK programs in the
-following locations:
+   The next command, `make', will actually build the MDK programs in
+the following locations:
 
-   * `mixutils/mixasm'
-   * `mixutils/mixvm'
-   * `mixgtk/gmixvm'
+   - `mixutils/mixasm'
 
-You can run these programs from within their directories, but I recommend
-you to install them in proper locations using make install from a root
-shell.
+   - `mixutils/mixvm'
 
-  ------------------------------------------------------------------------
+   - `mixgtk/gmixvm'
 
-1.4 Emacs support
+   - `mixguile/mixguile'
 
-mixvm can be run within an Emacs GUD buffer using the elisp program
-`misc/mixvm.el', kindly contributed by Philip E. King.
+   You can run these programs from within their directories, but I
+recommend you to install them in proper locations using `make install'
+from a root shell.
 
-`mixvm.el' provides an interface between MDK's mixvm and Emacs, via GUD.
-Place this file in your load-path, optionally adding the following line to
-your `.emacs' file:
+Emacs support
+=============
 
-  (autoload 'mixvm "mixvm" "mixvm/gud interaction" t)
+   `mixvm' can be run within an Emacs GUD buffer using the elisp
+program `misc/mixvm.el', kindly contributed by {No value for `PHILIP'}.
 
-  ------------------------------------------------------------------------
+   `mixvm.el' provides an interface between MDK's `mixvm' and Emacs,
+via GUD.  Place this file in your load-path, optionally adding the
+following line to your `.emacs' file:
 
-1.5 Special configure flags
+     (autoload 'mixvm "mixvm" "mixvm/gud interaction" t)
 
-You can fine tunning the configuration process using the following switches
-with configure:
+Special configure flags
+=======================
 
-User Option: --enable-gui[=yes|no]
-User Option: --disable-gui
-     Enables/disables the built of the MIX virtual machine GUI (gmixvm). If
-     the required libraries are missing (see section 1.2 Requirements) the
-     configure script with automatically disable this feature.
+   You can fine tunning the configuration process using the following
+switches with configure:
 
-User Option: --with-readline[=yes|no]
-User Option: --without-readline
-     Enables/disables the GNU Readline support for mixvm. If the required
-     libraries are missing (see section 1.2 Requirements) the configure
-     script with automatically disable this feature.
+ - User Option: -enable-gui[=yes|no]
+ - User Option: -disable-gui
+     Enables/disables the build of the MIX virtual machine GUI
+     (`gmixvm'). If the required libraries are missing (*note
+     Requirements::) the configure script with automatically disable
+     this feature.
 
-For additional, boilerplate configure options, see the `INSTALL' file, or
-run
+ - User Option: -with-guile[=yes|no]
+ - User Option: -without-guile
+     Enables/disables the Guile support for `mixvm' and `gmixvm', and
+     the build of `mixguile'.  If the required libraries are missing
+     (*note Requirements::) the configure script with automatically
+     disable this feature.
 
-  configure --help
+ - User Option: -with-readline[=yes|no]
+ - User Option: -without-readline
+     Enables/disables the GNU Readline support for `mixvm'.  If the
+     required libraries are missing (*note Requirements::) the configure
+     script with automatically disable this feature.
 
-  ------------------------------------------------------------------------
+   For additional, boilerplate configure options, see the
+   `Generic configure help' below, or run
+
+     configure --help
 
-1.6 Supported platforms
+Supported platforms
+===================
 
-GNU MDK has been tested in the following platforms:
+   GNU MDK has been tested in the following platforms:
 
    * Debian GNU/Linux 2.2/2.3
+
    * Redhat GNU/Linux 7.0 (Agustin Navarro), 6.2 (Roberto Ferrero)
-   * FreeBSD 4.2 (Ying-Chieh Liao)
+
+   * Mandrake 8.0 (Agustin Navarro)
+
+   * FreeBSD 4.2, 4.3 (Ying-Chieh Liao)
+
    * Solaris 2.8/gcc 2.95.3 (Stephen Ramsay)
+
    * MS Windows 98 SE/Cygwin 1.1.8-2 (Christoph von Nathusius)(1)
 
-(1) Caveats: Christoph has only tested mixvm and mixasm on this platform,
-using gcc 2.95.3-2, GLIB 1.2.10 and GNUreadline 4.1-2. He has reported
-missing history functionalities on a first try. If you find problems
-with history/readline functionality, please try a newer/manually
-installed readline version.
+   MDK will probably work on any GNU/Linux and BSD platform. If you try
+it in a platform not listed above, please send a mail to the author
+<jao@gnu.org>.
+
+   ---------- Footnotes ----------
+
+   (1) Caveats: Christoph has only tested `mixvm' and `mixasm' on this
+platform, using `gcc' 2.95.3-2, `GLIB' 1.2.10 and `GNUreadline' 4.1-2.
+He has reported missing history functionalities on a first try. If you
+find problems with history/readline functionality, please try a
+newer/manually installed readline version.
+
 
-MDK will probably work on any GNU/Linux and BSD platform. If you try it in a
-platform not listed above, please send a mail to the author.
 
   ------------------------------------------------------------------------
   ------------------------------------------------------------------------
  
-2. Generic configure help
+Generic configure help
+**********************
+
 
 Basic Installation
 ==================
@@ -336,3 +365,6 @@ find the X include and library files automatically, but if it doesn't,
 you can use the `configure' options `--x-includes=DIR' and
 `--x-libraries=DIR' to specify their locations.
 
+----
+
+$Id: INSTALL,v 1.4 2001/09/16 22:17:33 jao Exp $
\ No newline at end of file
diff --git a/NEWS b/NEWS
index 326af04..f5cd089 100644
--- a/NEWS
+++ b/NEWS
@@ -12,6 +12,9 @@ Please send mdk bug reports to bug-mdk@gnu.org.
 
 ** Bug fix: help messages are now correctly aligned in (g)mixvm.
 
+** Bug fix: timing statitics for the MOVE instruction are correctly
+   computed. 
+
 ---------------------------------------------------------------------------
 * Version 0.4.2 (17/08/01)
 
@@ -260,3 +263,6 @@ Copyright (C) 2000, 2001, Free Software Foundation, Inc.
    under the above conditions, provided also that they
    carry prominent notices stating who last changed them.
 
+
+---
+$Id: NEWS,v 1.34 2001/09/16 22:17:33 jao Exp $
diff --git a/doc/.cvsignore b/doc/.cvsignore
index 0128ab7..3c56128 100644
--- a/doc/.cvsignore
+++ b/doc/.cvsignore
@@ -15,6 +15,7 @@ mdk.info-1
 mdk.info-2
 mdk.info-3
 mdk.info-4
+mdk.info-5
 mdk.ky
 mdk.log
 mdk.pg
diff --git a/doc/mdk.texi b/doc/mdk.texi
index 6999267..58afc1d 100644
--- a/doc/mdk.texi
+++ b/doc/mdk.texi
@@ -102,6 +102,7 @@ helpful discussions, as well as actual code (@pxref{mixvm.el}).
 
 @menu
 * Introduction::                
+* Acknowledgments::             
 * Installing MDK::              Installing GNU MDK from the source tarball.
 * MIX and MIXAL tutorial::      Learn the innards of MIX and MIXAL.
 * Getting started::             Basic usage of the @sc{mdk} tools.
@@ -111,7 +112,6 @@ helpful discussions, as well as actual code (@pxref{mixvm.el}).
 * mixasm::                      Invoking the MIXAL assembler.
 * Problems::                    Reporting bugs.
 * Copying::                     @sc{mdk} licensing terms.
-* Acknowledgments::             
 * Concept Index::               Index of concepts.
 * Instructions and commands::   Index of MIXAL instructions and MIXVM commands.
 
@@ -131,6 +131,9 @@ helpful discussions, as well as actual code (@pxref{mixvm.el}).
 
 
 
+
+
+
 
 @detailmenu
  --- The Detailed Node Listing ---
@@ -187,6 +190,7 @@ Getting started
 * Running the program::         Running and debugging your programs.
 * Using mixguile::              Using the Scheme interpreter to run and
                                 debug your programs.
+* Using Scheme in mixvm and gmixvm::  
 
 Running the program
 
@@ -196,9 +200,15 @@ Running the program
 
 Using @code{mixguile}
 
-* The mixguile shell::          
-* Additional functions::        
-* Defining new functions::      
+* The mixguile shell::          Using the Scheme MIX virtual machine.
+* Additional functions::        Scheme functions accessing the VM.
+* Defining new functions::      Defining your own Scheme functions.
+* Hook functions::              
+
+Hook functions
+
+* Command hooks::               
+* Break hooks::                 
 
 @code{mixvm}, the MIX computer simulator
 
@@ -235,6 +245,7 @@ Copying
 @end menu
 
 @include mdk_intro.texi
+@include mdk_ack.texi
 @include mdk_install.texi
 @include mdk_tut.texi
 @include mdk_gstart.texi
@@ -244,7 +255,6 @@ Copying
 @include mdk_mixasm.texi
 @include mdk_bugs.texi
 @include mdk_copying.texi
-@include mdk_ack.texi
 @include mdk_index.texi
 @include mdk_findex.texi
 
@@ -252,4 +262,4 @@ Copying
 @contents
 @bye
 
-$Id: mdk.texi,v 1.13 2001/09/13 00:13:39 jao Exp $
+$Id: mdk.texi,v 1.14 2001/09/16 22:17:33 jao Exp $
diff --git a/doc/mdk_ack.texi b/doc/mdk_ack.texi
index 4145694..cba9251 100644
--- a/doc/mdk_ack.texi
+++ b/doc/mdk_ack.texi
@@ -4,9 +4,9 @@
 @c   Free Software Foundation, Inc.
 @c See the file mdk.texi for copying conditions.
 
-@c $Id: mdk_ack.texi,v 1.2 2001/09/14 00:48:29 jao Exp $
+@c $Id: mdk_ack.texi,v 1.3 2001/09/16 22:17:33 jao Exp $
 
-@node Acknowledgments, Concept Index, Copying, Top
+@node Acknowledgments, Installing MDK, Introduction, Top
 @comment  node-name,  next,  previous,  up
 @unnumbered Acknowledgements
 
diff --git a/doc/mdk_copying.texi b/doc/mdk_copying.texi
index bfb6b34..bbcd225 100644
--- a/doc/mdk_copying.texi
+++ b/doc/mdk_copying.texi
@@ -1,4 +1,4 @@
-@node Copying, Acknowledgments, Problems, Top
+@node Copying, Concept Index, Problems, Top
 @appendix Copying
 
 @menu
diff --git a/doc/mdk_gstart.texi b/doc/mdk_gstart.texi
index 67758f5..14a88d9 100644
--- a/doc/mdk_gstart.texi
+++ b/doc/mdk_gstart.texi
@@ -4,7 +4,7 @@
 @c   Free Software Foundation, Inc.
 @c See the file mdk.texi for copying conditions.
 
-@c $Id: mdk_gstart.texi,v 1.8 2001/09/15 02:14:01 jao Exp $
+@c $Id: mdk_gstart.texi,v 1.9 2001/09/16 22:17:33 jao Exp $
 
 @node Getting started, mixvm.el, MIX and MIXAL tutorial, Top
 @chapter Getting started
@@ -22,6 +22,7 @@ assumed; for a compact reminder, see @ref{MIX and MIXAL tutorial}.
 * Running the program::         Running and debugging your programs.
 * Using mixguile::              Using the Scheme interpreter to run and
                                 debug your programs.
+* Using Scheme in mixvm and gmixvm::  
 @end menu
 
 @node Writing a source file, Compiling, Getting started, Getting started
@@ -484,7 +485,7 @@ of executed instructions) and @code{weval} (which evaluates
 w-expressions on the fly). For a complete description of all available
 MIX commands, @xref{mixvm}.
 
-@node Using mixguile,  , Running the program, Getting started
+@node Using mixguile, Using Scheme in mixvm and gmixvm, Running the program, Getting started
 @section Using @code{mixguile}
 
 With @code{mixguile} you can run a MIX simulator embedded in a Guile
@@ -497,6 +498,7 @@ using this MIX emulator.
 * The mixguile shell::          Using the Scheme MIX virtual machine.
 * Additional functions::        Scheme functions accessing the VM.
 * Defining new functions::      Defining your own Scheme functions.
+* Hook functions::              
 @end menu
 
 @node The mixguile shell, Additional functions, Using mixguile, Using mixguile
@@ -620,7 +622,7 @@ list of these additional functions,
 In the next section, we'll see a sample of using these functions to
 extend @code{mixguile}'s functionality.
 
-@node Defining new functions,  , Additional functions, Using mixguile
+@node Defining new functions, Hook functions, Additional functions, Using mixguile
 @subsection Defining new functions
 @cindex Scheme functions
 
@@ -720,12 +722,26 @@ loads it before entering the REPL. Therefore, you can copy your
 definitions in that file, or load the @file{functions.scm} file in
 @file{mixguile.scm}.
 
-@node Hook functions
+@node Hook functions,  , Defining new functions, Using mixguile
 @subsection Hook functions
 @cindex hook function
 @cindex pre-hook
 @cindex post-hook
 
+Hooks are functions called before or after a given event occurs. In
+@code{mixguile}, you can define command and break hooks, which are
+associated, respectively, with command execution and program
+interruption events. The following sections give you a tutorial on using
+hook functions within @code{mixguile}.
+
+@menu
+* Command hooks::               
+* Break hooks::                 
+@end menu
+
+@node Command hooks, Break hooks, Hook functions, Hook functions
+@subsubsection Command hooks
+
 In the previous section, we have seen how to extend @code{mixguile}'s
 functionality through the use of user defined functions. Frequently,
 you'll write new functions that improve in some way the workings of a
@@ -787,11 +803,9 @@ Stopped at line 6:             HLT
 guile> 
 @end example
 
-You can add any number of hooks to a given command. They will be
-executed in the same order as they are registered. As a second, more
-elaborated example, let's define hooks which print the address and
-contents of a cell being modified using @code{smem}. The hook functions
-could be something like this:
+As a second, more elaborated, example, let's define hooks which print
+the address and contents of a cell being modified using @code{smem}. The
+hook functions could be something like this:
 
 @example
 (define smem-pre-hook
@@ -832,3 +846,119 @@ New contents: 100
 guile>
 @end example
 
+@cindex global hook
+
+You can add any number of hooks to a given command. They will be
+executed in the same order as they are registered. You can also define
+global post (pre) hooks, which will be called before (after) any
+@code{mixvm} command is executed. Global hook functions must admit two
+arguments, namely, a string naming the invoked command and a string list
+of its arguments, and they are installed using the Scheme functions
+@code{mix-add-global-pre-hook} and @code{mix-add-global-post-hook}. A
+simple example of global hook would be:
+
+@example
+guile> (define pre-hook
+         (lambda (cmd args)
+           (display cmd)
+           (display " invoked with arguments ")
+           (display args)
+           (newline)))
+guile> (mix-add-global-pre-hook pre-hook)
+ok
+guile> (mix-pmem 120 125)
+pmem invoked with arguments (120-125)
+0120: + 00 00 00 00 00 (0000000000)
+0121: + 00 00 00 00 00 (0000000000)
+0122: + 00 00 00 00 00 (0000000000)
+0123: + 00 00 00 00 00 (0000000000)
+0124: + 00 00 00 00 00 (0000000000)
+0125: + 00 00 00 00 00 (0000000000)
+guile>
+@end example
+
+Note that if you invoke @code{mixvm} commands within a global hook, its
+associated command hooks will be run. Thus, if you have installed both
+the @code{next} hooks described earlier and the global hook above,
+executing @code{mix-next} will yield the following result:
+
+@example
+guile> (mix-next 5)
+next invoked with arguments (5)
+slog invoked with arguments (off)
+MIXAL HELLO WORLD                                                     
+Stopped at line 7: MSG         ALF   "MIXAL"
+slog invoked with arguments (on)
+guile> 
+@end example
+
+Adventurous readers may see the above global hook as the beginning of a
+command log utility or a macro recorder that saves your commands for
+replay.
+
+@node Break hooks,  , Command hooks, Hook functions
+@subsubsection Break hooks
+
+@cindex break hook
+
+We have seen in the previous section how to associate hooks to command
+execution, but they are not the whole story. You can also associate hook
+functions to program interruption, that is, specify functions that
+should be called every time the execution of a MIX program is stopped
+due to the presence of a breakpoint, either explicit or
+conditional. Break hooks take as arguments the line number and memory
+address at which the break occurred. A simple hook that logs the line
+and address of the breakpoint could be defined as:
+
+@example
+(define break-hook
+  (lambda (line address)
+    (display "Breakpoint encountered at line ")
+    (display line)
+    (display " and address ")
+    (display address)
+    (newline)))
+@end example
+@noindent
+and installed for explicit and conditional breakpoints using
+
+@example
+(mix-add-break-hook break-hook)
+(mix-add-cond-break-hook break-hook)
+@end example
+@noindent
+after that, every time the virtual machine encounters a breakpoint,
+@code{break-code} shall be evaluated for you@footnote{You may have
+noticed that break hooks can be implemented in terms of command hooks
+associated to @code{mix-run} and @code{mix-next}. As a matter of fact,
+they @emph{are} implemented this way: take a look at the file
+@file{@emph{install_dir}/share/mdk/mix-vm-stat.scm} if you are curious.}.
+
+
+@node Using Scheme in mixvm and gmixvm,  , Using mixguile, Getting started
+@section  Using Scheme in @code{mixvm} and @code{gmixvm}
+@cindex @code{scmf}
+
+In the previous section (@pxref{Using mixguile}) we have seen how the
+Guile shell @code{mixguile} offers you the possibility of using Scheme
+to manipulate a MIx virtual machine and extend the set of commands
+offered by @code{mixvm} and @code{gmixvm}. This possibility is not
+limited to the @code{mixguile} shell. Actually, both @code{mixvm} and
+@code{gmixvm} incorporate an embedded Guile interpreter, and can
+evaluate Scheme expressions. To evaluate a single-line expression at the
+@code{mixvm} or @code{gmixvm} command prompt, simply write it and press
+return (the command parser will recognise it as a Scheme expression
+because it is parenthesized, and will pass it to the Guile
+interpreter). You can also load and evaluate a file, using the @code{scmf}
+command like this:
+
+@example
+MIX> scmf /path/to/file/file.scm
+@end example
+
+Therefore, you have at your disposal all the @code{mixguile} goodies
+described above (new functions, new command definitions, hooks...)
+inside @code{mixvm} and @code{gmixvm}. In other words, these programs
+are extensible using Scheme. See @ref{Using mixguile} for examples of
+how to do it.
+
diff --git a/doc/mdk_index.texi b/doc/mdk_index.texi
index 9c3a1db..5aaecc4 100644
--- a/doc/mdk_index.texi
+++ b/doc/mdk_index.texi
@@ -4,9 +4,9 @@
 @c   Free Software Foundation, Inc.
 @c See the file mdk.texi for copying conditions.
 
-@c $Id: mdk_index.texi,v 1.4 2001/09/13 00:13:39 jao Exp $
+@c $Id: mdk_index.texi,v 1.5 2001/09/16 22:17:33 jao Exp $
 
-@node Concept Index, Instructions and commands, Acknowledgments, Top
+@node Concept Index, Instructions and commands, Copying, Top
 @unnumbered Concept Index
 
 @cindex tail recursion
diff --git a/doc/mdk_install.texi b/doc/mdk_install.texi
index a9aa9a8..2874d79 100644
--- a/doc/mdk_install.texi
+++ b/doc/mdk_install.texi
@@ -4,7 +4,7 @@
 @c   Free Software Foundation, Inc.
 @c See the file mdk.texi for copying conditions.
 
-@node Installing MDK, MIX and MIXAL tutorial, Introduction, Top
+@node Installing MDK, MIX and MIXAL tutorial, Acknowledgments, Top
 @comment  node-name,  next,  previous,  up
 @chapter Installing @sc{mdk}
 
diff --git a/doc/mdk_intro.texi b/doc/mdk_intro.texi
index 5464980..c86ca18 100644
--- a/doc/mdk_intro.texi
+++ b/doc/mdk_intro.texi
@@ -4,9 +4,9 @@
 @c   Free Software Foundation, Inc.
 @c See the file mdk.texi for copying conditions.
 
-@c $Id: mdk_intro.texi,v 1.4 2001/09/13 00:13:39 jao Exp $
+@c $Id: mdk_intro.texi,v 1.5 2001/09/16 22:17:33 jao Exp $
 
-@node Introduction, Installing MDK, Top, Top
+@node Introduction, Acknowledgments, Top, Top
 @comment  node-name,  next,  previous,  up
 @unnumbered Introduction
 @cindex Introduction
-- 
cgit v1.2.3