+(defconst ew-option-list
+ '(ew-decode-sticked-encoded-word
+ ew-decode-quoted-encoded-word
+ ew-ignore-75bytes-limit
+ ew-ignore-76bytes-limit
+ ew-permit-sticked-comment
+ ew-permit-sticked-special
+ ew-permit-null-encoded-text))
+
+(defun ew-save-boolean-options ()
+ (let ((tmp 1) (opts ew-option-list) (val 0))
+ (while opts
+ (when (symbol-value (car opts)) (setq val (logior val tmp)))
+ (setq tmp (lsh tmp 1)
+ opts (cdr opts)))
+ val))
+
+(defun ew-restore-boolean-options (val)
+ (let ((tmp 1) (opts ew-option-list))
+ (while opts
+ (set (car opts) (not (zerop (logand val tmp))))
+ (setq tmp (lsh tmp 1)
+ opts (cdr opts)))))
+