-\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.
-