# HG changeset patch # User Kim F. Storm # Date 1048503497 0 # Node ID 24db6dc3fc9ef73930a1f25b83a4fc8b6e94535e # Parent 4e360b30cf60cbf752917fd6d90105822709e8b8 Rework last change so C-x C-SPC C-SPC does not repeat pop-global-mark by default. (pop-global-mark-quick-repeat): New user option. (set-mark-command): Use it. diff -r 4e360b30cf60 -r 24db6dc3fc9e lisp/simple.el --- a/lisp/simple.el Mon Mar 24 10:57:09 2003 +0000 +++ b/lisp/simple.el Mon Mar 24 10:58:17 2003 +0000 @@ -2424,6 +2424,15 @@ :type 'integer :group 'editing-basics) +(defcustom pop-global-mark-quick-repeat nil + "*When non-nil, `pop-global-mark' can be repeated without the prefix key. +E.g. \\[pop-global-mark] \\[set-mark-command] \\[set-mark-command] \ +pops to the third mark off the global mark ring. +To cycle through the marks in the target buffer, \ +use \\[universal-argument] \\[set-mark-command] \\[set-mark-command]..." + :type 'boolean + :group 'editing-basics) + (defun pop-to-mark-command () "Jump to mark, and pop a new position for mark off the ring \(does not affect global mark ring\)." @@ -2457,8 +2466,10 @@ 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. +position off the local mark ring. See `pop-global-mark-quick-repeat' if you +want the same effect for \\[pop-global-mark]. With a double \\[universal-argument] prefix argument, e.g. \\[universal-argument] \ \\[universal-argument] \\[set-mark-command], unconditionally @@ -2470,16 +2481,17 @@ (if (eq transient-mark-mode 'lambda) (setq transient-mark-mode nil)) (cond + ((and (consp arg) (> (prefix-numeric-value arg) 4)) + (push-mark-command nil)) ((not (eq this-command 'set-mark-command)) (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) (setq this-command 'pop-to-mark-command) (pop-to-mark-command)) - ((and (eq last-command 'pop-global-mark) (not arg)) + ((and pop-global-mark-quick-repeat + (eq last-command 'pop-global-mark) (not arg)) (setq this-command 'pop-global-mark) (pop-global-mark)) (arg