Add new command `duplicate-line'
* lisp/misc.el (copy-from-above-command): Mention it. (duplicate-line): New command (bug#46621).
This commit is contained in:
parent
4311bd0bd7
commit
6362f65474
2 changed files with 20 additions and 1 deletions
4
etc/NEWS
4
etc/NEWS
|
@ -298,6 +298,10 @@ startup. Previously, these functions ignored
|
|||
|
||||
* Changes in Emacs 29.1
|
||||
|
||||
---
|
||||
** New command 'duplicate-line'.
|
||||
This command duplicates the current line the specified number of times.
|
||||
|
||||
---
|
||||
** Files with the '.eld' extension are now visited in 'lisp-data-mode'.
|
||||
|
||||
|
|
17
lisp/misc.el
17
lisp/misc.el
|
@ -33,7 +33,9 @@
|
|||
"Copy characters from previous nonblank line, starting just above point.
|
||||
Copy ARG characters, but not past the end of that line.
|
||||
If no argument given, copy the entire rest of the line.
|
||||
The characters copied are inserted in the buffer before point."
|
||||
The characters copied are inserted in the buffer before point.
|
||||
|
||||
Also see the `copy-line' command."
|
||||
(interactive "P")
|
||||
(let ((cc (current-column))
|
||||
n
|
||||
|
@ -61,6 +63,19 @@ The characters copied are inserted in the buffer before point."
|
|||
(+ n (point)))))))
|
||||
(insert string)))
|
||||
|
||||
;;;###autoload
|
||||
(defun duplicate-line (&optional n)
|
||||
"Duplicate the current line N times.
|
||||
Also see the `copy-from-above-command' command."
|
||||
(interactive "p")
|
||||
(let ((line (buffer-substring (line-beginning-position) (line-end-position))))
|
||||
(save-excursion
|
||||
(forward-line 1)
|
||||
(unless (bolp)
|
||||
(insert "\n"))
|
||||
(dotimes (_ n)
|
||||
(insert line "\n")))))
|
||||
|
||||
;; Variation of `zap-to-char'.
|
||||
|
||||
;;;###autoload
|
||||
|
|
Loading…
Add table
Reference in a new issue