Mercurial > emacs
changeset 50251:4893760b5129
(set-mark-command): Doc fixes.
Allow pop-global-mark to be repeated with C-x C-SPC C-SPC...
C-u C-u C-SPC now unconditionally sets the mark.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Fri, 21 Mar 2003 23:49:23 +0000 |
parents | 65c998a7ef3b |
children | b3a173da56dd |
files | lisp/simple.el |
diffstat | 1 files changed, 23 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/simple.el Fri Mar 21 23:48:53 2003 +0000 +++ b/lisp/simple.el Fri Mar 21 23:49:23 2003 +0000 @@ -2447,13 +2447,22 @@ (defun set-mark-command (arg) "Set mark at where point is, or jump to mark. -With no prefix argument, set mark, push old mark position on local mark -ring, and push mark on global mark ring. Immediately repeating the -command activates `transient-mark-mode' temporarily. - -With argument, jump to mark, and pop a new position for mark off the ring -\(does not affect global mark ring\). Repeating the command without -an argument jumps to the next position off the mark ring. +With no prefix argument, set mark, and push old mark position on local +mark ring; also push mark on global mark ring if last mark was set in +another buffer. Immediately repeating the command activates +`transient-mark-mode' temporarily. + +With argument, e.g. \\[universal-argument] \\[set-mark-command], \ +jump to mark, and pop a new position +for mark off the local mark ring \(this does not affect the global +mark ring\). Use \\[pop-global-mark] to jump to a mark off the global +mark ring \(see `pop-global-mark'\). +Repeating the \\[set-mark-command] command without the prefix jumps to the next +position off the local (or global) mark ring. + +With a double \\[universal-argument] prefix argument, e.g. \\[universal-argument] \ +\\[universal-argument] \\[set-mark-command], unconditionally +set mark where point is. Novice Emacs Lisp programmers often try to use the mark for the wrong purposes. See the documentation of `set-mark' for more information." @@ -2465,11 +2474,14 @@ (if arg (pop-to-mark-command) (push-mark-command t))) + ((and (consp arg) (> (prefix-numeric-value arg) 4)) + (push-mark-command nil)) ((eq last-command 'pop-to-mark-command) - (if (and (consp arg) (> (prefix-numeric-value arg) 4)) - (push-mark-command nil) - (setq this-command 'pop-to-mark-command) - (pop-to-mark-command))) + (setq this-command 'pop-to-mark-command) + (pop-to-mark-command)) + ((and (eq last-command 'pop-global-mark) (not arg)) + (setq this-command 'pop-global-mark) + (pop-global-mark)) (arg (setq this-command 'pop-to-mark-command) (pop-to-mark-command))