]> git.eshelyaron.com Git - emacs.git/commitdiff
Make `bookmark--unfontify' more robust
authorLars Ingebrigtsen <larsi@gnus.org>
Mon, 5 Jul 2021 13:09:45 +0000 (15:09 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 5 Jul 2021 13:09:45 +0000 (15:09 +0200)
* lisp/bookmark.el (bookmark--unfontify): Don't bug out if there's
no fontification recorded (bug#49341).

lisp/bookmark.el

index 31e41a9273c0f6784b91b0f737c95de23bf19b59..52b96fd2038a47d7ffb3ab559ae49051c4432b2d 100644 (file)
@@ -467,18 +467,18 @@ See user option `bookmark-fontify'."
   "Remove a bookmark's colorized overlay.
 BM is a bookmark as returned from function `bookmark-get-bookmark'.
 See user option `bookmark-fontify'."
-  (let ((filename (assq 'filename bm))
-        (pos      (assq 'position bm))
+  (let ((filename (cdr (assq 'filename bm)))
+        (pos (cdr (assq 'position bm)))
         overlays found temp)
-    (when filename (setq filename (expand-file-name (cdr filename))))
-    (when pos (setq pos (cdr pos)))
-    (dolist (buf (buffer-list))
-      (with-current-buffer buf
-        (when (equal filename buffer-file-name)
-          (setq overlays (overlays-at pos))
-          (while (and (not found) (setq temp (pop overlays)))
-            (when (eq 'bookmark (overlay-get temp 'category))
-              (delete-overlay (setq found temp)))))))))
+    (when (and pos filename)
+      (setq filename (expand-file-name filename))
+      (dolist (buf (buffer-list))
+        (with-current-buffer buf
+          (when (equal filename buffer-file-name)
+            (setq overlays (overlays-at pos))
+            (while (and (not found) (setq temp (pop overlays)))
+              (when (eq 'bookmark (overlay-get temp 'category))
+                (delete-overlay (setq found temp))))))))))
 
 (defun bookmark-completing-read (prompt &optional default)
   "Prompting with PROMPT, read a bookmark name in completion.