-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
translation approved by the author instead of in the original English.
\1f
+File: xemacs.info, Node: Input Methods, Next: Select Input Method, Prev: Language Environments, Up: Mule
+
+Input Methods
+=============
+
+ An "input method" is a kind of character conversion designed
+specifically for interactive input. In XEmacs, typically each language
+has its own input method; sometimes several languages which use the same
+characters can share one input method. A few languages support several
+input methods.
+
+ The simplest kind of input method works by mapping ASCII letters into
+another alphabet. This is how the Greek and Russian input methods work.
+
+ A more powerful technique is composition: converting sequences of
+characters into one letter. Many European input methods use composition
+to produce a single non-ASCII letter from a sequence that consists of a
+letter followed by accent characters. For example, some methods convert
+the sequence `'a' into a single accented letter.
+
+ The input methods for syllabic scripts typically use mapping followed
+by composition. The input methods for Thai and Korean work this way.
+First, letters are mapped into symbols for particular sounds or tone
+marks; then, sequences of these which make up a whole syllable are
+mapped into one syllable sign.
+
+ Chinese and Japanese require more complex methods. In Chinese input
+methods, first you enter the phonetic spelling of a Chinese word (in
+input method `chinese-py', among others), or a sequence of portions of
+the character (input methods `chinese-4corner' and `chinese-sw', and
+others). Since one phonetic spelling typically corresponds to many
+different Chinese characters, you must select one of the alternatives
+using special XEmacs commands. Keys such as `C-f', `C-b', `C-n',
+`C-p', and digits have special definitions in this situation, used for
+selecting among the alternatives. <TAB> displays a buffer showing all
+the possibilities.
+
+ In Japanese input methods, first you input a whole word using
+phonetic spelling; then, after the word is in the buffer, XEmacs
+converts it into one or more characters using a large dictionary. One
+phonetic spelling corresponds to many differently written Japanese
+words, so you must select one of them; use `C-n' and `C-p' to cycle
+through the alternatives.
+
+ Sometimes it is useful to cut off input method processing so that the
+characters you have just entered will not combine with subsequent
+characters. For example, in input method `latin-1-postfix', the
+sequence `e '' combines to form an `e' with an accent. What if you
+want to enter them as separate characters?
+
+ One way is to type the accent twice; that is a special feature for
+entering the separate letter and accent. For example, `e ' '' gives
+you the two characters `e''. Another way is to type another letter
+after the `e'--something that won't combine with that--and immediately
+delete it. For example, you could type `e e <DEL> '' to get separate
+`e' and `''.
+
+ Another method, more general but not quite as easy to type, is to use
+`C-\ C-\' between two characters to stop them from combining. This is
+the command `C-\' (`toggle-input-method') used twice. *Note Select
+Input Method::.
+
+ `C-\ C-\' is especially useful inside an incremental search, because
+stops waiting for more characters to combine, and starts searching for
+what you have already entered.
+
+ The variables `input-method-highlight-flag' and
+`input-method-verbose-flag' control how input methods explain what is
+happening. If `input-method-highlight-flag' is non-`nil', the partial
+sequence is highlighted in the buffer. If `input-method-verbose-flag'
+is non-`nil', the list of possible characters to type next is displayed
+in the echo area (but not when you are in the minibuffer).
+
+\1f
+File: xemacs.info, Node: Select Input Method, Next: Coding Systems, Prev: Input Methods, Up: Mule
+
+Selecting an Input Method
+=========================
+
+`C-\'
+ Enable or disable use of the selected input method.
+
+`C-x <RET> C-\ METHOD <RET>'
+ Select a new input method for the current buffer.
+
+`C-h I METHOD <RET>'
+`C-h C-\ METHOD <RET>'
+ Describe the input method METHOD (`describe-input-method'). By
+ default, it describes the current input method (if any).
+
+`M-x list-input-methods'
+ Display a list of all the supported input methods.
+
+ To choose an input method for the current buffer, use `C-x <RET>
+C-\' (`select-input-method'). This command reads the input method name
+with the minibuffer; the name normally starts with the language
+environment that it is meant to be used with. The variable
+`current-input-method' records which input method is selected.
+
+ Input methods use various sequences of ASCII characters to stand for
+non-ASCII characters. Sometimes it is useful to turn off the input
+method temporarily. To do this, type `C-\' (`toggle-input-method').
+To reenable the input method, type `C-\' again.
+
+ If you type `C-\' and you have not yet selected an input method, it
+prompts for you to specify one. This has the same effect as using `C-x
+<RET> C-\' to specify an input method.
+
+ Selecting a language environment specifies a default input method for
+use in various buffers. When you have a default input method, you can
+select it in the current buffer by typing `C-\'. The variable
+`default-input-method' specifies the default input method (`nil' means
+there is none).
+
+ Some input methods for alphabetic scripts work by (in effect)
+remapping the keyboard to emulate various keyboard layouts commonly used
+for those scripts. How to do this remapping properly depends on your
+actual keyboard layout. To specify which layout your keyboard has, use
+the command `M-x quail-set-keyboard-layout'.
+
+ To display a list of all the supported input methods, type `M-x
+list-input-methods'. The list gives information about each input
+method, including the string that stands for it in the mode line.
+
+\1f
+File: xemacs.info, Node: Coding Systems, Next: Recognize Coding, Prev: Select Input Method, Up: Mule
+
+Coding Systems
+==============
+
+ Users of various languages have established many more-or-less
+standard coding systems for representing them. XEmacs does not use
+these coding systems internally; instead, it converts from various
+coding systems to its own system when reading data, and converts the
+internal coding system to other coding systems when writing data.
+Conversion is possible in reading or writing files, in sending or
+receiving from the terminal, and in exchanging data with subprocesses.
+
+ XEmacs assigns a name to each coding system. Most coding systems are
+used for one language, and the name of the coding system starts with the
+language name. Some coding systems are used for several languages;
+their names usually start with `iso'. There are also special coding
+systems `binary' and `no-conversion' which do not convert printing
+characters at all.
+
+ In addition to converting various representations of non-ASCII
+characters, a coding system can perform end-of-line conversion. XEmacs
+handles three different conventions for how to separate lines in a file:
+newline, carriage-return linefeed, and just carriage-return.
+
+`C-h C CODING <RET>'
+ Describe coding system CODING.
+
+`C-h C <RET>'
+ Describe the coding systems currently in use.
+
+`M-x list-coding-systems'
+ Display a list of all the supported coding systems.
+
+ The command `C-h C' (`describe-coding-system') displays information
+about particular coding systems. You can specify a coding system name
+as argument; alternatively, with an empty argument, it describes the
+coding systems currently selected for various purposes, both in the
+current buffer and as the defaults, and the priority list for
+recognizing coding systems (*note Recognize Coding::).
+
+ To display a list of all the supported coding systems, type `M-x
+list-coding-systems'. The list gives information about each coding
+system, including the letter that stands for it in the mode line (*note
+Mode Line::).
+
+ Each of the coding systems that appear in this list--except for
+`binary', which means no conversion of any kind--specifies how and
+whether to convert printing characters, but leaves the choice of
+end-of-line conversion to be decided based on the contents of each file.
+For example, if the file appears to use carriage-return linefeed between
+lines, that end-of-line conversion will be used.
+
+ Each of the listed coding systems has three variants which specify
+exactly what to do for end-of-line conversion:
+
+`...-unix'
+ Don't do any end-of-line conversion; assume the file uses newline
+ to separate lines. (This is the convention normally used on Unix
+ and GNU systems.)
+
+`...-dos'
+ Assume the file uses carriage-return linefeed to separate lines,
+ and do the appropriate conversion. (This is the convention
+ normally used on Microsoft systems.)
+
+`...-mac'
+ Assume the file uses carriage-return to separate lines, and do the
+ appropriate conversion. (This is the convention normally used on
+ the Macintosh system.)
+
+ These variant coding systems are omitted from the
+`list-coding-systems' display for brevity, since they are entirely
+predictable. For example, the coding system `iso-8859-1' has variants
+`iso-8859-1-unix', `iso-8859-1-dos' and `iso-8859-1-mac'.
+
+ In contrast, the coding system `binary' specifies no character code
+conversion at all--none for non-Latin-1 byte values and none for end of
+line. This is useful for reading or writing binary files, tar files,
+and other files that must be examined verbatim.
+
+ The easiest way to edit a file with no conversion of any kind is with
+the `M-x find-file-literally' command. This uses `binary', and also
+suppresses other XEmacs features that might convert the file contents
+before you see them. *Note Visiting::.
+
+ The coding system `no-conversion' means that the file contains
+non-Latin-1 characters stored with the internal XEmacs encoding. It
+handles end-of-line conversion based on the data encountered, and has
+the usual three variants to specify the kind of end-of-line conversion.
+
+\1f
+File: xemacs.info, Node: Recognize Coding, Next: Specify Coding, Prev: Coding Systems, Up: Mule
+
+Recognizing Coding Systems
+==========================
+
+ Most of the time, XEmacs can recognize which coding system to use for
+any given file-once you have specified your preferences.
+
+ Some coding systems can be recognized or distinguished by which byte
+sequences appear in the data. However, there are coding systems that
+cannot be distinguished, not even potentially. For example, there is no
+way to distinguish between Latin-1 and Latin-2; they use the same byte
+values with different meanings.
+
+ XEmacs handles this situation by means of a priority list of coding
+systems. Whenever XEmacs reads a file, if you do not specify the coding
+system to use, XEmacs checks the data against each coding system,
+starting with the first in priority and working down the list, until it
+finds a coding system that fits the data. Then it converts the file
+contents assuming that they are represented in this coding system.
+
+ The priority list of coding systems depends on the selected language
+environment (*note Language Environments::). For example, if you use
+French, you probably want XEmacs to prefer Latin-1 to Latin-2; if you
+use Czech, you probably want Latin-2 to be preferred. This is one of
+the reasons to specify a language environment.
+
+ However, you can alter the priority list in detail with the command
+`M-x prefer-coding-system'. This command reads the name of a coding
+system from the minibuffer, and adds it to the front of the priority
+list, so that it is preferred to all others. If you use this command
+several times, each use adds one element to the front of the priority
+list.
+
+ Sometimes a file name indicates which coding system to use for the
+file. The variable `file-coding-system-alist' specifies this
+correspondence. There is a special function
+`modify-coding-system-alist' for adding elements to this list. For
+example, to read and write all `.txt' using the coding system
+`china-iso-8bit', you can execute this Lisp expression:
+
+ (modify-coding-system-alist 'file "\\.txt\\'" 'china-iso-8bit)
+
+The first argument should be `file', the second argument should be a
+regular expression that determines which files this applies to, and the
+third argument says which coding system to use for these files.
+
+ You can specify the coding system for a particular file using the
+`-*-...-*-' construct at the beginning of a file, or a local variables
+list at the end (*note File Variables::). You do this by defining a
+value for the "variable" named `coding'. XEmacs does not really have a
+variable `coding'; instead of setting a variable, it uses the specified
+coding system for the file. For example, `-*-mode: C; coding:
+iso-8859-1;-*-' specifies use of the iso-8859-1 coding system, as well
+as C mode.
+
+ Once XEmacs has chosen a coding system for a buffer, it stores that
+coding system in `buffer-file-coding-system' and uses that coding
+system, by default, for operations that write from this buffer into a
+file. This includes the commands `save-buffer' and `write-region'. If
+you want to write files from this buffer using a different coding
+system, you can specify a different coding system for the buffer using
+`set-buffer-file-coding-system' (*note Specify Coding::).
+
+\1f
File: xemacs.info, Node: Specify Coding, Prev: Recognize Coding, Up: Mule
Specifying a Coding System
the file. First use the command `C-x <RET> c'
(`universal-coding-system-argument'); this command uses the minibuffer
to read a coding system name. After you exit the minibuffer, the
-specified coding system is used for *the immediately following command*.
+specified coding system is used for _the immediately following command_.
So if the immediately following command is `C-x C-f', for example,
it reads the file using that coding system (and records the coding
editing English text. The remaining major modes are not intended for
use on users' files; they are used in buffers created by Emacs for
specific purposes and include Dired mode for buffers made by Dired
-(*note Dired::.), Mail mode for buffers made by `C-x m' (*note Sending
-Mail::.), and Shell mode for buffers used for communicating with an
-inferior shell process (*note Interactive Shell::.).
+(*note Dired::), Mail mode for buffers made by `C-x m' (*note Sending
+Mail::), and Shell mode for buffers used for communicating with an
+inferior shell process (*note Interactive Shell::).
Most programming language major modes specify that only blank lines
separate paragraphs. This is so that the paragraph commands remain
edit files of text in a human language. Invoke `M-x text-mode' to
enter Text mode. In Text mode, <TAB> runs the function
`tab-to-tab-stop', which allows you to use arbitrary tab stops set with
-`M-x edit-tab-stops' (*note Tab Stops::.). Features concerned with
+`M-x edit-tab-stops' (*note Tab Stops::). Features concerned with
comments in programs are turned off unless they are explicitly invoked.
The syntax table is changed so that periods are not considered part of a
word, while apostrophes, backspaces and underlines are.
A similar variant mode is Indented Text mode, intended for editing
text in which most lines are indented. This mode defines <TAB> to run
-`indent-relative' (*note Indentation::.), and makes Auto Fill indent
-the lines it creates. As a result, a line made by Auto Filling, or by
+`indent-relative' (*note Indentation::), and makes Auto Fill indent the
+lines it creates. As a result, a line made by Auto Filling, or by
<LFD>, is normally indented just like the previous line. Use `M-x
indented-text-mode' to select this mode.
The other feature of Nroff mode is Electric Nroff newline mode.
This is a minor mode that you can turn on or off with `M-x
-electric-nroff-mode' (*note Minor Modes::.). When the mode is on and
+electric-nroff-mode' (*note Minor Modes::). When the mode is on and
you use <RET> to end a line containing an nroff command that opens a
kind of grouping, Emacs automatically inserts the matching nroff
command to close that grouping on the following line. For example, if
of the paragraph for a few seconds and pushes a mark at that spot.
Scanning continues until the whole buffer has been checked or until you
type another key. The positions of the last several paragraphs with
-mismatches can be found in the mark ring (*note Mark Ring::.).
+mismatches can be found in the mark ring (*note Mark Ring::).
Note that square brackets and parentheses, not just braces, are
matched in TeX mode. This is wrong if you want to check TeX syntax.
The console output from TeX, including any error messages, appears
in a buffer called `*TeX-shell*'. If TeX gets an error, you can switch
to this buffer and feed it input (this works as in Shell mode; *note
-Interactive Shell::.). Without switching to this buffer, you can scroll
+Interactive Shell::). Without switching to this buffer, you can scroll
it so that its last line is visible by typing `C-c C-l'.
Type `C-c C-k' (`tex-kill-job') to kill the TeX process if you see
lines in the file. Saving does not change the visibility status of a
line inside Emacs.
-\1f
-File: xemacs.info, Node: Outline Motion, Next: Outline Visibility, Prev: Outline Format, Up: Outline Mode
-
-Outline Motion Commands
-.......................
-
- Some special commands in Outline mode move backward and forward to
-heading lines.
-
-`C-c C-n'
- Move point to the next visible heading line
- (`outline-next-visible-heading').
-
-`C-c C-p'
- Move point to the previous visible heading line
- (`outline-previous-visible-heading').
-
-`C-c C-f'
- Move point to the next visible heading line at the same level as
- the one point is on (`outline-forward-same-level').
-
-`C-c C-b'
- Move point to the previous visible heading line at the same level
- (`outline-backward-same-level').
-
-`C-c C-u'
- Move point up to a lower-level (more inclusive) visible heading
- line (`outline-up-heading').
-
- `C-c C-n' (`next-visible-heading') moves down to the next heading
-line. `C-c C-p' (`previous-visible-heading') moves similarly backward.
-Both accept numeric arguments as repeat counts. The names emphasize
-that invisible headings are skipped, but this is not really a special
-feature. All editing commands that look for lines ignore the invisible
-lines automatically.
-
- More advanced motion commands understand the levels of headings.
-The commands `C-c C-f' (`outline-forward-same-level') and `C-c C-b'
-(`outline-backward-same-level') move from one heading line to another
-visible heading at the same depth in the outline. `C-c C-u'
-(`outline-up-heading') moves backward to another heading that is less
-deeply nested.
-
-\1f
-File: xemacs.info, Node: Outline Visibility, Prev: Outline Motion, Up: Outline Mode
-
-Outline Visibility Commands
-...........................
-
- The other special commands of outline mode are used to make lines
-visible or invisible. Their names all start with `hide' or `show'.
-Most of them exist as pairs of opposites. They are not undoable;
-instead, you can undo right past them. Making lines visible or
-invisible is simply not recorded by the undo mechanism.
-
-`M-x hide-body'
- Make all body lines in the buffer invisible.
-
-`M-x show-all'
- Make all lines in the buffer visible.
-
-`C-c C-d'
- Make everything under this heading invisible, not including this
- heading itself (`hide-subtree').
-
-`C-c C-s'
- Make everything under this heading visible, including body,
- subheadings, and their bodies (`show-subtree').
-
-`M-x hide-leaves'
- Make the body of this heading line, and of all its subheadings,
- invisible.
-
-`M-x show-branches'
- Make all subheadings of this heading line, at all levels, visible.
-
-`C-c C-i'
- Make immediate subheadings (one level down) of this heading line
- visible (`show-children').
-
-`M-x hide-entry'
- Make this heading line's body invisible.
-
-`M-x show-entry'
- Make this heading line's body visible.
-
- Two commands that are exact opposites are `M-x hide-entry' and `M-x
-show-entry'. They are used with point on a heading line, and apply
-only to the body lines of that heading. The subtopics and their bodies
-are not affected.
-
- Two more powerful opposites are `C-c C-h' (`hide-subtree') and `C-c
-C-s' (`show-subtree'). Both should be used when point is on a heading
-line, and both apply to all the lines of that heading's "subtree": its
-body, all its subheadings, both direct and indirect, and all of their
-bodies. In other words, the subtree contains everything following this
-heading line, up to and not including the next heading of the same or
-higher rank.
-
- Intermediate between a visible subtree and an invisible one is having
-all the subheadings visible but none of the body. There are two
-commands for doing this, one that hides the bodies and one that makes
-the subheadings visible. They are `M-x hide-leaves' and `M-x
-show-branches'.
-
- A little weaker than `show-branches' is `C-c C-i' (`show-children').
-It makes just the direct subheadings visible--those one level down.
-Deeper subheadings remain invisible.
-
- Two commands have a blanket effect on the whole file. `M-x
-hide-body' makes all body lines invisible, so that you see just the
-outline structure. `M-x show-all' makes all lines visible. You can
-think of these commands as a pair of opposites even though `M-x
-show-all' applies to more than just body lines.
-
- You can turn off the use of ellipses at the ends of visible lines by
-setting `selective-display-ellipses' to `nil'. The result is no
-visible indication of the presence of invisible lines.
-
-\1f
-File: xemacs.info, Node: Words, Next: Sentences, Prev: Text Mode, Up: Text
-
-Words
-=====
-
- Emacs has commands for moving over or operating on words. By
-convention, the keys for them are all `Meta-' characters.
-
-`M-f'
- Move forward over a word (`forward-word').
-
-`M-b'
- Move backward over a word (`backward-word').
-
-`M-d'
- Kill up to the end of a word (`kill-word').
-
-`M-<DEL>'
- Kill back to the beginning of a word (`backward-kill-word').
-
-`M-@'
- Mark the end of the next word (`mark-word').
-
-`M-t'
- Transpose two words; drag a word forward or backward across other
- words (`transpose-words').
-
- Notice how these keys form a series that parallels the
-character-based `C-f', `C-b', `C-d', `C-t' and <DEL>. `M-@' is related
-to `C-@', which is an alias for `C-<SPC>'.
-
- The commands `Meta-f' (`forward-word') and `Meta-b'
-(`backward-word') move forward and backward over words. They are
-analogous to `Control-f' and `Control-b', which move over single
-characters. Like their `Control-' analogues, `Meta-f' and `Meta-b'
-move several words if given an argument. `Meta-f' with a negative
-argument moves backward, and `Meta-b' with a negative argument moves
-forward. Forward motion stops after the last letter of the word, while
-backward motion stops before the first letter.
-
- `Meta-d' (`kill-word') kills the word after point. To be precise,
-it kills everything from point to the place `Meta-f' would move to.
-Thus, if point is in the middle of a word, `Meta-d' kills just the part
-after point. If some punctuation comes between point and the next
-word, it is killed along with the word. (To kill only the next word
-but not the punctuation before it, simply type `Meta-f' to get to the
-end and kill the word backwards with `Meta-<DEL>'.) `Meta-d' takes
-arguments just like `Meta-f'.
-
- `Meta-<DEL>' (`backward-kill-word') kills the word before point. It
-kills everything from point back to where `Meta-b' would move to. If
-point is after the space in `FOO, BAR', then `FOO, ' is killed. To
-kill just `FOO', type `Meta-b Meta-d' instead of `Meta-<DEL>'.
-
- `Meta-t' (`transpose-words') exchanges the word before or containing
-point with the following word. The delimiter characters between the
-words do not move. For example, transposing `FOO, BAR' results in
-`BAR, FOO' rather than `BAR FOO,'. *Note Transpose::, for more on
-transposition and on arguments to transposition commands.
-
- To operate on the next N words with an operation which applies
-between point and mark, you can either set the mark at point and then
-move over the words, or you can use the command `Meta-@' (`mark-word')
-which does not move point but sets the mark where `Meta-f' would move
-to. It can be given arguments just like `Meta-f'.
-
- The word commands' understanding of syntax is completely controlled
-by the syntax table. For example, any character can be declared to be
-a word delimiter. *Note Syntax::.
-
-\1f
-File: xemacs.info, Node: Sentences, Next: Paragraphs, Prev: Words, Up: Text
-
-Sentences
-=========
-
- The Emacs commands for manipulating sentences and paragraphs are
-mostly on `Meta-' keys, and therefore are like the word-handling
-commands.
-
-`M-a'
- Move back to the beginning of the sentence (`backward-sentence').
-
-`M-e'
- Move forward to the end of the sentence (`forward-sentence').
-
-`M-k'
- Kill forward to the end of the sentence (`kill-sentence').
-
-`C-x <DEL>'
- Kill back to the beginning of the sentence
- (`backward-kill-sentence').
-
- The commands `Meta-a' and `Meta-e' (`backward-sentence' and
-`forward-sentence') move to the beginning and end of the current
-sentence, respectively. They resemble `Control-a' and `Control-e',
-which move to the beginning and end of a line. Unlike their
-counterparts, `Meta-a' and `Meta-e' move over successive sentences if
-repeated or given numeric arguments. Emacs assumes the typist's
-convention is followed, and thus considers a sentence to end wherever
-there is a `.', `?', or `!' followed by the end of a line or two
-spaces, with any number of `)', `]', `'', or `"' characters allowed in
-between. A sentence also begins or ends wherever a paragraph begins or
-ends.
-
- Neither `M-a' nor `M-e' moves past the newline or spaces beyond the
-sentence edge at which it is stopping.
-
- `M-a' and `M-e' have a corresponding kill command, just like `C-a'
-and `C-e' have `C-k'. The command is `M-k' (`kill-sentence') which
-kills from point to the end of the sentence. With minus one as an
-argument it kills back to the beginning of the sentence. Larger
-arguments serve as repeat counts.
-
- There is a special command, `C-x <DEL>' (`backward-kill-sentence'),
-for killing back to the beginning of a sentence, which is useful when
-you change your mind in the middle of composing text.
-
- The variable `sentence-end' controls recognition of the end of a
-sentence. It is a regexp that matches the last few characters of a
-sentence, together with the whitespace following the sentence. Its
-normal value is:
-
- "[.?!][]\"')]*\\($\\|\t\\| \\)[ \t\n]*"
-
-This example is explained in the section on regexps. *Note Regexps::.
-
-\1f
-File: xemacs.info, Node: Paragraphs, Next: Pages, Prev: Sentences, Up: Text
-
-Paragraphs
-==========
-
- The Emacs commands for manipulating paragraphs are also `Meta-' keys.
-
-`M-['
- Move back to previous paragraph beginning
- (`backward-paragraph').
-
-`M-]'
- Move forward to next paragraph end (`forward-paragraph').
-
-`M-h'
- Put point and mark around this or next paragraph
- (`mark-paragraph').
-
- `Meta-[' moves to the beginning of the current or previous paragraph,
-while `Meta-]' moves to the end of the current or next paragraph.
-Blank lines and text formatter command lines separate paragraphs and are
-not part of any paragraph. An indented line starts a new paragraph.
-
- In major modes for programs (as opposed to Text mode), paragraphs
-begin and end only at blank lines. As a result, the paragraph commands
-continue to be useful even though there are no paragraphs per se.
-
- When there is a fill prefix, paragraphs are delimited by all lines
-which don't start with the fill prefix. *Note Filling::.
-
- To operate on a paragraph, you can use the command `Meta-h'
-(`mark-paragraph') to set the region around it. This command puts
-point at the beginning and mark at the end of the paragraph point was
-in. If point is between paragraphs (in a run of blank lines or at a
-boundary), the paragraph following point is surrounded by point and
-mark. If there are blank lines preceding the first line of the
-paragraph, one of the blank lines is included in the region. Thus, for
-example, `M-h C-w' kills the paragraph around or after point.
-
- The precise definition of a paragraph boundary is controlled by the
-variables `paragraph-separate' and `paragraph-start'. The value of
-`paragraph-start' is a regexp that matches any line that either starts
-or separates paragraphs. The value of `paragraph-separate' is another
-regexp that matches only lines that separate paragraphs without being
-part of any paragraph. Lines that start a new paragraph and are
-contained in it must match both regexps. For example, normally
-`paragraph-start' is `"^[ \t\n\f]"' and `paragraph-separate' is `"^[
-\t\f]*$"'.
-
- Normally it is desirable for page boundaries to separate paragraphs.
-The default values of these variables recognize the usual separator for
-pages.
-