# HG changeset patch # User Richard M. Stallman # Date 1104283926 0 # Node ID 5188f5b11d56024a771b5ac888c6c75359e45e11 # Parent 25f94004470ff48f61c80d49bf62edd2e6781fc8 (mark-sexp, mark-defun): New arg ALLOW-EXTEND enables the feature to extend the existing region. diff -r 25f94004470f -r 5188f5b11d56 lisp/emacs-lisp/lisp.el --- 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))