aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-04-18 06:11:42 +0000
committerdos-reis <gdr@axiomatics.org>2009-04-18 06:11:42 +0000
commite865a85b43caa6f453304e836dae3b62ca73c635 (patch)
treec0fc52edfcd7d0e5b4febdc251c24ba8a6b89608
parent6ad3412bc13d3ae7a5f7f68260a90ae1bd536e03 (diff)
downloadopen-axiom-e865a85b43caa6f453304e836dae3b62ca73c635.tar.gz
Fix SF/2757715
* Makefile.pamphlet (all-input): Make all-doc a requirement. (all-doc): Tidy. * doc/Makefile.in: Likewise. Install help files. * doc/help: New. Home for help files.
-rwxr-xr-xconfigure18
-rw-r--r--configure.ac2
-rw-r--r--configure.ac.pamphlet2
-rw-r--r--src/ChangeLog8
-rw-r--r--src/Makefile.in4
-rw-r--r--src/Makefile.pamphlet4
-rw-r--r--src/doc/Makefile.in28
-rw-r--r--src/doc/help/abbreviation.help77
-rw-r--r--src/doc/help/boot.help33
-rw-r--r--src/doc/help/cd.help41
-rw-r--r--src/doc/help/clear.help87
-rw-r--r--src/doc/help/close.help45
-rw-r--r--src/doc/help/display.help79
-rw-r--r--src/doc/help/edit.help52
-rw-r--r--src/doc/help/fin.help28
-rw-r--r--src/doc/help/frame.help99
-rw-r--r--src/doc/help/help.help123
-rw-r--r--src/doc/help/history.help145
-rw-r--r--src/doc/help/library.help62
-rw-r--r--src/doc/help/lisp.help34
-rw-r--r--src/doc/help/load.help17
-rw-r--r--src/doc/help/ltrace.help27
-rw-r--r--src/doc/help/nclef.help46
-rw-r--r--src/doc/help/pquit.help51
-rw-r--r--src/doc/help/quit.help49
-rw-r--r--src/doc/help/read.help43
-rw-r--r--src/doc/help/savesystem.help44
-rw-r--r--src/doc/help/set.help60
-rw-r--r--src/doc/help/show.help56
-rw-r--r--src/doc/help/spool.help37
-rw-r--r--src/doc/help/synonym.help52
-rw-r--r--src/doc/help/system.help42
-rw-r--r--src/doc/help/trace.help224
-rw-r--r--src/doc/help/undo.help65
-rw-r--r--src/doc/help/what.help85
-rw-r--r--src/interp/util.lisp2
36 files changed, 1836 insertions, 35 deletions
diff --git a/configure b/configure
index 1c85b3b6..6c8cfac5 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.60 for OpenAxiom 1.3.0-2009-04-15.
+# Generated by GNU Autoconf 2.60 for OpenAxiom 1.3.0-2009-04-17.
#
# Report bugs to <open-axiom-bugs@lists.sf.net>.
#
@@ -713,8 +713,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='OpenAxiom'
PACKAGE_TARNAME='openaxiom'
-PACKAGE_VERSION='1.3.0-2009-04-15'
-PACKAGE_STRING='OpenAxiom 1.3.0-2009-04-15'
+PACKAGE_VERSION='1.3.0-2009-04-17'
+PACKAGE_STRING='OpenAxiom 1.3.0-2009-04-17'
PACKAGE_BUGREPORT='open-axiom-bugs@lists.sf.net'
ac_unique_file="src/Makefile.pamphlet"
@@ -1406,7 +1406,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures OpenAxiom 1.3.0-2009-04-15 to adapt to many kinds of systems.
+\`configure' configures OpenAxiom 1.3.0-2009-04-17 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1476,7 +1476,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of OpenAxiom 1.3.0-2009-04-15:";;
+ short | recursive ) echo "Configuration of OpenAxiom 1.3.0-2009-04-17:";;
esac
cat <<\_ACEOF
@@ -1580,7 +1580,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-OpenAxiom configure 1.3.0-2009-04-15
+OpenAxiom configure 1.3.0-2009-04-17
generated by GNU Autoconf 2.60
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1594,7 +1594,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by OpenAxiom $as_me 1.3.0-2009-04-15, which was
+It was created by OpenAxiom $as_me 1.3.0-2009-04-17, which was
generated by GNU Autoconf 2.60. Invocation command line was
$ $0 $@
@@ -26808,7 +26808,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by OpenAxiom $as_me 1.3.0-2009-04-15, which was
+This file was extended by OpenAxiom $as_me 1.3.0-2009-04-17, which was
generated by GNU Autoconf 2.60. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -26857,7 +26857,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-OpenAxiom config.status 1.3.0-2009-04-15
+OpenAxiom config.status 1.3.0-2009-04-17
configured by $0, generated by GNU Autoconf 2.60,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/configure.ac b/configure.ac
index 82f1b5ce..a3a2abf9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
sinclude(config/open-axiom.m4)
sinclude(config/aclocal.m4)
-AC_INIT([OpenAxiom], [1.3.0-2009-04-15],
+AC_INIT([OpenAxiom], [1.3.0-2009-04-17],
[open-axiom-bugs@lists.sf.net])
AC_CONFIG_AUX_DIR(config)
diff --git a/configure.ac.pamphlet b/configure.ac.pamphlet
index ef055f30..706f4762 100644
--- a/configure.ac.pamphlet
+++ b/configure.ac.pamphlet
@@ -1131,7 +1131,7 @@ information:
<<Autoconf init>>=
sinclude(config/open-axiom.m4)
sinclude(config/aclocal.m4)
-AC_INIT([OpenAxiom], [1.3.0-2009-04-15],
+AC_INIT([OpenAxiom], [1.3.0-2009-04-17],
[open-axiom-bugs@lists.sf.net])
@
diff --git a/src/ChangeLog b/src/ChangeLog
index e20f0f34..172ef0e5 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
+2009-04-18 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ Fix SF/2757715
+ * Makefile.pamphlet (all-input): Make all-doc a requirement.
+ (all-doc): Tidy.
+ * doc/Makefile.in: Likewise. Install help files.
+ * doc/help: New. Home for help files.
+
2009-04-16 Gabriel Dos Reis <gdr@cs.tamu.edu>
Fix SF/2763053
diff --git a/src/Makefile.in b/src/Makefile.in
index bdbdfbe0..825c0b29 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -34,7 +34,7 @@ all-share:
$(mkdir_p) "$(axiom_target_libdir)"
cd share && $(MAKE) $@
all-doc:
- cd doc && $(MAKE) $@
+ $(mkdir_p) "$(axiom_target_docdir)"/help && cd doc && $(MAKE) $@
all-lib:
@cd lib && $(MAKE) $@
all-lisp: all-lib
@@ -52,7 +52,7 @@ all-algebra: all-interpsys all-share all-hyper-pre
all-hyper-pre: all-lib
cd hyper && $(MAKE) all-hyper-pre
-all-input: all-axiomsys
+all-input: all-axiomsys all-doc
cd input && ${MAKE}
all-asq: all-hyper-post
cd etc && $(MAKE) $@
diff --git a/src/Makefile.pamphlet b/src/Makefile.pamphlet
index eca2e764..296d3608 100644
--- a/src/Makefile.pamphlet
+++ b/src/Makefile.pamphlet
@@ -199,7 +199,7 @@ test input files are compared against known good results to ensure
that nothing has been broken in the process of fixing bugs.
<<inputdir>>=
-all-input: all-axiomsys
+all-input: all-axiomsys all-doc
cd input && ${MAKE}
@
@@ -227,7 +227,7 @@ The \File{doc/} directory contains code used for documenting Axiom.
<<docdir>>=
all-doc:
- cd doc && $(MAKE) $@
+ $(mkdir_p) "$(axiom_target_docdir)"/help && cd doc && $(MAKE) $@
@
\subsection{The \File{graph/} directory}
diff --git a/src/doc/Makefile.in b/src/doc/Makefile.in
index 96b6fe31..31b56941 100644
--- a/src/doc/Makefile.in
+++ b/src/doc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007, Gabriel Dos Reis.
+# Copyright (C) 2007-2009, Gabriel Dos Reis.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -31,24 +31,14 @@
IN=$(axiom_src_srcdir)/doc
-MID=./$(top_builddir)/int/doc
-OUT=$(axiom_target_bindir)
+OUT=$(axiom_target_docdir)
STY=${OUT}/tex
-DVI=$(axiom_target_docdir)
-DOC=./$(top_builddir)/int/doc
subdir = src/doc/
-pamphlets = axiom.sty.pamphlet \
- axiom.bib.pamphlet \
- DeveloperNotes.pamphlet \
- Rosetta.pamphlet \
- $(booklet_SOURCES)
+pamphlets =
-FILES= ${MID}/axiom.bib ${STY}/axiom.sty \
- ${DVI}/book.dvi ${DVI}/bookvol1.dvi ${DVI}/endpaper.dvi
-
-CMDS=$(axiom_target_bindir)/booklet
+HELPFILES = $(wildcard $(IN)/help/*.help)
.PHONY: all all-doc
all: all-ax
@@ -56,17 +46,17 @@ all: all-ax
all-ax all-doc: stamp
@echo 9 finished $(builddir)
-stamp: ${CMDS}
+$(OUT)/help/%.help: $(IN)/help/%.help
+ cp -p $< $@
+
+stamp: $(patsubst $(IN)/help/%.help,$(OUT)/help/%.help,$(HELPFILES))
-rm -f stamp
$(STAMP) stamp
-dvi-local: $(FILES)
+dvi-local:
mostlyclean-local:
- -rm -f $(booklet_objects)
clean-local: mostlyclean-local
- -rm -f $(axiom_target_bindir)/booklet
- -rm -f $(booklet_sources)
distclean-local: clean-local
diff --git a/src/doc/help/abbreviation.help b/src/doc/help/abbreviation.help
new file mode 100644
index 00000000..b43de163
--- /dev/null
+++ b/src/doc/help/abbreviation.help
@@ -0,0 +1,77 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.2. )abbreviation
+==============================================================================
+
+User Level Required: compiler
+
+Command Syntax:
+
+ - )abbreviation query [nameOrAbbrev]
+ - )abbreviation category abbrev fullname [)quiet]
+ - )abbreviation domain abbrev fullname [)quiet]
+ - )abbreviation package abbrev fullname [)quiet]
+ - )abbreviation remove nameOrAbbrev
+
+Command Description:
+
+This command is used to query, set and remove abbreviations for category,
+domain and package constructors. 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. Furthermore, by
+issuing this command you let the system know what file to load automatically
+if you use a new constructor. Abbreviations must start with a letter and then
+be followed by up to seven letters or digits. Any letters appearing in the
+abbreviation must be in uppercase.
+
+When used with the query argument, this command may be used to list the name
+associated with a particular abbreviation or the abbreviation for a
+constructor. If no abbreviation or name is given, the names and corresponding
+abbreviations for all constructors are listed.
+
+The following shows the abbreviation for the constructor List:
+
+)abbreviation query List
+
+The following shows the constructor name corresponding to the abbreviation
+NNI:
+
+)abbreviation query NNI
+
+The following lists all constructor names and their abbreviations.
+
+)abbreviation query
+
+To add an abbreviation for a constructor, use this command with category,
+domain or package. The following add abbreviations to the system for a
+category, domain and package, respectively:
+
+)abbreviation domain SET Set
+)abbreviation category COMPCAT ComplexCategory
+)abbreviation package LIST2MAP ListToMap
+
+If the )quiet option is used, no output is displayed from this command. You
+would normally only define an abbreviation in a library source file. If this
+command is issued for a constructor that has already been loaded, the
+constructor will be reloaded next time it is referenced. In particular, you
+can use this command to force the automatic reloading of constructors.
+
+To remove an abbreviation, the remove argument is used. This is usually only
+used to correct a previous command that set an abbreviation for a constructor
+name. If, in fact, the abbreviation does exist, you are prompted for
+confirmation of the removal request. Either of the following commands will
+remove the abbreviation VECTOR2 and the constructor name VectorFunctions2
+from the system:
+
+)abbreviation remove VECTOR2
+)abbreviation remove VectorFunctions2
+
+Also See:
+o )compile
+
diff --git a/src/doc/help/boot.help b/src/doc/help/boot.help
new file mode 100644
index 00000000..2e6cd7e8
--- /dev/null
+++ b/src/doc/help/boot.help
@@ -0,0 +1,33 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.3. )boot
+==============================================================================
+
+User Level Required: development
+
+Command Syntax:
+
+ - )boot bootExpression
+
+Command Description:
+
+This command is used by OpenAxiom system developers to execute expressions
+written in the Boot language. For example,
+
+)boot times3(x) == 3*x
+
+creates and compiles the Lisp function ``times3'' obtained by translating the
+Boot code.
+
+Also See:
+o )fin
+o )lisp
+o )set
+o )system
+
diff --git a/src/doc/help/cd.help b/src/doc/help/cd.help
new file mode 100644
index 00000000..8eb741e0
--- /dev/null
+++ b/src/doc/help/cd.help
@@ -0,0 +1,41 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.4. )cd
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )cd directory
+
+Command Description:
+
+This command sets the OpenAxiom working current directory. The current
+directory is used for looking for input files (for )read), OpenAxiom
+library source files (for )compile), saved history environment files
+(for )history )restore), compiled OpenAxiom library files (for
+)library), and files to edit (for )edit). It is also used for writing
+spool files (via )spool), writing history input files (via )history
+)write) and history environment files (via )history )save), and
+compiled OpenAxiom library files (via )compile).
+
+If issued with no argument, this command sets the OpenAxiom current
+directory to your home directory. If an argument is used, it must be a
+valid directory name. Except for the ``)'' at the beginning of the
+command, this has the same syntax as the operating system cd command.
+
+Also See:
+o )compile
+o )edit
+o )history
+o )library
+o )read
+o )spool
+
diff --git a/src/doc/help/clear.help b/src/doc/help/clear.help
new file mode 100644
index 00000000..f5e19db1
--- /dev/null
+++ b/src/doc/help/clear.help
@@ -0,0 +1,87 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.6. )clear
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )clear all
+ - )clear completely
+ - )clear properties all
+ - )clear properties obj1 [obj2 ...]
+ - )clear value all
+ - )clear value obj1 [obj2 ...]
+ - )clear mode all
+ - )clear mode obj1 [obj2 ...]
+
+Command Description:
+
+This command is used to remove function and variable declarations,
+definitions and values from the workspace. To empty the entire workspace and
+reset the step counter to 1, issue
+
+)clear all
+
+To remove everything in the workspace but not reset the step counter, issue
+
+)clear properties all
+
+To remove everything about the object x, issue
+
+)clear properties x
+
+To remove everything about the objects x, y and f, issue
+
+)clear properties x y f
+
+The word properties may be abbreviated to the single letter ``p''.
+
+)clear p all
+)clear p x
+)clear p x y f
+
+All definitions of functions and values of variables may be removed by either
+
+)clear value all
+)clear v all
+
+This retains whatever declarations the objects had. To remove definitions and
+values for the specific objects x, y and f, issue
+
+)clear value x y f
+)clear v x y f
+
+To remove the declarations of everything while leaving the definitions and
+values, issue
+
+)clear mode all
+)clear m all
+
+To remove declarations for the specific objects x, y and f, issue
+
+)clear mode x y f
+)clear m x y f
+
+The )display names and )display properties commands may be used to see what
+is currently in the workspace.
+
+The command
+
+)clear completely
+
+does everything that )clear all does, and also clears the internal system
+function and constructor caches.
+
+Also See:
+o )display
+o )history
+o )undo
+
diff --git a/src/doc/help/close.help b/src/doc/help/close.help
new file mode 100644
index 00000000..a6d64a8c
--- /dev/null
+++ b/src/doc/help/close.help
@@ -0,0 +1,45 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.5. )close
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )close
+ - )close )quietly
+
+Command Description:
+
+This command is used to close down interpreter client processes. Such
+processes are started by HyperDoc to run OpenAxiom examples when you click on
+their text. When you have finished examining or modifying the example and you
+do not want the extra window around anymore, issue
+
+)close
+
+to the OpenAxiom prompt in the window.
+
+If you try to close down the last remaining interpreter client process,
+OpenAxiom will offer to close down the entire AXIOM session and return
+you to the operating system by displaying something like
+
+ This is the last OpenAxiom session. Do you want to kill OpenAxiom?
+
+Type "y" (followed by the Return key) if this is what you had in mind. Type
+"n" (followed by the Return key) to cancel the command.
+
+You can use the )quietly option to force OpenAxiom to close down the
+interpreter client process without closing down the entire OpenAxiom session.
+
+Also See:
+o )quit
+o )pquit
+
diff --git a/src/doc/help/display.help b/src/doc/help/display.help
new file mode 100644
index 00000000..6346cc76
--- /dev/null
+++ b/src/doc/help/display.help
@@ -0,0 +1,79 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.8. )display
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )display all
+ - )display properties
+ - )display properties all
+ - )display properties [obj1 [obj2 ...]]
+ - )display value all
+ - )display value [obj1 [obj2 ...]]
+ - )display mode all
+ - )display mode [obj1 [obj2 ...]]
+ - )display names
+ - )display operations opName
+
+Command Description:
+
+This command is used to display the contents of the workspace and signatures
+of functions with a given name. (A signature gives the argument and return
+types of a function.)
+
+The command
+
+)display names
+
+lists the names of all user-defined objects in the workspace. This is useful
+if you do not wish to see everything about the objects and need only be
+reminded of their names.
+
+The commands
+
+)display all
+)display properties
+)display properties all
+
+all do the same thing: show the values and types and declared modes of all
+variables in the workspace. If you have defined functions, their signatures
+and definitions will also be displayed.
+
+To show all information about a particular variable or user functions, for
+example, something named d, issue
+
+)display properties d
+
+To just show the value (and the type) of d, issue
+
+)display value d
+
+To just show the declared mode of d, issue
+
+)display mode d
+
+All modemaps for a given operation may be displayed by using )display
+operations. A modemap is a collection of information about a particular
+reference to an operation. This includes the types of the arguments and the
+return value, the location of the implementation and any conditions on the
+types. The modemap may contain patterns. The following displays the modemaps
+for the operation FromcomplexComplexCategory:
+
+)d op complex
+
+Also See:
+o )clear
+o )history
+o )set
+o )show
+o )what
+
diff --git a/src/doc/help/edit.help b/src/doc/help/edit.help
new file mode 100644
index 00000000..f39b5ef5
--- /dev/null
+++ b/src/doc/help/edit.help
@@ -0,0 +1,52 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.9. )edit
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )edit [filename]
+
+Command Description:
+
+This command is used to edit files. It works in conjunction with the )read
+and )compile commands to remember the name of the file on which you are
+working. By specifying the name fully, you can edit any file you wish. Thus
+
+)edit /u/julius/matrix.input
+
+will place you in an editor looking at the file /u/julius/matrix.input. By
+default, the editor is vi, but if you have an EDITOR shell environment
+variable defined, that editor will be used. When OpenAxiom is running
+under the X Window System, it will try to open a separate xterm
+running your editor if it thinks one is necessary. For example, under
+the Korn shell, if you issue
+
+export EDITOR=emacs
+
+then the emacs editor will be used by )edit.
+
+If you do not specify a file name, the last file you edited, read or compiled
+will be used. If there is no ``last file'' you will be placed in the editor
+editing an empty unnamed file.
+
+It is possible to use the )system command to edit a file directly. For
+example,
+
+)system emacs /etc/rc.tcpip
+
+calls emacs to edit the file.
+
+Also See:
+o )system
+o )compile
+o )read
+
diff --git a/src/doc/help/fin.help b/src/doc/help/fin.help
new file mode 100644
index 00000000..59b2768b
--- /dev/null
+++ b/src/doc/help/fin.help
@@ -0,0 +1,28 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.10. )fin
+==============================================================================
+
+User Level Required: development
+
+Command Syntax:
+
+ - )fin
+
+Command Description:
+
+This command is used by OpenAxiom developers to leave the OpenAxiom system
+and return to the underlying Lisp system. To return to OpenAxiom, issue
+the ``(|spad|)'' function call to Lisp. This command is deprecated and
+may be removed from future versions of OpenAxiom.
+
+Also See:
+o )pquit
+o )quit
+
diff --git a/src/doc/help/frame.help b/src/doc/help/frame.help
new file mode 100644
index 00000000..3f1b30e3
--- /dev/null
+++ b/src/doc/help/frame.help
@@ -0,0 +1,99 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.11. )frame
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )frame new frameName
+ - )frame drop [frameName]
+ - )frame next
+ - )frame last
+ - )frame names
+ - )frame import frameName [objectName1 [objectName2 ...]]
+ - )set message frame on | off
+ - )set message prompt frame
+
+Command Description:
+
+A frame can be thought of as a logical session within the physical session
+that you get when you start the system. You can have as many frames as you
+want, within the limits of your computer's storage, paging space, and so on.
+Each frame has its own step number, environment and history. You can have a
+variable named a in one frame and it will have nothing to do with anything
+that might be called a in any other frame.
+
+Some frames are created by the HyperDoc program and these can have pretty
+strange names, since they are generated automatically. To find out the names
+of all frames, issue
+
+)frame names
+
+It will indicate the name of the current frame.
+
+You create a new frame ``quark'' by issuing
+
+)frame new quark
+
+The history facility can be turned on by issuing either )set history on or
+)history )on. If the history facility is on and you are saving history
+information in a file rather than in the OpenAxiom environment then a history
+file with filename quark.axh will be created as you enter commands. If you
+wish to go back to what you were doing in the ``initial'' frame, use
+
+)frame next
+
+or
+
+)frame last
+
+to cycle through the ring of available frames to get back to ``initial''.
+
+If you want to throw away a frame (say ``quark''), issue
+
+)frame drop quark
+
+If you omit the name, the current frame is dropped.
+
+If you do use frames with the history facility on and writing to a file, you
+may want to delete some of the older history files. These are directories, so
+you may want to issue a command like rm -r quark.axh to the operating system.
+
+You can bring things from another frame by using )frame import. For example,
+to bring the f and g from the frame ``quark'' to the current frame, issue
+
+)frame import quark f g
+
+If you want everything from the frame ``quark'', issue
+
+)frame import quark
+
+You will be asked to verify that you really want everything.
+
+There are two )set flags to make it easier to tell where you are.
+
+)set message frame on | off
+
+will print more messages about frames when it is set on. By default, it is
+off.
+
+)set message prompt frame
+
+will give a prompt that looks like
+
+initial (1) ->
+
+when you start up. In this case, the frame name and step make up the prompt.
+
+Also See:
+o )history
+o )set
+
diff --git a/src/doc/help/help.help b/src/doc/help/help.help
new file mode 100644
index 00000000..ec2ea703
--- /dev/null
+++ b/src/doc/help/help.help
@@ -0,0 +1,123 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.12. )help
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )help
+ - )help commandName
+
+Command Description:
+
+This command displays help information about system commands. If you issue
+
+)help
+
+then this very text will be shown. You can also give the name or abbreviation
+of a system command to display information about it. For example,
+
+)help clear
+
+will display the description of the )clear system command.
+
+All this material is available in the OpenAxiom User Guide and in HyperDoc.
+In HyperDoc, choose the Commands item from the Reference menu.
+
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.1. Introduction
+==============================================================================
+
+
+System commands are used to perform OpenAxiom environment management. Among the
+commands are those that display what has been defined or computed, set up
+multiple logical OpenAxiom environments (frames), clear definitions, read files
+of expressions and commands, show what functions are available, and terminate
+OpenAxiom.
+
+Some commands are restricted: the commands
+
+)set userlevel interpreter
+)set userlevel compiler
+)set userlevel development
+
+set the user-access level to the three possible choices. All commands are
+available at development level and the fewest are available at interpreter
+level. The default user-level is interpreter. In addition to the )set command
+(discussed in description of command )set ) you can use the HyperDoc settings
+facility to change the user-level. Click on [Settings] here to immediately go
+to the settings facility.
+
+Each command listing begins with one or more syntax pattern descriptions plus
+examples of related commands. The syntax descriptions are intended to be easy
+to read and do not necessarily represent the most compact way of specifying
+all possible arguments and options; the descriptions may occasionally be
+redundant.
+
+All system commands begin with a right parenthesis which should be in the
+first available column of the input line (that is, immediately after the
+input prompt, if any). System commands may be issued directly to
+OpenAxiom or be included in .input files.
+
+A system command argument is a word that directly follows the command name
+and is not followed or preceded by a right parenthesis. A system command
+option follows the system command and is directly preceded by a right
+parenthesis. Options may have arguments: they directly follow the option.
+This example may make it easier to remember what is an option and what is an
+argument:
+
+ )syscmd arg1 arg2 )opt1 opt1arg1 opt1arg2 )opt2 opt2arg1 ...
+
+In the system command descriptions, optional arguments and options are
+enclosed in brackets (``['' and ``]''). If an argument or option name is in
+italics, it is meant to be a variable and must have some actual value
+substituted for it when the system command call is made. For example, the
+syntax pattern description
+
+)read fileName [)quietly]
+
+would imply that you must provide an actual file name for fileName but need
+not use the )quietly option. Thus
+
+)read matrix.input
+
+is a valid instance of the above pattern.
+
+System command names and options may be abbreviated and may be in upper or
+lower case. The case of actual arguments may be significant, depending on the
+particular situation (such as in file names). System command names and
+options may be abbreviated to the minimum number of starting letters so that
+the name or option is unique. Thus
+
+)s Integer
+
+is not a valid abbreviation for the )set command, because both )set and )show
+begin with the letter ``s''. Typically, two or three letters are sufficient
+for disambiguating names. In our descriptions of the commands, we have used
+no abbreviations for either command names or options.
+
+In some syntax descriptions we use a vertical line ``|'' to indicate that you
+must specify one of the listed choices. For example, in
+
+)set output fortran on | off
+
+only on and off are acceptable words for following boot. We also sometimes
+use ``...'' to indicate that additional arguments or options of the listed
+form are allowed. Finally, in the syntax descriptions we may also list the
+syntax of related commands.
+
diff --git a/src/doc/help/history.help b/src/doc/help/history.help
new file mode 100644
index 00000000..95a38f28
--- /dev/null
+++ b/src/doc/help/history.help
@@ -0,0 +1,145 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.13. )history
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )history )on
+ - )history )off
+ - )history )write historyInputFileName
+ - )history )show [n] [both]
+ - )history )save savedHistoryName
+ - )history )restore [savedHistoryName]
+ - )history )reset
+ - )history )change n
+ - )history )memory
+ - )history )file
+ - %
+ - %%(n)
+ - )set history on | off
+
+Command Description:
+
+The history facility within OpenAxiom allows you to restore your
+environment to that of another session and recall previous
+computational results. Additional commands allow you to review
+previous input lines and to create an .input file of the lines typed
+to OpenAxiom.
+
+OpenAxiom saves your input and output if the history facility is
+turned on (which is the default). This information is saved if either of
+
+)set history on
+)history )on
+
+has been issued. Issuing either
+
+)set history off
+)history )off
+
+will discontinue the recording of information.
+
+Whether the facility is disabled or not, the value of % in OpenAxiom always
+refers to the result of the last computation. If you have not yet entered
+anything, % evaluates to an object of type Variable('%). The function %% may
+be used to refer to other previous results if the history facility is
+enabled. In that case, %%(n) is the output from step n if n > 0. If n < 0,
+the step is computed relative to the current step. Thus %%(-1) is also the
+previous step, %%(-2), is the step before that, and so on. If an invalid step
+number is given, OpenAxiom will signal an error.
+
+The environment information can either be saved in a file or entirely in
+memory (the default). Each frame ( description of command )frame ) has its
+own history database. When it is kept in a file, some of it may also be kept
+in memory for efficiency. When the information is saved in a file, the name
+of the file is of the form FRAME.axh where ``FRAME'' is the name of the
+current frame. The history file is placed in the current working directory
+(see description of command )cd ). Note that these history database files are
+not text files (in fact, they are directories themselves), and so are not in
+human-readable format.
+
+The options to the )history command are as follows:
+
+ )change n
+ will set the number of steps that are saved in memory to n. This option
+ only has effect when the history data is maintained in a file. If you
+ have issued )history )memory (or not changed the default) there is no
+ need to use )history )change.
+
+ )on
+ will start the recording of information. If the workspace is not empty,
+ you will be asked to confirm this request. If you do so, the workspace
+ will be cleared and history data will begin being saved. You can also
+ turn the facility on by issuing )set history on.
+
+ )off
+ will stop the recording of information. The )history )show command will
+ not work after issuing this command. Note that this command may be issued
+ to save time, as there is some performance penalty paid for saving the
+ environment data. You can also turn the facility off by issuing )set
+ history off.
+
+ )file
+ indicates that history data should be saved in an external file on disk.
+
+ )memory
+ 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.
+
+ )reset
+ will flush the internal list of the most recent workspace calculations so
+ that the data structures may be garbage collected by the underlying Lisp
+ system. Like )history )change, this option only has real effect when
+ history data is being saved in a file.
+
+ )restore [savedHistoryName]
+ completely clears the environment and restores it to a saved session, if
+ possible. The )save option below allows you to save a session to a file
+ with a given name. If you had issued )history )save jacobi the command
+ )history )restore jacobi would clear the current workspace and load the
+ contents of the named saved session. If no saved session name is
+ specified, the system looks for a file called last.axh.
+
+ )save savedHistoryName
+ is used to save a snapshot of the environment in a file. This file is
+ placed in the current working directory (see description of command )cd
+ ). Use )history )restore to restore the environment to the state
+ preserved in the file. This option also creates an input file containing
+ all the lines of input since you created the workspace frame (for
+ example, by starting your OpenAxiom session) or last did a )clear all or
+ )clear completely.
+
+ )show [n] [both]
+ can show previous input lines and output results. )show will display up
+ to twenty of the last input lines (fewer if you haven't typed in twenty
+ lines). )show n will display up to n of the last input lines. )show both
+ will display up to five of the last input lines and output results. )show
+ n both will display up to n of the last input lines and output results.
+
+ )write historyInputFile
+ creates an .input file with the input lines typed since the start of the
+ session/frame or the last )clear all or )clear completely. If
+ historyInputFileName does not contain a period (``.'') in the filename,
+ .input is appended to it. For example, )history )write chaos and )history
+ )write chaos.input both write the input lines to a file called
+ chaos.input in your current working directory. If you issued one or more
+ )undo commands, )history )write eliminates all input lines backtracked
+ over as a result of )undo. You can edit this file and then use )read to
+ have OpenAxiom process the contents.
+
+Also See:
+o )frame
+o )read
+o )set
+o )undo
+
diff --git a/src/doc/help/library.help b/src/doc/help/library.help
new file mode 100644
index 00000000..dc8cae84
--- /dev/null
+++ b/src/doc/help/library.help
@@ -0,0 +1,62 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.14. )library
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )library libName1 [libName2 ...]
+ - )library )dir dirName
+ - )library )only objName1 [objlib2 ...]
+ - )library )noexpose
+
+Command Description:
+
+This command replaces the )load system command that was available in OpenAxiom
+releases before version 2.0. The )library command makes available to OpenAxiom
+the compiled objects in the libraries listed.
+
+For example, if you )compile dopler.as in your home directory, issue )library
+dopler to have OpenAxiom look at the library, determine the category and domain
+constructors present, update the internal database with various properties of
+the constructors, and arrange for the constructors to be automatically loaded
+when needed. If the )noexpose option has not been given, the constructors
+will be exposed (that is, available) in the current frame.
+
+If you compiled a file with the old system compiler, you will have an NRLIB
+present, for example, DOPLER.NRLIB, where DOPLER is a constructor
+abbreviation. The command )library DOPLER will then do the analysis and
+database updates as above.
+
+To tell the system about all libraries in a directory, use )library )dir
+dirName where dirName is an explicit directory. You may specify ``.'' as the
+directory, which means the current directory from which you started the
+system or the one you set via the )cd command. The directory name is required.
+
+You may only want to tell the system about particular constructors within a
+library. In this case, use the )only option. The command )library dopler
+)only Test1 will only cause the Test1 constructor to be analyzed, autoloaded,
+etc..
+
+Finally, each constructor in a library are usually automatically exposed when
+the )library command is used. Use the )noexpose option if you not want them
+exposed. At a later time you can use )set expose add constructor to expose
+any hidden constructors.
+
+Note for OpenAxiom beta testers: At various times this command was
+called )local and )with before the name )library became the official name.
+
+Also See:
+o )cd
+o )compile
+o )frame
+o )set
+
diff --git a/src/doc/help/lisp.help b/src/doc/help/lisp.help
new file mode 100644
index 00000000..cdce178d
--- /dev/null
+++ b/src/doc/help/lisp.help
@@ -0,0 +1,34 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.15. )lisp
+==============================================================================
+
+User Level Required: development
+
+Command Syntax:
+
+ - )lisp [lispExpression]
+
+Command Description:
+
+This command is used by OpenAxiom system developers to have single expressions
+evaluated by the Lisp system on which OpenAxiom is built. The lispExpression is
+read by the Lisp reader and evaluated. If this expression is not complete
+(unbalanced parentheses, say), the reader will wait until a complete
+expression is entered.
+
+Since this command is only useful for evaluating single expressions, the )fin
+command may be used to drop out of OpenAxiom into Lisp. These two
+commands are deprecated.
+
+Also See:
+o )system
+o )boot
+o )fin
+
diff --git a/src/doc/help/load.help b/src/doc/help/load.help
new file mode 100644
index 00000000..d913b81d
--- /dev/null
+++ b/src/doc/help/load.help
@@ -0,0 +1,17 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.16. )load
+==============================================================================
+
+User Level Required: interpreter
+
+Command Description:
+
+This command is obsolete. Use )library instead.
+
diff --git a/src/doc/help/ltrace.help b/src/doc/help/ltrace.help
new file mode 100644
index 00000000..860994d9
--- /dev/null
+++ b/src/doc/help/ltrace.help
@@ -0,0 +1,27 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.17. )ltrace
+==============================================================================
+
+User Level Required: development
+
+Command Syntax:
+
+This command has the same arguments as options as the )trace command.
+
+Command Description:
+
+This command is used by OpenAxiom system developers to trace Lisp or BOOT
+functions. It is not supported for general use.
+
+Also See:
+o )boot
+o )lisp
+o )trace
+
diff --git a/src/doc/help/nclef.help b/src/doc/help/nclef.help
new file mode 100644
index 00000000..e62379dc
--- /dev/null
+++ b/src/doc/help/nclef.help
@@ -0,0 +1,46 @@
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+Entering printable keys generally inserts new text into the buffer (unless
+in overwrite mode, see below). Other special keys can be used to modify
+the text in the buffer. In the description of the keys below, ^n means
+Control-n, or holding the CONTROL key down while pressing "n". Errors
+will ring the terminal bell.
+
+^A/^E : Move cursor to beginning/end of the line.
+^F/^B : Move cursor forward/backward one character.
+^D : Delete the character under the cursor.
+^H, DEL : Delete the character to the left of the cursor.
+^K : Kill from the cursor to the end of line.
+^L : Redraw current line.
+^O : Toggle overwrite/insert mode. Initially in insert mode. Text
+ added in overwrite mode (including yanks) overwrite
+ existing text, while insert mode does not overwrite.
+^P/^N : Move to previous/next item on history list.
+^R/^S : Perform incremental reverse/forward search for string on
+ the history list. Typing normal characters adds to the current
+ search string and searches for a match. Typing ^R/^S marks
+ the start of a new search, and moves on to the next match.
+ Typing ^H or DEL deletes the last character from the search
+ string, and searches from the starting location of the last search.
+ Therefore, repeated DEL's appear to unwind to the match nearest
+ the point at which the last ^R or ^S was typed. If DEL is
+ repeated until the search string is empty the search location
+ begins from the start of the history list. Typing ESC or
+ any other editing character accepts the current match and
+ loads it into the buffer, terminating the search.
+^T : Toggle the characters under and to the left of the cursor.
+^Y : Yank previously killed text back at current location. Note that
+ this will overwrite or insert, depending on the current mode.
+^U : Show help (this text).
+TAB : Perform command completion based on word to the left of the cursor.
+ Words are deemed to contain only the alphanumeric and the % ! ? _
+ characters.
+NL, CR : returns current buffer to the program.
+
+DOS and ANSI terminal arrow key sequences are recognized, and act like:
+
+ up : same as ^P
+ down : same as ^N
+ left : same as ^B
+ right : same as ^F
+
diff --git a/src/doc/help/pquit.help b/src/doc/help/pquit.help
new file mode 100644
index 00000000..52c00dfd
--- /dev/null
+++ b/src/doc/help/pquit.help
@@ -0,0 +1,51 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.18. )pquit
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )pquit
+
+Command Description:
+
+This command is used to terminate OpenAxiom and return to the operating system.
+Other than by redoing all your computations or by using the )history )restore
+command to try to restore your working environment, you cannot return to
+OpenAxiom in the same state.
+
+)pquit differs from the )quit in that it always asks for confirmation that
+you want to terminate OpenAxiom (the ``p'' is for ``protected''). When
+you enter the )pquit command, OpenAxiom responds
+
+ Please enter y or yes if you really want to leave the interactive
+ environment and return to the operating system:
+
+If you respond with y or yes, you will see the message
+
+ You are now leaving the OpenAxiom interactive environment.
+ Issue the command axiom to the operating system to start a new session.
+
+and OpenAxiom will terminate and return you to the operating system (or the
+environment from which you invoked the system). If you responded with
+something other than y or yes, then the message
+
+ You have chosen to remain in the OpenAxiom interactive environment.
+
+will be displayed and, indeed, OpenAxiom would still be running.
+
+Also See:
+o )fin
+o )history
+o )close
+o )quit
+o )system
+
diff --git a/src/doc/help/quit.help b/src/doc/help/quit.help
new file mode 100644
index 00000000..67cc491a
--- /dev/null
+++ b/src/doc/help/quit.help
@@ -0,0 +1,49 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.19. )quit
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )quit
+ - )set quit protected | unprotected
+
+Command Description:
+
+This command is used to terminate OpenAxiom and return to the operating system.
+Other than by redoing all your computations or by using the )history )restore
+command to try to restore your working environment, you cannot return to
+OpenAxiom in the same state.
+
+)quit differs from the )pquit in that it asks for confirmation only if the
+command
+
+)set quit protected
+
+has been issued. Otherwise, )quit will make OpenAxiom terminate and
+return you to the operating system (or the environment from which you
+invoked the system).
+
+The default setting is )set quit protected so that )quit and )pquit behave in
+the same way. If you do issue
+
+)set quit unprotected
+
+we suggest that you do not (somehow) assign )quit to be executed when you
+press, say, a function key.
+
+Also See:
+o )fin
+o )history
+o )close
+o )pquit
+o )system
+
diff --git a/src/doc/help/read.help b/src/doc/help/read.help
new file mode 100644
index 00000000..a00f8335
--- /dev/null
+++ b/src/doc/help/read.help
@@ -0,0 +1,43 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.20. )read
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )read [fileName]
+ - )read [fileName] [)quiet] [)ifthere]
+
+Command Description:
+
+This command is used to read .input files into OpenAxiom. The command
+
+)read matrix.input
+
+will read the contents of the file matrix.input into OpenAxiom. The ``.input''
+file extension is optional. See the OpenAxiom User Guide index for more
+information about .input files.
+
+This command remembers the previous file you edited, read or compiled. If you
+do not specify a file name, the previous file will be read.
+
+The )ifthere option checks to see whether the .input file exists. If it does
+not, the )read command does nothing. If you do not use this option and the
+file does not exist, you are asked to give the name of an existing .input
+file.
+
+The )quiet option suppresses output while the file is being read.
+
+Also See:
+o )compile
+o )edit
+o )history
+
diff --git a/src/doc/help/savesystem.help b/src/doc/help/savesystem.help
new file mode 100644
index 00000000..a785b2be
--- /dev/null
+++ b/src/doc/help/savesystem.help
@@ -0,0 +1,44 @@
+Copyright The Numerical Algorithms Group Limited 1992.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the book
+AXIOM: The System for Scientific Computation.
+
+==============================================================================
+A.8. )savesystem
+==============================================================================
+
+
+
+
+
+User Level Required: interpreter
+
+
+Command Syntax:
+
+ - )savesystem filename
+
+Command Description:
+
+ This command is used to save an OpenAxiom image to disk. This creates an
+executable file which, when started, has everything loaded into it
+that was there when the image was saved. This command does not work
+with general Common Lisp. It works only with GCL- and SBCL-based
+OpenAxiom. In general, this command should be considered as deprecared.
+
+Thus, after executing commands which cause the loading of some
+packages, the command:
+
+)savesystem /tmp/savesys
+
+will create an image that can be restarted with the UNIX command:
+
+axiom -ws /tmp/savesys
+
+This new system will not need to reload the packages and domains that
+were already loaded when the system was saved.
+
+There is currently a restriction that only systems started with the
+command "AXIOMsys" may be saved.
diff --git a/src/doc/help/set.help b/src/doc/help/set.help
new file mode 100644
index 00000000..7eaf59e3
--- /dev/null
+++ b/src/doc/help/set.help
@@ -0,0 +1,60 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.21. )set
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )set
+ - )set label1 [... labelN]
+ - )set label1 [... labelN] newValue
+
+Command Description:
+
+The )set command is used to view or set system variables that control what
+messages are displayed, the type of output desired, the status of the history
+facility, the way OpenAxiom user functions are cached, and so on. Since this
+collection is very large, we will not discuss them here. Rather, we will show
+how the facility is used. We urge you to explore the )set options to
+familiarize yourself with how you can modify your OpenAxiom working
+environment. There is a HyperDoc version of this same facility
+available from the main HyperDoc menu. Click [here] to go to it.
+
+The )set command is command-driven with a menu display. It is
+tree-structured. To see all top-level nodes, issue )set by itself.
+
+)set
+
+Variables with values have them displayed near the right margin. Subtrees of
+selections have ``...'' displayed in the value field. For example, there are
+many kinds of messages, so issue )set message to see the choices.
+
+)set message
+
+The current setting for the variable that displays whether computation times
+are displayed is visible in the menu displayed by the last command. To see
+more information, issue
+
+)set message time
+
+This shows that time printing is on now. To turn it off, issue
+
+)set message time off
+
+As noted above, not all settings have so many qualifiers. For example, to
+change the )quit command to being unprotected (that is, you will not be
+prompted for verification), you need only issue
+
+)set quit unprotected
+
+Also See:
+o )quit
+
diff --git a/src/doc/help/show.help b/src/doc/help/show.help
new file mode 100644
index 00000000..e3e38065
--- /dev/null
+++ b/src/doc/help/show.help
@@ -0,0 +1,56 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.22. )show
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )show nameOrAbbrev
+ - )show nameOrAbbrev )operations
+ - )show nameOrAbbrev )attributes
+
+Command Description:
+This command displays information about OpenAxiom domain, package and category
+constructors. If no options are given, the )operations option is assumed. For
+example,
+
+)show POLY
+)show POLY )operations
+)show Polynomial
+)show Polynomial )operations
+
+each display basic information about the Polynomial domain constructor and
+then provide a listing of operations. Since Polynomial requires a Ring (for
+example, Integer) as argument, the above commands all refer to a unspecified
+ring R. In the list of operations, $ means Polynomial(R).
+
+The basic information displayed includes the signature of the constructor
+(the name and arguments), the constructor abbreviation, the exposure status
+of the constructor, and the name of the library source file for the
+constructor.
+
+If operation information about a specific domain is wanted, the full or
+abbreviated domain name may be used. For example,
+
+)show POLY INT
+)show POLY INT )operations
+)show Polynomial Integer
+)show Polynomial Integer )operations
+
+are among the combinations that will display the operations exported by the
+domain Polynomial(Integer) (as opposed to the general domain constructor
+Polynomial). Attributes may be listed by using the )attributes option.
+
+Also See:
+o )display
+o )set
+o )what
+
diff --git a/src/doc/help/spool.help b/src/doc/help/spool.help
new file mode 100644
index 00000000..889aa78b
--- /dev/null
+++ b/src/doc/help/spool.help
@@ -0,0 +1,37 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.23. )spool
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )spool [fileName]
+ - )spool
+
+Command Description:
+
+This command is used to save (spool) all OpenAxiom input and output into a
+file, called a spool file. You can only have one spool file active at
+a time. To start spool, issue this command with a filename. For example,
+
+)spool integrate.out
+
+To stop spooling, issue )spool with no filename.
+
+If the filename is qualified with a directory, then the output will be placed
+in that directory. If no directory information is given, the spool file will
+be placed in the current directory. The current directory is the directory
+from which you started OpenAxiom or is the directory you specified using the
+)cd command.
+
+Also See:
+o )cd
+
diff --git a/src/doc/help/synonym.help b/src/doc/help/synonym.help
new file mode 100644
index 00000000..46269bec
--- /dev/null
+++ b/src/doc/help/synonym.help
@@ -0,0 +1,52 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.24. )synonym
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )synonym
+ - )synonym synonym fullCommand
+ - )what synonyms
+
+Command Description:
+
+This command is used to create short synonyms for system command expressions.
+For example, the following synonyms might simplify commands you often use.
+
+)synonym save history )save
+)synonym restore history )restore
+)synonym mail system mail
+)synonym ls system ls
+)synonym fortran set output fortran
+
+Once defined, synonyms can be used in place of the longer command
+expressions. Thus
+
+)fortran on
+
+is the same as the longer
+
+)set fortran output on
+
+To list all defined synonyms, issue either of
+
+)synonyms
+)what synonyms
+
+To list, say, all synonyms that contain the substring ``ap'', issue
+
+)what synonyms ap
+
+Also See:
+o )set
+o )what
+
diff --git a/src/doc/help/system.help b/src/doc/help/system.help
new file mode 100644
index 00000000..8b573e31
--- /dev/null
+++ b/src/doc/help/system.help
@@ -0,0 +1,42 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.25. )system
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )system cmdExpression
+
+Command Description:
+
+This command may be used to issue commands to the operating system while
+remaining in OpenAxiom. The cmdExpression is passed to the operating system for
+execution.
+
+To get an operating system shell, issue, for example, )system sh. When you
+enter the key combination, Ctrl-D (pressing and holding the Ctrl key and then
+pressing the D key) the shell will terminate and you will return to OpenAxiom. We
+do not recommend this way of creating a shell because Lisp may field some
+interrupts instead of the shell. If possible, use a shell running in another
+window.
+
+If you execute programs that misbehave you may not be able to return to
+OpenAxiom. If this happens, you may have no other choice than to
+restart OpenAxiom and restore the environment via )history )restore,
+if possible.
+
+Also See:
+o )boot
+o )fin
+o )lisp
+o )pquit
+o )quit
+
diff --git a/src/doc/help/trace.help b/src/doc/help/trace.help
new file mode 100644
index 00000000..d12e3d03
--- /dev/null
+++ b/src/doc/help/trace.help
@@ -0,0 +1,224 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.26. )trace
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )trace
+ - )trace )off
+
+ - )trace function [options]
+ - )trace constructor [options]
+ - )trace domainOrPackage [options]
+
+where options can be one or more of
+
+ - )after S-expression
+ - )before S-expression
+ - )break after
+ - )break before
+ - )cond S-expression
+ - )count
+ - )count n
+ - )depth n
+ - )local op1 [... opN]
+ - )nonquietly
+ - )nt
+ - )off
+ - )only listOfDataToDisplay
+ - )ops
+ - )ops op1 [... opN ]
+ - )restore
+ - )stats
+ - )stats reset
+ - )timer
+ - )varbreak
+ - )varbreak var1 [... varN ]
+ - )vars
+ - )vars var1 [... varN ]
+ - )within executingFunction
+
+Command Description:
+
+This command is used to trace the execution of functions that make up the
+OpenAxiom system, functions defined by users, and functions from the system
+library. Almost all options are available for each type of function but
+exceptions will be noted below.
+
+To list all functions, constructors, domains and packages that are traced,
+simply issue
+
+)trace
+
+To untrace everything that is traced, issue
+
+)trace )off
+
+When a function is traced, the default system action is to display the
+arguments to the function and the return value when the function is exited.
+Note that if a function is left via an action such as a THROW, no return
+value will be displayed. Also, optimization of tail recursion may decrease
+the number of times a function is actually invoked and so may cause less
+trace information to be displayed. Other information can be displayed or
+collected when a function is traced and this is controlled by the various
+options. Most options will be of interest only to OpenAxiom system developers. If
+a domain or package is traced, the default action is to trace all functions
+exported.
+
+Individual interpreter, lisp or boot functions can be traced by listing their
+names after )trace. Any options that are present must follow the functions to
+be traced.
+
+)trace f
+
+traces the function f. To untrace f, issue
+
+)trace f )off
+
+Note that if a function name contains a special character, it will be
+necessary to escape the character with an underscore
+
+)trace _/D_,1
+
+To trace all domains or packages that are or will be created from a
+particular constructor, give the constructor name or abbreviation after
+)trace.
+
+)trace MATRIX
+)trace List Integer
+
+The first command traces all domains currently instantiated with Matrix. If
+additional domains are instantiated with this constructor (for example, if
+you have used Matrix(Integer) and Matrix(Float)), they will be automatically
+traced. The second command traces List(Integer). It is possible to trace
+individual functions in a domain or package. See the )ops option below.
+
+The following are the general options for the )trace command.
+
+ )break after
+ causes a Lisp break loop to be entered after exiting the traced function.
+
+ )break before
+ causes a Lisp break loop to be entered before entering the traced
+ function.
+
+ )break
+ is the same as )break before.
+
+ )count
+ causes the system to keep a count of the number of times the traced
+ function is entered. The total can be displayed with )trace )stats and
+ cleared with )trace )stats reset.
+
+ )count n
+ causes information about the traced function to be displayed for the
+ first n executions. After the nth execution, the function is untraced.
+
+ )depth n
+ causes trace information to be shown for only n levels of recursion of
+ the traced function. The command
+
+ )trace fib )depth 10
+
+ will cause the display of only 10 levels of trace information for the
+ recursive execution of a user function fib.
+
+ )math
+ causes the function arguments and return value to be displayed in the
+ OpenAxiom monospace two-dimensional math format.
+
+ )nonquietly
+ causes the display of additional messages when a function is traced.
+
+ )nt
+ This suppresses all normal trace information. This option is useful if
+ the )count or )timer options are used and you are interested in the
+ statistics but not the function calling information.
+
+ )off
+ causes untracing of all or specific functions. Without an argument, all
+ functions, constructors, domains and packages are untraced. Otherwise,
+ the given functions and other objects are untraced. To immediately
+ retrace the untraced functions, issue )trace )restore.
+
+ )only listOfDataToDisplay
+ causes only specific trace information to be shown. The items are listed
+ by using the following abbreviations:
+
+ a display all arguments
+ v display return value
+ 1 display first argument
+ 2 display second argument
+ 15 display the 15th argument, and so on
+
+ )restore
+ causes the last untraced functions to be retraced. If additional options
+ are present, they are added to those previously in effect.
+
+ )stats
+ causes the display of statistics collected by the use of the )count and
+ )timer options.
+
+ )stats reset
+ resets to 0 the statistics collected by the use of the )count and )timer
+ options.
+
+ )timer
+ causes the system to keep a count of execution times for the traced
+ function. The total can be displayed with )trace )stats and cleared with
+ )trace )stats reset.
+
+ )varbreak var1 [... varN]
+ causes a Lisp break loop to be entered after the assignment to any of the
+ listed variables in the traced function.
+
+ )vars
+ causes the display of the value of any variable after it is assigned in
+ the traced function. Note that library code must have been compiled (see
+ description of command )compile ) using the )vartrace option in order to
+ support this option.
+
+ )vars var1 [... varN]
+ causes the display of the value of any of the specified variables after
+ they are assigned in the traced function. Note that library code must
+ have been compiled (see description of command )compile ) using the
+ )vartrace option in order to support this option.
+
+ )within executingFunction
+ causes the display of trace information only if the traced function is
+ called when the given executingFunction is running.
+
+The following are the options for tracing constructors, domains and packages.
+
+ )local [op1 [... opN]]
+ causes local functions of the constructor to be traced. Note that to
+ untrace an individual local function, you must use the fully qualified
+ internal name, using the escape character _ before the semicolon.
+
+ )trace FRAC )local
+ )trace FRAC_;cancelGcd )off
+
+ )ops op1 [... opN]
+ By default, all operations from a domain or package are traced when the
+ domain or package is traced. This option allows you to specify that only
+ particular operations should be traced. The command
+
+ )trace Integer )ops min max _+ _-
+
+ traces four operations from the domain Integer. Since + and - are special
+ characters, it is necessary to escape them with an underscore.
+
+Also See:
+o )boot
+o )lisp
+o )ltrace
+
diff --git a/src/doc/help/undo.help b/src/doc/help/undo.help
new file mode 100644
index 00000000..d964d71e
--- /dev/null
+++ b/src/doc/help/undo.help
@@ -0,0 +1,65 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.27. )undo
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )undo
+ - )undo integer
+ - )undo integer [option]
+ - )undo )redo
+
+where option is one of
+
+ - )after
+ - )before
+
+Command Description:
+
+This command is used to restore the state of the user environment to an
+earlier point in the interactive session. The argument of an )undo is an
+integer which must designate some step number in the interactive session.
+
+)undo n
+)undo n )after
+
+These commands return the state of the interactive environment to that
+immediately after step n. If n is a positive number, then n refers to step
+nummber n. If n is a negative number, it refers to the nth previous command
+(that is, undoes the effects of the last -n commands).
+
+A )clear all resets the )undo facility. Otherwise, an )undo undoes the effect
+of )clear with options properties, value, and mode, and that of a previous
+undo. If any such system commands are given between steps n and n + 1 (n >
+0), their effect is undone for )undo m for any 0 < m <= n .
+
+The command )undo is equivalent to )undo -1 (it undoes the effect of the
+previous user expression). The command )undo 0 undoes any of the above system
+commands issued since the last user expression.
+
+)undo n )before
+
+This command returns the state of the interactive environment to that
+immediately before step n. Any )undo or )clear system commands given before
+step n will not be undone.
+
+)undo )redo
+
+This command reads the file redo.input. created by the last )undo command.
+This file consists of all user input lines, excluding those backtracked over
+due to a previous )undo.
+
+Also See:
+o )history
+The command )history )write will eliminate the ``undone'' command lines of
+your program.
+
diff --git a/src/doc/help/what.help b/src/doc/help/what.help
new file mode 100644
index 00000000..fb9be977
--- /dev/null
+++ b/src/doc/help/what.help
@@ -0,0 +1,85 @@
+Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved.
+
+OpenAxiom Help Information.
+Section numbers refer to the on-line version of the book
+AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor
+
+==============================================================================
+A.28. )what
+==============================================================================
+
+User Level Required: interpreter
+
+Command Syntax:
+
+ - )what categories pattern1 [pattern2 ...]
+ - )what commands pattern1 [pattern2 ...]
+ - )what domains pattern1 [pattern2 ...]
+ - )what operations pattern1 [pattern2 ...]
+ - )what packages pattern1 [pattern2 ...]
+ - )what synonym pattern1 [pattern2 ...]
+ - )what things pattern1 [pattern2 ...]
+ - )apropos pattern1 [pattern2 ...]
+
+Command Description:
+
+This command is used to display lists of things in the system. The patterns
+are all strings and, if present, restrict the contents of the lists. Only
+those items that contain one or more of the strings as substrings are
+displayed. For example,
+
+)what synonym
+
+displays all command synonyms,
+
+)what synonym ver
+
+displays all command synonyms containing the substring ``ver'',
+
+)what synonym ver pr
+
+displays all command synonyms containing the substring ``ver'' or the
+substring ``pr''. Output similar to the following will be displayed
+
+---------------- System Command Synonyms -----------------
+
+
+user-defined synonyms satisfying patterns:
+ ver pr
+
+
+ )apr ........................... )what things
+ )apropos ....................... )what things
+ )prompt ........................ )set message prompt
+ )version ....................... )lisp *yearweek*
+
+Several other things can be listed with the )what command:
+
+ categories displays a list of category constructors.
+ commands displays a list of system commands available at your
+ user-level. Your user-level is set via the )set userlevel command. To get
+ a description of a particular command, such as ``)what'', issue )help
+ what.
+ domains displays a list of domain constructors.
+ operations displays a list of operations in the system library.
+ It is recommended that you qualify this command with one or more
+ patterns, as there are thousands of operations available. For example,
+ say you are looking for functions that involve computation of
+ eigenvalues. To find their names, try )what operations eig. A rather
+ large list of operations is loaded into the workspace when this command
+ is first issued. This list will be deleted when you clear the workspace
+ via )clear all or )clear completely. It will be re-created if it is
+ needed again.
+ packages displays a list of package constructors.
+ synonym lists system command synonyms.
+ things displays all of the above types for items containing
+ the pattern strings as substrings. The command synonym )apropos is
+ equivalent to )what things.
+
+Also See:
+o )display
+o )set
+o )show
+
+
diff --git a/src/interp/util.lisp b/src/interp/util.lisp
index 8e2b0b9b..6abfbbd3 100644
--- a/src/interp/util.lisp
+++ b/src/interp/util.lisp
@@ -243,7 +243,7 @@
"/share/msgs/"
"/../../src/algebra/"
"/../../src/interp/" ; for boot and lisp files (helps fd)
- "/doc/spadhelp/" ))
+ "/doc/help/" ))
;; The relative directory list specifies how to find the algebra
;; directory from the current {\bf AXIOM} shell variable.