delete-line
別解2通り。
(defun delete-line (&optional arg) (interactive "P") (progn (kill-line arg) (pop kill-ring)))
(defun delete-line () (interactive) (delete-region (point) (save-excursion (end-of-line) (point))))
prefix argument 付きで kill-line すると複数行まとめて消せるという事実は案外知られていない、かな。
いや、しかし C-q つぶしちゃっていいものなのだろうか。
追記
もう1個思いついた。
(defun delete-line (&optional arg) (interactive "P") (let ((kill-ring nil)) (kill-line arg)))
いやー、dynamic scope ってすごいね。
追記 #2
コメントでご指摘。kill-ring-yank-pointer もケアしてやらないとだめらしい。ということで、1個目のと、3個目のはこうするべき。
(defun delete-line (&optional arg) (interactive "P") (progn (kill-line arg) (pop kill-ring) (setq kill-ring-yank-pointer kill-ring)))
(defun delete-line (&optional arg) (interactive "P") (let (kill-ring kill-ring-yank-pointer) (kill-ring arg)))