@iftex
@finalout
@end iftex
-@comment $Id: user.texinfo,v 1.20 1993/12/16 22:44:12 adams Exp $
+@comment $Id: user.texinfo,v 1.21 1993/12/17 22:20:37 cph Exp $
@comment %**start of header (This is for running Texinfo on a region.)
@setfilename user.info
@settitle MIT Scheme User's Manual
@titlepage
@title{MIT Scheme User's Manual}
-@subtitle Edition 1.17 beta
+@subtitle Edition 1.21 beta
@subtitle for Scheme Release 7.3
-@subtitle DRAFT: @today{}
+@subtitle 17 December 1993
@author by Stephen Adams
@author Chris Hanson
@author and the MIT Scheme Team
PC Operating Systems
-* System requirements::
+* System Requirements::
* Manifest::
* PC Installation:: Installation
C Back-End Release Notes
* Notes on C Back-End::
-* Problems with C Back-End::
+* Problems with the C Back-End::
PC Release Notes
Environment Variables
-* Environment Variables that affect the Microcode::
-* Environment variables for Bchscheme::
-* Environment variables for PC versions::
-* Environment variables that affect the runtime system::
-* Environment variables that affect Edwin::
+* Microcode Environment Variables::
+* Bchscheme Environment Variables::
+* PC Environment Variables::
+* Runtime Environment Variables::
+* Edwin Environment Variables::
The Read-Eval-Print Loop
* Subproblems and Reductions::
* Debugger::
-* Debugging aids::
-* Advising procedures::
+* Debugging Aids::
+* Advising Procedures::
Compiling Files
* Standard Names::
* In-line Coding::
-* Operator Replacement::
-* Operator Reduction::
+* Replacement of Operators::
+* Reduction of Operators::
Edwin
* Starting Edwin::
* Leaving Edwin::
-* Last resorts::
+* Last Resorts::
* Comparison of Edwin 3.82 to Emacs 18.57::
Comparison of Edwin 3.82 to Emacs 18.57
-* Incompatibilities::
-* Deficiencies::
-* Subsystems missing from Edwin::
-* Documented Emacs commands missing from Edwin::
-* Documented Emacs variables missing from Edwin::
-* Variables that should be per-buffer in Edwin::
+* Incompatibilities of Edwin::
+* Deficiencies of Edwin::
+* Subsystems Missing from Edwin::
+* Commands Missing from Edwin::
+* Variables Missing from Edwin::
+* Per-Buffer Variables::
* Edwin Bugs::
@end menu
@node Installation, Release Notes, Top, Top
@chapter Installation
-
-
@menu
* Unix::
* PC Operating Systems::
@node Unix, PC Operating Systems, , Installation
@section Unix
-
We will use as an example the installation for HP 9000 series 400
computers. The installation for other Unix systems is similar.
library files in some convenient place where Scheme can find them.
@itemize @bullet
-
@item
First unpack the distribution:
@example
- gzip -cd hp400.tar.gz | tar xvf -
+gzip -cd hp400.tar.gz | tar xvf -
@end example
If you do not have the `gzip' program: we have built executables of
Next, go to the directory that you just unpacked:
@example
- cd dist-7.3
+cd dist-7.3
@end example
The easiest way to install the files is to use the "install.sh" shell
execute it:
@example
- ./install.sh
+./install.sh
@end example
@item
You should now be able to run MIT Scheme by typing
@example
- scheme
+scheme
@end example
@noindent
at the command line (if you use the C shell, you may have to type
@samp{rehash} before @samp{scheme} will be recognized).
-
@end itemize
-
@c NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
@node PC Operating Systems, , Unix, Installation
@section PC Operating Systems
Note that we have only tested the DOS version on Microsoft DOS 5.0.
@menu
-* System requirements::
+* System Requirements::
* Manifest::
* PC Installation:: Installation
@end menu
-@node System requirements, Manifest, , PC Operating Systems
-@subsection System requirements
+@node System Requirements, Manifest, , PC Operating Systems
+@subsection System Requirements
MIT Scheme requires at least a 386SX with 8Mb RAM.
The bare minimum
build the Edwin editor band requires an additional 4.3Mb. The whole
installation without source code occupies 36Mb of disk.
-@node Manifest, PC Installation, System requirements, PC Operating Systems
+@node Manifest, PC Installation, System Requirements, PC Operating Systems
@subsection Manifest
The installation is split into several files according to functional
UNZIP.EXE @r{Program to unpack the @file{.zip} files}
@end example
-
Minimal installation on Windows NT requires: @file{BIN.ZIP},
@file{LIB.ZIP} and @file{RUNTIME.ZIP}.
For DOS the minimal installation comprises @file{DOSBIN.ZIP},
@file{LIB.ZIP} and one of @file{RUNTIME.ZIP} or @file{RUNNOFLO.ZIP}.
-
-
-
@node PC Installation, , Manifest, PC Operating Systems
@subsection PC Installation
bulk of the installation using the windowing environment.
In each of the following steps the amount of disk space consumed is
-indicated in square brackets.
-These sizes do not include the @file{.zip} files which are required
-only during installation.
+indicated in square brackets. These sizes do not include the
+@file{.zip} files which are required only during installation.
@enumerate
@item
@item
If you are installing for Windows 3.1 only, do @emph{one} of the
following:
+
@itemize @bullet
@item
Put the following line in the @file{autoexec.bat} file to ensure that
@end example
@noindent
-This command must be in a @file{.bat} file to work.
+This command must be in a @file{.bat} file to work
+
@item
Copy the files from @file{@var{scheme}\bin\win31} into
@file{@var{scheme}\bin}.
@item
If you are installing for Windows NT only, do @emph{one} of the
following:
+
@itemize @bullet
@item
As system
administrator add @file{@var{scheme}\bin\nt} to the @code{PATH} in the
-system environment (using the Registry Editor, @code{regedt32})
+system environment (using the Registry Editor, @code{regedt32}
+
@item
As an individual place @code{PATH=}@var{scheme}@code{\bin\nt} in your
-environment (use the control panel's system option)
+environment (use the control panel's system option
+
@item
Copy the files from @file{@var{scheme}\bin\nt} into
@file{@var{scheme}\bin}.
path %PATH%;@var{scheme}\bin\win31
@end example
+@noindent
in the @file{autoexec.bat} file and adding @file{@var{scheme}\bin\nt} to
the Windows NT system environment path.
-
@item
If you are installing for DOS there is no need to add things to the
@code{PATH}.
set MITSCHEME_LIBRARY_PATH=@var{scheme}\lib
@end example
-
@item
Now test the installation so far.
Under either Windows system,
@noindent
This program creates a program group called `MIT Scheme' which contains
+
@itemize @bullet
@item
Icons for running scheme in several configurations
+
@item
Windows Help versions of the Scheme Reference Manual and the MIT Scheme
User's Manual.
+
@item
`Mincer' icons for building the rest of the system
@end itemize
@var{scheme}\dos-bin\scheme -large -load @var{scheme}\etc\build -eval (edwin.com)
@end example
-
@item
To install the compiler you need to build the @file{compiler.com} band.
First unpack the @file{compdel.com} delta file [2.5Mb]:
@var{scheme}\dos-bin\scheme -large -load @var{scheme}\etc\build -eval (compiler.com)
@end example
-
@item
If you want both Edwin and the compiler in one band you should build the
@file{all.com} band. First unpack the delta files [4.1Mb unless already
@var{scheme}\dos-bin\scheme -large -load @var{scheme}\etc\build -eval (all.com)
@end example
-
@item
Any combination of @file{edwin.com}, @file{compiler.com} and
@file{all.com} may be used. They may be built in any order: it is not
set the @code{MITSCHEME_INF_DIRECTORY} environment variable to this
directory. @file{bcied1.zip} through @file{bcied3.zip} [3.8Mb
installed] hold the debugging information files for Edwin.
-
@end enumerate
-
-
-
@node Release Notes, Running Scheme, Installation, Top
@chapter Release Notes
@menu
* Notes on C Back-End::
-* Problems with C Back-End::
+* Problems with the C Back-End::
@end menu
-@node Notes on C Back-End, Problems with C Back-End, , C Back-End Release Notes
+@node Notes on C Back-End, Problems with the C Back-End, , C Back-End Release Notes
@subsection General Notes
This section describes the general design of C back-end systems.
contact us for advice on how it can be done.
@end itemize
-@node Problems with C Back-End, , Notes on C Back-End, C Back-End Release Notes
-@subsection Problems with C Back-End
+@node Problems with the C Back-End, , Notes on C Back-End, C Back-End Release Notes
+@subsection Problems with the C Back-End
This section details problems and shortcomings of the system that are
specific to the C back-end.
@example
device=emm386 noems novcpi
@end example
-
@end itemize
@end itemize
-
@c @node
@c @subsection NT build
@c
This option causes Scheme to use a larger constant space and heap, and
to load the world image containing the compiler.
-
@node Customizing Scheme, Command-Line Options, Basics of Starting Scheme, Running Scheme
@section Customizing Scheme
the Program Manager that invoke Scheme with different parameters.
@end itemize
-
One of the important parameters that can be customized is how much
memory Scheme uses and how that memory is used. Scheme uses four kinds
of memory:
@itemize @bullet
@item
A @dfn{stack} which is used for recursive procedure calls,
+
@item
A @dfn{heap} which is used for dynamically allocated objects, like @samp{cons}
cells and strings.
Storage used for objects in the heap which become unreferenced is
eventually reclaimed by @dfn{garbage collection}.
+
@item
A @dfn{constant space}, which is used for allocated objects, like the
heap.
reclaimed by garbage collection.
Constant space is used for objects that are essentially permanent, like
procedures from the runtime system.
+
@item
An amount of extra storage which is used by the Microcode (the part
of the system that is implemented in C).
sections. The options may appear in any order, with the restriction
that the microcode options must appear before the runtime options, and
the runtime options must appear before any other arguments on the
-command line.
-(At present, any arguments other than these options will generate a
-warning message when Scheme starts. In the future, there will be an
-advertised mechanism by which the extra arguments can be handled by user
-code.)
-
+command line. (At present, any arguments other than these options will
+generate a warning message when Scheme starts. In the future, there
+will be an advertised mechanism by which the extra arguments can be
+handled by user code.)
These are the microcode options:
@table @code
-
@item -band @var{filename}
@findex -band
@findex MITSCHEME_BAND
given, a normal load is performed instead. This option may not be used
together with the @code{-band} option. This option is useful only for
maintainance and development of the MIT Scheme runtime system.
-
@end table
-
@noindent
-The following options are runtime options.
-They are processed after the microcode options and after runtime, Edwin
-or other band is loaded.
+The following options are runtime options. They are processed after the
+microcode options and after the runtime, Edwin or some other band is
+loaded.
@table @code
@item -no-init-file
@node Environment Variables, Starting Scheme from Windows 3.1/NT, Command-Line Options, Running Scheme
@section Environment Variables
-
There are many environment variables that Scheme (and Edwin, etc.) look
for. Environment variables that affect the microcode must be defined
before you start Scheme, but others can be defined or overwritten within
according to the parts of MIT Scheme that they affect.
@menu
-* Environment Variables that affect the Microcode::
-* Environment variables for Bchscheme::
-* Environment variables for PC versions::
-* Environment variables that affect the runtime system::
-* Environment variables that affect Edwin::
+* Microcode Environment Variables::
+* Bchscheme Environment Variables::
+* PC Environment Variables::
+* Runtime Environment Variables::
+* Edwin Environment Variables::
@end menu
-@node Environment Variables that affect the Microcode, Environment variables for Bchscheme, , Environment Variables
-@subsection Environment Variables that affect the Microcode
+@node Microcode Environment Variables, Bchscheme Environment Variables, , Environment Variables
+@subsection Environment Variables Affecting the Microcode
-@table @asis
+These environment variables are referred to by the microcode (the
+executable C programs called @file{scheme} and @file{bchscheme}).
+@table @asis
@item @code{MITSCHEME_BAND} (default: @file{runtime.com} on the library path)
@findex MITSCHEME_BAND
The initial band to be loaded. Overridden by @code{-band},
The file containing the microcode tables. Overridden by @code{-utabmd}
and @code{-utab}. It is only necessary when re-building
@file{runtime.com}.
-
@end table
-@node Environment variables for Bchscheme, Environment variables for PC versions, Environment Variables that affect the Microcode, Environment Variables
-@subsection Environment variables for Bchscheme
+@node Bchscheme Environment Variables, PC Environment Variables, Microcode Environment Variables, Environment Variables
+@subsection Environment Variables for Bchscheme
-@table @asis
+These environment variables are referred to by @file{bchscheme}
+(@emph{not} by @file{scheme}).
+@table @asis
@item @code{MITSCHEME_GC_DIRECTORY} (default: @file{/tmp})
@findex MITSCHEME_GC_DIRECTORY
The directory where to write gc files. Overridden by @code{-gc-directory}.
@code{-gc-write-overlap}.
@end table
-@node Environment variables for PC versions, Environment variables that affect the runtime system, Environment variables for Bchscheme, Environment Variables
-@subsection Environment variables for PC versions
+@node PC Environment Variables, Runtime Environment Variables, Bchscheme Environment Variables, Environment Variables
+@subsection Environment Variables for the PC
-These environment variables only make sense to the Windows,
-Windows NT, or DOS versions of MIT Scheme.
+These environment variables are referred to by the Windows, Windows NT,
+and DOS versions of MIT Scheme.
@table @asis
@item @code{MITSCHEME_DPMI_EXT_KBD} (default: @samp{false})
routine when @emph{not} running under DPMI or Windows.
@item @code{MITSCHEME_TRAP_ALT_TAB} (default: @samp{false})
+@itemx @code{MITSCHEME_TRAP_ALT_ESCAPE} (default: @samp{false})
@findex MITSCHEME_TRAP_ALT_TAB
-@item @code{MITSCHEME_TRAP_ALT_ESCAPE} (default: @samp{false})
@findex MITSCHEME_TRAP_ALT_ESCAPE
Windows and Windows NT only.
Boolean option specifying the handling of system command accelerators.
@findex MITSCHEME_BACKGROUND
Windows and Windows NT only. A value specifying the window
background color. See @code{MITSCHEME_FOREGROUND}.
-
@end table
-@node Environment variables that affect the runtime system, Environment variables that affect Edwin, Environment variables for PC versions, Environment Variables
-@subsection Environment variables that affect the runtime system
+@node Runtime Environment Variables, Edwin Environment Variables, PC Environment Variables, Environment Variables
+@subsection Environment Variables Affecting the Runtime System
+These environment variables are referred to by the runtime system.
@table @asis
@item @code{HOME}
@findex TEMP
Directory for various temporary files. @code{TEMP} is given preference
to @code{TMP}.
-
@end table
-@node Environment variables that affect Edwin, , Environment variables that affect the runtime system, Environment Variables
-@subsection Environment variables that affect Edwin
+@node Edwin Environment Variables, , Runtime Environment Variables, Environment Variables
+@subsection Environment Variables Affecting Edwin
+
+These environment variables are referred to by Edwin.
@table @asis
@item @code{EDWIN_BINARY_DIRECTORY} (default: @file{edwin/autoload} on the library path)
@findex MITSCHEME_COLUMNS
DOS only. Number of text columns on the screen, depending on the video
adapter and support software. E.g.@: 132.
-
@end table
-
@node Starting Scheme from Windows 3.1/NT, Leaving Scheme, Environment Variables, Running Scheme
@section Starting Scheme from Windows 3.1/NT
@itemize @bullet
@item
Give the icon an accurate @var{Description}.
+
@item
Include absolute pathnames to @code{scheme.exe} and @code{bchscheme.exe}
in the icon @var{Command line} if these executables are not in a
directory on the default @code{PATH}.
+
@item
Set the icon's @var{Working Directory} to: @code{%HOMEPATH%}
+
@item
There are several icons available --- choose one that best represents
the options given on the command line.
+
@item
Specifying a band that contains Edwin is not sufficient to invoke the
editor. You also have to put
procedure is analogous to typing Control-@code{Z}, but it allows Scheme
to respond by typing a prompt when it is unsuspended.)
-
@node REPL, Debugging, Running Scheme, Top
@chapter The Read-Eval-Print Loop
; (RESTART 2) => Define foo to a given value.
; (RESTART 1) => Return to read-eval-print level 1.
-
2 error>
@end example
Here are the more common options for @kbd{C-c}.
@table @kbd
-
@item C-c i
@kindex C-c i
Ignore the interrupt. Type this if you made a mistake and didn't
; (RESTART 2) => Define foo to a given value.
; (RESTART 1) => Return to read-eval-print level 1.
-
2 error>
@end group
@end example
@strong{This chapter is out of date and currently under revision}.
-
This chapter is adapted from @cite{Don't Panic: A 6.001 User's Guide to
the Chipmunk System}, by Arthur A. Gleckler.
; (RESTART 2) => Define foo to a given value.
; (RESTART 1) => Return to read-eval-print level 1.
-
2 error>
@end example
@menu
* Subproblems and Reductions::
* Debugger::
-* Debugging aids::
-* Advising procedures::
+* Debugging Aids::
+* Advising Procedures::
@end menu
@node Subproblems and Reductions, Debugger, , Debugging
for subproblem levels and reduction numbers is to experiment with the
debugging tools, especially @code{debug}.
-@node Debugger, Debugging aids, Subproblems and Reductions, Debugging
+@node Debugger, Debugging Aids, Subproblems and Reductions, Debugging
@section The Debugger
@cindex debugger
; (RESTART 2) => Define fob to a given value.
; (RESTART 1) => Return to read-eval-print level 1.
-
2 error> (debug)
There are 6 subproblems on the stack.
execution history has recorded some information for this subproblem,
specifically a description of one reduction.
-
-
-@node Debugging aids, Advising procedures, Debugger, Debugging
-@section Debugging aids
+@node Debugging Aids, Advising Procedures, Debugger, Debugging
+@section Debugging Aids
An important step in debugging is to locate the piece of code from which
the error is signalled. The Scheme debugger contains a history examiner
and an environment examiner to aid the user in locating a bug.
-
@deffn {special form+} bkpt message irritant
Sets a breakpoint. When the breakpoint is encountered, @var{message}
and @var{irritant} are typed and a read-eval-print loop is entered in
This is useful for debugging procedure arguments and values.
@end deffn
-@node Advising procedures, , Debugging aids, Debugging
-@section Advising procedures
+@node Advising Procedures, , Debugging Aids, Debugging
+@section Advising Procedures
Giving advice to procedures is a powerful debugging technique.
@code{trace} and @code{break} are useful examples of advice-giving
procedures.
Note that the advice system only works for interpreted procedures.
-
@deffn {procedure+} trace-entry proc
Causes an informative message to be printed whenever the procedure
@var{proc} is entered. The message is of the form
@menu
* Standard Names::
* In-line Coding::
-* Operator Replacement::
-* Operator Reduction::
+* Replacement of Operators::
+* Reduction of Operators::
@end menu
@node Standard Names, In-line Coding, , Declarations
(->environment '(scode-optimizer)))
@end lisp
-@node In-line Coding, Operator Replacement, Standard Names, Declarations
+@node In-line Coding, Replacement of Operators, Standard Names, Declarations
@subsection In-line Coding
Another useful facility is the ability to in-line code procedure
(vector-ref (vector-ref (car baz) (cdr baz)) 3)
@end lisp
-
-@node Operator Replacement, Operator Reduction, In-line Coding, Declarations
+@node Replacement of Operators, Reduction of Operators, In-line Coding, Declarations
@subsection Operator Replacement
The @code{replace-operator} declaration is provided to inform the
original, general @code{map} procedure, which is less efficient because
it must handle a variable number of arguments.
-
@deffn {declaration+} replace-operator name ...
The syntax of this declaration is
expressions in one of these forms:
@table @code
-
@item '@var{constant}
A constant.
@end itemize
@end deffn
-@node Operator Reduction, , Operator Replacement, Declarations
+@node Reduction of Operators, , Replacement of Operators, Declarations
@subsection Operator Reduction
@findex reduce-operator
calls to @code{+} by replacing them with calls to @code{%+}. You should
provide a definition of @code{%+} as well, although it is not required.
-
@noindent
Declaration:
(apply) @expansion{} (apply)
@end lisp
-
-
-
@deffn {declaration+} reduce-operator name ...
The general format of the declaration is (brackets denote optional
elements):
where
@itemize @bullet
-
@item
@var{n} and @var{m} are non-negative integers.
expressions in one of these forms:
@table @code
-
@item '@var{constant}
A constant.
The meaning of these fields is:
@itemize @bullet
-
@item
@var{name} is the name of the n-ary operation to be reduced.
cases:
@table @code
-
@item none
@itemx empty
When no arguments are supplied to @var{name}, @var{value} is returned.
@item
The maximum option specifies that calls with more than @var{m} arguments
should not be reduced.
-
@end itemize
@end deffn
@code{scheme-mode} buffer for the most up-to-date information):
@table @kbd
-
@item @key{ESC} o
@kindex @key{ESC} o
@findex xscheme-send-buffer
The following commands provide interrupt capability:
@table @kbd
-
@item C-c C-c
@kindex C-c C-c
@findex xscheme-send-control-g-interrupt
@menu
* Starting Edwin::
* Leaving Edwin::
-* Last resorts::
+* Last Resorts::
* Comparison of Edwin 3.82 to Emacs 18.57::
@end menu
values are defined:
@table @code
-
@item (console)
This says to run Edwin on Scheme's console, or in unix terminology, the
standard input and output. If the console is not a terminal device, or
@end table
@end defvr
-
-@node Leaving Edwin, Last resorts, Starting Edwin, Edwin
+@node Leaving Edwin, Last Resorts, Starting Edwin, Edwin
@section Leaving Edwin
Once Edwin has been entered, it can be exited in the following ways:
@table @kbd
-
@item C-x z
@kindex C-x z
@findex suspend-edwin
This command is identical to the @kbd{C-x C-c} command of GNU Emacs.
@end table
-
-
-@node Last resorts, Comparison of Edwin 3.82 to Emacs 18.57, Leaving Edwin, Edwin
-@section Last resorts
+@node Last Resorts, Comparison of Edwin 3.82 to Emacs 18.57, Leaving Edwin, Edwin
+@section Last Resorts
When Scheme exits abnormally it tries to save any unsaved Edwin buffers.
The buffers are saved in an auto-save file in case the original is more
as @file{#foo.scm#}; on PCs it will be saved as @file{foo.s00}, a backup
file with version @samp{00} (which is never used as an actual version).
-
The following Scheme procedures are useful for recovering from bugs in
Edwin's implementation. All of them are designed for use when Edwin is
@emph{not} running --- they should not be used when Edwin is running.
state that prevents Edwin from running.
@end deffn
-@node Comparison of Edwin 3.82 to Emacs 18.57, , Last resorts, Edwin
+@node Comparison of Edwin 3.82 to Emacs 18.57, , Last Resorts, Edwin
@section Comparison of Edwin 3.82 to Emacs 18.57
This section documents all known differences between Edwin 3.82 and
-Emacs 18.57. All page numbers in this section refer to the Emacs
-version 18 manual.
-
+Emacs 18.57. A reference to a ``documented'' feature of Emacs means
+that the feature is documented in the GNU Emacs version 18 manual.
@menu
-* Incompatibilities::
-* Deficiencies::
-* Subsystems missing from Edwin::
-* Documented Emacs commands missing from Edwin::
-* Documented Emacs variables missing from Edwin::
-* Variables that should be per-buffer in Edwin::
+* Incompatibilities of Edwin::
+* Deficiencies of Edwin::
+* Subsystems Missing from Edwin::
+* Commands Missing from Edwin::
+* Variables Missing from Edwin::
+* Per-Buffer Variables::
* Edwin Bugs::
@end menu
-@node Incompatibilities, Deficiencies, , Comparison of Edwin 3.82 to Emacs 18.57
+@node Incompatibilities of Edwin, Deficiencies of Edwin, , Comparison of Edwin 3.82 to Emacs 18.57
@subsection Incompatibilities
These are differences in design, unlikely to be `fixed'.
procedure of no arguments.
@end itemize
-@node Deficiencies, Subsystems missing from Edwin, Incompatibilities, Comparison of Edwin 3.82 to Emacs 18.57
+@node Deficiencies of Edwin, Subsystems Missing from Edwin, Incompatibilities of Edwin, Comparison of Edwin 3.82 to Emacs 18.57
@subsection Deficiencies
Deficiencies are shortcomings of Edwin that are likely to be fixed.
Edwin does not have the notion of ``novice''.
@end itemize
-@node Subsystems missing from Edwin, Documented Emacs commands missing from Edwin, Deficiencies, Comparison of Edwin 3.82 to Emacs 18.57
-@subsection Subsystems missing from Edwin
+@node Subsystems Missing from Edwin, Commands Missing from Edwin, Deficiencies of Edwin, Comparison of Edwin 3.82 to Emacs 18.57
+@subsection Missing Subsystems
+
+The following documented subsystems are implemented by Emacs but not by
+Edwin.
@itemize @bullet
@item
-abbrev mode (edwin has dynamic abbreviations)
+abbrev mode (edwin has dynamic abbreviations
+
@item
-emulation modes: edt, vi, vip
+emulation modes: edt, vi, vi
+
@item
-file locks
+file lock
+
@item
-language modes: emacs-lisp, fortran, lisp, modula-2, prolog
+language modes: emacs-lisp, fortran, lisp, modula-2, prolo
+
@item
-overwrite mode
+overwrite mod
+
@item
-picture mode
+picture mod
+
@item
-slow terminal incremental search
+slow terminal incremental searc
+
@item
-spelling
+spellin
+
@item
-tab stops
+tab stop
+
@item
text formatter modes: nroff, scribe, tex, latex
@end itemize
although for some of them variables have to be set appropriately
before use (e.g.@: @code{info-directory} for info).
+@node Commands Missing from Edwin, Variables Missing from Edwin, Subsystems Missing from Edwin, Comparison of Edwin 3.82 to Emacs 18.57
+@subsection Missing Commands
-@node Documented Emacs commands missing from Edwin, Documented Emacs variables missing from Edwin, Subsystems missing from Edwin, Comparison of Edwin 3.82 to Emacs 18.57
-@subsection Documented Emacs commands missing from Edwin
-
-Here is a list of Emacs commands that are not implemented by Edwin:
+These commands are implemented by Emacs but not by Edwin. The commands
+marked with an asterisk are implemented by the unix version of Edwin but
+not by the PC version. Some of the asterisked comands can work in the
+PC version but the code to implement them is not loaded in order to save
+space; others are unix-specific and are not implemented on the PC.
@example
abbrev-mode
zap-to-char
@end example
-The commands marked with an asterisk are available under Unix, but not
-under DOS. Some of them can be explicitly loaded under DOS.
-
-@node Documented Emacs variables missing from Edwin, Variables that should be per-buffer in Edwin, Documented Emacs commands missing from Edwin, Comparison of Edwin 3.82 to Emacs 18.57
-@subsection Documented Emacs variables missing from Edwin
+@node Variables Missing from Edwin, Per-Buffer Variables, Commands Missing from Edwin, Comparison of Edwin 3.82 to Emacs 18.57
+@subsection Missing Variables
+These documented variables are implemented by Emacs but not Edwin. The
+variables marked with an asterisk are implemented by the unix version of
+Edwin, but not by the PC version.
@example
abbrev-all-caps
visible-bell
@end example
-@noindent
-The variables marked with an asterisk are available under Unix, but
-not under DOS.
+@node Per-Buffer Variables, Edwin Bugs, Variables Missing from Edwin, Comparison of Edwin 3.82 to Emacs 18.57
+@subsection Per-Buffer Variables
-@node Variables that should be per-buffer in Edwin, Edwin Bugs, Documented Emacs variables missing from Edwin, Comparison of Edwin 3.82 to Emacs 18.57
-@subsection Variables that should be per-buffer in Edwin
+These documented variables are per-buffer in Emacs but not in Edwin.
@example
abbrev-mode
shell-prompt-pattern
@end example
-@node Edwin Bugs, , Variables that should be per-buffer in Edwin, Comparison of Edwin 3.82 to Emacs 18.57
+@node Edwin Bugs, , Per-Buffer Variables, Comparison of Edwin 3.82 to Emacs 18.57
@subsection Edwin Bugs
Incorrect behavior of Edwin that will be fixed:
column zero.
@end itemize
-
@node Concept Index, , Edwin, Top
@unnumbered Concept Index
@printindex cp