Fix doc strings of 'mark-sexp' and 'mark-word'

* lisp/emacs-lisp/lisp.el (mark-sexp):
* lisp/simple.el (mark-word): Clarify the doc strings in various
usage cases.  (Bug#62892)
This commit is contained in:
Eli Zaretskii 2023-05-06 11:47:31 +03:00
parent 6f910ad932
commit 97b818a4fb
2 changed files with 32 additions and 12 deletions

View file

@ -92,12 +92,22 @@ report errors as appropriate for this kind of usage."
(forward-sexp (- arg) interactive)) (forward-sexp (- arg) interactive))
(defun mark-sexp (&optional arg allow-extend) (defun mark-sexp (&optional arg allow-extend)
"Set mark ARG sexps from point. "Set mark ARG sexps from point or move mark one sexp.
The place mark goes is the same place \\[forward-sexp] would When called from Lisp with ALLOW-EXTEND ommitted or nil, mark is
move to with the same argument. set ARG sexps from point.
Interactively, if this command is repeated With ARG and ALLOW-EXTEND both non-nil (interactively, with prefix
or (in Transient Mark mode) if the mark is active, argument), the place to which mark goes is the same place \\[forward-sexp]
it marks the next ARG sexps after the ones already marked. would move to with the same argument; if the mark is active, it moves
ARG sexps from its current position, otherwise it is set ARG sexps
from point.
When invoked interactively without a prefix argument and no active
region, mark moves one sexp forward.
When invoked interactively without a prefix argument, and region
is active, mark moves one sexp away of point (i.e., forward
if mark is at or after point, back if mark is before point), thus
extending the region by one sexp. Since the direction of region
extension depends on the relative position of mark and point, you
can change the direction by \\[exchange-point-and-mark].
This command assumes point is not in a string or comment." This command assumes point is not in a string or comment."
(interactive "P\np") (interactive "P\np")
(cond ((and allow-extend (cond ((and allow-extend

View file

@ -8668,12 +8668,22 @@ node `(elisp) Word Motion' for details."
(forward-word (- (or arg 1)))) (forward-word (- (or arg 1))))
(defun mark-word (&optional arg allow-extend) (defun mark-word (&optional arg allow-extend)
"Set mark ARG words away from point. "Set mark ARG words from point or move mark one word.
The place mark goes is the same place \\[forward-word] would When called from Lisp with ALLOW-EXTEND ommitted or nil, mark is
move to with the same argument. set ARG words from point.
Interactively, if this command is repeated With ARG and ALLOW-EXTEND both non-nil (interactively, with prefix
or (in Transient Mark mode) if the mark is active, argument), the place to which mark goes is the same place \\[forward-word]
it marks the next ARG words after the ones already marked." would move to with the same argument; if the mark is active, it moves
ARG words from its current position, otherwise it is set ARG words
from point.
When invoked interactively without a prefix argument and no active
region, mark moves one word forward.
When invoked interactively without a prefix argument, and region
is active, mark moves one word away of point (i.e., forward
if mark is at or after point, back if mark is before point), thus
extending the region by one word. Since the direction of region
extension depends on the relative position of mark and point, you
can change the direction by \\[exchange-point-and-mark]."
(interactive "P\np") (interactive "P\np")
(cond ((and allow-extend (cond ((and allow-extend
(or (and (eq last-command this-command) (mark t)) (or (and (eq last-command this-command) (mark t))