(U+7AC3): Add J78-635E and J{83|90}-3376.
[chise/xemacs-chise.git-] / info / xemacs.info-12
index 4630e51..f01279e 100644 (file)
@@ -1,4 +1,4 @@
-This is ../info/xemacs.info, produced by makeinfo version 3.12s from
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
 xemacs/xemacs.texi.
 
 INFO-DIR-SECTION XEmacs Editor
@@ -30,6 +30,265 @@ versions, except that the sections entitled "The GNU Manifesto",
 translation approved by the author instead of in the original English.
 
 \1f
+File: xemacs.info,  Node: Fortran Columns,  Next: Fortran Abbrev,  Prev: Fortran Comments,  Up: Fortran
+
+Columns
+-------
+
+`C-c C-r'
+     Displays a "column ruler" momentarily above the current line
+     (`fortran-column-ruler').
+
+`C-c C-w'
+     Splits the current window horizontally so that it is 72 columns
+     wide.  This may help you avoid going over that limit
+     (`fortran-window-create').
+
+   The command `C-c C-r' (`fortran-column-ruler') shows a column ruler
+above the current line.  The comment ruler consists of two lines of
+text that show you the locations of columns with special significance
+in Fortran programs.  Square brackets show the limits of the columns for
+line numbers, and curly brackets show the limits of the columns for the
+statement body.  Column numbers appear above them.
+
+   Note that the column numbers count from zero, as always in XEmacs.
+As a result, the numbers may not be those you are familiar with; but the
+actual positions in the line are standard Fortran.
+
+   The text used to display the column ruler is the value of the
+variable `fortran-comment-ruler'.  By changing this variable, you can
+change the display.
+
+   For even more help, use `C-c C-w' (`fortran-window-create'), a
+command which splits the current window horizontally, resulting in a
+window 72 columns wide.  When you edit in this window, you can
+immediately see when a line gets too wide to be correct Fortran.
+
+\1f
+File: xemacs.info,  Node: Fortran Abbrev,  Prev: Fortran Columns,  Up: Fortran
+
+Fortran Keyword Abbrevs
+-----------------------
+
+   Fortran mode provides many built-in abbrevs for common keywords and
+declarations.  These are the same sort of abbrevs that you can define
+yourself.  To use them, you must turn on Abbrev mode.  *note Abbrevs::.
+
+   The built-in abbrevs are unusual in one way: they all start with a
+semicolon.  You cannot normally use semicolon in an abbrev, but Fortran
+mode makes this possible by changing the syntax of semicolon to "word
+constituent".
+
+   For example, one built-in Fortran abbrev is `;c' for `continue'.  If
+you insert `;c' and then insert a punctuation character such as a space
+or a newline, the `;c' changes automatically to `continue', provided
+Abbrev mode is enabled.
+
+   Type `;?' or `;C-h' to display a list of all built-in Fortran
+abbrevs and what they stand for.
+
+\1f
+File: xemacs.info,  Node: Asm Mode,  Prev: Fortran,  Up: Programs
+
+Asm Mode
+========
+
+   Asm mode is a major mode for editing files of assembler code.  It
+defines these commands:
+
+`<TAB>'
+     `tab-to-tab-stop'.
+
+`<LFD>'
+     Insert a newline and then indent using `tab-to-tab-stop'.
+
+`:'
+     Insert a colon and then remove the indentation from before the
+     label preceding colon.  Then do `tab-to-tab-stop'.
+
+`;'
+     Insert or align a comment.
+
+   The variable `asm-comment-char' specifies which character starts
+comments in assembler syntax.
+
+\1f
+File: xemacs.info,  Node: Running,  Next: Packages,  Prev: Programs,  Up: Top
+
+Compiling and Testing Programs
+******************************
+
+   The previous chapter discusses the Emacs commands that are useful for
+making changes in programs.  This chapter deals with commands that
+assist in the larger process of developing and maintaining programs.
+
+* Menu:
+
+* Compilation::        Compiling programs in languages other than Lisp
+                        (C, Pascal, etc.)
+* Modes: Lisp Modes.   Various modes for editing Lisp programs, with
+                       different facilities for running the Lisp programs.
+* Libraries: Lisp Libraries.      Creating Lisp programs to run in Emacs.
+* Eval: Lisp Eval.     Executing a single Lisp expression in Emacs.
+* Debug: Lisp Debug.   Debugging Lisp programs running in Emacs.
+* Interaction: Lisp Interaction.  Executing Lisp in an Emacs buffer.
+* External Lisp::      Communicating through Emacs with a separate Lisp.
+
+\1f
+File: xemacs.info,  Node: Compilation,  Next: Lisp Modes,  Prev: Running,  Up: Running
+
+Running "make", or Compilers Generally
+======================================
+
+   Emacs can run compilers for non-interactive languages like C and
+Fortran as inferior processes, feeding the error log into an Emacs
+buffer.  It can also parse the error messages and visit the files in
+which errors are found, moving point to the line where the error
+occurred.
+
+`M-x compile'
+     Run a compiler asynchronously under Emacs, with error messages to
+     `*compilation*' buffer.
+
+`M-x grep'
+     Run `grep' asynchronously under Emacs, with matching lines listed
+     in the buffer named `*compilation*'.
+
+`M-x kill-compilation'
+     Kill the process made by the `M-x compile' command.
+
+`M-x kill-grep'
+     Kill the running compilation or `grep' subprocess.
+
+`C-x `'
+     Visit the next compiler error message or `grep' match.
+
+   To run `make' or another compiler, type `M-x compile'.  This command
+reads a shell command line using the minibuffer, then executes the
+specified command line in an inferior shell with output going to the
+buffer named `*compilation*'.  By default, the current buffer's default
+directory is used as the working directory for the execution of the
+command; therefore, the makefile comes from this directory.
+
+   When the shell command line is read, the minibuffer appears
+containing a default command line (the command you used the last time
+you typed `M-x compile').  If you type just <RET>, the same command
+line is used again.  The first `M-x compile' provides `make -k' as the
+default.  The default is taken from the variable `compile-command'; if
+the appropriate compilation command for a file is something other than
+`make -k', it can be useful to have the file specify a local value for
+`compile-command' (*note File Variables::).
+
+   When you start a compilation, the buffer `*compilation*' is
+displayed in another window but not selected.  Its mode line displays
+the word `run' or `exit' in the parentheses to tell you whether
+compilation is finished.  You do not have to keep this buffer visible;
+compilation continues in any case.
+
+   To kill the compilation process, type `M-x-kill-compilation'.  The
+mode line of the `*compilation*' buffer changes to say `signal' instead
+of `run'.  Starting a new compilation also kills any running
+compilation, as only one can occur at any time.  Starting a new
+compilation prompts for confirmation before actually killing a
+compilation that is running.
+
+   To parse the compiler error messages, type `C-x `' (`next-error').
+The character following `C-x' is the grave accent, not the single
+quote.  The command displays the buffer `*compilation*' in one window
+and the buffer in which the next error occurred in another window.
+Point in that buffer is moved to the line where the error was found.
+The corresponding error message is scrolled to the top of the window in
+which `*compilation*' is displayed.
+
+   The first time you use `C-x `' after the start of a compilation, it
+parses all the error messages, visits all the files that have error
+messages, and creates markers pointing at the lines the error messages
+refer to.  It then moves to the first error message location.
+Subsequent uses of `C-x `' advance down the data set up by the first
+use.  When the preparsed error messages are exhausted, the next `C-x `'
+checks for any more error messages that have come in; this is useful if
+you start editing compiler errors while compilation is still going on.
+If no additional error messages have come in, `C-x `' reports an error.
+
+   `C-u C-x `' discards the preparsed error message data and parses the
+`*compilation*' buffer again, then displays the first error.  This way,
+you can process the same set of errors again.
+
+   Instead of running a compiler, you can run `grep' and see the lines
+on which matches were found.  To do this, type `M-x grep' with an
+argument line that contains the same arguments you would give to
+`grep': a `grep'-style regexp (usually in single quotes to quote the
+shell's special characters) followed by filenames, which may use
+wildcard characters.  The output from `grep' goes in the
+`*compilation*' buffer.  You can use `C-x `' to find the lines that
+match as if they were compilation errors.
+
+   Note: a shell is used to run the compile command, but the shell is
+not run in interactive mode.  In particular, this means that the shell
+starts up with no prompt.  If you find your usual shell prompt making an
+unsightly appearance in the `*compilation*' buffer, it means you have
+made a mistake in your shell's initialization file (`.cshrc' or `.shrc'
+or ...) by setting the prompt unconditionally.  The shell
+initialization file should set the prompt only if there already is a
+prompt.  Here's how to do it in `csh':
+
+     if ($?prompt) set prompt = ...
+
+\1f
+File: xemacs.info,  Node: Lisp Modes,  Next: Lisp Libraries,  Prev: Compilation,  Up: Running
+
+Major Modes for Lisp
+====================
+
+   Emacs has four different major modes for Lisp.  They are the same in
+terms of editing commands, but differ in the commands for executing Lisp
+expressions.
+
+Emacs-Lisp mode
+     The mode for editing source files of programs to run in Emacs Lisp.
+     This mode defines `C-M-x' to evaluate the current defun.  *Note
+     Lisp Libraries::.
+
+Lisp Interaction mode
+     The mode for an interactive session with Emacs Lisp.  It defines
+     <LFD> to evaluate the sexp before point and insert its value in the
+     buffer.  *Note Lisp Interaction::.
+
+Lisp mode
+     The mode for editing source files of programs that run in other
+     dialects of Lisp than Emacs Lisp.  This mode defines `C-M-x' to
+     send the current defun to an inferior Lisp process.  *Note
+     External Lisp::.
+
+Inferior Lisp mode
+     The mode for an interactive session with an inferior Lisp process.
+     This mode combines the special features of Lisp mode and Shell mode
+     (*note Shell Mode::).
+
+Scheme mode
+     Like Lisp mode but for Scheme programs.
+
+Inferior Scheme mode
+     The mode for an interactive session with an inferior Scheme
+     process.
+
+\1f
+File: xemacs.info,  Node: Lisp Libraries,  Next: Lisp Eval,  Prev: Lisp Modes,  Up: Running
+
+Libraries of Lisp Code for Emacs
+================================
+
+   Lisp code for Emacs editing commands is stored in files whose names
+conventionally end in `.el'.  This ending tells Emacs to edit them in
+Emacs-Lisp mode (*note Lisp Modes::).
+
+* Menu:
+
+* Loading::            Loading libraries of Lisp code into Emacs for use.
+* Compiling Libraries:: Compiling a library makes it load and run faster.
+* Mocklisp::           Converting Mocklisp to Lisp so XEmacs can run it.
+
+\1f
 File: xemacs.info,  Node: Loading,  Next: Compiling Libraries,  Prev: Lisp Libraries,  Up: Lisp Libraries
 
 Loading Libraries
@@ -931,242 +1190,3 @@ since those two definitions are independent for one abbrev.
 
    `M-x kill-all-abbrevs' removes all existing abbrev definitions.
 
