From a025bf14f3c2a16e37596e88940ee4b2ffc2a8a2 Mon Sep 17 00:00:00 2001 From: rekado Date: Tue, 3 Mar 2015 09:18:27 +0100 Subject: update endless comment function --- lisp/init-my-stuff.el | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'lisp/init-my-stuff.el') diff --git a/lisp/init-my-stuff.el b/lisp/init-my-stuff.el index 6b82e22..3e670b9 100644 --- a/lisp/init-my-stuff.el +++ b/lisp/init-my-stuff.el @@ -94,17 +94,21 @@ Position the cursor at its beginning, according to the current mode." (forward-sentence 1) (insert " ")))) -;; by Artur Malabarba, on emacs-devel +;; by Artur Malabarba and Drew, on emacs-devel (defun my/endless/comment-line (n) "Comment or uncomment current line and leave point after it. -With positive prefix, apply to N lines including current one. -With negative prefix, apply to -N lines above." +With positive prefix arg, apply to N lines including current one. +With negative prefix arg, apply to -N lines above. +When repeated, a negative prefix arg switches direction." (interactive "p") + (when (eq last-command 'comment-line-backward) (setq n (- n))) (let ((range (list (line-beginning-position) (goto-char (line-end-position n))))) (comment-or-uncomment-region (apply #'min range) (apply #'max range))) (forward-line 1) - (back-to-indentation)) -(global-set-key (kbd "C-c C-;") 'my/endless/comment-line) + (back-to-indentation) + (unless (natnump n) (setq this-command 'comment-line-backward))) + +(global-set-key (kbd "C-;") 'my/endless/comment-line) -- cgit v1.2.3