Commit da7d231b authored by Kim F. Storm's avatar Kim F. Storm
Browse files

(split-line): If present, copy fill-prefix from

current line to new line.  Don't copy if prefix arg.
From Lisp, arg may be an alternative prefix string to copy.
Inspired by Ehud Karni <ehud@unix.mvs.co.il>.
parent 7b1824c2
;;; simple.el --- basic editing commands for Emacs
;; Copyright (C) 1985, 86, 87, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002
;; Copyright (C) 1985, 86, 87, 93, 94, 95, 96, 97, 98, 99,
;; 2000, 2001, 2002, 2003
;; Free Software Foundation, Inc.
;; Maintainer: FSF
......@@ -180,13 +181,26 @@ With arg N, insert N newlines."
(goto-char loc)
(end-of-line)))
(defun split-line ()
"Split current line, moving portion beyond point vertically down."
(interactive "*")
(defun split-line (&optional arg)
"Split current line, moving portion beyond point vertically down.
If the current line starts with `fill-prefix', insert it on the new
line as well. With prefix arg, don't insert fill-prefix on new line.
When called from Lisp code, the arg may be a prefix string to copy."
(interactive "*P")
(skip-chars-forward " \t")
(let ((col (current-column))
(pos (point)))
(pos (point))
(beg (line-beginning-position))
(prefix (cond ((stringp arg) arg)
(arg nil)
(t fill-prefix))))
(newline 1)
(if (and (stringp prefix)
(string-equal prefix
(buffer-substring beg (+ beg (length prefix)))))
(insert-and-inherit prefix))
(indent-to col 0)
(goto-char pos)))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment