(interactive)
(unwind-protect
- (let ((date-format "\\([[:digit:]]\\{4\\}\\)-\\([[:digit:]]\\{1,2\\}\\)-\\([[:digit:]]\\{1,2\\}\\)")
- key val1 val2 phrase severities packages archivedp)
+ ;; Check for the phrase.
+ (let ((phrase (read-string debbugs-gnu-phrase-prompt))
+ key val1 severities packages)
- ;; Check for the phrase.
- (setq phrase (read-string debbugs-gnu-phrase-prompt))
(add-to-list 'debbugs-gnu-current-query (cons 'phrase phrase))
;; The other queries.
;; Handle tags.
(when (string-match "^\\([0-9.]+\\); \\(.+\\)$" subject)
- (add-to-list 'tags (match-string 1 subject))
+ (let ((x (match-string 1 subject))) (pushnew x tags :test #'equal))
(setq subject (match-string 2 subject)))
(when archived
- (add-to-list 'tags "ARCHIVE"))
+ (pushnew "ARCHIVE" tags :test #'equal))
(setq tags
(mapcar
;; Replace all invalid TAG characters by "_".
(setq val user-mail-address))
(when (string-match "<\\(.+\\)>" val)
(setq val (match-string 1 val)))
- (add-to-list 'user val))
+ (pushnew val user :test #'equal))
(error "Wrong %s: %s" key val)))
((:tag)
;; Value shall be one word.
(if (string-match "\\`\\S-+\\'" val)
- (add-to-list 'tags val)
+ (pushnew val tags :test #'equal)
(error "Wrong %s: %s" key val)))
(t (error "Unknown key: %s" kw))))
(setcar elt user-mail-address))
(when (string-match "<\\(.+\\)>" (car elt))
(setcar elt (match-string 1 (car elt))))
- (add-to-list 'val (pop elt) 'append))
+ (let ((x (pop elt)))
+ (unless (member x val)
+ (setq val (append val (list x))))))
(setq vec
(vconcat vec (list key (mapconcat 'identity val " "))))))
(while (and (stringp (car elt))
(string-match
"\\`\\(done\\|forwarded\\|open\\)\\'" (car elt)))
- (add-to-list 'val (pop elt) 'append))
+ (let ((x (pop elt)))
+ (unless (member x val)
+ (setq val (append val (list x))))))
(setq vec
(vconcat vec (list key (mapconcat 'identity val " "))))))
(setq vec (vconcat vec (list key "")))
;; Just a string.
(while (stringp (car elt))
- (add-to-list 'val (pop elt) 'append))
+ (let ((x (pop elt)))
+ (unless (member x val)
+ (setq val (append val (list x))))))
(setq vec
(vconcat vec (list key (mapconcat 'identity val " "))))))
(setq vec (vconcat vec (list key "")))
;; Just a number.
(while (numberp (car elt))
- (add-to-list 'val (pop elt) 'append))
+ (let ((x (pop elt)))
+ (unless (member x val)
+ (setq val (append val (list x))))))
(setq vec
(vconcat
vec (list key (mapconcat 'number-to-string val " "))))))