[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/webfeeder 5784dd1 1/5: Fix atom generation when "author
From: |
Pierre Neidhardt |
Subject: |
[elpa] externals/webfeeder 5784dd1 1/5: Fix atom generation when "author" field has no email. |
Date: |
Fri, 6 Nov 2020 17:00:55 -0500 (EST) |
branch: externals/webfeeder
commit 5784dd1d5ffe01d633c6c567aa2bef02d70948b7
Author: Pierre Neidhardt <mail@ambrevar.xyz>
Commit: Pierre Neidhardt <mail@ambrevar.xyz>
Fix atom generation when "author" field has no email.
---
webfeeder.el | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/webfeeder.el b/webfeeder.el
index 6a36fd0..07f0ed0 100644
--- a/webfeeder.el
+++ b/webfeeder.el
@@ -325,8 +325,12 @@ The date is set to epoch if the item date is nil."
(defun webfeeder--extract-name+email (address)
"Like `mail-extract-address-components' but does not set the
address part if email is missing.
-For instance, calling this function on \"foo\" returns (\"foo\" nil)."
+For instance, calling this function on \"foo\" returns (\"foo\" nil).
+Calling it on foo@bar.abc returns (nil \"foo@bar.abc\")."
(let ((name+addr (mail-extract-address-components address)))
+ (unless (string-match "@" (cadr name+addr))
+ (setcar name+addr (cadr name+addr))
+ (setcdr name+addr nil))
(when (string= (car name+addr)
(cadr name+addr))
(setcdr name+addr nil))
@@ -335,11 +339,15 @@ For instance, calling this function on \"foo\" returns
(\"foo\" nil)."
(defun webfeeder--format-atom-author (author)
(concat "<author>"
(let ((name+addr (webfeeder--extract-name+email author)))
- (if (cadr name+addr)
- (format "<name>%s</name><email>%s</email>"
- (xml-escape-string (car name+addr))
- (cadr name+addr))
- (format "<name>%s</name>" (xml-escape-string author))))
+ (cond
+ ((and (car name+addr) (cadr name+addr))
+ (format "<name>%s</name><email>%s</email>"
+ (xml-escape-string (car name+addr))
+ (cadr name+addr)))
+ ((car name+addr)
+ (format "<name>%s</name>" (xml-escape-string author)))
+ (t
+ (format "<email>%s</email>" (xml-escape-string author)))))
"</author>\n"))
(defun webfeeder-item-to-atom (item)
- [elpa] externals/webfeeder updated (2a46428 -> 1ce3e02), Pierre Neidhardt, 2020/11/06
- [elpa] externals/webfeeder 3a30b31 2/5: Escape author, title and subtitle for XML special characters., Pierre Neidhardt, 2020/11/06
- [elpa] externals/webfeeder db24521 3/5: Fix xml-escape-string error on nil., Pierre Neidhardt, 2020/11/06
- [elpa] externals/webfeeder 5784dd1 1/5: Fix atom generation when "author" field has no email.,
Pierre Neidhardt <=
- [elpa] externals/webfeeder 1ce3e02 5/5: Version 1.1.0., Pierre Neidhardt, 2020/11/06
- [elpa] externals/webfeeder d6d33a7 4/5: Fix typos in webfeeder--xml-escape-string., Pierre Neidhardt, 2020/11/06