diff options
Diffstat (limited to 'emacs/.emacs.d/lisp/my/my-editing.el')
-rw-r--r-- | emacs/.emacs.d/lisp/my/my-editing.el | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/emacs/.emacs.d/lisp/my/my-editing.el b/emacs/.emacs.d/lisp/my/my-editing.el index 2c1abfb..aa65ba1 100644 --- a/emacs/.emacs.d/lisp/my/my-editing.el +++ b/emacs/.emacs.d/lisp/my/my-editing.el @@ -493,9 +493,12 @@ With an prefix-arg, copy the file name relative to project root." (defun my-kill-sexp-or-comment (&optional n) "Kill the next n sexp. On failure, call `comment-kill' instead." (interactive) - (condition-case _ - (kill-sexp n) - (scan-error (comment-kill (or n 1))))) + (let ((old-max (point-max)) + (old-point (point))) + (comment-kill (or n 1)) + (when (= old-max (point-max)) + (goto-char old-point) + (kill-sexp n)))) (defun my-mark-sexp-or-comment () "Mark the next sexp or comment." |