[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/debbugs d0d2ce3 266/311: Correctly parse non-ascii name
From: |
Stefan Monnier |
Subject: |
[elpa] externals/debbugs d0d2ce3 266/311: Correctly parse non-ascii names in debbugs-gnu |
Date: |
Sun, 29 Nov 2020 18:42:26 -0500 (EST) |
branch: externals/debbugs
commit d0d2ce3e6bcb83e29410dd9845bb07c0e6071bcf
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Correctly parse non-ascii names in debbugs-gnu
* packages/debbugs/debbugs-gnu.el (debbugs-gnu--split-address): New
function.
(debbugs-gnu-show-reports): Use it to correctly get the names,
since the originator/owner fields aren't valid mail headers, but
are just "octets <octects>".
(debbugs-gnu-sort-submitter): Ditto.
(debbugs-gnu-sort-title): Ditto.
---
debbugs-gnu.el | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/debbugs-gnu.el b/debbugs-gnu.el
index 9639a0c..82dd582 100644
--- a/debbugs-gnu.el
+++ b/debbugs-gnu.el
@@ -707,6 +707,16 @@ marked as \"client-side filter\"."
;; Otherwise, we retrieve the bugs from the server.
(t (apply #'debbugs-get-bugs args)))))
+(defun debbugs-gnu--split-address (string)
+ "Split mail-like STRING into a name/email address pair."
+ (if (string-match "\\`\\(.*\\) <\\([^>]+\\)>\\'" string)
+ (let ((name (match-string 1 string))
+ (email (match-string 2 string)))
+ ;; Remove leading/trailing quote chars.
+ (cons email
+ (replace-regexp-in-string "\\`\"\\|\"\\'" "" name)))
+ (cons string string)))
+
(defun debbugs-gnu-show-reports (&optional offline)
"Show bug reports.
If OFFLINE is non-nil, the query is not sent to the server. Bugs
@@ -743,11 +753,11 @@ are taken from the cache instead."
(words (cons (cdr (assq 'severity status))
(cdr (assq 'keywords status))))
(address (if (cdr (assq 'originator status))
- (mail-header-parse-address
+ (debbugs-gnu--split-address
(decode-coding-string (cdr (assq 'originator status))
'utf-8))))
(owner (if (cdr (assq 'owner status))
- (car (mail-header-parse-address
+ (car (debbugs-gnu--split-address
(decode-coding-string (cdr (assq 'owner status))
'utf-8)))))
(subject (if (cdr (assq 'subject status))
@@ -1104,11 +1114,11 @@ Used instead of `tabulated-list-print-entry'."
(defun debbugs-gnu-sort-submitter (s1 s2)
(let ((address1
- (mail-header-parse-address
+ (debbugs-gnu--split-address
(decode-coding-string
(or (cdr (assq 'originator (car s1))) "") 'utf-8)))
(address2
- (mail-header-parse-address
+ (debbugs-gnu--split-address
(decode-coding-string
(or (cdr (assq 'originator (car s2))) "") 'utf-8))))
(cond
@@ -1131,13 +1141,13 @@ Used instead of `tabulated-list-print-entry'."
(defun debbugs-gnu-sort-title (s1 s2)
(let ((owner1
- (car (mail-header-parse-address
+ (car (debbugs-gnu--split-address
(decode-coding-string
(or (cdr (assq 'owner (car s1))) "") 'utf-8))))
(subject1
(decode-coding-string (or (cdr (assq 'subject (car s1))) "") 'utf-8))
(owner2
- (car (mail-header-parse-address
+ (car (debbugs-gnu--split-address
(decode-coding-string
(or (cdr (assq 'owner (car s2))) "") 'utf-8))))
(subject2
- [elpa] externals/debbugs 3aa755c 224/311: ; Add debbugs-gnu.el TODO item, (continued)
- [elpa] externals/debbugs 3aa755c 224/311: ; Add debbugs-gnu.el TODO item, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 705125d 228/311: Bump debbugs 0.15, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs efa391d 234/311: Add mail command index in debbugs, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 9893851 237/311: * packages/debbugs/debbugs-ug.texi (Control Messages): Fix typos., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 03e8ba4 249/311: * debbugs: Cosmetic changes, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 32fedac 250/311: * packages/debbugs/debbugs.el: Increase Version to 0.18., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 11f53a4 251/311: Fix up patch file names that are absolute, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs f30cee8 252/311: Fix syntax error in previous patch., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs fa1a2d2 255/311: Only fix up the file if it really exists, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 7f6186e 260/311: Also accept octet parts in debbugs-gnu patches, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs d0d2ce3 266/311: Correctly parse non-ascii names in debbugs-gnu,
Stefan Monnier <=
- [elpa] externals/debbugs 87708cd 265/311: * packages/debbugs/debbugs-gnu.el (debbugs-gnu, debbugs-gnu-bugs): Send final, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 131a4a9 267/311: Release debbugs 0.20, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 112f78c 274/311: Fix leftover oddities in debbugs, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 2ceb7cd 288/311: Don't cache the debbugs directory but allow setting it per invocation, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 38ae622 307/311: Remove blank header line in debbugs-gnu.el, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 43b142a 305/311: Declare variables in debbugs-gnu.el, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs f2be042 309/311: Fix typo in previous debbugs-gnu change, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 528825b 311/311: * .gitignore: New file, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 649b0c8 181/311: Get more info from patches in debbugs-gnu, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs ffe5b92 231/311: Fix previous patch, Stefan Monnier, 2020/11/29