Skip to content

Commit

Permalink
avy.el (avy--overlay): Fix overlays at point-max
Browse files Browse the repository at this point in the history
* avy.el (avy--overlay): When an overlay is requested at `point-max',
  use 'after-string overlay property instead of 'display.

Fixes #125
  • Loading branch information
abo-abo committed Dec 22, 2015
1 parent 47035cf commit 9d18bf9
Showing 1 changed file with 20 additions and 16 deletions.
36 changes: 20 additions & 16 deletions avy.el
Expand Up @@ -634,22 +634,26 @@ When GROUP is non-nil, (BEG . END) should delimit that regex group."
(defun avy--overlay (str beg end wnd &optional compose-fn)
"Create an overlay with STR from BEG to END in WND.
COMPOSE-FN is a lambda that concatenates the old string at BEG with STR."
(when (<= (1+ beg) (with-selected-window wnd (point-max)))
(let* ((beg (+ beg avy--overlay-offset))
(ol (make-overlay beg (or end (1+ beg)) (window-buffer wnd)))
(old-str (avy--old-str beg wnd))
(os-line-prefix (get-text-property 0 'line-prefix old-str))
(os-wrap-prefix (get-text-property 0 'wrap-prefix old-str)))
(when os-line-prefix
(add-text-properties 0 1 `(line-prefix ,os-line-prefix) str))
(when os-wrap-prefix
(add-text-properties 0 1 `(wrap-prefix ,os-wrap-prefix) str))
(overlay-put ol 'window wnd)
(overlay-put ol 'category 'avy)
(overlay-put ol 'display (funcall
(or compose-fn #'concat)
str old-str))
(push ol avy--overlays-lead))))
(let ((eob (with-selected-window wnd (point-max))))
(when (<= beg eob)
(let* ((beg (+ beg avy--overlay-offset))
(ol (make-overlay beg (or end (1+ beg)) (window-buffer wnd)))
(old-str (if (eq beg eob) "" (avy--old-str beg wnd)))
(os-line-prefix (get-text-property 0 'line-prefix old-str))
(os-wrap-prefix (get-text-property 0 'wrap-prefix old-str)))
(when os-line-prefix
(add-text-properties 0 1 `(line-prefix ,os-line-prefix) str))
(when os-wrap-prefix
(add-text-properties 0 1 `(wrap-prefix ,os-wrap-prefix) str))
(overlay-put ol 'window wnd)
(overlay-put ol 'category 'avy)
(overlay-put ol (if (eq beg eob)
'after-string
'display)
(funcall
(or compose-fn #'concat)
str old-str))
(push ol avy--overlays-lead)))))

(defcustom avy-highlight-first nil
"When non-nil highlight the first decision char with `avy-lead-face-0'.
Expand Down

0 comments on commit 9d18bf9

Please sign in to comment.