forward-paragraph
function definitionRather than print all of the forward-paragraph
function, we
will only print parts of it. Read without preparation, the function
can be daunting!
In outline, the function looks like this:
(defun forward-paragraph (&optional arg) "documentation…" (interactive "p") (or arg (setq arg 1)) (let* varlist (while (and (< arg 0) (not (bobp))) ; backward-moving-code … (while (and (> arg 0) (not (eobp))) ; forward-moving-code …
The first parts of the function are routine: the function’s argument list consists of one optional argument. Documentation follows.
The lower case ‘p’ in the interactive
declaration means
that the processed prefix argument, if any, is passed to the function.
This will be a number, and is the repeat count of how many paragraphs
point will move. The or
expression in the next line handles
the common case when no argument is passed to the function, which occurs
if the function is called from other code rather than interactively.
This case was described earlier. (See The
forward-sentence
function.) Now we reach the end of the
familiar part of this function.