Advice lispyville-end-of-defun to go past defuns

`lispyville-end-of-defun' doesn't go to the next defun when point is
already at the end of a defun, whereas `lispyville-beginning-of-defun'
does. This commit fixes this inconsistency by matching
`lispyville-end-of-defun''s behaviour with `lispyville-beginning-of-defun'.

`line-end-position' isn't enough because it never returns `t' in normal
mode (in normal mode the point can't reach the true end of a line).
This commit is contained in:
Leo Okawa Ericson 2021-05-26 15:56:49 +02:00
parent 6c2ff3791a
commit 3b18153ea7

View file

@ -38,4 +38,14 @@
additional additional
additional-insert)) additional-insert))
:config :config
(lispyville-set-key-theme)) (lispyville-set-key-theme)
;; REVIEW Delete this once https://github.com/noctuid/lispyville/pull/297 is merged
(defadvice! +lispy--fix-lispyville-end-of-defun-a (_)
"lispyville-end-of-defun doesn't go to the next defun when
point is already at the end of a defun, whereas
lispyville-beginning-of-defun does."
:before #'lispyville-end-of-defun
(when (<= (- (line-end-position)
(point))
1)
(forward-line))))