summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2023-01-01 16:08:31 +0100
committerRicardo Wurmus <rekado@elephly.net>2023-01-01 16:08:31 +0100
commit9d7eb3c5efe6427a1a89fb3e4c7165259edff4dd (patch)
tree1e676e3a5b7a13f7e38c8885c870eeac82f1b191
parent92c6ce77c332f8ebbcdb090e0ca8b85c85328762 (diff)
debbugs: Fix processing of bug subject.
Fixes <https://issues.guix.gnu.org/49115>. * mumi/debbugs.scm (bug-status): Use parse-email-headers to decode bug subject.
-rw-r--r--mumi/debbugs.scm10
1 files changed, 3 insertions, 7 deletions
diff --git a/mumi/debbugs.scm b/mumi/debbugs.scm
index 263b4e5..16bff8e 100644
--- a/mumi/debbugs.scm
+++ b/mumi/debbugs.scm
@@ -251,7 +251,6 @@ defaults to 30 days."
(subject bug-subject)
(tags bug-tags))
-(define qp-pattern "=\\?UTF-8\\?Q\\?([^?]+)\\?=")
(define (bug-status bug-id)
(and-let* ((bug-id (if (number? bug-id) bug-id
(string->number bug-id)))
@@ -283,11 +282,8 @@ defaults to 30 days."
(or (assoc-ref properties "Severity") "normal")
(let ((subject (or (assoc-ref properties "Subject") "")))
(if (string-contains subject "=?UTF-8?Q?")
- (or (false-if-exception
- (utf8->string
- (quoted-printable-decode
- (regexp-substitute/global #f qp-pattern
- subject 'pre 1 'post))))
- subject)
+ (match (parse-email-headers (string-append "Subject: " subject "\n"))
+ ((('subject . sub) . rest) sub)
+ (other subject))
subject))
(assoc-ref properties "Tags"))))