# HG changeset patch # User Kim F. Storm # Date 1048290563 0 # Node ID 4893760b5129ab929336d80154a428e8b0dd562b # Parent 65c998a7ef3bed76f088067027e3e1e3b56e8659 (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. diff -r 65c998a7ef3b -r 4893760b5129 lisp/simple.el --- 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))