From: Basil L. Contovounesios Date: Wed, 17 Jul 2019 12:05:42 +0000 (+0100) Subject: Clarify docs on newline and auto-fill-mode X-Git-Tag: emacs-27.0.90~1225 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=373ffc59317cb96e253a0b0939b921e9172b44ff;p=emacs.git 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). --- diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 8d78a9b24ff..ef1d8ebc571 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -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 diff --git a/lisp/simple.el b/lisp/simple.el index ecd7eb797e8..b5205dd7648 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -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