X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=info%2Fxemacs.info-4;h=d8a425cbe5063299a8963a87abf2d5d22d5284e2;hb=c461477e9d1c45206851e095d1398498d09d040c;hp=d822f796651d1d96be69fd14186c4a7008a213ab;hpb=f52a96980ed9280f8f906a20d4b899dc0b027644;p=chise%2Fxemacs-chise.git diff --git a/info/xemacs.info-4 b/info/xemacs.info-4 index d822f79..d8a425c 100644 --- a/info/xemacs.info-4 +++ b/info/xemacs.info-4 @@ -1,4 +1,4 @@ -This is ../info/xemacs.info, produced by makeinfo version 4.0 from +This is ../info/xemacs.info, produced by makeinfo version 4.0b from xemacs/xemacs.texi. INFO-DIR-SECTION XEmacs Editor @@ -30,6 +30,390 @@ versions, except that the sections entitled "The GNU Manifesto", translation approved by the author instead of in the original English.  +File: xemacs.info, Node: Position Info, Next: Arguments, Prev: Continuation Lines, Up: Basic + +Cursor Position Information +=========================== + + If you are accustomed to other display editors, you may be surprised +that Emacs does not always display the page number or line number of +point in the mode line. In Emacs, this information is only rarely +needed, and a number of commands are available to compute and print it. +Since text is stored in a way that makes it difficult to compute the +information, it is not displayed all the time. + +`M-x what-page' + Print page number of point, and line number within page. + +`M-x what-line' + Print line number of point in the buffer. + +`M-x line-number-mode' + Toggle automatic display of current line number. + +`M-=' + Print number of lines and characters in the current region + (`count-lines-region'). *Note Mark::, for information about the + region. + +`C-x =' + Print character code of character after point, character position + of point, and column of point (`what-cursor-position'). + + There are several commands for printing line numbers: + + * `M-x what-line' counts lines from the beginning of the file and + prints the line number point is on. The first line of the file is + line number 1. You can use these numbers as arguments to `M-x + goto-line'. + + * `M-x what-page' counts pages from the beginning of the file, and + counts lines within the page, printing both of them. *Note + Pages::, for the command `C-x l', which counts the lines in the + current page. + + * `M-=' (`count-lines-region') prints the number of lines in the + region (*note Mark::). *Note Pages::, for the command `C-x l' + which counts the lines in the + + The command `C-x =' (`what-cursor-position') can be used to find out +the column that the cursor is in, and other miscellaneous information +about point. It prints a line in the echo area that looks like this: + + Char: c (0143, 99, 0x63) point=18862 of 24800(76%) column 53 + +(In fact, this is the output produced when point is before `column 53' +in the example.) + + The four values after `Char:' describe the character that follows +point, first by showing it and then by giving its character code in +octal, decimal and hex. + + `point=' is followed by the position of point expressed as a +character count. The front of the buffer counts as position 1, one +character later as 2, and so on. The next, larger number is the total +number of characters in the buffer. Afterward in parentheses comes the +position expressed as a percentage of the total size. + + `column' is followed by the horizontal position of point, in columns +from the left edge of the window. + + If the buffer has been narrowed, making some of the text at the +beginning and the end temporarily invisible, `C-x =' prints additional +text describing the current visible range. For example, it might say: + + Char: c (0143, 99, 0x63) point=19674 of 24575(80%) <19591 - 19703> column 69 + +where the two extra numbers give the smallest and largest character +position that point is allowed to assume. The characters between those +two positions are the visible ones. *Note Narrowing::. + + If point is at the end of the buffer (or the end of the visible +part), `C-x =' omits any description of the character after point. The +output looks like + + point=563026 of 563025(100%) column 0 + + +File: xemacs.info, Node: Arguments, Prev: Position Info, Up: Basic + +Numeric Arguments +================= + + In mathematics and computer usage, the word "argument" means "data +provided to a function or operation." Any Emacs command can be given a +"numeric argument" (also called a "prefix argument"). Some commands +interpret the argument as a repetition count. For example, giving an +argument of ten to the key `C-f' (the command `forward-char', move +forward one character) moves forward ten characters. With these +commands, no argument is equivalent to an argument of one. Negative +arguments are allowed. Often they tell a command to move or act in +the opposite direction. + + If your keyboard has a key (labelled with a diamond on +Sun-type keyboards and labelled `Alt' on some other keyboards), the +easiest way to specify a numeric argument is to type digits and/or a +minus sign while holding down the key. For example, + M-5 C-n + +would move down five lines. The characters `Meta-1', `Meta-2', and so +on, as well as `Meta--', do this because they are keys bound to +commands (`digit-argument' and `negative-argument') that are defined to +contribute to an argument for the next command. Digits and `-' +modified with Control, or Control and Meta, also specify numeric +arguments. + + Another way of specifying an argument is to use the `C-u' +(`universal-argument') command followed by the digits of the argument. +With `C-u', you can type the argument digits without holding down +modifier keys; `C-u' works on all terminals. To type a negative +argument, type a minus sign after `C-u'. Just a minus sign without +digits normally means -1. + + `C-u' followed by a character which is neither a digit nor a minus +sign has the special meaning of "multiply by four". It multiplies the +argument for the next command by four. `C-u' twice multiplies it by +sixteen. Thus, `C-u C-u C-f' moves forward sixteen characters. This +is a good way to move forward "fast", since it moves about 1/5 of a line +in the usual size frame. Other useful combinations are `C-u C-n', `C-u +C-u C-n' (move down a good fraction of a frame), `C-u C-u C-o' (make "a +lot" of blank lines), and `C-u C-k' (kill four lines). + + Some commands care only about whether there is an argument and not +about its value. For example, the command `M-q' (`fill-paragraph') with +no argument fills text; with an argument, it justifies the text as well. +(*Note Filling::, for more information on `M-q'.) Just `C-u' is a +handy way of providing an argument for such commands. + + Some commands use the value of the argument as a repeat count, but do +something peculiar when there is no argument. For example, the command +`C-k' (`kill-line') with argument N kills N lines, including their +terminating newlines. But `C-k' with no argument is special: it kills +the text up to the next newline, or, if point is right at the end of +the line, it kills the newline itself. Thus, two `C-k' commands with +no arguments can kill a non-blank line, just like `C-k' with an +argument of one. (*Note Killing::, for more information on `C-k'.) + + A few commands treat a plain `C-u' differently from an ordinary +argument. A few others may treat an argument of just a minus sign +differently from an argument of -1. These unusual cases are described +when they come up; they are always for reasons of convenience of use of +the individual command. + + You can use a numeric argument to insert multiple copies of a +character. This is straightforward unless the character is a digit; for +example, `C-u 6 4 a' inserts 64 copies of the character `a'. But this +does not work for inserting digits; `C-u 6 4 1' specifies an argument +of 641, rather than inserting anything. To separate the digit to +insert from the argument, type another `C-u'; for example, `C-u 6 4 C-u +1' does insert 64 copies of the character `1'. + + We use the term "prefix argument" as well as "numeric argument" to +emphasize that you type the argument before the command, and to +distinguish these arguments from minibuffer arguments that come after +the command. + + +File: xemacs.info, Node: Undo, Next: Minibuffer, Prev: Basic, Up: Top + +Undoing Changes +*************** + + Emacs allows you to undo all changes you make to the text of a +buffer, up to a certain amount of change (8000 characters). Each +buffer records changes individually, and the undo command always +applies to the current buffer. Usually each editing command makes a +separate entry in the undo records, but some commands such as +`query-replace' make many entries, and very simple commands such as +self-inserting characters are often grouped to make undoing less +tedious. + +`C-x u' + Undo one batch of changes (usually, one command's worth) (`undo'). + +`C-_' + The same. + + The command `C-x u' or `C-_' allows you to undo changes. The first +time you give this command, it undoes the last change. Point moves to +the text affected by the undo, so you can see what was undone. + + Consecutive repetitions of the `C-_' or `C-x u' commands undo +earlier and earlier changes, back to the limit of what has been +recorded. If all recorded changes have already been undone, the undo +command prints an error message and does nothing. + + Any command other than an undo command breaks the sequence of undo +commands. Starting at this moment, the previous undo commands are +considered ordinary changes that can themselves be undone. Thus, you +can redo changes you have undone by typing `C-f' or any other command +that have no important effect, and then using more undo commands. + + If you notice that a buffer has been modified accidentally, the +easiest way to recover is to type `C-_' repeatedly until the stars +disappear from the front of the mode line. When that happens, all the +modifications you made have been canceled. If you do not remember +whether you changed the buffer deliberately, type `C-_' once. When you +see Emacs undo the last change you made, you probably remember why you +made it. If the change was an accident, leave it undone. If it was +deliberate, redo the change as described in the preceding paragraph. + + Whenever an undo command makes the stars disappear from the mode +line, the buffer contents is the same as it was when the file was last +read in or saved. + + Not all buffers record undo information. Buffers whose names start +with spaces don't; these buffers are used internally by Emacs and its +extensions to hold text that users don't normally look at or edit. +Minibuffers, help buffers, and documentation buffers also don't record +undo information. + + Emacs can remember at most 8000 or so characters of deleted or +modified text in any one buffer for reinsertion by the undo command. +There is also a limit on the number of individual insert, delete, or +change actions that Emacs can remember. + + There are two keys to run the `undo' command, `C-x u' and `C-_', +because on some keyboards, it is not obvious how to type `C-_'. `C-x u' +is an alternative you can type in the same fashion on any terminal. + + +File: xemacs.info, Node: Minibuffer, Next: M-x, Prev: Undo, Up: Top + +The Minibuffer +************** + + The "minibuffer" is the facility used by XEmacs commands to read +arguments more complicated than a single number. Minibuffer arguments +can be file names, buffer names, Lisp function names, XEmacs command +names, Lisp expressions, and many other things, depending on the command +reading the argument. You can use the usual XEmacs editing commands in +the minibuffer to edit the argument text. + + When the minibuffer is in use, it appears in the echo area, and the +cursor moves there. The beginning of the minibuffer line displays a +"prompt" which says what kind of input you should supply and how it +will be used. Often this prompt is derived from the name of the command +that the argument is for. The prompt normally ends with a colon. + + Sometimes a "default argument" appears in parentheses after the +colon; it, too, is part of the prompt. The default is used as the +argument value if you enter an empty argument (e.g., by just typing +). For example, commands that read buffer names always show a +default, which is the name of the buffer that will be used if you type +just . + + The simplest way to enter a minibuffer argument is to type the text +you want, terminated by which exits the minibuffer. You can +cancel the command that wants the argument, and get out of the +minibuffer, by typing `C-g'. + + Since the minibuffer uses the screen space of the echo area, it can +conflict with other ways XEmacs customarily uses the echo area. Here is +how XEmacs handles such conflicts: + + * If a command gets an error while you are in the minibuffer, this + does not cancel the minibuffer. However, the echo area is needed + for the error message and therefore the minibuffer itself is + hidden for a while. It comes back after a few seconds, or as soon + as you type anything. + + * If in the minibuffer you use a command whose purpose is to print a + message in the echo area, such as `C-x =', the message is printed + normally, and the minibuffer is hidden for a while. It comes back + after a few seconds, or as soon as you type anything. + + * Echoing of keystrokes does not take place while the minibuffer is + in use. + +* Menu: + +* File: Minibuffer File. Entering file names with the minibuffer. +* Edit: Minibuffer Edit. How to edit in the minibuffer. +* Completion:: An abbreviation facility for minibuffer input. +* Minibuffer History:: Reusing recent minibuffer arguments. +* Repetition:: Re-executing commands that used the minibuffer. + + +File: xemacs.info, Node: Minibuffer File, Next: Minibuffer Edit, Prev: Minibuffer, Up: Minibuffer + +Minibuffers for File Names +========================== + + Sometimes the minibuffer starts out with text in it. For example, +when you are supposed to give a file name, the minibuffer starts out +containing the "default directory", which ends with a slash. This is +to inform you which directory the file will be found in if you do not +specify a directory. + + For example, the minibuffer might start out with these contents: + + Find File: /u2/emacs/src/ + +where `Find File: ' is the prompt. Typing `buffer.c' specifies the +file `/u2/emacs/src/buffer.c'. To find files in nearby directories, +use `..'; thus, if you type `../lisp/simple.el', you will get the file +named `/u2/emacs/lisp/simple.el'. Alternatively, you can kill with +`M-' the directory names you don't want (*note Words::). + + If you don't want any of the default, you can kill it with `C-a +C-k'. But you don't need to kill the default; you can simply ignore it. +Insert an absolute file name, one starting with a slash or a tilde, +after the default directory. For example, to specify the file +`/etc/termcap', just insert that name, giving these minibuffer contents: + + Find File: /u2/emacs/src//etc/termcap + +XEmacs gives a special meaning to a double slash (which is not normally +a useful thing to write): it means, "ignore everything before the +second slash in the pair." Thus, `/u2/emacs/src/' is ignored in the +example above, and you get the file `/etc/termcap'. + + If you set `insert-default-directory' to `nil', the default +directory is not inserted in the minibuffer. This way, the minibuffer +starts out empty. But the name you type, if relative, is still +interpreted with respect to the same default directory. + + +File: xemacs.info, Node: Minibuffer Edit, Next: Completion, Prev: Minibuffer File, Up: Minibuffer + +Editing in the Minibuffer +========================= + + The minibuffer is an XEmacs buffer (albeit a peculiar one), and the +usual XEmacs commands are available for editing the text of an argument +you are entering. + + Since in the minibuffer is defined to exit the minibuffer, you +can't use it to insert a newline in the minibuffer. To do that, type +`C-o' or `C-q C-j'. (Recall that a newline is really the character +control-J.) + + The minibuffer has its own window which always has space on the +screen but acts as if it were not there when the minibuffer is not in +use. When the minibuffer is in use, its window is just like the +others; you can switch to another window with `C-x o', edit text in +other windows and perhaps even visit more files, before returning to the +minibuffer to submit the argument. You can kill text in another window, +return to the minibuffer window, and then yank the text to use it in the +argument. *Note Windows::. + + There are some restrictions on the use of the minibuffer window, +however. You cannot switch buffers in it--the minibuffer and its +window are permanently attached. Also, you cannot split or kill the +minibuffer window. But you can make it taller in the normal fashion with +`C-x ^'. If you enable Resize-Minibuffer mode, then the minibuffer +window expands vertically as necessary to hold the text that you put in +the minibuffer. Use `M-x resize-minibuffer-mode' to enable or disable +this minor mode (*note Minor Modes::). + + If while in the minibuffer you issue a command that displays help +text of any sort in another window, you can use the `C-M-v' command +while in the minibuffer to scroll the help text. This lasts until you +exit the minibuffer. This feature is especially useful if a completing +minibuffer gives you a list of possible completions. *Note Other +Window::. + + If the variable `minibuffer-confirm-incomplete' is `t', you are +asked for confirmation if there is no known completion for the text you +typed. For example, if you attempted to visit a non-existent file, the +minibuffer might read: + Find File: chocolate_bar.c [no completions, confirm] + If you press `Return' again, that confirms the filename. Otherwise, +you can continue editing it. + + XEmacs supports recursive use of the minibuffer. However, it is easy +to do this by accident (because of autorepeating keyboards, for example) +and get confused. Therefore, most XEmacs commands that use the +minibuffer refuse to operate if the minibuffer window is selected. If +the minibuffer is active but you have switched to a different window, +recursive use of the minibuffer is allowed--if you know enough to try +to do this, you probably will not get confused. + + If you set the variable `enable-recursive-minibuffers' to a +non-`nil', recursive use of the minibuffer is always allowed. + + File: xemacs.info, Node: Completion, Next: Minibuffer History, Prev: Minibuffer Edit, Up: Minibuffer Completion @@ -91,7 +475,7 @@ possibilities for the very next character--it could be any of `c-'--so no more characters are added; instead, displays a list of all possible completions in another window. - If you go on to type `f ', this sees `auto-f'. The only + If you go on to type `-f ', this sees `auto-f'. The only command name starting this way is `auto-fill-mode', so completion fills in the rest of that. You now have `auto-fill-mode' in the minibuffer after typing just `au f '. Note that has this effect @@ -150,6 +534,14 @@ window that displays a list of completions: but you must click in the list of completions, not in the minibuffer itself. +`' +`M-v' + Typing or `M-v', while in the minibuffer, selects the + window showing the completion list buffer + (`switch-to-completions'). This paves the way for using the + commands below. (Selecting that window in the usual ways has the + same effect, but this way is more convenient.) + `' Typing _in the completion list buffer_ chooses the completion that point is in or next to (`choose-completion'). To @@ -234,6 +626,10 @@ in contexts where `completing-read' allows answers that are not valid completions, an extra must be typed to confirm the response. This is helpful for catching typos. + Icomplete mode presents a constantly-updated display that tells you +what completions are available for the text you've entered so far. The +command to enable or disable this minor mode is `M-x icomplete-mode'. +  File: xemacs.info, Node: Minibuffer History, Next: Repetition, Prev: Completion, Up: Minibuffer @@ -320,11 +716,11 @@ name. Re-execute a recent minibuffer command (`repeat-complex-command'). `M-p' - Within `C-x ', move to previous recorded command + Within `C-x ', move to previous recorded command (`previous-history-element'). `M-n' - Within `C-x ', move to the next (more recent) recorded + Within `C-x ', move to the next (more recent) recorded command (`next-history-element'). `M-x list-command-history' @@ -570,7 +966,7 @@ Help Summary `C-h a REGEXP ' Display a list of functions and variables whose names match REGEXP - (`heper-apropos'). + (`hyper-apropos'). `C-h A REGEXP' Show all commands whose names contain matches for REGEXP @@ -741,7 +1137,7 @@ Apropos Show only symbols that are names of commands (`command-apropos'). `M-x apropos REGEXP' - Show all symbols whose names comtain matches for REGEXP. + Show all symbols whose names contain matches for REGEXP. A more sophisticated sort of question to ask is, "What are the commands for working with files?" To ask this question, type `C-h a @@ -797,406 +1193,3 @@ all behave as if they had been given a prefix argument. symbol property listed in the Apropos buffer, you can click on it with `Mouse-2' or move there and type . - -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 - - -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. - -`' - Scroll forward. - -`' -`' - 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. - - -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 ' 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 , because ` 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 -frequentliy-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. - - -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. - - -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-' - 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-' 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-' 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-'; there is no such -character. When you type while holding down , 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-' does not produce `C-@', you should -think of this character as `C-'. - - 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. - - -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 ' or `C-M-\' (*note Indentation::). - - -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. - - -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-' (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-' 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-' 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. - - -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. -