X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=info%2Fxemacs.info-12;h=f01279eb23c7158671e9260dff8255c797411155;hb=a12fda8f84f188ec82fdd2a1d0948c0b3beaed9b;hp=4630e5177b2cb9c69047544807de3df84c8256ad;hpb=376658ea71d16dced8acff36c3e385ac3738d868;p=chise%2Fxemacs-chise.git- diff --git a/info/xemacs.info-12 b/info/xemacs.info-12 index 4630e51..f01279e 100644 --- a/info/xemacs.info-12 +++ b/info/xemacs.info-12 @@ -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.  +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. + + +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. + + +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-to-tab-stop'. + +`' + 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. + + +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. + + +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 , 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 = ... + + +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 + 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. + + +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. + + 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. - -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 (, 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. - - -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. - - -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. - - -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. - - -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. -