-\1f
-File: xemacs.info,  Node: Expanding Abbrevs,  Next: Editing Abbrevs,  Prev: Defining Abbrevs,  Up: Abbrevs
-
-Controlling Abbrev Expansion
-============================
-
-   An abbrev expands whenever it is in a buffer just before point and
-you type a self-inserting punctuation character (<SPC>, comma, etc.).
-Most often an abbrev is used by inserting the abbrev followed by
-punctuation.
-
-   Abbrev expansion preserves case; thus, `foo' expands into `find
-outer otter', `Foo' into `Find outer otter', and `FOO' into `FIND OUTER
-OTTER' or `Find Outer Otter' according to the variable
-`abbrev-all-caps' (a non-`nil' value chooses the first of the two
-expansions).
-
-   Two commands are available to control abbrev expansion:
-
-`M-''
-     Separate a prefix from a following abbrev to be expanded
-     (`abbrev-prefix-mark').
-
-`C-x a e'
-     Expand the abbrev before point (`expand-abbrev').  This is
-     effective even when Abbrev mode is not enabled.
-
-`M-x unexpand-abbrev'
-     Undo last abbrev expansion.
-
-`M-x expand-region-abbrevs'
-     Expand some or all abbrevs found in the region.
-
-   You may wish to expand an abbrev with a prefix attached.  For
-example, if `cnst' expands into `construction', you may want to use it
-to enter `reconstruction'.  It does not work to type `recnst', because
-that is not necessarily a defined abbrev.  Instead, you can use the
-command `M-'' (`abbrev-prefix-mark') between the prefix `re' and the
-abbrev `cnst'.  First, insert `re'.  Then type `M-''; this inserts a
-minus sign in the buffer to indicate that it has done its work.  Then
-insert the abbrev `cnst'.  The buffer now contains `re-cnst'.  Now
-insert a punctuation character to expand the abbrev `cnst' into
-`construction'.  The minus sign is deleted at this point by `M-''.  The
-resulting text is the desired `reconstruction'.
-
-   If you actually want the text of the abbrev in the buffer, rather
-than its expansion, insert the following punctuation with `C-q'.  Thus,
-`foo C-q -' leaves `foo-' in the buffer.
-
-   If you expand an abbrev by mistake, you can undo the expansion
-(replace the expansion by the original abbrev text) with `M-x
-unexpand-abbrev'.  You can also use `C-_' (`undo') to undo the
-expansion; but that will first undo the insertion of the punctuation
-character.
-
-   `M-x expand-region-abbrevs' searches through the region for defined
-abbrevs, and  offers to replace each one it finds with its expansion.
-This command is useful if you have typed text using abbrevs but forgot
-to turn on Abbrev mode first.  It may also be useful together with a
-special set of abbrev definitions for making several global
-replacements at once.  The command is effective even if Abbrev mode is
-not enabled.
-
-\1f
-File: xemacs.info,  Node: Editing Abbrevs,  Next: Saving Abbrevs,  Prev: Expanding Abbrevs,  Up: Abbrevs
-
-Examining and Editing Abbrevs
-=============================
-
-`M-x list-abbrevs'
-     Print a list of all abbrev definitions.
-
-`M-x edit-abbrevs'
-     Edit a list of abbrevs; you can add, alter, or remove definitions.
-
-   The output from `M-x list-abbrevs' looks like this:
-
-     (lisp-mode-abbrev-table)
-     "dk"             0    "define-key"
-     (global-abbrev-table)
-     "dfn"            0    "definition"
-
-(Some blank lines of no semantic significance, and some other abbrev
-tables, have been omitted.)
-
-   A line containing a name in parentheses is the header for abbrevs in
-a particular abbrev table; `global-abbrev-table' contains all the global
-abbrevs, and the other abbrev tables that are named after major modes
-contain the mode-specific abbrevs.
-
-   Within each abbrev table, each non-blank line defines one abbrev.
-The word at the beginning is the abbrev.  The number that appears is
-the number of times the abbrev has been expanded.  Emacs keeps track of
-this to help you see which abbrevs you actually use, in case you want
-to eliminate those that you don't use often.  The string at the end of
-the line is the expansion.
-
-   `M-x edit-abbrevs' allows you to add, change or kill abbrev
-definitions by editing a list of them in an Emacs buffer.  The list has
-the format described above.  The buffer of abbrevs is called
-`*Abbrevs*', and is in Edit-Abbrevs mode.  This mode redefines the key
-`C-c C-c' to install the abbrev definitions as specified in the buffer.
-The  `edit-abbrevs-redefine' command does this.  Any abbrevs not
-described in the buffer are eliminated when this is done.
-
-   `edit-abbrevs' is actually the same as `list-abbrevs', except that
-it selects the buffer `*Abbrevs*' whereas `list-abbrevs' merely
-displays it in another window.
-
-\1f
-File: xemacs.info,  Node: Saving Abbrevs,  Next: Dynamic Abbrevs,  Prev: Editing Abbrevs,  Up: Abbrevs
-
-Saving Abbrevs
-==============
-
-   These commands allow you to keep abbrev definitions between editing
-sessions.
-
-`M-x write-abbrev-file'
-     Write a file describing all defined abbrevs.
-
-`M-x read-abbrev-file'
-     Read such an abbrev file and define abbrevs as specified there.
-
-`M-x quietly-read-abbrev-file'
-     Similar, but do not display a message about what is going on.
-
-`M-x define-abbrevs'
-     Define abbrevs from buffer.
-
-`M-x insert-abbrevs'
-     Insert all abbrevs and their expansions into the buffer.
-
-   Use `M-x write-abbrev-file' to save abbrev definitions for use in a
-later session.  The command reads a file name using the minibuffer and
-writes a description of all current abbrev definitions into the
-specified file.  The text stored in the file looks like the output of
-`M-x list-abbrevs'.
-
-   `M-x read-abbrev-file' prompts for a file name using the minibuffer
-and reads the specified file, defining abbrevs according to its
-contents.  `M-x quietly-read-abbrev-file' is the same but does not
-display a message in the echo area; it is actually useful primarily in
-the `.emacs' file.  If you give an empty argument to either of these
-functions, the file name Emacs uses is the value of the variable
-`abbrev-file-name', which is by default `"~/.abbrev_defs"'.
-
-   Emacs offers to save abbrevs automatically if you have changed any of
-them, whenever it offers to save all files (for `C-x s' or `C-x C-c').
-Set the variable `save-abbrevs' to `nil' to inhibit this feature.
-
-   The commands `M-x insert-abbrevs' and `M-x define-abbrevs' are
-similar to the previous commands but work on text in an Emacs buffer.
-`M-x insert-abbrevs' inserts text into the current buffer before point,
-describing all current abbrev definitions; `M-x define-abbrevs' parses
-the entire current buffer and defines abbrevs accordingly.
-
-\1f
-File: xemacs.info,  Node: Dynamic Abbrevs,  Prev: Saving Abbrevs,  Up: Abbrevs
-
-Dynamic Abbrev Expansion
-========================
-
-   The abbrev facility described above operates automatically as you
-insert text, but all abbrevs must be defined explicitly.  By contrast,
-"dynamic abbrevs" allow the meanings of abbrevs to be determined
-automatically from the contents of the buffer, but dynamic abbrev
-expansion happens only when you request it explicitly.
-
-`M-/'
-     Expand the word in the buffer before point as a "dynamic abbrev",
-     by searching in the buffer for words starting with that
-     abbreviation (`dabbrev-expand').
-
-   For example, if the buffer contains `does this follow ' and you type
-`f o M-/', the effect is to insert `follow' because that is the last
-word in the buffer that starts with `fo'.  A numeric argument to `M-/'
-says to take the second, third, etc. distinct expansion found looking
-backward from point.  Repeating `M-/' searches for an alternative
-expansion by looking farther back.  After the entire buffer before
-point has been considered, the buffer after point is searched.
-
-   Dynamic abbrev expansion is completely independent of Abbrev mode;
-the expansion of a word with `M-/' is completely independent of whether
-it has a definition as an ordinary abbrev.
-
-\1f
-File: xemacs.info,  Node: Picture,  Next: Sending Mail,  Prev: Abbrevs,  Up: Top
-
-Editing Pictures
-****************
-
-   If you want to create a picture made out of text characters (for
-example, a picture of the division of a register into fields, as a
-comment in a program), use the command `edit-picture' to enter Picture
-mode.
-
-   In Picture mode, editing is based on the "quarter-plane" model of
-text.  In this model, the text characters lie studded on an area that
-stretches infinitely far to the right and downward.  The concept of the
-end of a line does not exist in this model; the most you can say is
-where the last non-blank character on the line is found.
-
-   Of course, Emacs really always considers text as a sequence of
-characters, and lines really do have ends.  But in Picture mode most
-frequently-used keys are rebound to commands that simulate the
-quarter-plane model of text.  They do this by inserting spaces or by
-converting tabs to spaces.
-
-   Most of the basic editing commands of Emacs are redefined by Picture
-mode to do essentially the same thing but in a quarter-plane way.  In
-addition, Picture mode defines various keys starting with the `C-c'
-prefix to run special picture editing commands.
-
-   One of these keys, `C-c C-c', is pretty important.  Often a picture
-is part of a larger file that is usually edited in some other major
-mode.  `M-x edit-picture' records the name of the previous major mode.
-You can then use the `C-c C-c' command (`picture-mode-exit') to restore
-that mode.  `C-c C-c' also deletes spaces from the ends of lines,
-unless you give it a numeric argument.
-
-   The commands used in Picture mode all work in other modes (provided
-the `picture' library is loaded), but are only  bound to keys in
-Picture mode.  Note that the descriptions below talk of moving "one
-column" and so on, but all the picture mode commands handle numeric
-arguments as their normal equivalents do.
-
-   Turning on Picture mode calls the value of the variable
-`picture-mode-hook' as a function, with no arguments, if that value
-exists and is non-`nil'.
-
-* Menu:
-
-* Basic Picture::         Basic concepts and simple commands of Picture Mode.
-* Insert in Picture::     Controlling direction of cursor motion
-                           after "self-inserting" characters.
-* Tabs in Picture::       Various features for tab stops and indentation.
-* Rectangles in Picture:: Clearing and superimposing rectangles.
-