Function: duplicate-line
duplicate-line is an autoloaded, interactive and byte-compiled
function defined in misc.el.gz.
Signature
(duplicate-line &optional N)
Documentation
Duplicate the current line N times.
Interactively, N is the prefix numeric argument, and defaults to 1.
The user option duplicate-line-final-position specifies where to
move point after duplicating the line.
Also see the copy-from-above-command command.
Probably introduced at or before Emacs version 29.1.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/misc.el.gz
;;;###autoload
(defun duplicate-line (&optional n)
"Duplicate the current line N times.
Interactively, N is the prefix numeric argument, and defaults to 1.
The user option `duplicate-line-final-position' specifies where to
move point after duplicating the line.
Also see the `copy-from-above-command' command."
(interactive "p")
(unless n
(setq n 1))
(let ((line (concat (buffer-substring (line-beginning-position)
(line-end-position))
"\n"))
(pos (point))
(col (current-column)))
(forward-line 1)
(unless (bolp)
(insert "\n"))
(duplicate--insert-copies n line)
(unless (< duplicate-line-final-position 0)
(goto-char pos))
(unless (eq duplicate-line-final-position 0)
(forward-line duplicate-line-final-position)
(move-to-column col))))