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

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

[elpa] master 7b03ac2 57/63: Handle dead snippets better


From: Noam Postavsky
Subject: [elpa] master 7b03ac2 57/63: Handle dead snippets better
Date: Mon, 17 Jul 2017 22:54:22 -0400 (EDT)

branch: master
commit 7b03ac2030ed5a63d352f1a8142dee0cac7439e0
Author: Noam Postavsky <address@hidden>
Commit: Noam Postavsky <address@hidden>

    Handle dead snippets better
    
    * yasnippet-debug.el (yas-debug-live-marker)
    (yas-debug-ov-fom-start, yas-debug-ov-fom-end)
    (yas-debug-live-range, yas--debug-format-fom-concise): Don't assume
    snippet has markers, it could have been converted to integer position.
---
 yasnippet-debug.el | 49 ++++++++++++++++++++++++++-----------------------
 1 file changed, 26 insertions(+), 23 deletions(-)

diff --git a/yasnippet-debug.el b/yasnippet-debug.el
index ac0d237..65b773f 100644
--- a/yasnippet-debug.el
+++ b/yasnippet-debug.el
@@ -95,25 +95,28 @@
          (color-ov (yas-debug-get-live-indicator marker))
          (color (car color-ov))
          (ov (cdr color-ov))
-         (decorator (overlay-get ov 'before-string)))
-    (propertize (format "at %d" (marker-position marker))
-                'cursor-sensor-functions
-                `(,(lambda (window _oldpos dir)
-                     (overlay-put
-                      ov 'before-string
-                      (propertize decorator
-                                  'face (if (eq dir 'entered)
-                                            'mode-line-highlight color)))))
-                'face color)))
+         (decorator (overlay-get ov 'before-string))
+         (str (format "at %d" (+ marker))))
+    (if (markerp marker)
+        (propertize str
+                    'cursor-sensor-functions
+                    `(,(lambda (window _oldpos dir)
+                         (overlay-put
+                          ov 'before-string
+                          (propertize decorator
+                                      'face (if (eq dir 'entered)
+                                                'mode-line-highlight color)))))
+                    'face color)
+      str)))
 
 (defun yas-debug-ov-fom-start (ovfom)
-  (if (overlayp ovfom) (overlay-start ovfom)
-    (let ((m (yas--fom-start ovfom)))
-      (when (markerp m) (marker-position m)))))
+  (cond ((overlayp ovfom) (overlay-start ovfom))
+        ((integerp ovfom) ovfom)
+        (t (yas--fom-start ovfom))))
 (defun yas-debug-ov-fom-end (ovfom)
-  (if (overlayp ovfom) (overlay-end ovfom)
-    (let ((m (yas--fom-end ovfom)))
-      (when (markerp m) (marker-position m)))))
+  (cond ((overlayp ovfom) (overlay-end ovfom))
+        ((integerp ovfom) ovfom)
+        (t (yas--fom-end ovfom))))
 
 (defun yas-debug-live-range (range)
   (let* ((color-ov (yas-debug-get-live-indicator range))
@@ -123,8 +126,8 @@
          (decorator-end (overlay-get ov 'after-string))
          (beg (yas-debug-ov-fom-start range))
          (end (yas-debug-ov-fom-end range)))
-    (if (and beg end)
-        (propertize (format "from %d to %d" beg end)
+    (if (and beg end (not (integerp beg)) (not (integerp end)))
+        (propertize (format "from %d to %d" (+ beg) (+ end))
                     'cursor-sensor-functions
                     `(,(lambda (window _oldpos dir)
                          (let ((face (if (eq dir 'entered)
@@ -278,15 +281,15 @@
     (cond ((yas--field-p fom)
            (format "field %s from %d to %d"
                    (yas--field-number fom)
-                   (marker-position (yas--field-start fom))
-                   (marker-position (yas--field-end fom))))
+                   (+ (yas--field-start fom))
+                   (+ (yas--field-end fom))))
           ((yas--mirror-p fom)
            (format "mirror from %d to %d"
-                   (marker-position (yas--mirror-start fom))
-                   (marker-position (yas--mirror-end fom))))
+                   (+ (yas--mirror-start fom))
+                   (+ (yas--mirror-end fom))))
           (t
            (format "snippet exit at %d"
-                   (marker-position (yas--fom-start fom)))))))
+                   (+ (yas--fom-start fom)))))))
 
 (defun yas-debug-process-command-line (&optional options)
   "Implement command line processing."



reply via email to

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