pgp-function-alist)
-;;; @ field
-;;;
-
-(defun tm:set-fields (sym field-list &optional regexp-sym)
- (or regexp-sym
- (setq regexp-sym
- (let ((name (symbol-name sym)))
- (intern
- (concat (if (string-match "\\(.*\\)-list" name)
- (substring name 0 (match-end 1))
- name)
- "-regexp")
- )))
- )
- (set sym field-list)
- (set regexp-sym
- (concat "^" (apply (function regexp-or) field-list) ":"))
- )
-
-(defun tm:add-fields (sym field-list &optional regexp-sym)
- (or regexp-sym
- (setq regexp-sym
- (let ((name (symbol-name sym)))
- (intern
- (concat (if (string-match "\\(.*\\)-list" name)
- (substring name 0 (match-end 1))
- name)
- "-regexp")
- )))
- )
- (let ((fields (eval sym)))
- (mapcar (function
- (lambda (field)
- (or (member field fields)
- (setq fields (cons field fields))
- )
- ))
- (reverse field-list)
- )
- (set regexp-sym
- (concat "^" (apply (function regexp-or) fields) ":"))
- (set sym fields)
- ))
-
-(defun tm:delete-fields (sym field-list &optional regexp-sym)
- (or regexp-sym
- (setq regexp-sym
- (let ((name (symbol-name sym)))
- (intern
- (concat (if (string-match "\\(.*\\)-list" name)
- (substring name 0 (match-end 1))
- name)
- "-regexp")
- )))
- )
- (let ((fields (eval sym)))
- (mapcar (function
- (lambda (field)
- (setq fields (delete field fields))
- ))
- field-list)
- (set regexp-sym
- (concat "^" (apply (function regexp-or) fields) ":"))
- (set sym fields)
- ))
-
-
;;; @ Other Utility
;;;