Clarify docs on newline and auto-fill-mode

* doc/lispref/text.texi (Commands for Insertion):
* lisp/simple.el (newline): Do not mention conditions specific to
'do-auto-fill' under documentation of 'newline' (bug#36702).
This commit is contained in:
Basil L. Contovounesios 2019-07-17 13:05:42 +01:00
parent 3f9ad4e725
commit 373ffc5931
2 changed files with 15 additions and 11 deletions

View file

@ -545,25 +545,28 @@ Do not try substituting your own definition of
loop handles this function specially.
@end deffn
@deffn Command newline &optional number-of-newlines
@deffn Command newline &optional number-of-newlines interactive
This command inserts newlines into the current buffer before point.
If @var{number-of-newlines} is supplied, that many newline characters
are inserted.
are inserted. In an interactive call, @var{number-of-newlines} is the
numeric prefix argument.
@cindex newline and Auto Fill mode
This function calls @code{auto-fill-function} if the current column
number is greater than the value of @code{fill-column} and
@var{number-of-newlines} is @code{nil}. Typically what
This command calls @code{self-insert-command} to insert newlines,
which may subsequently break the preceding line by calling
@code{auto-fill-function} (@pxref{Auto Filling}). Typically what
@code{auto-fill-function} does is insert a newline; thus, the overall
result in this case is to insert two newlines at different places: one
at point, and another earlier in the line. @code{newline} does not
auto-fill if @var{number-of-newlines} is non-@code{nil}.
This command does not run the hook @code{post-self-insert-hook} unless
called interactively or @var{interactive} is non-@code{nil}.
This command indents to the left margin if that is not zero.
@xref{Margins}.
The value returned is @code{nil}. In an interactive call, @var{count}
is the numeric prefix argument.
The value returned is @code{nil}.
@end deffn
@defvar overwrite-mode

View file

@ -500,17 +500,18 @@ If `electric-indent-mode' is enabled, this indents the final new line
that it adds, and reindents the preceding line. To just insert
a newline, use \\[electric-indent-just-newline].
Calls `auto-fill-function' if the current column number is greater
than the value of `fill-column' and ARG is nil.
If `auto-fill-mode' is enabled, this may cause automatic line
breaking of the preceding line. A non-nil ARG inhibits this.
A non-nil INTERACTIVE argument means to run the `post-self-insert-hook'."
(interactive "*P\np")
(barf-if-buffer-read-only)
;; Call self-insert so that auto-fill, abbrev expansion etc. happens.
;; Call self-insert so that auto-fill, abbrev expansion etc. happen.
;; Set last-command-event to tell self-insert what to insert.
(let* ((was-page-start (and (bolp) (looking-at page-delimiter)))
(beforepos (point))
(last-command-event ?\n)
;; Don't auto-fill if we have a numeric argument.
;; Don't auto-fill if we have a prefix argument.
(auto-fill-function (if arg nil auto-fill-function))
(arg (prefix-numeric-value arg))
(postproc