2447 |
|
|
2448 |
(defun set-mark-command (arg) |
(defun set-mark-command (arg) |
2449 |
"Set mark at where point is, or jump to mark. |
"Set mark at where point is, or jump to mark. |
2450 |
With no prefix argument, set mark, push old mark position on local mark |
With no prefix argument, set mark, and push old mark position on local |
2451 |
ring, and push mark on global mark ring. Immediately repeating the |
mark ring; also push mark on global mark ring if last mark was set in |
2452 |
command activates `transient-mark-mode' temporarily. |
another buffer. Immediately repeating the command activates |
2453 |
|
`transient-mark-mode' temporarily. |
2454 |
|
|
2455 |
With argument, jump to mark, and pop a new position for mark off the ring |
With argument, e.g. \\[universal-argument] \\[set-mark-command], \ |
2456 |
\(does not affect global mark ring\). Repeating the command without |
jump to mark, and pop a new position |
2457 |
an argument jumps to the next position off the mark ring. |
for mark off the local mark ring \(this does not affect the global |
2458 |
|
mark ring\). Use \\[pop-global-mark] to jump to a mark off the global |
2459 |
|
mark ring \(see `pop-global-mark'\). |
2460 |
|
Repeating the \\[set-mark-command] command without the prefix jumps to the next |
2461 |
|
position off the local (or global) mark ring. |
2462 |
|
|
2463 |
|
With a double \\[universal-argument] prefix argument, e.g. \\[universal-argument] \ |
2464 |
|
\\[universal-argument] \\[set-mark-command], unconditionally |
2465 |
|
set mark where point is. |
2466 |
|
|
2467 |
Novice Emacs Lisp programmers often try to use the mark for the wrong |
Novice Emacs Lisp programmers often try to use the mark for the wrong |
2468 |
purposes. See the documentation of `set-mark' for more information." |
purposes. See the documentation of `set-mark' for more information." |
2474 |
(if arg |
(if arg |
2475 |
(pop-to-mark-command) |
(pop-to-mark-command) |
2476 |
(push-mark-command t))) |
(push-mark-command t))) |
2477 |
|
((and (consp arg) (> (prefix-numeric-value arg) 4)) |
2478 |
|
(push-mark-command nil)) |
2479 |
((eq last-command 'pop-to-mark-command) |
((eq last-command 'pop-to-mark-command) |
2480 |
(if (and (consp arg) (> (prefix-numeric-value arg) 4)) |
(setq this-command 'pop-to-mark-command) |
2481 |
(push-mark-command nil) |
(pop-to-mark-command)) |
2482 |
(setq this-command 'pop-to-mark-command) |
((and (eq last-command 'pop-global-mark) (not arg)) |
2483 |
(pop-to-mark-command))) |
(setq this-command 'pop-global-mark) |
2484 |
|
(pop-global-mark)) |
2485 |
(arg |
(arg |
2486 |
(setq this-command 'pop-to-mark-command) |
(setq this-command 'pop-to-mark-command) |
2487 |
(pop-to-mark-command)) |
(pop-to-mark-command)) |