]> git.eshelyaron.com Git - emacs.git/commitdiff
Reject invalid time-string in appt-add immediately
authorRobert Pluim <rpluim@gmail.com>
Tue, 1 Mar 2022 14:24:08 +0000 (15:24 +0100)
committerRobert Pluim <rpluim@gmail.com>
Tue, 5 Apr 2022 16:11:05 +0000 (18:11 +0200)
* lisp/calendar/appt.el (appt-add): Check the provided time-string for
validity immediately after reading it rather than after reading all
the parameters.  (Bug#54210)

lisp/calendar/appt.el

index ebdafb438e3c00a1467d49e5968021e62046e3ce..a7d13cff9a15f3781bdf0f0d754e498c97873d5a 100644 (file)
@@ -510,9 +510,13 @@ The time should be in either 24 hour format or am/pm format.
 Optional argument WARNTIME is an integer (or string) giving the number
 of minutes before the appointment at which to start warning.
 The default is `appt-message-warning-time'."
-  (interactive "sTime (hh:mm[am/pm]): \nsMessage: \n\
-sMinutes before the appointment to start warning: ")
-  (unless (string-match appt-time-regexp time)
+  (interactive (list (let ((time (read-string "Time (hh:mm[am/pm]): ")))
+                       (unless (string-match-p appt-time-regexp time)
+                         (user-error "Unacceptable time-string"))
+                       time)
+                     (read-string "Message: ")
+                     (read-string "Minutes before the appointment to start warning: ")))
+  (unless (string-match-p appt-time-regexp time)
     (user-error "Unacceptable time-string"))
   (and (stringp warntime)
        (setq warntime (unless (string-equal warntime "")