aboutsummaryrefslogtreecommitdiff
path: root/emacs/.emacs.d/lisp/my/my-editing.el
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/.emacs.d/lisp/my/my-editing.el')
-rw-r--r--emacs/.emacs.d/lisp/my/my-editing.el9
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."