(setq result (search-forward (elmo-filter-value condition)
nil t))))
(t
- (let ((fval (std11-field-body (elmo-filter-key condition))))
+ (dolist (fval (elmo-multiple-field-body (elmo-filter-key condition)))
(if (eq (length fval) 0) (setq fval nil))
(if fval (setq fval (eword-decode-string fval)))
- (setq result (and fval (string-match
- (elmo-filter-value condition) fval))))))
+ (setq result (or result
+ (and fval (string-match
+ (elmo-filter-value condition) fval)))))))
(if (eq (elmo-filter-type condition) 'unmatch)
(setq result (not result)))
result))
file (nth 2 condition) number number-list)))))
(defmacro elmo-get-hash-val (string hashtable)
- `(symbol-value (intern-soft ,string ,hashtable)))
+ (static-if (fboundp 'unintern)
+ `(symbol-value (intern-soft ,string ,hashtable))
+ `(let ((sym (intern-soft ,string ,hashtable)))
+ (and (boundp sym)
+ (symbol-value sym)))))
(defmacro elmo-set-hash-val (string value hashtable)
`(set (intern ,string ,hashtable) ,value))
(throw 'found t))
(setq slist (cdr slist)))))
-(cond ((fboundp 'member-ignore-case)
+(static-cond ((fboundp 'member-ignore-case)
(defalias 'elmo-string-member-ignore-case 'member-ignore-case))
((fboundp 'compare-strings)
(defun elmo-string-member-ignore-case (elt list)
(method (completing-read (format "Expire by (%s): "
elmo-cache-expire-default-method)
'(("size" . "size")
- ("age" . "age")))))
- (if (string= method "")
- (setq method elmo-cache-expire-default-method))
+ ("age" . "age"))
+ nil t)))
+ (when (string= method "")
+ (setq method elmo-cache-expire-default-method))
(funcall (intern (concat "elmo-cache-expire-by-" method)))))
(defun elmo-read-float-value-from-minibuffer (prompt &optional initial)