branch: master commit a08b049edde2dc1f6cf445d1e5a2d9e13535fc37 Author: Oleh Krehel <ohwoeo...@gmail.com> Commit: Oleh Krehel <ohwoeo...@gmail.com>
Fix jumping to newlines with at-full style * avy-jump.el (avy--overlay-at-full): Update. Re #5 --- avy-jump.el | 36 +++++++++++++++++++++--------------- 1 files changed, 21 insertions(+), 15 deletions(-) diff --git a/avy-jump.el b/avy-jump.el index 125c821..93569d0 100644 --- a/avy-jump.el +++ b/avy-jump.el @@ -280,22 +280,28 @@ LEAF is normally ((BEG . END) . WND)." (apply #'string (reverse path)) 'face 'avy-lead-face)) (len (length path)) - (pt (if (consp (car leaf)) - (caar leaf) - (car leaf))) + (beg (if (consp (car leaf)) + (caar leaf) + (car leaf))) (wnd (cdr leaf))) - (let ((ol (make-overlay pt (+ pt len) - (window-buffer wnd))) - (old-str (with-selected-window wnd - (buffer-substring pt (1+ pt))))) - (when avy-background - (setq old-str (propertize - old-str 'face 'avy-background-face))) - (overlay-put ol 'window wnd) - (overlay-put ol 'display (if (string= old-str "\n") - (concat str "\n") - str)) - (push ol avy--overlays-lead)))) + (with-selected-window wnd + (save-excursion + (goto-char beg) + (let* ((end (if (= beg (line-end-position)) + (1+ beg) + (min (+ beg len) (line-end-position)))) + (ol (make-overlay + beg end + (current-buffer))) + (old-str (buffer-substring beg (1+ beg)))) + (when avy-background + (setq old-str (propertize + old-str 'face 'avy-background-face))) + (overlay-put ol 'window wnd) + (overlay-put ol 'display (if (string= old-str "\n") + (concat str "\n") + str)) + (push ol avy--overlays-lead)))))) (defun avy--overlay-post (path leaf) "Create an overlay with PATH at LEAF.