Commit 18c5df40 authored by Kim F. Storm's avatar Kim F. Storm
Browse files

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.
parent 1ab892eb
......@@ -5,6 +5,10 @@
(pop-global-mark-quick-repeat): New user option.
(set-mark-command): Use it.
 
* emulation/cua-base.el (cua-set-mark):
Check pop-global-mark-quick-repeat.
2003-03-24 John Paul Wallington <jpw@gnu.org>
 
* emerge.el (emerge-show-file-name): Read event irrespective of
......
......@@ -2424,6 +2424,15 @@ Start discarding off end if gets this big."
: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 @@ 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.
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 @@ purposes. See the documentation of `set-mark' for more information."
(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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment