[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master be74714 34/36: avy.el (avy--overlay-at-full): Work-around
From: |
Oleh Krehel |
Subject: |
[elpa] master be74714 34/36: avy.el (avy--overlay-at-full): Work-around 20607 |
Date: |
Tue, 19 May 2015 12:38:20 +0000 |
branch: master
commit be74714fd465383f5fcdf0f1951413c201e6628d
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
avy.el (avy--overlay-at-full): Work-around 20607
* avy.el (avy--overlay-at-full): There's a problem when there are two
overlays at the same point in the same buffer, but in different
windows, *only if* they are of different length. Make them the same
length to work-around this bug.
See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20607
Fixes #47
---
avy.el | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/avy.el b/avy.el
index da5f537..423d5d2 100644
--- a/avy.el
+++ b/avy.el
@@ -466,6 +466,21 @@ LEAF is normally ((BEG . END) . WND)."
(line-end-position))))
(setq str (substring str 0 1))
(setq len 1))
+ (let ((other-ov (cl-find-if
+ (lambda (o)
+ (and (eq (overlay-get o 'category) 'avy)
+ (eq (overlay-start o) beg)
+ (not (eq (overlay-get o 'window) wnd))))
+ (overlays-in (point) (min (+ (point) len)
+ (line-end-position))))))
+ (when (and other-ov
+ (> (overlay-end other-ov)
+ (+ beg len)))
+ (setq str (concat str (buffer-substring
+ (+ beg len)
+ (overlay-end other-ov))))
+ (setq len (- (overlay-end other-ov)
+ beg))))
(let* ((end (if (= beg (line-end-position))
(1+ beg)
(min (+ beg
- [elpa] master 1127467 24/36: avy.el (avy-move-line): Use ARG lines, (continued)
- [elpa] master 1127467 24/36: avy.el (avy-move-line): Use ARG lines, Oleh Krehel, 2015/05/19
- [elpa] master 2e936d8 10/36: avy-jump.el (avy-goto-word-or-subword-1): New command, Oleh Krehel, 2015/05/19
- [elpa] master e35f1ed 19/36: Use `avy-lead-face-0' for 'pre and 'post, Oleh Krehel, 2015/05/19
- [elpa] master a39f689 22/36: Allow all kinds of styles for `avy-goto-line', Oleh Krehel, 2015/05/19
- [elpa] master 92a7884 32/36: avy.el (avy-window-list): Fixup last commit, Oleh Krehel, 2015/05/19
- [elpa] master a4f4015 33/36: avy.el (avy--overlay-at-full): Check overlay window, Oleh Krehel, 2015/05/19
- [elpa] master dc06220 29/36: Fix the at-full style interaction with tabs, Oleh Krehel, 2015/05/19
- [elpa] master b288c69 31/36: make compile should run checkdoc, Oleh Krehel, 2015/05/19
- [elpa] master 199c526 35/36: Bump version, Oleh Krehel, 2015/05/19
- [elpa] master 4b4b7b4 28/36: README.md: Add a link to the wiki for defcustoms, Oleh Krehel, 2015/05/19
- [elpa] master be74714 34/36: avy.el (avy--overlay-at-full): Work-around 20607,
Oleh Krehel <=
- [elpa] master d6b741b 30/36: Allow for all operations to work across frames, Oleh Krehel, 2015/05/19
- [elpa] master 50cfc74 27/36: Fixup the last commit and add contribution guidelines, Oleh Krehel, 2015/05/19
- [elpa] master 59c6b9d 26/36: Expose chars to be read as args., Oleh Krehel, 2015/05/19
- [elpa] master e559638 36/36: Merge commit '199c52606dcd614cb856bbcaca13b5fada0772b6' from avy, Oleh Krehel, 2015/05/19