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

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

[elpa] externals/osm 1d19e488ee 5/5: Better messages when adding/deletin


From: ELPA Syncer
Subject: [elpa] externals/osm 1d19e488ee 5/5: Better messages when adding/deleting way points
Date: Fri, 22 Dec 2023 03:58:20 -0500 (EST)

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

    Better messages when adding/deleting way points
---
 osm.el | 53 +++++++++++++++++++++++++++++++++--------------------
 1 file changed, 33 insertions(+), 20 deletions(-)

diff --git a/osm.el b/osm.el
index 9ae8abeb99..478ad160f9 100644
--- a/osm.el
+++ b/osm.el
@@ -678,14 +678,18 @@ Should be at least 7 days according to the server usage 
policies."
   (interactive "@e")
   (if-let (pin (osm--pin-at event 'osm-track))
       (progn
-        (osm--set-transient-pin 'osm-selected-track (car pin) (cadr pin) 
(cdddr pin))
+        (osm--set-transient-pin 'osm-selected-track (car pin) (cadr pin) 
(cdddr pin) 'quiet)
         (osm--update))
     (when (and (not osm--track) osm--transient-pin)
       (push (cons (car osm--transient-pin) (cadr osm--transient-pin)) 
osm--track))
     (osm--set-transient-pin-event event 'osm-selected-track
-                                  (format "(%s)" (1+ (length osm--track))))
+                                  (format "(%s)" (1+ (length osm--track))) 
'quiet)
     (push (cons (car osm--transient-pin) (cadr osm--transient-pin)) osm--track)
     (osm--revert))
+  (osm--track-length))
+
+(defun osm--track-length ()
+  "Echo track length."
   (when (cdr osm--track)
     (let ((len1 0)
           (len2 0)
@@ -1367,20 +1371,23 @@ Optionally place transient pin with ID and NAME."
     (prog1 (pop-to-buffer (current-buffer))
       (osm--update))))
 
-(defun osm--set-transient-pin (id lat lon name)
-  "Set transient pin at LAT/LON with ID and NAME."
+(defun osm--set-transient-pin (id lat lon name &optional quiet)
+  "Set transient pin at LAT/LON with ID and NAME.
+Print NAME if not QUIET."
   (setq osm--transient-pin
         `(,lat ,lon ,(or id 'osm-transient)
                . ,(or name (format "Location %.6f° %.6f°" lat lon))))
-  (message "%s" (cdddr osm--transient-pin)))
+  (unless quiet
+    (message "%s" (cdddr osm--transient-pin))))
 
-(defun osm--set-transient-pin-event (event &optional id name)
-  "Set transient pin with ID and NAME at location of EVENT."
+(defun osm--set-transient-pin-event (event &optional id name quiet)
+  "Set transient pin with ID and NAME at location of EVENT.
+Print NAME if not QUIET."
   (pcase-let ((`(,x . ,y) (posn-x-y (event-start event))))
     (osm--set-transient-pin id
                             (osm--y-to-lat (+ (osm--y0) y) osm--zoom)
                             (osm--x-to-lon (+ (osm--x0) x) osm--zoom)
-                            name)))
+                            name quiet)))
 
 ;;;###autoload
 (defun osm-goto (lat lon zoom)
@@ -1490,7 +1497,7 @@ When called interactively, call the function `osm-home'."
   "Fetch location info for ID with NAME."
   (let ((lat (or (car osm--transient-pin) osm--lat))
         (lon (or (cadr osm--transient-pin) osm--lon)))
-    (osm--set-transient-pin id lat lon name)
+    (osm--set-transient-pin id lat lon name 'quiet)
     (message "%s: Fetching name of %.6f %.6f from %s..." name lat lon 
osm-search-server)
     ;; Redisplay before slow fetching
     (osm--update)
@@ -1504,6 +1511,22 @@ When called interactively, call the function `osm-home'."
                       osm-search-server osm-search-language
                       (min 18 (max 3 osm--zoom)) lat lon)))))))
 
+(defun osm--track-delete ()
+  "Delete track pin."
+  (cl-loop for idx from 0 for (lat . lon) in osm--track do
+           (when (and (equal lat (car osm--transient-pin))
+                      (equal lon (cadr osm--transient-pin)))
+             (setq osm--track (delq (nth idx osm--track) osm--track)
+                   osm--transient-pin nil
+                   idx (min idx (1- (length osm--track))))
+             (when-let (pin (nth idx osm--track))
+               (osm--set-transient-pin 'osm-selected-track (car pin) (cdr pin)
+                                       (format "(%s)" (- (length osm--track) 
idx))
+                                       'quiet))
+             (osm--track-length)
+             (osm--revert)
+             (cl-return))))
+
 (defun osm-pin-delete ()
   "Delete selected pin (bookmark or way point)."
   (interactive)
@@ -1512,17 +1535,7 @@ When called interactively, call the function `osm-home'."
     ('osm-selected-bookmark
      (osm-bookmark-delete (cdddr osm--transient-pin)))
     ('osm-selected-track
-     (cl-loop for idx from 0 for (lat . lon) in osm--track do
-              (when (and (equal lat (car osm--transient-pin))
-                         (equal lon (cadr osm--transient-pin)))
-                (setq osm--track (delq (nth idx osm--track) osm--track)
-                      osm--transient-pin nil
-                      idx (min idx (1- (length osm--track))))
-                (when-let (pin (nth idx osm--track))
-                  (osm--set-transient-pin 'osm-selected-track (car pin) (cdr 
pin)
-                                          (format "(%s)" (- (length 
osm--track) idx))))
-                (osm--revert)
-                (cl-return))))
+     (osm--track-delete))
     (_
      (setq osm--transient-pin nil)
      (osm--update))))



reply via email to

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