+2012-03-10 Eli Zaretskii <eliz@gnu.org>
+
+ * net/mairix.el (mairix-replace-invalid-chars): Rename from
+ mairix-replace-illegal-chars; all callers changed. Don't remove
+ ^, ~, and = characters: they are meaningful in mairix search
+ specs.
+ (mairix-widget-create-query): Add usage information about mairix
+ search forms: negating words, searching for substrings, etc.
+
2012-03-10 Jae-hyeon Park <jae-hyeon.park@desy.de> (tiny change)
* international/fontset.el (font-encoding-alist): Add an entry for
mairix-output-buffer)))
(zerop rval)))
-(defun mairix-replace-illegal-chars (header)
- "Replace illegal characters in HEADER for mairix query."
+(defun mairix-replace-invalid-chars (header)
+ "Replace invalid characters in HEADER for mairix query."
(when header
- (while (string-match "[^-.@/,& [:alnum:]]" header)
+ (while (string-match "[^-.@/,^=~& [:alnum:]]" header)
(setq header (replace-match "" t t header)))
(while (string-match "[& ]" header)
(setq header (replace-match "," t t header)))
(concat
(nth 1 cur)
":"
- (mairix-replace-illegal-chars
+ (mairix-replace-invalid-chars
(widget-value
(cadr (assoc (concat "e" (car (cddr cur))) widgets)))))
query)))
(kill-all-local-variables)
(erase-buffer)
(widget-insert
- "Specify your query for Mairix (check boxes for activating fields):\n\n")
+ "Specify your query for Mairix using check boxes for activating fields.\n\n")
(widget-insert
- "(Whitespaces will be converted to ',' (i.e. AND). Use '/' for OR.)\n\n")
+ (concat "Use ~word to match messages "
+ (propertize "not" 'face 'italic)
+ " containing the word)\n"
+ " substring= to match words containing the substring\n"
+ " substring=N to match words containing the substring, allowing\n"
+ " up to N errors(mising/extra/different letters)\n"
+ " ^substring= to match the substring at the beginning of a word.\n"))
+ (widget-insert
+ "Whitespace will be converted to ',' (i.e. AND). Use '/' for OR.\n\n")
(setq mairix-widgets (mairix-widget-build-editable-fields values))
(when (member 'flags mairix-widget-other)
(widget-insert "\nFlags:\n Seen: ")
(lambda (field)
(list (car (cddr field))
(if (car field)
- (mairix-replace-illegal-chars
+ (mairix-replace-invalid-chars
(funcall get-mail-header (car field)))
nil))))
mairix-widget-fields-list)))