Make newline-and-indent take a numeric prefix

* lisp/simple.el (newline-and-indent): Take a prefix argument to
say how many times to perform its action (bug#10927).
This commit is contained in:
Lars Ingebrigtsen 2019-08-17 16:47:16 -07:00
parent 2b9145312c
commit 3efe59a8dd
2 changed files with 15 additions and 5 deletions

View file

@ -417,6 +417,11 @@ RGB triplets with a single hexadecimal digit per component.
* Editing Changes in Emacs 27.1
---
** The 'newline-and-indent' command (commonly bound to 'RET' in many
modes) now takes an optional numeric argument to specify how many
times is should insert newlines (and indent).
+++
** New command 'make-empty-file'.

View file

@ -745,16 +745,21 @@ buffer if the variable `delete-trailing-lines' is non-nil."
;; Return nil for the benefit of `write-file-functions'.
nil)
(defun newline-and-indent ()
(defun newline-and-indent (&optional arg)
"Insert a newline, then indent according to major mode.
Indentation is done using the value of `indent-line-function'.
In programming language modes, this is the same as TAB.
In some text modes, where TAB inserts a tab, this command indents to the
column specified by the function `current-left-margin'."
(interactive "*")
column specified by the function `current-left-margin'.
With ARG, perform this action that many times."
(interactive "*p")
(delete-horizontal-space t)
(newline nil t)
(indent-according-to-mode))
(unless arg
(setq arg 1))
(dotimes (_ arg)
(newline nil t)
(indent-according-to-mode)))
(defun reindent-then-newline-and-indent ()
"Reindent current line, insert newline, then indent the new line.