diff options
| author | Eric Abrahamsen | 2021-06-25 20:42:16 -0700 |
|---|---|---|
| committer | Eric Abrahamsen | 2021-06-25 20:42:16 -0700 |
| commit | 4d63a033a726a8da33bda8d18a503e88bfb794fb (patch) | |
| tree | 8d55f6f11ff292ef684e87528b795eca0f4f794a | |
| parent | f2729dd8ee0cad67ea2ab0411526f9bc4a7b2c9a (diff) | |
| download | emacs-4d63a033a726a8da33bda8d18a503e88bfb794fb.tar.gz emacs-4d63a033a726a8da33bda8d18a503e88bfb794fb.zip | |
Small improvements to handling of IMAP mark search
* lisp/gnus/gnus-search.el (gnus-search-imap-handle-flag): Use a
KEYWORD search for any mark starting with a "$", so
"mark:$hasattachment" goes through as "KEYWORD $hasattachment".
| -rw-r--r-- | lisp/gnus/gnus-search.el | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el index fc9f8684f63..70bde264c11 100644 --- a/lisp/gnus/gnus-search.el +++ b/lisp/gnus/gnus-search.el | |||
| @@ -1278,17 +1278,23 @@ elements are present." | |||
| 1278 | str))) | 1278 | str))) |
| 1279 | 1279 | ||
| 1280 | (defun gnus-search-imap-handle-flag (flag) | 1280 | (defun gnus-search-imap-handle-flag (flag) |
| 1281 | "Make sure string FLAG is something IMAP will recognize." | 1281 | "Adjust string FLAG to help IMAP recognize it. |
| 1282 | ;; What else? What about the KEYWORD search key? | 1282 | If it's one of the RFC3501 flags, make sure it's upcased. |
| 1283 | Otherwise, if FLAG starts with a \"$\", treat as a KEYWORD | ||
| 1284 | search. Otherwise, drop the flag." | ||
| 1283 | (setq flag | 1285 | (setq flag |
| 1284 | (pcase flag | 1286 | (pcase flag |
| 1285 | ("flag" "flagged") | 1287 | ("flag" "flagged") |
| 1286 | ("read" "seen") | 1288 | ("read" "seen") |
| 1287 | ("replied" "answered") | 1289 | ("replied" "answered") |
| 1288 | (_ flag))) | 1290 | (_ flag))) |
| 1289 | (if (member flag '("seen" "answered" "deleted" "draft" "flagged")) | 1291 | (cond |
| 1290 | (upcase flag) | 1292 | ((member flag '("seen" "answered" "deleted" "draft" "flagged" "recent")) |
| 1291 | "")) | 1293 | (upcase flag)) |
| 1294 | ((string-prefix-p "$" flag) | ||
| 1295 | (format "KEYWORD %s" flag)) | ||
| 1296 | ;; TODO: Provide a user option to treat *all* marks as a KEYWORDs? | ||
| 1297 | (t ""))) | ||
| 1292 | 1298 | ||
| 1293 | ;;; Methods for the indexed search engines. | 1299 | ;;; Methods for the indexed search engines. |
| 1294 | 1300 | ||