emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master a08b049 04/36: Fix jumping to newlines with at-full style


From: Oleh Krehel
Subject: [elpa] master a08b049 04/36: Fix jumping to newlines with at-full style
Date: Tue, 19 May 2015 12:38:07 +0000

branch: master
commit a08b049edde2dc1f6cf445d1e5a2d9e13535fc37
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>

    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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]