Mercurial > emacs
changeset 59177:5188f5b11d56
(mark-sexp, mark-defun): New arg ALLOW-EXTEND
enables the feature to extend the existing region.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 29 Dec 2004 01:32:06 +0000 |
parents | 25f94004470f |
children | abe8f4f2982c |
files | lisp/emacs-lisp/lisp.el |
diffstat | 1 files changed, 16 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/emacs-lisp/lisp.el Wed Dec 29 01:30:45 2004 +0000 +++ b/lisp/emacs-lisp/lisp.el Wed Dec 29 01:32:06 2004 +0000 @@ -69,15 +69,17 @@ (or arg (setq arg 1)) (forward-sexp (- arg))) -(defun mark-sexp (&optional arg) +(defun mark-sexp (&optional arg allow-extend) "Set mark ARG sexps from point. The place mark goes is the same place \\[forward-sexp] would move to with the same argument. -If this command is repeated or mark is active in Transient Mark mode, +Interactively, if this command is repeated +or (in Transient Mark mode) if the mark is active, it marks the next ARG sexps after the ones already marked." - (interactive "P") - (cond ((or (and (eq last-command this-command) (mark t)) - (and transient-mark-mode mark-active)) + (interactive "P\np") + (cond ((and allow-extend + (or (and (eq last-command this-command) (mark t)) + (and transient-mark-mode mark-active))) (setq arg (if arg (prefix-numeric-value arg) (if (< (mark) (point)) -1 1))) (set-mark @@ -289,14 +291,17 @@ (goto-char (point-min))))) (setq arg (1+ arg)))))) -(defun mark-defun () +(defun mark-defun (&optional allow-extend) "Put mark at end of this defun, point at beginning. The defun marked is the one that contains point or follows point. -If this command is repeated or mark is active in Transient Mark mode, -it marks more defuns after the ones already marked." - (interactive) - (cond ((or (and (eq last-command this-command) (mark t)) - (and transient-mark-mode mark-active)) + +Interactively, if this command is repeated +or (in Transient Mark mode) if the mark is active, +it marks the next defun after the ones already marked." + (interactive "p") + (cond ((and allow-extend + (or (and (eq last-command this-command) (mark t)) + (and transient-mark-mode mark-active))) (set-mark (save-excursion (goto-char (mark))