-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.0b 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: Library Keywords, Next: Help Mode, Prev: Apropos, Up: Help
+
+Keyword Search for Lisp Libraries
+=================================
+
+ The `C-h p' command lets you search the standard Emacs Lisp
+libraries by topic keywords. Here is a partial list of keywords you can
+use:
+
+ abbrev abbreviation handling, typing shortcuts, macros
+ bib code related to the `bib' bibliography processor
+ c C, C++, and Objective-C language support
+ calendar calendar and time management support
+ comm communications, networking, remote access to files
+ data support for editing files of data
+ docs support for Emacs documentation
+ dumped files preloaded into Emacs
+ emulations emulations of other editors
+ extensions Emacs Lisp language extensions
+ faces support for multiple fonts
+ frames support for Emacs frames and window systems
+ games games, jokes and amusements
+ hardware support for interfacing with exotic hardware
+ help support for on-line help systems
+ hypermedia support for links between text or other media types
+ i18n internationalization and alternate character-set support
+ internal code for Emacs internals, build process, defaults
+ languages specialized modes for editing programming languages
+ lisp Lisp support, including Emacs Lisp
+ local code local to your site
+ maint maintenance aids for the Emacs development group
+ mail modes for electronic-mail handling
+ matching various sorts of searching and matching
+ mouse mouse support
+ mule multi-language extensions
+ news support for netnews reading and posting
+ oop support for object-oriented programming
+ outlines support for hierarchical outlining
+ processes process, subshell, compilation, and job control support
+ terminals support for terminal types
+ tex code related to the TeX formatter
+ tools programming tools
+ unix front-ends/assistants for, or emulators of, UNIX features
+ vms support code for vms
+ wp word processing
+
+\1f
+File: xemacs.info, Node: Help Mode, Next: Misc Help, Prev: Library Keywords, Up: Help
+
+Help Mode Commands
+==================
+
+ Help buffers provide the commands of View mode (*note Misc File
+Ops::), plus a few special commands of their own.
+
+`<SPC>'
+ Scroll forward.
+
+`<DEL>'
+`<BS>'
+ Scroll backward.
+
+ When a command name (*note Running Commands by Name: M-x.) or
+variable name (*note Variables::) appears in the documentation, it
+normally appears inside paired single-quotes.
+
+\1f
+File: xemacs.info, Node: Misc Help, Prev: Help Mode, Up: Help
+
+Other Help Commands
+===================
+
+ `C-h i' (`info') runs the Info program, which is used for browsing
+through structured documentation files. The entire XEmacs manual is
+available within Info. Eventually all the documentation of the GNU
+system will be available. Type `h' after entering Info to run a
+tutorial on using Info.
+
+ If you specify a numeric argument, `C-h i' prompts for the name of a
+documentation file. This way, you can browse a file which doesn't have
+an entry in the top-level Info menu. It is also handy when you need to
+get to the documentation quickly, and you know the exact name of the
+file.
+
+ There are two special help commands for accessing XEmacs
+documentation through Info. `C-h C-f FUNCTION <RET>' enters Info and
+goes straight to the documentation of the XEmacs function FUNCTION.
+`C-h C-k KEY' enters Info and goes straight to the documentation of the
+key KEY. These two keys run the commands `Info-elisp-ref' and
+`Info-goto-emacs-key-command-node'.
+
+ If something surprising happens, and you are not sure what commands
+you typed, use `C-h l' (`view-lossage'). `C-h l' prints the last 100
+command characters you typed in. If you see commands that you don't
+know, you can use `C-h c' to find out what they do.
+
+ XEmacs has several major modes. Each mode redefines a few keys and
+makes a few other changes in how editing works. `C-h m'
+(`describe-mode') prints documentation on the current major mode, which
+normally describes all the commands that are changed in this mode.
+
+ `C-h b' (`describe-bindings') and `C-h s' (`describe-syntax')
+present information about the current XEmacs mode that is not covered
+by `C-h m'. `C-h b' displays a list of all the key bindings currently
+in effect, with the local bindings of the current major mode first,
+followed by the global bindings (*note Key Bindings::). `C-h s'
+displays the contents of the syntax table with explanations of each
+character's syntax (*note Syntax::).
+
+ You can get a similar list for a particular prefix key by typing
+`C-h' after the prefix key. (There are a few prefix keys for which
+this does not work--those that provide their own bindings for `C-h'.
+One of these is <ESC>, because `<ESC> C-h' is actually `C-M-h', which
+marks a defun.)
+
+ The other `C-h' options display various files of useful information.
+`C-h C-w' (`describe-no-warranty') displays the full details on the
+complete absence of warranty for XEmacs. `C-h n' (`view-emacs-news')
+displays the file `xemacs/etc/NEWS', which contains documentation on
+XEmacs changes arranged chronologically. `C-h F' (`xemacs-local-faq')
+displays local version of the XEmacs
+frequently-answered-questions-list. `C-h t' (`help-with-tutorial')
+displays the learn-by-doing XEmacs tutorial. `C-h C-c'
+(`describe-copying') displays the file `xemacs/etc/COPYING', which
+tells you the conditions you must obey in distributing copies of
+XEmacs. `C-h C-d' (`describe-distribution') displays another file named
+`xemacs/etc/DISTRIB', which tells you how you can order a copy of the
+latest version of XEmacs.
+
+\1f
+File: xemacs.info, Node: Mark, Next: Mouse Selection, Prev: Help, Up: Top
+
+Selecting Text
+**************
+
+ Many Emacs commands operate on an arbitrary contiguous part of the
+current buffer. You can select text in two ways:
+
+ * You use special keys to select text by defining a region between
+ point and the mark.
+
+ * If you are running XEmacs under X, you can also select text with
+ the mouse.
+
+The Mark and the Region
+=======================
+
+ To specify the text for a command to operate on, set "the mark" at
+one end of it, and move point to the other end. The text between point
+and the mark is called "the region". You can move point or the mark to
+adjust the boundaries of the region. It doesn't matter which one is
+set first chronologically, or which one comes earlier in the text.
+
+ Once the mark has been set, it remains until it is set again at
+another place. The mark remains fixed with respect to the preceding
+character if text is inserted or deleted in a buffer. Each Emacs
+buffer has its own mark; when you return to a buffer that had been
+selected previously, it has the same mark it had before.
+
+ Many commands that insert text, such as `C-y' (`yank') and `M-x
+insert-buffer', position the mark at one end of the inserted text--the
+opposite end from where point is positioned, so that the region
+contains the text just inserted.
+
+ Aside from delimiting the region, the mark is useful for marking a
+spot that you may want to go back to. To make this feature more useful,
+Emacs remembers 16 previous locations of the mark in the `mark ring'.
+
+* Menu:
+
+* Setting Mark:: Commands to set the mark.
+* Using Region:: Summary of ways to operate on contents of the region.
+* Marking Objects:: Commands to put region around textual units.
+* Mark Ring:: Previous mark positions saved so you can go back there.
+
+\1f
+File: xemacs.info, Node: Setting Mark, Next: Using Region, Prev: Mark, Up: Mark
+
+Setting the Mark
+----------------
+
+ Here are some commands for setting the mark:
+
+`C-<SPC>'
+ Set the mark where point is (`set-mark-command').
+
+`C-@'
+ The same.
+
+`C-x C-x'
+ Interchange mark and point (`exchange-point-and-mark').
+
+`C-<'
+ Pushes a mark at the beginning of the buffer.
+
+`C->'
+ Pushes a mark at the end of the buffer.
+
+ For example, to convert part of the buffer to all upper-case, you
+can use the `C-x C-u' (`upcase-region') command, which operates on the
+text in the region. First go to the beginning of the text you want to
+capitalize and type `C-<SPC>' to put the mark there, then move to the
+end, and then type `C-x C-u' to capitalize the selected region. You
+can also set the mark at the end of the text, move to the beginning,
+and then type `C-x C-u'. Most commands that operate on the text in the
+region have the word `region' in their names.
+
+ The most common way to set the mark is with the `C-<SPC>' command
+(`set-mark-command'). This command sets the mark where point is. You
+can then move point away, leaving the mark behind. It is actually
+incorrect to speak of the character `C-<SPC>'; there is no such
+character. When you type <SPC> while holding down <CTRL>, you get the
+character `C-@' on most terminals. This character is actually bound to
+`set-mark-command'. But unless you are unlucky enough to have a
+terminal where typing `C-<SPC>' does not produce `C-@', you should
+think of this character as `C-<SPC>'.
+
+ Since terminals have only one cursor, Emacs cannot show you where the
+mark is located. Most people use the mark soon after they set it, before
+they forget where it is. But you can see where the mark is with the
+command `C-x C-x' (`exchange-point-and-mark') which puts the mark where
+point was and point where the mark was. The extent of the region is
+unchanged, but the cursor and point are now at the previous location of
+the mark.
+
+ Another way to set the mark is to push the mark to the beginning of a
+buffer while leaving point at its original location. If you supply an
+argument to `C-<' (`mark-beginning-of-buffer'), the mark is pushed N/10
+of the way from the true beginning of the buffer. You can also set the
+mark at the end of a buffer with `C->' (`mark-end-of-buffer'). It
+pushes the mark to the end of the buffer, leaving point alone.
+Supplying an argument to the command pushes the mark N/10 of the way
+from the true end of the buffer.
+
+ If you are using XEmacs under the X window system, you can set the
+variable `zmacs-regions' to `t'. This makes the current region (defined
+by point and mark) highlight and makes it available as the X clipboard
+selection, which means you can use the menu bar items on it. *Note
+Active Regions::, for more information.
+
+ `C-x C-x' is also useful when you are satisfied with the location of
+point but want to move the mark; do `C-x C-x' to put point there and
+then you can move it. A second use of `C-x C-x', if necessary, puts
+the mark at the new location with point back at its original location.
+
+\1f
+File: xemacs.info, Node: Using Region, Next: Marking Objects, Prev: Setting Mark, Up: Mark
+
+Operating on the Region
+-----------------------
+
+ Once you have created an active region, you can do many things to
+the text in it:
+ * Kill it with `C-w' (*note Killing::).
+
+ * Save it in a register with `C-x r s' (*note Registers::).
+
+ * Save it in a buffer or a file (*note Accumulating Text::).
+
+ * Convert case with `C-x C-l' or `C-x C-u'
+ (*note Case::).
+
+ * Evaluate it as Lisp code with `M-x eval-region' (*note Lisp
+ Eval::).
+
+ * Fill it as text with `M-q' (*note Filling::).
+
+ * Print hardcopy with `M-x print-region' (*note Hardcopy::).
+
+ * Indent it with `C-x <TAB>' or `C-M-\' (*note Indentation::).
+
+\1f
+File: xemacs.info, Node: Marking Objects, Next: Mark Ring, Prev: Using Region, Up: Mark
+
+Commands to Mark Textual Objects
+--------------------------------
+
+ There are commands for placing point and the mark around a textual
+object such as a word, list, paragraph or page.
+
+`M-@'
+ Set mark after end of next word (`mark-word'). This command and
+ the following one do not move point.
+
+`C-M-@'
+ Set mark after end of next Lisp expression (`mark-sexp').
+
+`M-h'
+ Put region around current paragraph (`mark-paragraph').
+
+`C-M-h'
+ Put region around current Lisp defun (`mark-defun').
+
+`C-x h'
+ Put region around entire buffer (`mark-whole-buffer').
+
+`C-x C-p'
+ Put region around current page (`mark-page').
+
+ `M-@' (`mark-word') puts the mark at the end of the next word, while
+`C-M-@' (`mark-sexp') puts it at the end of the next Lisp expression.
+These characters sometimes save you some typing.
+
+ A number of commands are available that set both point and mark and
+thus delimit an object in the buffer. `M-h' (`mark-paragraph') moves
+point to the beginning of the paragraph that surrounds or follows
+point, and puts the mark at the end of that paragraph (*note
+Paragraphs::). You can then indent, case-convert, or kill the whole
+paragraph. In the same fashion, `C-M-h' (`mark-defun') puts point
+before and the mark after the current or following defun (*note
+Defuns::). `C-x C-p' (`mark-page') puts point before the current page
+(or the next or previous, depending on the argument), and mark at the
+end (*note Pages::). The mark goes after the terminating page
+delimiter (to include it), while point goes after the preceding page
+delimiter (to exclude it). Finally, `C-x h' (`mark-whole-buffer') sets
+up the entire buffer as the region by putting point at the beginning
+and the mark at the end.
+
+\1f
+File: xemacs.info, Node: Mark Ring, Prev: Marking Objects, Up: Mark
+
+The Mark Ring
+-------------
+
+ Aside from delimiting the region, the mark is also useful for marking
+a spot that you may want to go back to. To make this feature more
+useful, Emacs remembers 16 previous locations of the mark in the "mark
+ring". Most commands that set the mark push the old mark onto this
+ring. To return to a marked location, use `C-u C-<SPC>' (or `C-u
+C-@'); this is the command `set-mark-command' given a numeric argument.
+The command moves point to where the mark was, and restores the mark
+from the ring of former marks. Repeated use of this command moves point
+to all the old marks on the ring, one by one. The marks you have seen
+go to the end of the ring, so no marks are lost.
+
+ Each buffer has its own mark ring. All editing commands use the
+current buffer's mark ring. In particular, `C-u C-<SPC>' always stays
+in the same buffer.
+
+ Many commands that can move long distances, such as `M-<'
+(`beginning-of-buffer'), start by setting the mark and saving the old
+mark on the mark ring. This makes it easier for you to move back
+later. Searches set the mark, unless they do not actually move point.
+When a command sets the mark, `Mark Set' is printed in the echo area.
+
+ The variable `mark-ring-max' is the maximum number of entries to
+keep in the mark ring. If that many entries exist and another entry is
+added, the last entry in the list is discarded. Repeating `C-u
+C-<SPC>' circulates through the entries that are currently in the ring.
+
+ The variable `mark-ring' holds the mark ring itself, as a list of
+marker objects in the order most recent first. This variable is local
+in every buffer.
+
+\1f
+File: xemacs.info, Node: Mouse Selection, Next: Additional Mouse Operations, Prev: Mark, Up: Top
+
+Selecting Text with the Mouse
+=============================
+
+ If you are using XEmacs under X, you can use the mouse pointer to
+select text. (The normal mouse pointer is an I-beam, the same pointer
+that `xterm' uses.)
+
+ The glyph variable `text-pointer-glyph' controls the shape of the
+mouse pointer when over text. You can also control the shape of the
+mouse pointer when over nontext using `nontext-pointer-glyph', and the
+shape of the mouse pointer when over the modeline using
+`modeline-pointer-glyph'. (Remember, you should use `set-glyph-image',
+not `setq', to set one of these variables.)
+
+ If you want to get fancy, you can set the foreground and background
+colors of the mouse pointer by setting the `pointer' face.
+
+ There are two ways to select a region of text with the mouse:
+
+ To select a word in text, double-click with the left mouse button
+while the mouse cursor is over the word. The word is highlighted when
+selected. On monochrome monitors, a stippled background indicates that a
+region of text has been highlighted. On color monitors, a color
+background indicates highlighted text. You can triple-click to select
+whole lines.
+
+ To select an arbitrary region of text:
+
+ 1. Move the mouse cursor over the character at the beginning of the
+ region of text you want to select.
+
+ 2. Press and hold the left mouse button.
+
+ 3. While holding the left mouse button down, drag the cursor to the
+ character at the end of the region of text you want to select.
+
+ 4. Release the left mouse button.
+ The selected region of text is highlighted.
+
+ Once a region of text is selected, it becomes the primary X selection
+(*note Using X Selections::) as well as the Emacs selected region. You
+can paste it into other X applications and use the options from the
+Edit pull-down menu on it. Since it is also the Emacs region, you can
+use Emacs region commands on it.
+
+\1f
+File: xemacs.info, Node: Additional Mouse Operations, Next: Killing, Prev: Mouse Selection, Up: Top
+
+Additional Mouse Operations
+===========================
+
+ XEmacs also provides the following mouse functions. Most of these
+are not bound to mouse gestures by default, but they are provided for
+your customization pleasure. For example, if you wanted `shift-left'
+(that is, holding down the <Shift> key and clicking the left mouse
+button) to delete the character at which you are pointing, then you
+could do this:
+
+ (global-set-key '(shift button1) 'mouse-del-char)
+
+`mouse-del-char'
+ Delete the character pointed to by the mouse.
+
+`mouse-delete-window'
+ Delete the Emacs window that the mouse is on.
+
+`mouse-keep-one-window'
+ Select the Emacs window that the mouse is on, then delete all other
+ windows on this frame.
+
+`mouse-kill-line'
+ Kill the line pointed to by the mouse.
+
+`mouse-line-length'
+ Print the length of the line indicated by the pointer.
+
+`mouse-scroll'
+ Scroll point to the mouse position.
+
+`mouse-select'
+ Select the Emacs window the mouse is on.
+
+`mouse-select-and-split'
+ Select the Emacs window mouse is on, then split it vertically in
+ half.
+
+`mouse-set-mark'
+ Select the Emacs window the mouse is on and set the mark at the
+ mouse position. Display the cursor at that position for a second.
+
+`mouse-set-point'
+ Select the Emacs window that the mouse is on and move point to the
+ mouse position.
+
+`mouse-track'
+ Make a selection with the mouse. This is the default binding of
+ the left mouse button (<button1>).
+
+`mouse-track-adjust'
+ Extend the existing selection. This is the default binding of
+ <Shift-button1>.
+
+`mouse-track-and-copy-to-cutbuffer'
+ Make a selection like `mouse-track', but also copy it to the cut
+ buffer.
+
+`mouse-track-delete-and-insert'
+ Make a selection with the mouse and insert it at point. This is
+ the default binding of <control-shift-button1>.
+
+`mouse-track-insert'
+ Make a selection with the mouse and insert it at point. This is
+ the default binding of <control-button1>.
+
+`mouse-window-to-region'
+ Narrow a window to the region between the cursor and the mouse
+ pointer.
+
+ The `M-x mouse-track' command should be bound to a mouse button. If
+you click-and-drag, the selection is set to the region between the
+point of the initial click and the point at which you release the
+button. These positions do not need to be ordered.
+
+ If you click-and-release without moving the mouse, the point is
+moved, and the selection is disowned (there will be no selection
+owner.) The mark will be set to the previous position of point.
+
+ If you double-click, the selection will extend by symbols instead of
+by characters. If you triple-click, the selection will extend by lines.
+
+ If you drag the mouse off the top or bottom of the window, you can
+select pieces of text that are larger than the visible part of the
+buffer; the buffer will scroll as necessary.
+
+ The selected text becomes the current X selection, and is also
+copied to the top of the kill ring. Point will be left at the position
+at which you released the button and the mark will be left at the
+initial click position. Bind a mouse click to
+`mouse-track-and-copy-to-cutbuffer' to copy selections to the cut
+buffer. (See also the `mouse-track-adjust' command, on
+`Shift-button1'.)
+
+ The `M-x mouse-track-adjust' command should be bound to a mouse
+button. The selection will be enlarged or shrunk so that the point of
+the mouse click is one of its endpoints. This is only meaningful after
+the `mouse-track' command (<button1>) has been executed.
+
+ The `M-x mouse-track-delete-and-insert' command is exactly the same
+as the `mouse-track' command on <button1>, except that point is not
+moved; the selected text is immediately inserted after being selected;
+and the text of the selection is deleted.
+
+ The `M-x mouse-track-insert' command is exactly the same as the
+`mouse-track' command on <button1>, except that point is not moved; the
+selected text is immediately inserted after being selected; and the
+selection is immediately disowned afterwards.
+
+\1f
+File: xemacs.info, Node: Killing, Next: Yanking, Prev: Additional Mouse Operations, Up: Top
+
+Deletion and Killing
+====================
+
+ Most commands that erase text from the buffer save it. You can get
+the text back if you change your mind, or you can move or copy it to
+other parts of the buffer. Commands which erase text and save it in the
+kill ring are known as "kill" commands. Some other commands erase text
+but do not save it; they are known as "delete" commands. (This
+distinction is made only for erasing text in the buffer.)
+
+ The commands' names and individual descriptions use the words `kill'
+and `delete' to indicate what they do. If you perform a kill or delete
+command by mistake, use the `C-x u' (`undo') command to undo it (*note
+Undo::). The delete commands include `C-d' (`delete-char') and <DEL>
+(`delete-backward-char'), which delete only one character at a time,
+and those commands that delete only spaces or newlines. Commands that
+can destroy significant amounts of nontrivial data usually kill.
+
+Deletion
+--------
+
+`C-d'
+ Delete next character (`delete-char').
+
+`<DEL>'
+ Delete previous character (`delete-backward-char').
+
+`M-\'
+ Delete spaces and tabs around point (`delete-horizontal-space').
+
+`M-<SPC>'
+ Delete spaces and tabs around point, leaving one space
+ (`just-one-space').
+
+`C-x C-o'
+ Delete blank lines around the current line (`delete-blank-lines').
+
+`M-^'
+ Join two lines by deleting the intervening newline, and any
+ indentation following it (`delete-indentation').
+
+ The most basic delete commands are `C-d' (`delete-char') and <DEL>
+(`delete-backward-char'). `C-d' deletes the character after point, the
+one the cursor is "on top of". Point doesn't move. <DEL> deletes the
+character before the cursor, and moves point back. You can delete
+newlines like any other characters in the buffer; deleting a newline
+joins two lines. Actually, `C-d' and <DEL> aren't always delete
+commands; if you give them an argument, they kill instead, since they
+can erase more than one character this way.
+
+ The other delete commands delete only formatting characters: spaces,
+tabs and newlines. `M-\' (`delete-horizontal-space') deletes all
+spaces and tab characters before and after point. `M-<SPC>'
+(`just-one-space') does the same but leaves a single space after point,
+regardless of the number of spaces that existed previously (even zero).
+
+ `C-x C-o' (`delete-blank-lines') deletes all blank lines after the
+current line. If the current line is blank, it deletes all blank lines
+preceding the current line as well as leaving one blank line, the
+current line. `M-^' (`delete-indentation') joins the current line and
+the previous line, or, if given an argument, joins the current line and
+the next line by deleting a newline and all surrounding spaces, possibly
+leaving a single space. *Note M-^: Indentation.
+
+Killing by Lines
+----------------
+
+`C-k'
+ Kill rest of line or one or more lines (`kill-line').
+
+ The simplest kill command is `C-k'. If given at the beginning of a
+line, it kills all the text on the line, leaving the line blank. If
+given on a blank line, the blank line disappears. As a consequence, a
+line disappears completely if you go to the front of a non-blank line
+and type `C-k' twice.
+
+ More generally, `C-k' kills from point up to the end of the line,
+unless it is at the end of a line. In that case, it kills the newline
+following the line, thus merging the next line into the current one.
+Emacs ignores invisible spaces and tabs at the end of the line when
+deciding which case applies: if point appears to be at the end of the
+line, you can be sure the newline will be killed.
+
+ If you give `C-k' a positive argument, it kills that many lines and
+the newlines that follow them (however, text on the current line before
+point is not killed). With a negative argument, `C-k' kills back to a
+number of line beginnings. An argument of -2 means kill back to the
+second line beginning. If point is at the beginning of a line, that
+line beginning doesn't count, so `C-u - 2 C-k' with point at the front
+of a line kills the two previous lines.
+
+ `C-k' with an argument of zero kills all the text before point on the
+current line.
+
+Other Kill Commands
+-------------------
+
+`C-w'
+ Kill region (from point to the mark) (`kill-region'). *Note
+ Words::.
+
+`M-d'
+ Kill word (`kill-word').
+
+`M-<DEL>'
+ Kill word backwards (`backward-kill-word').
+
+`C-x <DEL>'
+ Kill back to beginning of sentence (`backward-kill-sentence').
+ *Note Sentences::.
+
+`M-k'
+ Kill to end of sentence (`kill-sentence').
+
+`C-M-k'
+ Kill sexp (`kill-sexp'). *Note Lists::.
+
+`M-z CHAR'
+ Kill up to next occurrence of CHAR (`zap-to-char').
+
+ `C-w' (`kill-region') is a very general kill command; it kills
+everything between point and the mark. You can use this command to kill
+any contiguous sequence of characters by first setting the mark at one
+end of a sequence of characters, then going to the other end and typing
+`C-w'.
+
+ A convenient way of killing is combined with searching: `M-z'
+(`zap-to-char') reads a character and kills from point up to (but not
+including) the next occurrence of that character in the buffer. If
+there is no next occurrence, killing goes to the end of the buffer. A
+numeric argument acts as a repeat count. A negative argument means to
+search backward and kill text before point.
+
+ Other syntactic units can be killed: words, with `M-<DEL>' and `M-d'
+(*note Words::); sexps, with `C-M-k' (*note Lists::); and sentences,
+with `C-x <DEL>' and `M-k' (*note Sentences::).
+
+\1f
+File: xemacs.info, Node: Yanking, Next: Using X Selections, Prev: Killing, Up: Top
+
+Yanking
+=======
+
+ "Yanking" means getting back text which was killed. Some systems
+call this "pasting". The usual way to move or copy text is to kill it
+and then yank it one or more times.
+
+`C-y'
+ Yank last killed text (`yank').
+
+`M-y'
+ Replace re-inserted killed text with the previously killed text
+ (`yank-pop').
+
+`M-w'
+ Save region as last killed text without actually killing it
+ (`copy-region-as-kill').
+
+`C-M-w'
+ Append next kill to last batch of killed text (`append-next-kill').
+
+* Menu:
+
+* Kill Ring:: Where killed text is stored. Basic yanking.
+* Appending Kills:: Several kills in a row all yank together.
+* Earlier Kills:: Yanking something killed some time ago.
+
+\1f
+File: xemacs.info, Node: Kill Ring, Next: Appending Kills, Prev: Yanking, Up: Yanking
+
+The Kill Ring
+-------------
+
+ All killed text is recorded in the "kill ring", a list of blocks of
+text that have been killed. There is only one kill ring, used in all
+buffers, so you can kill text in one buffer and yank it in another
+buffer. This is the usual way to move text from one file to another.
+(*Note Accumulating Text::, for some other ways.)
+
+ If you have two separate Emacs processes, you cannot use the kill
+ring to move text. If you are using XEmacs under X, however, you can
+use the X selection mechanism to move text from one to another.
+
+ If you are using XEmacs under X and have one Emacs process with
+multiple frames, they do share the same kill ring. You can kill or
+copy text in one Emacs frame, then yank it in the other frame belonging
+to the same process.
+
+ The command `C-y' (`yank') reinserts the text of the most recent
+kill. It leaves the cursor at the end of the text and sets the mark at
+the beginning of the text. *Note Mark::.
+
+ `C-u C-y' yanks the text, leaves the cursor in front of the text,
+and sets the mark after it, if the argument is with just a `C-u'. Any
+other argument, including `C-u' and digits, has different results,
+described below, under "Yanking Earlier Kills".
+
+ To copy a block of text, you can also use `M-w'
+(`copy-region-as-kill'), which copies the region into the kill ring
+without removing it from the buffer. `M-w' is similar to `C-w' followed
+by `C-y' but does not mark the buffer as "modified" and does not
+actually cut anything.
+
+\1f
File: xemacs.info, Node: Appending Kills, Next: Earlier Kills, Prev: Kill Ring, Up: Yanking
Appending Kills
results, because the file's text inside Emacs does not change while the
file itself changes.
-\1f
-File: xemacs.info, Node: Rectangles, Next: Registers, Prev: Accumulating Text, Up: Top
-
-Rectangles
-==========
-
- The rectangle commands affect rectangular areas of text: all
-characters between a certain pair of columns, in a certain range of
-lines. Commands are provided to kill rectangles, yank killed
-rectangles, clear them out, or delete them. Rectangle commands are
-useful with text in multicolumnar formats, like code with comments at
-the right, or for changing text into or out of such formats.
-
- To specify the rectangle a command should work on, put the mark at
-one corner and point at the opposite corner. The specified rectangle is
-called the "region-rectangle" because it is controlled about the same
-way the region is controlled. Remember that a given combination of
-point and mark values can be interpreted either as specifying a region
-or as specifying a rectangle; it is up to the command that uses them to
-choose the interpretation.
-
-`M-x delete-rectangle'
- Delete the text of the region-rectangle, moving any following text
- on each line leftward to the left edge of the region-rectangle.
-
-`M-x kill-rectangle'
- Similar, but also save the contents of the region-rectangle as the
- "last killed rectangle".
-
-`M-x yank-rectangle'
- Yank the last killed rectangle with its upper left corner at point.
-
-`M-x open-rectangle'
- Insert blank space to fill the space of the region-rectangle. The
- previous contents of the region-rectangle are pushed rightward.
-
-`M-x clear-rectangle'
- Clear the region-rectangle by replacing its contents with spaces.
-
- The rectangle operations fall into two classes: commands deleting and
-moving rectangles, and commands for blank rectangles.
-
- There are two ways to get rid of the text in a rectangle: you can
-discard the text (delete it) or save it as the "last killed" rectangle.
-The commands for these two ways are `M-x delete-rectangle' and `M-x
-kill-rectangle'. In either case, the portion of each line that falls
-inside the rectangle's boundaries is deleted, causing following text
-(if any) on the line to move left.
-
- Note that "killing" a rectangle is not killing in the usual sense;
-the rectangle is not stored in the kill ring, but in a special place
-that only records the most recently killed rectangle (that is, does not
-append to a killed rectangle). Different yank commands have to be used
-and only one rectangle is stored, because yanking a rectangle is quite
-different from yanking linear text and yank-popping commands are
-difficult to make sense of.
-
- Inserting a rectangle is the opposite of deleting one. You specify
-where to put the upper left corner by putting point there. The
-rectangle's first line is inserted at point, the rectangle's second line
-is inserted at a point one line vertically down, and so on. The number
-of lines affected is determined by the height of the saved rectangle.
-
- To insert the last killed rectangle, type `M-x yank-rectangle'.
-This can be used to convert single-column lists into double-column
-lists; kill the second half of the list as a rectangle and then yank it
-beside the first line of the list.
-
- There are two commands for working with blank rectangles: `M-x
-clear-rectangle' erases existing text, and `M-x open-rectangle' inserts
-a blank rectangle. Clearing a rectangle is equivalent to deleting it
-and then inserting a blank rectangle of the same size.
-
- Rectangles can also be copied into and out of registers. *Note
-Rectangle Registers: RegRect.
-
-\1f
-File: xemacs.info, Node: Registers, Next: Display, Prev: Rectangles, Up: Top
-
-Registers
-*********
-
- Emacs "registers" are places in which you can save text or positions
-for later use. Text saved in a register can be copied into the buffer
-once or many times; a position saved in a register is used by moving
-point to that position. Rectangles can also be copied into and out of
-registers (*note Rectangles::.).
-
- Each register has a name, which is a single character. A register
-can store either a piece of text, a position, or a rectangle, but only
-one thing at any given time. Whatever you store in a register remains
-there until you store something else in that register.
-
-* Menu:
-
-* RegPos:: Saving positions in registers.
-* RegText:: Saving text in registers.
-* RegRect:: Saving rectangles in registers.
-
-`M-x view-register <RET> R'
- Display a description of what register R contains.
-
- `M-x view-register' reads a register name as an argument and then
-displays the contents of the specified register.
-
-\1f
-File: xemacs.info, Node: RegPos, Next: RegText, Prev: Registers, Up: Registers
-
-Saving Positions in Registers
-=============================
-
- Saving a position records a spot in a buffer so you can move back
-there later. Moving to a saved position re-selects the buffer and
-moves point to the spot.
-
-`C-x r SPC R'
- Save the location of point in register R (`point-to-register').
-
-`C-x r j R'
- Jump to the location saved in register R (`register-to-point').
-
- To save the current location of point in a register, choose a name R
-and type `C-x r SPC R'. The register R retains the location thus saved
-until you store something else in that register.
-
- The command `C-x r j R' moves point to the location recorded in
-register R. The register is not affected; it continues to record the
-same location. You can jump to the same position using the same
-register as often as you want.
-
-\1f
-File: xemacs.info, Node: RegText, Next: RegRect, Prev: RegPos, Up: Registers
-
-Saving Text in Registers
-========================
-
- When you want to insert a copy of the same piece of text many times,
-it can be impractical to use the kill ring, since each subsequent kill
-moves the piece of text further down on the ring. It becomes hard to
-keep track of the argument needed to retrieve the same text with `C-y'.
-An alternative is to store the text in a register with `C-x r s'
-(`copy-to-register') and then retrieve it with `C-x r g'
-(`insert-register').
-
-`C-x r s R'
- Copy region into register R (`copy-to-register').
-
-`C-x r g R'
- Insert text contents of register R (`insert-register').
-
- `C-x r s R' stores a copy of the text of the region into the
-register named R. Given a numeric argument, `C-x r s' deletes the text
-from the buffer as well.
-
- `C-x r g R' inserts the text from register R in the buffer. By
-default it leaves point before the text and places the mark after it.
-With a numeric argument, it puts point after the text and the mark
-before it.
-
-\1f
-File: xemacs.info, Node: RegRect, Prev: RegText, Up: Registers
-
-Saving Rectangles in Registers
-==============================
-
- A register can contain a rectangle instead of lines of text. The
-rectangle is represented as a list of strings. *Note Rectangles::, for
-basic information on rectangles and how to specify rectangles in a
-buffer.
-
-`C-x r r R'
- Copy the region-rectangle into register
- R(`copy-rectangle-to-register'). With a numeric argument, delete
- it as well.
-
-`C-x r g R'
- Insert the rectangle stored in register R (if it contains a
- rectangle) (`insert-register').
-
- The `C-x r g' command inserts linear text if the register contains
-that, or inserts a rectangle if the register contains one.
-
-\1f
-File: xemacs.info, Node: Display, Next: Search, Prev: Registers, Up: Top
-
-Controlling the Display
-***********************
-
- Since only part of a large buffer fits in the window, XEmacs tries
-to show the part that is likely to be interesting. The display control
-commands allow you to specify which part of the text you want to see.
-
-`C-l'
- Clear frame and redisplay, scrolling the selected window to center
- point vertically within it (`recenter').
-
-`C-v'
-`pgdn'
-`next'
- Scroll forward (a windowful or a specified number of lines)
- (`scroll-up'). On most X keyboards, you can get this
- functionality using the key labelled `Page Down', which generates
- either `next' or `pgdn'.
-
-`M-v'
-`pgup'
-`prior'
- Scroll backward (`scroll-down'). On most X keyboards, you can get
- this functionality using the key labelled `Page Up', which
- generates either `prior' or `pgup'.
-
-`ARG C-l'
- Scroll so point is on line ARG (`recenter').
-
-`C-x <'
-`C-pgdn'
-`C-next'
- Scroll text in current window to the left (`scroll-left').
-
-`C-x >'
-`C-pgup'
-`C-prior'
- Scroll to the right (`scroll-right').
-
-`C-x $'
- Make deeply indented lines invisible (`set-selective-display').
-
-* Menu:
-
-* Scrolling:: Moving text up and down in a window.
-* Horizontal Scrolling:: Moving text left and right in a window.
-* Selective Display:: Hiding lines with lots of indentation.
-* Display Vars:: Information on variables for customizing display.
-
-\1f
-File: xemacs.info, Node: Scrolling, Next: Horizontal Scrolling, Prev: Display, Up: Display
-
-Scrolling
-=========
-
- If a buffer contains text that is too large to fit entirely within
-the window that is displaying the buffer, XEmacs shows a contiguous
-section of the text. The section shown always contains point.
-
- "Scrolling" means moving text up or down in the window so that
-different parts of the text are visible. Scrolling forward means that
-text moves up, and new text appears at the bottom. Scrolling backward
-moves text down and new text appears at the top.
-
- Scrolling happens automatically if you move point past the bottom or
-top of the window. You can also explicitly request scrolling with the
-commands in this section.
-
-`C-l'
- Clear frame and redisplay, scrolling the selected window to center
- point vertically within it (`recenter').
-
-`C-v'
-`pgdn'
-`next'
- Scroll forward (a windowful or a specified number of lines)
- (`scroll-up').
-
-`M-v'
-`pgup'
-`prior'
- Scroll backward (`scroll-down').
-
-`ARG C-l'
- Scroll so point is on line ARG (`recenter').
-
- The most basic scrolling command is `C-l' (`recenter') with no
-argument. It clears the entire frame and redisplays all windows. In
-addition, it scrolls the selected window so that point is halfway down
-from the top of the window.
-
- The scrolling commands `C-v' and `M-v' let you move all the text in
-the window up or down a few lines. `C-v' (`scroll-up') with an
-argument shows you that many more lines at the bottom of the window,
-moving the text and point up together as `C-l' might. `C-v' with a
-negative argument shows you more lines at the top of the window.
-`Meta-v' (`scroll-down') is like `C-v', but moves in the opposite
-direction.
-
- To read the buffer a windowful at a time, use `C-v' with no
-argument. `C-v' takes the last two lines at the bottom of the window
-and puts them at the top, followed by nearly a whole windowful of lines
-not previously visible. Point moves to the new top of the window if it
-was in the text scrolled off the top. `M-v' with no argument moves
-backward with similar overlap. The number of lines of overlap across a
-`C-v' or `M-v' is controlled by the variable
-`next-screen-context-lines'; by default, it is two.
-
- Another way to scroll is using `C-l' with a numeric argument. `C-l'
-does not clear the frame when given an argument; it only scrolls the
-selected window. With a positive argument N, `C-l' repositions text to
-put point N lines down from the top. An argument of zero puts point on
-the very top line. Point does not move with respect to the text;
-rather, the text and point move rigidly on the frame. `C-l' with a
-negative argument puts point that many lines from the bottom of the
-window. For example, `C-u - 1 C-l' puts point on the bottom line, and
-`C-u - 5 C-l' puts it five lines from the bottom. Just `C-u' as
-argument, as in `C-u C-l', scrolls point to the center of the frame.
-
- Scrolling happens automatically if point has moved out of the visible
-portion of the text when it is time to display. Usually scrolling is
-done to put point vertically centered within the window. However, if
-the variable `scroll-step' has a non-zero value, an attempt is made to
-scroll the buffer by that many lines; if that is enough to bring point
-back into visibility, that is what happens.
-
- Scrolling happens automatically if point has moved out of the visible
-portion of the text when it is time to display. Usually scrolling is
-done to put point vertically centered within the window. However, if
-the variable `scroll-step' has a non-zero value, an attempt is made to
-scroll the buffer by that many lines; if that is enough to bring point
-back into visibility, that is what happens.
-
- If you set `scroll-step' to a small value because you want to use
-arrow keys to scroll the screen without recentering, the redisplay
-preemption will likely make XEmacs keep recentering the screen when
-scrolling fast, regardless of `scroll-step'. To prevent this, set
-`scroll-conservatively' to a small value, which will have the result of
-overriding the redisplay preemption.
-
-\1f
-File: xemacs.info, Node: Horizontal Scrolling, Prev: Scrolling, Up: Display
-
-Horizontal Scrolling
-====================
-
-`C-x <'
- Scroll text in current window to the left (`scroll-left').
-
-`C-x >'
- Scroll to the right (`scroll-right').
-
- The text in a window can also be scrolled horizontally. This means
-that each line of text is shifted sideways in the window, and one or
-more characters at the beginning of each line are not displayed at all.
-When a window has been scrolled horizontally in this way, text lines
-are truncated rather than continued (*note Continuation Lines::.), with
-a `$' appearing in the first column when there is text truncated to the
-left, and in the last column when there is text truncated to the right.
-
- The command `C-x <' (`scroll-left') scrolls the selected window to
-the left by N columns with argument N. With no argument, it scrolls by
-almost the full width of the window (two columns less, to be precise).
-`C-x >' (`scroll-right') scrolls similarly to the right. The window
-cannot be scrolled any farther to the right once it is displaying
-normally (with each line starting at the window's left margin);
-attempting to do so has no effect.
-
-\1f
-File: xemacs.info, Node: Selective Display, Next: Display Vars, Prev: Display, Up: Display
-
-Selective Display
-=================
-
- XEmacs can hide lines indented more than a certain number of columns
-(you specify how many columns). This allows you to get an overview of
-a part of a program.
-
- To hide lines, type `C-x $' (`set-selective-display') with a numeric
-argument N. (*Note Arguments::, for information on giving the
-argument.) Lines with at least N columns of indentation disappear from
-the screen. The only indication of their presence are three dots
-(`...'), which appear at the end of each visible line that is followed
-by one or more invisible ones.
-
- The invisible lines are still present in the buffer, and most editing
-commands see them as usual, so it is very easy to put point in the
-middle of invisible text. When this happens, the cursor appears at the
-end of the previous line, after the three dots. If point is at the end
-of the visible line, before the newline that ends it, the cursor
-appears before the three dots.
-
- The commands `C-n' and `C-p' move across the invisible lines as if
-they were not there.
-
- To make everything visible again, type `C-x $' with no argument.
-
-\1f
-File: xemacs.info, Node: Display Vars, Prev: Selective Display, Up: Display
-
-Variables Controlling Display
-=============================
-
- This section contains information for customization only. Beginning
-users should skip it.
-
- When you reenter XEmacs after suspending, XEmacs normally clears the
-screen and redraws the entire display. On some terminals with more than
-one page of memory, it is possible to arrange the termcap entry so that
-the `ti' and `te' strings (output to the terminal when XEmacs is
-entered and exited, respectively) switch between pages of memory so as
-to use one page for XEmacs and another page for other output. In that
-case, you might want to set the variable `no-redraw-on-reenter' to
-non-`nil' so that XEmacs will assume, when resumed, that the screen
-page it is using still contains what XEmacs last wrote there.
-
- The variable `echo-keystrokes' controls the echoing of
-multi-character keys; its value is the number of seconds of pause
-required to cause echoing to start, or zero, meaning don't echo at all.
-*Note Echo Area::.
-
- If the variable `ctl-arrow' is `nil', control characters in the
-buffer are displayed with octal escape sequences, all except newline and
-tab. If its value is `t', then control characters will be printed with
-an up-arrow, for example `^A'.
-
- If its value is not `t' and not `nil', then characters whose code is
-greater than 160 (that is, the space character (32) with its high bit
-set) will be assumed to be printable, and will be displayed without
-alteration. This is the default when running under X Windows, since
-XEmacs assumes an ISO/8859-1 character set (also known as "Latin1").
-The `ctl-arrow' variable may also be set to an integer, in which case
-all characters whose codes are greater than or equal to that value will
-be assumed to be printable.
-
- Altering the value of `ctl-arrow' makes it local to the current
-buffer; until that time, the default value is in effect. *Note
-Locals::.
-
- Normally, a tab character in the buffer is displayed as whitespace
-which extends to the next display tab stop position, and display tab
-stops come at intervals equal to eight spaces. The number of spaces
-per tab is controlled by the variable `tab-width', which is made local
-by changing it, just like `ctl-arrow'. Note that how the tab character
-in the buffer is displayed has nothing to do with the definition of
-<TAB> as a command.
-
- If you set the variable `selective-display-ellipses' to `nil', the
-three dots at the end of a line that precedes invisible lines do not
-appear. There is no visible indication of the invisible lines. This
-variable becomes local automatically when set.
-
-\1f
-File: xemacs.info, Node: Search, Next: Fixit, Prev: Display, Up: Top
-
-Searching and Replacement
-*************************
-
- Like other editors, Emacs has commands for searching for occurrences
-of a string. The principal search command is unusual in that it is
-"incremental": it begins to search before you have finished typing the
-search string. There are also non-incremental search commands more like
-those of other editors.
-
- Besides the usual `replace-string' command that finds all
-occurrences of one string and replaces them with another, Emacs has a
-fancy replacement command called `query-replace' which asks
-interactively which occurrences to replace.
-
-* Menu:
-
-* Incremental Search:: Search happens as you type the string.
-* Non-Incremental Search:: Specify entire string and then search.
-* Word Search:: Search for sequence of words.
-* Regexp Search:: Search for match for a regexp.
-* Regexps:: Syntax of regular expressions.
-* Search Case:: To ignore case while searching, or not.
-* Replace:: Search, and replace some or all matches.
-* Other Repeating Search:: Operating on all matches for some regexp.
-
-\1f
-File: xemacs.info, Node: Incremental Search, Next: Non-Incremental Search, Prev: Search, Up: Search
-
-Incremental Search
-==================
-
- An incremental search begins searching as soon as you type the first
-character of the search string. As you type in the search string, Emacs
-shows you where the string (as you have typed it so far) is found.
-When you have typed enough characters to identify the place you want,
-you can stop. Depending on what you do next, you may or may not need to
-terminate the search explicitly with a <RET>.
-
-`C-s'
- Incremental search forward (`isearch-forward').
-
-`C-r'
- Incremental search backward (`isearch-backward').
-
- `C-s' starts an incremental search. `C-s' reads characters from the
-keyboard and positions the cursor at the first occurrence of the
-characters that you have typed. If you type `C-s' and then `F', the
-cursor moves right after the first `F'. Type an `O', and see the
-cursor move to after the first `FO'. After another `O', the cursor is
-after the first `FOO' after the place where you started the search.
-Meanwhile, the search string `FOO' has been echoed in the echo area.
-
- The echo area display ends with three dots when actual searching is
-going on. When search is waiting for more input, the three dots are
-removed. (On slow terminals, the three dots are not displayed.)
-
- If you make a mistake in typing the search string, you can erase
-characters with <DEL>. Each <DEL> cancels the last character of the
-search string. This does not happen until Emacs is ready to read
-another input character; first it must either find, or fail to find,
-the character you want to erase. If you do not want to wait for this
-to happen, use `C-g' as described below.
-
- When you are satisfied with the place you have reached, you can type
-<RET> (or <C-m>), which stops searching, leaving the cursor where the
-search brought it. Any command not specially meaningful in searches
-also stops the search and is then executed. Thus, typing `C-a' exits
-the search and then moves to the beginning of the line. <RET> is
-necessary only if the next command you want to type is a printing
-character, <DEL>, <ESC>, or another control character that is special
-within searches (`C-q', `C-w', `C-r', `C-s', or `C-y').
-
- Sometimes you search for `FOO' and find it, but were actually
-looking for a different occurance of it. To move to the next occurrence
-of the search string, type another `C-s'. Do this as often as
-necessary. If you overshoot, you can cancel some `C-s' characters with
-<DEL>.
-
- After you exit a search, you can search for the same string again by
-typing just `C-s C-s': the first `C-s' is the key that invokes
-incremental search, and the second `C-s' means "search again".
-
- If the specified string is not found at all, the echo area displays
-the text `Failing I-Search'. The cursor is after the place where Emacs
-found as much of your string as it could. Thus, if you search for
-`FOOT', and there is no `FOOT', the cursor may be after the `FOO' in
-`FOOL'. At this point there are several things you can do. If you
-mistyped the search string, correct it. If you like the place you have
-found, you can type <RET> or some other Emacs command to "accept what
-the search offered". Or you can type `C-g', which removes from the
-search string the characters that could not be found (the `T' in
-`FOOT'), leaving those that were found (the `FOO' in `FOOT'). A second
-`C-g' at that point cancels the search entirely, returning point to
-where it was when the search started.
-
- If a search is failing and you ask to repeat it by typing another
-`C-s', it starts again from the beginning of the buffer. Repeating a
-failing backward search with `C-r' starts again from the end. This is
-called "wrapping around". `Wrapped' appears in the search prompt once
-this has happened.
-
- The `C-g' "quit" character does special things during searches; just
-what it does depends on the status of the search. If the search has
-found what you specified and is waiting for input, `C-g' cancels the
-entire search. The cursor moves back to where you started the search.
-If `C-g' is typed when there are characters in the search string that
-have not been found--because Emacs is still searching for them, or
-because it has failed to find them--then the search string characters
-which have not been found are discarded from the search string. The
-search is now successful and waiting for more input, so a second `C-g'
-cancels the entire search.
-
- To search for a control character such as `C-s' or <DEL> or <ESC>,
-you must quote it by typing `C-q' first. This function of `C-q' is
-analogous to its meaning as an Emacs command: it causes the following
-character to be treated the way a graphic character would normally be
-treated in the same context.
-
- To search backwards, you can use `C-r' instead of `C-s' to start the
-search; `C-r' is the key that runs the command (`isearch-backward') to
-search backward. You can also use `C-r' to change from searching
-forward to searching backwards. Do this if a search fails because the
-place you started was too far down in the file. Repeated `C-r' keeps
-looking for more occurrences backwards. `C-s' starts going forward
-again. You can cancel `C-r' in a search with <DEL>.
-
- The characters `C-y' and `C-w' can be used in incremental search to
-grab text from the buffer into the search string. This makes it
-convenient to search for another occurrence of text at point. `C-w'
-copies the word after point as part of the search string, advancing
-point over that word. Another `C-s' to repeat the search will then
-search for a string including that word. `C-y' is similar to `C-w' but
-copies the rest of the current line into the search string.
-
- The characters `M-p' and `M-n' can be used in an incremental search
-to recall things which you have searched for in the past. A list of
-the last 16 things you have searched for is retained, and `M-p' and
-`M-n' let you cycle through that ring.
-
- The character `M-<TAB>' does completion on the elements in the
-search history ring. For example, if you know that you have recently
-searched for the string `POTATOE', you could type `C-s P O M-<TAB>'.
-If you had searched for other strings beginning with `PO' then you
-would be shown a list of them, and would need to type more to select
-one.
-
- You can change any of the special characters in incremental search
-via the normal keybinding mechanism: simply add a binding to the
-`isearch-mode-map'. For example, to make the character `C-b' mean
-"search backwards" while in isearch-mode, do this:
-
- (define-key isearch-mode-map "\C-b" 'isearch-repeat-backward)
-
- These are the default bindings of isearch-mode:
-
-`DEL'
- Delete a character from the incremental search string
- (`isearch-delete-char').
-
-`RET'
- Exit incremental search (`isearch-exit').
-
-`C-q'
- Quote special characters for incremental search
- (`isearch-quote-char').
-
-`C-s'
- Repeat incremental search forward (`isearch-repeat-forward').
-
-`C-r'
- Repeat incremental search backward (`isearch-repeat-backward').
-
-`C-y'
- Pull rest of line from buffer into search string
- (`isearch-yank-line').
-
-`C-w'
- Pull next word from buffer into search string
- (`isearch-yank-word').
-
-`C-g'
- Cancels input back to what has been found successfully, or aborts
- the isearch (`isearch-abort').
-
-`M-p'
- Recall the previous element in the isearch history ring
- (`isearch-ring-retreat').
-
-`M-n'
- Recall the next element in the isearch history ring
- (`isearch-ring-advance').
-
-`M-<TAB>'
- Do completion on the elements in the isearch history ring
- (`isearch-complete').
-
- Any other character which is normally inserted into a buffer when
-typed is automatically added to the search string in isearch-mode.
-
-Slow Terminal Incremental Search
---------------------------------
-
- Incremental search on a slow terminal uses a modified style of
-display that is designed to take less time. Instead of redisplaying
-the buffer at each place the search gets to, it creates a new
-single-line window and uses that to display the line the search has
-found. The single-line window appears as soon as point gets outside of
-the text that is already on the screen.
-
- When the search is terminated, the single-line window is removed.
-Only at this time the window in which the search was done is
-redisplayed to show its new value of point.
-
- The three dots at the end of the search string, normally used to
-indicate that searching is going on, are not displayed in slow style
-display.
-
- The slow terminal style of display is used when the terminal baud
-rate is less than or equal to the value of the variable
-`search-slow-speed', initially 1200.
-
- The number of lines to use in slow terminal search display is
-controlled by the variable `search-slow-window-lines'. Its normal
-value is 1.
-
-\1f
-File: xemacs.info, Node: Non-Incremental Search, Next: Word Search, Prev: Incremental Search, Up: Search
-
-Non-Incremental Search
-======================
-
- Emacs also has conventional non-incremental search commands, which
-require you type the entire search string before searching begins.
-
-`C-s <RET> STRING <RET>'
- Search for STRING.
-
-`C-r <RET> STRING <RET>'
- Search backward for STRING.
-
- To do a non-incremental search, first type `C-s <RET>' (or `C-s
-C-m'). This enters the minibuffer to read the search string.
-Terminate the string with <RET> to start the search. If the string is
-not found, the search command gets an error.
-
- By default, `C-s' invokes incremental search, but if you give it an
-empty argument, which would otherwise be useless, it invokes
-non-incremental search. Therefore, `C-s <RET>' invokes non-incremental
-search. `C-r <RET>' also works this way.
-
- Forward and backward non-incremental searches are implemented by the
-commands `search-forward' and `search-backward'. You can bind these
-commands to keys. The reason that incremental search is programmed to
-invoke them as well is that `C-s <RET>' is the traditional sequence of
-characters used in Emacs to invoke non-incremental search.
-
- Non-incremental searches performed using `C-s <RET>' do not call
-`search-forward' right away. They first check if the next character is
-`C-w', which requests a word search. *Note Word Search::.
-
-\1f
-File: xemacs.info, Node: Word Search, Next: Regexp Search, Prev: Non-Incremental Search, Up: Search
-
-Word Search
-===========
-
- Word search looks for a sequence of words without regard to how the
-words are separated. More precisely, you type a string of many words,
-using single spaces to separate them, and the string is found even if
-there are multiple spaces, newlines or other punctuation between the
-words.
-
- Word search is useful in editing documents formatted by text
-formatters. If you edit while looking at the printed, formatted
-version, you can't tell where the line breaks are in the source file.
-Word search, allows you to search without having to know the line
-breaks.
-
-`C-s <RET> C-w WORDS <RET>'
- Search for WORDS, ignoring differences in punctuation.
-
-`C-r <RET> C-w WORDS <RET>'
- Search backward for WORDS, ignoring differences in punctuation.
-
- Word search is a special case of non-incremental search. It is
-invoked with `C-s <RET> C-w' followed by the search string, which must
-always be terminated with another <RET>. Being non-incremental, this
-search does not start until the argument is terminated. It works by
-constructing a regular expression and searching for that. *Note Regexp
-Search::.
-
- You can do a backward word search with `C-r <RET> C-w'.
-
- Forward and backward word searches are implemented by the commands
-`word-search-forward' and `word-search-backward'. You can bind these
-commands to keys. The reason that incremental search is programmed to
-invoke them as well is that `C-s <RET> C-w' is the traditional Emacs
-sequence of keys for word search.
-