From f7448ff7b59abce447802c51b469bbadff22c848 Mon Sep 17 00:00:00 2001 From: "Dirk-Jan C. Binnema" Date: Tue, 21 Oct 2025 00:27:15 +0300 Subject: [PATCH] mu4e-helpers: restore missing mu4e-get-time-date It was in use in mu4e-headers-custom-markers, but somehow got lost back in 2021, it seems. Restore it. Fixes #2879. --- mu4e/mu4e-headers.el | 8 ++++++-- mu4e/mu4e-helpers.el | 7 +++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/mu4e/mu4e-headers.el b/mu4e/mu4e-headers.el index 20f8e201..f1344c49 100644 --- a/mu4e/mu4e-headers.el +++ b/mu4e/mu4e-headers.el @@ -268,7 +268,7 @@ The first character of NAME is used as the shortcut." (lambda () (mu4e-get-time-date "Match messages after: "))) ("Bigger than" (lambda (msg bytes) (> (mu4e-msg-field msg :size) (* 1024 bytes))) - (lambda () (read-number "Match messages bigger than (Kbytes): ")))) + (lambda () (read-number "Match messages bigger than (KB): ")))) "List of custom markers-functions. The functions are to mark message that match some custom @@ -281,7 +281,11 @@ and (optionally) PARAM, and should return non-nil when there's a match. * PARAM-FUNC is function that is evaluated once, and its value is then passed to PREDICATE-FUNC as PARAM. This is useful for -getting user-input.") +getting user-input. + +The default functions that take dates, use `mu4e-get-time-date' +which wraps `parse-time-string' and hence requires the format to +be compatible with that.") ;;; Internal variables/constants ;; docid cookies diff --git a/mu4e/mu4e-helpers.el b/mu4e/mu4e-helpers.el index 26488083..47c1f222 100644 --- a/mu4e/mu4e-helpers.el +++ b/mu4e/mu4e-helpers.el @@ -501,6 +501,13 @@ This includes expanding e.g. 3-5 into 3,4,5. If the letter (mu4e-warn "Attachment number must be greater than 0 (%d)" x)))) list))) +(defun mu4e-get-time-date (prompt) + "Determine the Emacs time value for time/date entered by user. +Basically, a command around `parse-time-string' to read a user +string after PROMPT." + (let ((timestr (read-string (mu4e-format "%s" prompt)))) + (apply 'encode-time (parse-time-string timestr)))) + (defun mu4e-make-temp-file (ext) "Create a self-destructing temporary file with extension EXT. The file will self-destruct in a short while, enough to open it