|
|
|
@ -280,22 +280,28 @@ LEAF is normally ((BEG . END) . WND)." |
|
|
|
(apply #'string (reverse path)) |
|
|
|
(apply #'string (reverse path)) |
|
|
|
'face 'avy-lead-face)) |
|
|
|
'face 'avy-lead-face)) |
|
|
|
(len (length path)) |
|
|
|
(len (length path)) |
|
|
|
(pt (if (consp (car leaf)) |
|
|
|
(beg (if (consp (car leaf)) |
|
|
|
(caar leaf) |
|
|
|
(caar leaf) |
|
|
|
(car leaf))) |
|
|
|
(car leaf))) |
|
|
|
(wnd (cdr leaf))) |
|
|
|
(wnd (cdr leaf))) |
|
|
|
(let ((ol (make-overlay pt (+ pt len) |
|
|
|
(with-selected-window wnd |
|
|
|
(window-buffer wnd))) |
|
|
|
(save-excursion |
|
|
|
(old-str (with-selected-window wnd |
|
|
|
(goto-char beg) |
|
|
|
(buffer-substring pt (1+ pt))))) |
|
|
|
(let* ((end (if (= beg (line-end-position)) |
|
|
|
(when avy-background |
|
|
|
(1+ beg) |
|
|
|
(setq old-str (propertize |
|
|
|
(min (+ beg len) (line-end-position)))) |
|
|
|
old-str 'face 'avy-background-face))) |
|
|
|
(ol (make-overlay |
|
|
|
(overlay-put ol 'window wnd) |
|
|
|
beg end |
|
|
|
(overlay-put ol 'display (if (string= old-str "\n") |
|
|
|
(current-buffer))) |
|
|
|
(concat str "\n") |
|
|
|
(old-str (buffer-substring beg (1+ beg)))) |
|
|
|
str)) |
|
|
|
(when avy-background |
|
|
|
(push ol avy--overlays-lead)))) |
|
|
|
(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) |
|
|
|
(defun avy--overlay-post (path leaf) |
|
|
|
"Create an overlay with PATH at LEAF. |
|
|
|
"Create an overlay with PATH at LEAF. |
|
|
|
|