Function: nnir-imap-expr-to-imap

nnir-imap-expr-to-imap is a byte-compiled function defined in nnir.el.gz.

Signature

(nnir-imap-expr-to-imap CRITERIA EXPR)

Documentation

Convert EXPR into an IMAP search expression on CRITERIA.

Source Code

;; Defined in /usr/src/emacs/lisp/obsolete/nnir.el.gz
(defun nnir-imap-expr-to-imap (criteria expr)
  "Convert EXPR into an IMAP search expression on CRITERIA."
  ;; What sort of expression is this, eh?
  (cond
   ;; Simple string term
   ((stringp expr)
    (format "%s %S" criteria expr))
   ;; Trivial term: and
   ((eq expr 'and) nil)
   ;; Composite term: or expression
   ((eq (car-safe expr) 'or)
    (format "OR %s %s"
	    (nnir-imap-expr-to-imap criteria (nth 1 expr))
	    (nnir-imap-expr-to-imap criteria (nth 2 expr))))
   ;; Composite term: just the fax, mam
   ((eq (car-safe expr) 'not)
    (format "NOT (%s)" (nnir-imap-query-to-imap criteria (cdr expr))))
   ;; Composite term: just expand it all.
   ((consp expr)
    (format "(%s)" (nnir-imap-query-to-imap criteria expr)))
   ;; Complex value, give up for now.
   (t (error "Unhandled input: %S" expr))))