more thorough job of deleting old overlays on startup
[visible-mark] / visible-mark.el
index 1ca0419674ed38632872532587dc199a45abe9c4..9318403e08d053db571c1aa3465840b2ddb31fe0 100644 (file)
   :type '(repeat regexp))
                   
 (defun visible-mark-initialize-overlays ()
-  (mapcar 'delete-overlay visible-mark-overlays)
+  (mapc
+   (lambda (x)
+     (when (eq 'visible-mark (overlay-get x 'category))
+       (delete-overlay x)))
+   (overlays-in (point-min) (point-max)))  
   (let (overlays)
     (dotimes (i visible-mark-max)
       (let ((overlay (make-overlay (point-min) (point-min))))
       (progn
         (visible-mark-initialize-overlays)
         (add-hook 'post-command-hook 'visible-mark-move-overlays nil t))
-    (mapcar 'delete-overlay visible-mark-overlays)
+    (mapc 'delete-overlay visible-mark-overlays)
     (setq visible-mark-overlays nil)
     (remove-hook 'post-command-hook 'visible-mark-move-overlays t)))