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

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

[elpa] externals/osm 6746d108a1 2/4: Improve error handling


From: ELPA Syncer
Subject: [elpa] externals/osm 6746d108a1 2/4: Improve error handling
Date: Fri, 11 Mar 2022 07:57:43 -0500 (EST)

branch: externals/osm
commit 6746d108a1a7dd4e9a7b7048b45fb52155fcc62a
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    Improve error handling
---
 osm.el | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/osm.el b/osm.el
index bfb81c74b2..d51d6a6cb5 100644
--- a/osm.el
+++ b/osm.el
@@ -608,8 +608,19 @@ Should be at least 7 days according to the server usage 
policies."
               mwheel-scroll-left-function #'osm--zoom-out-wheel
               mwheel-scroll-right-function #'osm--zoom-in-wheel
               bookmark-make-record-function #'osm--make-bookmark)
+  (add-hook 'change-major-mode-hook #'osm--barf-unsupported nil 'local)
+  (add-hook 'write-contents-functions #'osm--barf-unsupported nil 'local)
   (add-hook 'window-size-change-functions #'osm--resize nil 'local))
 
+(defun osm--barf-unsupported ()
+  "Barf for unsupported operation."
+  (error "Operation is not supported"))
+
+(defun osm--barf-unless-osm ()
+  "Barf if not an `osm-mode' buffer."
+  (unless (eq major-mode #'osm-mode)
+    (error "Not an osm-mode buffer")))
+
 (defun osm--pin-inside-p (x y p q)
   "Return non-nil if pin P/Q is inside tile X/Y."
   (setq x (* x 256) y (* y 256))
@@ -872,8 +883,7 @@ xmlns='http://www.w3.org/2000/svg' 
xmlns:xlink='http://www.w3.org/1999/xlink'>
 
 (defun osm--update ()
   "Update map display."
-  (unless (eq major-mode #'osm-mode)
-    (error "Not an osm-mode buffer"))
+  (osm--barf-unless-osm)
   (rename-buffer (osm--buffer-name) 'unique)
   (osm--update-sizes)
   (osm--update-header)
@@ -1084,8 +1094,7 @@ xmlns='http://www.w3.org/2000/svg' 
xmlns:xlink='http://www.w3.org/1999/xlink'>
 (defun osm-bookmark-set ()
   "Create osm bookmark."
   (interactive)
-  (unless (eq major-mode #'osm-mode)
-    (error "Not an osm-mode buffer"))
+  (osm--barf-unless-osm)
   (unwind-protect
       (pcase-let* ((`(,lat ,lon ,desc) (osm--location-data 
'osm-selected-bookmark "Bookmark"))
                    (def (osm--bookmark-name desc))



reply via email to

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