(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
: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\)."
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
(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