diff options
-rw-r--r-- | email/email.scm | 4 | ||||
-rw-r--r-- | tests/email.scm | 13 |
2 files changed, 14 insertions, 3 deletions
diff --git a/email/email.scm b/email/email.scm index 631d519..3f4e194 100644 --- a/email/email.scm +++ b/email/email.scm @@ -1,5 +1,5 @@ ;;; guile-email --- Guile email parser -;;; Copyright © 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2018, 2019, 2020, 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of guile-email. ;;; @@ -224,7 +224,7 @@ (define-word-pattern cfws-captured-word cfws-captured-atom) (define-peg-pattern obs-phrase body - (and cfws-captured-word (* (or "." cfws word)))) + (and cfws-captured-word (* (or cfws-captured-word "." cfws)))) ;; We set phrase to be the same as obs-phrase since, according to ;; their definitions in RFC5322, all phrases are obs-phrases. diff --git a/tests/email.scm b/tests/email.scm index 83ef91f..469389a 100644 --- a/tests/email.scm +++ b/tests/email.scm @@ -1,6 +1,6 @@ ;;; guile-email --- Guile email parser ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2018, 2019, 2020, 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file was adapted from guile-debbugs and is part of guile-email. ;;; @@ -507,6 +507,17 @@ Received: from zzz ([1.2.3.5]) by ooo.ooo.com with Maccrosoft SMTPSVC(5.5.1877. (charset . "utf-8")) (content-transfer-encoding . 7bit))) +(test-alist= "Parse names with more than two words" + (parse-email-headers + "From: Foo Bar Foobar <foo@bar.org> +") + `((from ((name . "Foo Bar Foobar") + (address . "foo@bar.org"))) + (content-type (type . text) + (subtype . plain) + (charset . "utf-8")) + (content-transfer-encoding . 7bit))) + (test-equal "parse name-addr email address" (parse-email-address "Foo <foo@example.org>") '((name . "Foo") (address . "foo@example.org"))) |