Mercurial > emacs
annotate lisp/mail/mail-extr.el @ 110410:f2e111723c3a
Merge changes made in Gnus trunk.
Reimplement nnimap, and do tweaks to the rest of the code to support that.
* gnus-int.el (gnus-finish-retrieve-group-infos)
(gnus-retrieve-group-data-early): New functions.
* gnus-range.el (gnus-range-nconcat): New function.
* gnus-start.el (gnus-get-unread-articles): Support early retrieval of
data.
(gnus-read-active-for-groups): Support finishing the early retrieval of
data.
* gnus-sum.el (gnus-summary-move-article): Pass the move-to group name
if the move is internal, so that nnimap can do fast internal moves.
* gnus.el (gnus-article-special-mark-lists): Add uid/active tuples, for
nnimap usage.
* nnimap.el: Rewritten.
* nnmail.el (nnmail-inhibit-default-split-group): New internal variable
to allow the mail splitting to not return a default group. This is
useful for nnimap, which will leave unmatched mail in the inbox.
* utf7.el (utf7-encode): Autoload.
Implement shell connection.
* nnimap.el (nnimap-open-shell-stream): New function.
(nnimap-open-connection): Use it.
Get the number of lines by using BODYSTRUCTURE.
(nnimap-transform-headers): Get the number of lines in each message.
(nnimap-retrieve-headers): Query for BODYSTRUCTURE so that we get the
number of lines.
Not all servers return UIDNEXT. Work past this problem.
Remove junk from end of file.
Fix typo in "bogus" section.
Make capabilties be case-insensitive.
Require cl when compiling.
Don't bug out if the LIST command doesn't have any parameters.
2010-09-17 Knut Anders Hatlen <kahatlen@gmail.com> (tiny change)
* nnimap.el (nnimap-get-groups): Don't bug out if the LIST command
doesn't have any parameters.
(mm-text-html-renderer): Document gnus-article-html.
2010-09-17 Julien Danjou <julien@danjou.info> (tiny fix)
* mm-decode.el (mm-text-html-renderer): Document gnus-article-html.
* dgnushack.el: Define netrc-credentials.
If the user doesn't have a /etc/services, supply some sensible port defaults.
Have `unseen-or-unread' select an unread unseen article first.
(nntp-open-server): Return whether the open was successful or not.
Throughout all files, replace (save-excursion (set-buffer ...)) with (with-current-buffer ... ).
Save result so that it doesn't say "failed" all the time.
Add ~/.authinfo to the default, since that's probably most useful for users.
Don't use the "finish" method when we're reading from the agent.
Add some more nnimap-relevant agent stuff to nnagent.el.
* nnimap.el (nnimap-with-process-buffer): Removed.
Revert one line that was changed by mistake in the last checkin.
(nnimap-open-connection): Don't error out when we can't make a connection
nnimap-related changes to avoid bugging out if we can't contact a server.
* gnus-start.el (gnus-get-unread-articles): Don't try to scan groups
from methods that are denied.
* nnimap.el (nnimap-possibly-change-group): Return nil if we can't log
in.
(nnimap-finish-retrieve-group-infos): Make sure we're not waiting for
nothing.
* gnus-sum.el (gnus-select-newsgroup): Indent.
author | Katsumi Yamaoka <yamaoka@jpl.org> |
---|---|
date | Sat, 18 Sep 2010 10:02:19 +0000 |
parents | 280c8ae2476d |
children | e0d9a22430d9 |
rev | line source |
---|---|
51081
a4bb96832880
Use explicit coding tag.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
47939
diff
changeset
|
1 ;;; mail-extr.el --- extract full name and address from RFC 822 mail header -*- coding: utf-8 -*- |
809 | 2 |
64754
fafd692d1e40
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64085
diff
changeset
|
3 ;; Copyright (C) 1991, 1992, 1993, 1994, 1997, 2001, 2002, 2003, 2004, |
106815 | 4 ;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
846
20674ae6bf52
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
809
diff
changeset
|
5 |
809 | 6 ;; Author: Joe Wells <jbw@cs.bu.edu> |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
7 ;; Maintainer: FSF |
809 | 8 ;; Keywords: mail |
110015
280c8ae2476d
Add "Package:" file headers to denote built-in packages.
Chong Yidong <cyd@stupidchicken.com>
parents:
106815
diff
changeset
|
9 ;; Package: mail-utils |
809 | 10 |
11 ;; This file is part of GNU Emacs. | |
12 | |
94674
ef65fa4dca3b
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
13 ;; GNU Emacs is free software: you can redistribute it and/or modify |
809 | 14 ;; it under the terms of the GNU General Public License as published by |
94674
ef65fa4dca3b
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
15 ;; the Free Software Foundation, either version 3 of the License, or |
ef65fa4dca3b
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
16 ;; (at your option) any later version. |
809 | 17 |
18 ;; GNU Emacs is distributed in the hope that it will be useful, | |
19 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
21 ;; GNU General Public License for more details. | |
22 | |
23 ;; You should have received a copy of the GNU General Public License | |
94674
ef65fa4dca3b
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
24 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
809 | 25 |
26 ;;; Commentary: | |
27 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
28 ;; The entry point of this code is |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
29 ;; |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
30 ;; mail-extract-address-components: (address &optional all) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
31 ;; |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
32 ;; Given an RFC-822 ADDRESS, extract full name and canonical address. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
33 ;; Returns a list of the form (FULL-NAME CANONICAL-ADDRESS). |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
34 ;; If no name can be extracted, FULL-NAME will be nil. |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
35 ;; ADDRESS may be a string or a buffer. If it is a buffer, the visible |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
36 ;; (narrowed) portion of the buffer will be interpreted as the address. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
37 ;; (This feature exists so that the clever caller might be able to avoid |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
38 ;; consing a string.) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
39 ;; If ADDRESS contains more than one RFC-822 address, only the first is |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
40 ;; returned. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
41 ;; |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
42 ;; If ALL is non-nil, that means return info about all the addresses |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
43 ;; that are found in ADDRESS. The value is a list of elements of |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
44 ;; the form (FULL-NAME CANONICAL-ADDRESS), one per address. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
45 ;; |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
46 ;; This code is more correct (and more heuristic) parser than the code in |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
47 ;; rfc822.el. And despite its size, it's fairly fast. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
48 ;; |
809 | 49 ;; There are two main benefits: |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
50 ;; |
809 | 51 ;; 1. Higher probability of getting the correct full name for a human than |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
52 ;; any other package we know of. (On the other hand, it will cheerfully |
809 | 53 ;; mangle non-human names/comments.) |
54 ;; 2. Address part is put in a canonical form. | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
55 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
56 ;; The interface is not yet carved in stone; please give us suggestions. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
57 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
58 ;; We have an extensive test-case collection of funny addresses if you want to |
809 | 59 ;; work with the code. Developing this code requires frequent testing to |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
60 ;; make sure you're not breaking functionality. The test cases aren't included |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
61 ;; because they are over 100K. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
62 ;; |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
63 ;; If you find an address that mail-extr fails on, please send it to the |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
64 ;; maintainer along with what you think the correct results should be. We do |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
65 ;; not consider it a bug if mail-extr mangles a comment that does not |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
66 ;; correspond to a real human full name, although we would prefer that |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
67 ;; mail-extr would return the comment as-is. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
68 ;; |
809 | 69 ;; Features: |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
70 ;; |
809 | 71 ;; * Full name handling: |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
72 ;; |
809 | 73 ;; * knows where full names can be found in an address. |
74 ;; * avoids using empty comments and quoted text. | |
75 ;; * extracts full names from mailbox names. | |
76 ;; * recognizes common formats for comments after a full name. | |
77 ;; * puts a period and a space after each initial. | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
78 ;; * understands & referring to the mailbox name, capitalized. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
79 ;; * strips name prefixes like "Prof.", etc. |
809 | 80 ;; * understands what characters can occur in names (not just letters). |
81 ;; * figures out middle initial from mailbox name. | |
82 ;; * removes funny nicknames. | |
83 ;; * keeps suffixes such as Jr., Sr., III, etc. | |
84 ;; * reorders "Last, First" type names. | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
85 ;; |
809 | 86 ;; * Address handling: |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
87 ;; |
809 | 88 ;; * parses rfc822 quoted text, comments, and domain literals. |
89 ;; * parses rfc822 multi-line headers. | |
90 ;; * does something reasonable with rfc822 GROUP addresses. | |
91 ;; * handles many rfc822 noncompliant and garbage addresses. | |
92 ;; * canonicalizes addresses (after stripping comments/phrases outside <>). | |
93 ;; * converts ! addresses into .UUCP and %-style addresses. | |
94 ;; * converts rfc822 ROUTE addresses to %-style addresses. | |
95 ;; * truncates %-style addresses at leftmost fully qualified domain name. | |
96 ;; * handles local relative precedence of ! vs. % and @ (untested). | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
97 ;; |
809 | 98 ;; It does almost no string creation. It primarily uses the built-in |
99 ;; parsing routines with the appropriate syntax tables. This should | |
100 ;; result in greater speed. | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
101 ;; |
809 | 102 ;; TODO: |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
103 ;; |
809 | 104 ;; * handle all test cases. (This will take forever.) |
105 ;; * software to pick the correct header to use (eg., "Senders-Name:"). | |
106 ;; * multiple addresses in the "From:" header (almost all of the necessary | |
107 ;; code is there). | |
108 ;; * flag to not treat `,' as an address separator. (This is useful when | |
109 ;; there is a "From:" header but no "Sender:" header, because then there | |
110 ;; is only allowed to be one address.) | |
111 ;; * mailbox name does not necessarily contain full name. | |
112 ;; * fixing capitalization when it's all upper or lowercase. (Hard!) | |
113 ;; * some of the domain literal handling is missing. (But I've never even | |
114 ;; seen one of these in a mail address, so maybe no big deal.) | |
115 ;; * arrange to have syntax tables byte-compiled. | |
116 ;; * speed hacks. | |
117 ;; * delete unused variables. | |
118 ;; * arrange for testing with different relative precedences of ! vs. @ | |
119 ;; and %. | |
120 ;; * insert documentation strings! | |
121 ;; * handle X.400-gatewayed addresses according to RFC 1148. | |
122 | |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
123 ;;; Change Log: |
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
124 ;; |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
125 ;; Thu Feb 17 17:57:33 1994 Jamie Zawinski (jwz@lucid.com) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
126 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
127 ;; * merged with jbw's latest version |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
128 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
129 ;; Wed Feb 9 21:56:27 1994 Jamie Zawinski (jwz@lucid.com) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
130 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
131 ;; * high-bit chars in comments weren't treated as word syntax |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
132 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
133 ;; Sat Feb 5 03:13:40 1994 Jamie Zawinski (jwz@lucid.com) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
134 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
135 ;; * call replace-match with fixed-case arg |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
136 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
137 ;; Thu Dec 16 21:56:45 1993 Jamie Zawinski (jwz@lucid.com) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
138 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
139 ;; * some more cleanup, doc, added provide |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
140 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
141 ;; Tue Mar 23 21:23:18 1993 Joe Wells (jbw at csd.bu.edu) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
142 ;; |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
143 ;; * Made mail-full-name-prefixes a user-customizable variable. |
46255
503a8e2a9054
Fix typo in comments, not worthy of a changelog entry.
Simon Josefsson <jas@extundo.com>
parents:
41300
diff
changeset
|
144 ;; Allow passing the address as a buffer as well as a string. |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
145 ;; Allow [ and ] as name characters (Finnish character set). |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
146 ;; |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
147 ;; Mon Mar 22 21:20:56 1993 Joe Wells (jbw at bigbird.bu.edu) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
148 ;; |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
149 ;; * Handle "null" addresses. Handle = used for spacing in mailbox |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
150 ;; name. Fix bug in handling of ROUTE-ADDR-type addresses that are |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
151 ;; missing their brackets. Handle uppercase "JR". Extract full |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
152 ;; names from X.400 addresses encoded in RFC-822. Fix bug in |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
153 ;; handling of multiple addresses where first has trailing comment. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
154 ;; Handle more kinds of telephone extension lead-ins. |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
155 ;; |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
156 ;; Mon Mar 22 20:16:57 1993 Joe Wells (jbw at bigbird.bu.edu) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
157 ;; |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
158 ;; * Handle HZ encoding for embedding GB encoded chinese characters. |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
159 ;; |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
160 ;; Mon Mar 22 00:46:12 1993 Joe Wells (jbw at bigbird.bu.edu) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
161 ;; |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
162 ;; * Fixed too broad matching of ham radio call signs. Fixed bug in |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
163 ;; handling an unmatched ' in a name string. Enhanced recognition |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
164 ;; of when . in the mailbox name terminates the name portion. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
165 ;; Narrowed conversion of . to space to only the necessary |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
166 ;; situation. Deal with VMS's stupid date stamps. Handle a unique |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
167 ;; way of introducing an alternate address. Fixed spacing bug I |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
168 ;; introduced in switching last name order. Fixed bug in handling |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
169 ;; address with ! and % but no @. Narrowed the cases in which |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
170 ;; certain trailing words are discarded. |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
171 ;; |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
172 ;; Sun Mar 21 21:41:06 1993 Joe Wells (jbw at bigbird.bu.edu) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
173 ;; |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
174 ;; * Fixed bugs in handling GROUP addresses. Certain words in the |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
175 ;; middle of a name no longer terminate it. Handle LISTSERV list |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
176 ;; names. Ignore comment field containing mailbox name. |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
177 ;; |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
178 ;; Sun Mar 21 14:39:38 1993 Joe Wells (jbw at bigbird.bu.edu) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
179 ;; |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
180 ;; * Moved variant-method code back into main function. Handle |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
181 ;; underscores as spaces in comments. Handle leading nickname. Add |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
182 ;; flag to ignore single-word names. Other changes. |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
183 ;; |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
184 ;; Mon Feb 1 22:23:31 1993 Joe Wells (jbw at bigbird.bu.edu) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
185 ;; |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
186 ;; * Added in changes by Rod Whitby and Jamie Zawinski. This |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
187 ;; includes the flag mail-extr-guess-middle-initial and the fix for |
7133 | 188 ;; handling multiple addresses correctly. (Whitby just changed |
189 ;; a > to a <.) | |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
190 ;; |
809 | 191 ;; Mon Apr 6 23:59:09 1992 Joe Wells (jbw at bigbird.bu.edu) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
192 ;; |
809 | 193 ;; * Cleaned up some more. Release version 1.0 to world. |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
194 ;; |
809 | 195 ;; Sun Apr 5 19:39:08 1992 Joe Wells (jbw at bigbird.bu.edu) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
196 ;; |
809 | 197 ;; * Cleaned up full name extraction extensively. |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
198 ;; |
809 | 199 ;; Sun Feb 2 14:45:24 1992 Joe Wells (jbw at bigbird.bu.edu) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
200 ;; |
809 | 201 ;; * Total rewrite. Integrated mail-canonicalize-address into |
202 ;; mail-extract-address-components. Now handles GROUP addresses more | |
203 ;; or less correctly. Better handling of lots of different cases. | |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
204 ;; |
809 | 205 ;; Fri Jun 14 19:39:50 1991 |
206 ;; * Created. | |
207 | |
208 ;;; Code: | |
209 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
210 |
20962 | 211 (defgroup mail-extr nil |
212 "Extract full name and address from RFC 822 mail header." | |
213 :prefix "mail-extr-" | |
214 :group 'mail) | |
215 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
216 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
217 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
218 ;; User configuration variable definitions. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
219 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
220 |
20962 | 221 (defcustom mail-extr-guess-middle-initial nil |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
222 "*Whether to try to guess middle initial from mail address. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
223 If true, then when we see an address like \"John Smith <jqs@host.com>\" |
20962 | 224 we will assume that \"John Q. Smith\" is the fellow's name." |
225 :type 'boolean | |
226 :group 'mail-extr) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
227 |
47615
a298684644ca
(mail-extr-ignore-single-names): Change default.
Simon Josefsson <jas@extundo.com>
parents:
46273
diff
changeset
|
228 (defcustom mail-extr-ignore-single-names nil |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
229 "*Whether to ignore a name that is just a single word. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
230 If true, then when we see an address like \"Idiot <dumb@stupid.com>\" |
20962 | 231 we will act as though we couldn't find a full name in the address." |
232 :type 'boolean | |
59996
aac0a33f5772
Change release version from 21.4 to 22.1 throughout.
Kim F. Storm <storm@cua.dk>
parents:
57391
diff
changeset
|
233 :version "22.1" |
20962 | 234 :group 'mail-extr) |
809 | 235 |
57391
dd2896f4c2b7
(mail-extr-ignore-realname-equals-mailbox-name): New defcustom.
Eli Zaretskii <eliz@gnu.org>
parents:
56764
diff
changeset
|
236 (defcustom mail-extr-ignore-realname-equals-mailbox-name t |
dd2896f4c2b7
(mail-extr-ignore-realname-equals-mailbox-name): New defcustom.
Eli Zaretskii <eliz@gnu.org>
parents:
56764
diff
changeset
|
237 "*Whether to ignore a name that is equal to the mailbox name. |
dd2896f4c2b7
(mail-extr-ignore-realname-equals-mailbox-name): New defcustom.
Eli Zaretskii <eliz@gnu.org>
parents:
56764
diff
changeset
|
238 If true, then when the address is like \"Single <single@address.com>\" |
dd2896f4c2b7
(mail-extr-ignore-realname-equals-mailbox-name): New defcustom.
Eli Zaretskii <eliz@gnu.org>
parents:
56764
diff
changeset
|
239 we will act as though we couldn't find a full name in the address." |
dd2896f4c2b7
(mail-extr-ignore-realname-equals-mailbox-name): New defcustom.
Eli Zaretskii <eliz@gnu.org>
parents:
56764
diff
changeset
|
240 :type 'boolean |
dd2896f4c2b7
(mail-extr-ignore-realname-equals-mailbox-name): New defcustom.
Eli Zaretskii <eliz@gnu.org>
parents:
56764
diff
changeset
|
241 :group 'mail-extr) |
dd2896f4c2b7
(mail-extr-ignore-realname-equals-mailbox-name): New defcustom.
Eli Zaretskii <eliz@gnu.org>
parents:
56764
diff
changeset
|
242 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
243 ;; Matches a leading title that is not part of the name (does not |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
244 ;; contribute to uniquely identifying the person). |
20962 | 245 (defcustom mail-extr-full-name-prefixes |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
246 (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
247 "\\(Prof\\|D[Rr]\\|Mrs?\\|Rev\\|Rabbi\\|SysOp\\|LCDR\\)\\.?[ \t\n]") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
248 "*Matches prefixes to the full name that identify a person's position. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
249 These are stripped from the full name because they do not contribute to |
20962 | 250 uniquely identifying the person." |
251 :type 'regexp | |
252 :group 'mail-extr) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
253 |
20962 | 254 (defcustom mail-extr-@-binds-tighter-than-! nil |
255 "*Whether the local mail transport agent looks at ! before @." | |
256 :type 'boolean | |
257 :group 'mail-extr) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
258 |
20962 | 259 (defcustom mail-extr-mangle-uucp nil |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
260 "*Whether to throw away information in UUCP addresses |
20962 | 261 by translating things like \"foo!bar!baz@host\" into \"baz@bar.UUCP\"." |
262 :type 'boolean | |
263 :group 'mail-extr) | |
809 | 264 |
265 ;;---------------------------------------------------------------------- | |
266 ;; what orderings are meaningful????? | |
267 ;;(defvar mail-operator-precedence-list '(?! ?% ?@)) | |
268 ;; Right operand of a % or a @ must be a domain name, period. No other | |
269 ;; operators allowed. Left operand of a @ is an address relative to that | |
270 ;; site. | |
271 | |
272 ;; Left operand of a ! must be a domain name. Right operand is an | |
273 ;; arbitrary address. | |
274 ;;---------------------------------------------------------------------- | |
275 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
276 |
809 | 277 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
278 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
279 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
280 ;; Constant definitions. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
281 ;; |
809 | 282 |
283 ;; Any character that can occur in a name, not counting characters that | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
284 ;; separate parts of a multipart name (hyphen and period). |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
285 ;; Yes, there are weird people with digits in their names. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
286 ;; You will also notice the consideration for the |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
287 ;; Swedish/Finnish/Norwegian character set. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
288 (defconst mail-extr-all-letters-but-separators |
25439
f597d85734d7
(mail-extr-all-letters-but-separators)
Richard M. Stallman <rms@gnu.org>
parents:
21477
diff
changeset
|
289 (purecopy "][[:alnum:]{|}'~`")) |
809 | 290 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
291 ;; Any character that can occur in a name in an RFC822 address including |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
292 ;; the separator (hyphen and possibly period) for multipart names. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
293 ;; #### should . be in here? |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
294 (defconst mail-extr-all-letters |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
295 (purecopy (concat mail-extr-all-letters-but-separators "---"))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
296 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
297 ;; Any character that can start a name. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
298 ;; Keep this set as minimal as possible. |
25439
f597d85734d7
(mail-extr-all-letters-but-separators)
Richard M. Stallman <rms@gnu.org>
parents:
21477
diff
changeset
|
299 (defconst mail-extr-first-letters (purecopy "[:alpha:]")) |
809 | 300 |
301 ;; Any character that can end a name. | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
302 ;; Keep this set as minimal as possible. |
25439
f597d85734d7
(mail-extr-all-letters-but-separators)
Richard M. Stallman <rms@gnu.org>
parents:
21477
diff
changeset
|
303 (defconst mail-extr-last-letters (purecopy "[:alpha:]`'.")) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
304 |
41159
5f754d04a4d0
(mail-extr-voodoo): Treat a number as a word
Richard M. Stallman <rms@gnu.org>
parents:
38412
diff
changeset
|
305 (defconst mail-extr-leading-garbage "\\W+") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
306 |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
307 ;; (defconst mail-extr-non-name-chars |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
308 ;; (purecopy (concat "^" mail-extr-all-letters "."))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
309 ;; (defconst mail-extr-non-begin-name-chars |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
310 ;; (purecopy (concat "^" mail-extr-first-letters))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
311 ;; (defconst mail-extr-non-end-name-chars |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
312 ;; (purecopy (concat "^" mail-extr-last-letters))) |
809 | 313 |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
314 ;; Matches an initial not followed by both a period and a space. |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
315 ;; (defconst mail-extr-bad-initials-pattern |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
316 ;; (purecopy |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
317 ;; (format "\\(\\([^%s]\\|\\`\\)[%s]\\)\\(\\.\\([^ ]\\)\\| \\|\\([^%s .]\\)\\|\\'\\)" |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
318 ;; mail-extr-all-letters mail-extr-first-letters mail-extr-all-letters))) |
809 | 319 |
320 ;; Matches periods used instead of spaces. Must not match the period | |
321 ;; following an initial. | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
322 (defconst mail-extr-bad-dot-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
323 (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
324 (format "\\([%s][%s]\\)\\.+\\([%s]\\)" |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
325 mail-extr-all-letters |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
326 mail-extr-last-letters |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
327 mail-extr-first-letters))) |
809 | 328 |
329 ;; Matches an embedded or leading nickname that should be removed. | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
330 ;; (defconst mail-extr-nickname-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
331 ;; (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
332 ;; (format "\\([ .]\\|\\`\\)[\"'`\[\(]\\([ .%s]+\\)[\]\"'\)] " |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
333 ;; mail-extr-all-letters))) |
809 | 334 |
335 ;; Matches the occurrence of a generational name suffix, and the last | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
336 ;; character of the preceding name. This is important because we want to |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
337 ;; keep such suffixes: they help to uniquely identify the person. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
338 ;; *** Perhaps this should be a user-customizable variable. However, the |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
339 ;; *** regular expression is fairly tricky to alter, so maybe not. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
340 (defconst mail-extr-full-name-suffix-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
341 (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
342 (format |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
343 "\\(,? ?\\([JjSs][Rr]\\.?\\|V?I+V?\\)\\)\\([^%s]\\([^%s]\\|\\'\\)\\|\\'\\)" |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
344 mail-extr-all-letters mail-extr-all-letters))) |
809 | 345 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
346 (defconst mail-extr-roman-numeral-pattern (purecopy "V?I+V?\\b")) |
809 | 347 |
348 ;; Matches a trailing uppercase (with other characters possible) acronym. | |
349 ;; Must not match a trailing uppercase last name or trailing initial | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
350 (defconst mail-extr-weird-acronym-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
351 (purecopy "\\([A-Z]+[-_/]\\|[A-Z][A-Z][A-Z]?\\b\\)")) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
352 |
809 | 353 ;; Matches a mixed-case or lowercase name (not an initial). |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
354 ;; #### Match Latin1 lower case letters here too? |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
355 ;; (defconst mail-extr-mixed-case-name-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
356 ;; (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
357 ;; (format |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
358 ;; "\\b\\([a-z][%s]*[%s]\\|[%s][%s]*[a-z][%s]*[%s]\\|[%s][%s]*[a-z]\\)" |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
359 ;; mail-extr-all-letters mail-extr-last-letters |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
360 ;; mail-extr-first-letters mail-extr-all-letters mail-extr-all-letters |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
361 ;; mail-extr-last-letters mail-extr-first-letters mail-extr-all-letters))) |
809 | 362 |
363 ;; Matches a trailing alternative address. | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
364 ;; #### Match Latin1 letters here too? |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
365 ;; #### Match _ before @ here too? |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
366 (defconst mail-extr-alternative-address-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
367 (purecopy "\\(aka *\\)?[a-zA-Z.]+[!@][a-zA-Z.]")) |
809 | 368 |
369 ;; Matches a variety of trailing comments not including comma-delimited | |
370 ;; comments. | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
371 (defconst mail-extr-trailing-comment-start-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
372 (purecopy " [-{]\\|--\\|[+@#></\;]")) |
809 | 373 |
374 ;; Matches a name (not an initial). | |
375 ;; This doesn't force a word boundary at the end because sometimes a | |
376 ;; comment is separated by a `-' with no preceding space. | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
377 (defconst mail-extr-name-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
378 (purecopy (format "\\b[%s][%s]*[%s]" |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
379 mail-extr-first-letters |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
380 mail-extr-all-letters |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
381 mail-extr-last-letters))) |
809 | 382 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
383 (defconst mail-extr-initial-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
384 (purecopy (format "\\b[%s]\\([. ]\\|\\b\\)" mail-extr-first-letters))) |
809 | 385 |
386 ;; Matches a single name before a comma. | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
387 ;; (defconst mail-extr-last-name-first-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
388 ;; (purecopy (concat "\\`" mail-extr-name-pattern ","))) |
809 | 389 |
390 ;; Matches telephone extensions. | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
391 (defconst mail-extr-telephone-extension-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
392 (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
393 "\\(\\([Ee]xt\\|\\|[Tt]ph\\|[Tt]el\\|[Xx]\\).?\\)? *\\+?[0-9][- 0-9]+")) |
809 | 394 |
395 ;; Matches ham radio call signs. | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
396 ;; Help from: Mat Maessen N2NJZ <maessm@rpi.edu>, Mark Feit |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
397 ;; <mark@era.com>, Michael Covington <mcovingt@ai.uga.edu>. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
398 ;; Examples: DX504 DX515 K5MRU K8DHK KA9WGN KA9WGN KD3FU KD6EUI KD6HBW |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
399 ;; KE9TV KF0NV N1API N3FU N3GZE N3IGS N4KCC N7IKQ N9HHU W4YHF W6ANK WA2SUH |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
400 ;; WB7VZI N2NJZ NR3G KJ4KK AB4UM AL7NI KH6OH WN3KBT N4TMI W1A N0NZO |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
401 (defconst mail-extr-ham-call-sign-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
402 (purecopy "\\b\\(DX[0-9]+\\|[AKNW][A-Z]?[0-9][A-Z][A-Z]?[A-Z]?\\)")) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
403 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
404 ;; Possible trailing suffixes: "\\(/\\(KT\\|A[AEG]\\|[R0-9]\\)\\)?" |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
405 ;; /KT == Temporary Technician (has CSC but not "real" license) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
406 ;; /AA == Temporary Advanced |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
407 ;; /AE == Temporary Extra |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
408 ;; /AG == Temporary General |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
409 ;; /R == repeater |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
410 ;; /# == stations operating out of home district |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
411 ;; I don't include these in the regexp above because I can't imagine |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
412 ;; anyone putting them with their name in an e-mail address. |
809 | 413 |
414 ;; Matches normal single-part name | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
415 (defconst mail-extr-normal-name-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
416 (purecopy (format "\\b[%s][%s]+[%s]" |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
417 mail-extr-first-letters |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
418 mail-extr-all-letters-but-separators |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
419 mail-extr-last-letters))) |
809 | 420 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
421 ;; Matches a single word name. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
422 ;; (defconst mail-extr-one-name-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
423 ;; (purecopy (concat "\\`" mail-extr-normal-name-pattern "\\'"))) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
424 |
809 | 425 ;; Matches normal two names with missing middle initial |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
426 ;; The first name is not allowed to have a hyphen because this can cause |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
427 ;; false matches where the "middle initial" is actually the first letter |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
428 ;; of the second part of the first name. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
429 (defconst mail-extr-two-name-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
430 (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
431 (concat "\\`\\(" mail-extr-normal-name-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
432 "\\|" mail-extr-initial-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
433 "\\) +\\(" mail-extr-name-pattern "\\)\\(,\\|\\'\\)"))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
434 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
435 (defconst mail-extr-listserv-list-name-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
436 (purecopy "Multiple recipients of list \\([-A-Z]+\\)")) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
437 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
438 (defconst mail-extr-stupid-vms-date-stamp-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
439 (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
440 "[0-9][0-9]-[JFMASOND][aepuco][nbrylgptvc]-[0-9][0-9][0-9][0-9] [0-9]+ *")) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
441 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
442 ;;; HZ -- GB (PRC Chinese character encoding) in ASCII embedding protocol |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
443 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
444 ;; In ASCII mode, a byte is interpreted as an ASCII character, unless a '~' is |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
445 ;; encountered. The character '~' is an escape character. By convention, it |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
446 ;; must be immediately followed ONLY by '~', '{' or '\n' (<LF>), with the |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
447 ;; following special meaning. |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
448 ;; |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
449 ;; o The escape sequence '~~' is interpreted as a '~'. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
450 ;; o The escape-to-GB sequence '~{' switches the mode from ASCII to GB. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
451 ;; o The escape sequence '~\n' is a line-continuation marker to be consumed |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
452 ;; with no output produced. |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
453 ;; |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
454 ;; In GB mode, characters are interpreted two bytes at a time as (pure) GB |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
455 ;; codes until the escape-from-GB code '~}' is read. This code switches the |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
456 ;; mode from GB back to ASCII. (Note that the escape-from-GB code '~}' |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
457 ;; ($7E7D) is outside the defined GB range.) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
458 (defconst mail-extr-hz-embedded-gb-encoded-chinese-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
459 (purecopy "~{\\([^~].\\|~[^\}]\\)+~}")) |
809 | 460 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
461 ;; The leading optional lowercase letters are for a bastardized version of |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
462 ;; the encoding, as is the optional nature of the final slash. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
463 (defconst mail-extr-x400-encoded-address-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
464 (purecopy "[a-z]?[a-z]?\\(/[A-Za-z]+\\(\\.[A-Za-z]+\\)?=[^/]+\\)+/?\\'")) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
465 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
466 (defconst mail-extr-x400-encoded-address-field-pattern-format |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
467 (purecopy "/%s=\\([^/]+\\)\\(/\\|\\'\\)")) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
468 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
469 (defconst mail-extr-x400-encoded-address-surname-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
470 ;; S stands for Surname (family name). |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
471 (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
472 (format mail-extr-x400-encoded-address-field-pattern-format "[Ss]"))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
473 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
474 (defconst mail-extr-x400-encoded-address-given-name-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
475 ;; G stands for Given name. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
476 (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
477 (format mail-extr-x400-encoded-address-field-pattern-format "[Gg]"))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
478 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
479 (defconst mail-extr-x400-encoded-address-full-name-pattern |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
480 ;; PN stands for Personal Name. When used it represents the combination |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
481 ;; of the G and S fields. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
482 ;; "The one system I used having this field asked it with the prompt |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
483 ;; `Personal Name'. But they mapped it into G and S on outgoing real |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
484 ;; X.400 addresses. As they mapped G and S into PN on incoming..." |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
485 (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
486 (format mail-extr-x400-encoded-address-field-pattern-format "[Pp][Nn]"))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
487 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
488 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
489 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
490 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
491 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
492 ;; Syntax tables used for quick parsing. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
493 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
494 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
495 (defconst mail-extr-address-syntax-table (make-syntax-table)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
496 (defconst mail-extr-address-comment-syntax-table (make-syntax-table)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
497 (defconst mail-extr-address-domain-literal-syntax-table (make-syntax-table)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
498 (defconst mail-extr-address-text-comment-syntax-table (make-syntax-table)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
499 (defconst mail-extr-address-text-syntax-table (make-syntax-table)) |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
500 (mapc |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
501 (lambda (pair) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
502 (let ((syntax-table (symbol-value (car pair)))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
503 (dolist (item (cdr pair)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
504 (if (eq 2 (length item)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
505 ;; modifying syntax of a single character |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
506 (modify-syntax-entry (car item) (car (cdr item)) syntax-table) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
507 ;; modifying syntax of a range of characters |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
508 (let ((char (nth 0 item)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
509 (bound (nth 1 item)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
510 (syntax (nth 2 item))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
511 (while (<= char bound) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
512 (modify-syntax-entry char syntax syntax-table) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
513 (setq char (1+ char)))))))) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
514 '((mail-extr-address-syntax-table |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
515 (?\000 ?\037 "w") ;control characters |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
516 (?\040 " ") ;SPC |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
517 (?! ?~ "w") ;printable characters |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
518 (?\177 "w") ;DEL |
809 | 519 (?\t " ") |
520 (?\r " ") | |
521 (?\n " ") | |
522 (?\( ".") | |
523 (?\) ".") | |
524 (?< ".") | |
525 (?> ".") | |
526 (?@ ".") | |
527 (?, ".") | |
528 (?\; ".") | |
529 (?: ".") | |
530 (?\\ "\\") | |
531 (?\" "\"") | |
532 (?. ".") | |
533 (?\[ ".") | |
534 (?\] ".") | |
535 ;; % and ! aren't RFC822 characters, but it is convenient to pretend | |
536 (?% ".") | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
537 (?! ".") ;; this needs to be word-constituent when not in .UUCP mode |
809 | 538 ) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
539 (mail-extr-address-comment-syntax-table |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
540 (?\000 ?\377 "w") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
541 (?\040 " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
542 (?\240 " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
543 (?\t " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
544 (?\r " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
545 (?\n " ") |
809 | 546 (?\( "\(\)") |
547 (?\) "\)\(") | |
548 (?\\ "\\")) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
549 (mail-extr-address-domain-literal-syntax-table |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
550 (?\000 ?\377 "w") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
551 (?\040 " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
552 (?\240 " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
553 (?\t " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
554 (?\r " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
555 (?\n " ") |
809 | 556 (?\[ "\(\]") ;?????? |
557 (?\] "\)\[") ;?????? | |
558 (?\\ "\\")) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
559 (mail-extr-address-text-comment-syntax-table |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
560 (?\000 ?\377 "w") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
561 (?\040 " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
562 (?\240 " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
563 (?\t " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
564 (?\r " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
565 (?\n " ") |
809 | 566 (?\( "\(\)") |
567 (?\) "\)\(") | |
568 (?\[ "\(\]") | |
569 (?\] "\)\[") | |
570 (?\{ "\(\}") | |
571 (?\} "\)\{") | |
572 (?\\ "\\") | |
573 (?\" "\"") | |
574 ;; (?\' "\)\`") | |
575 ;; (?\` "\(\'") | |
576 ) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
577 (mail-extr-address-text-syntax-table |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
578 (?\000 ?\177 ".") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
579 (?\200 ?\377 "w") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
580 (?\040 " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
581 (?\t " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
582 (?\r " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
583 (?\n " ") |
809 | 584 (?A ?Z "w") |
585 (?a ?z "w") | |
586 (?- "w") | |
587 (?\} "w") | |
588 (?\{ "w") | |
589 (?| "w") | |
590 (?\' "w") | |
591 (?~ "w") | |
592 (?0 ?9 "w")) | |
593 )) | |
594 | |
595 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
596 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
597 ;; |
809 | 598 ;; Utility functions and macros. |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
599 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
600 |
52916
7302d194fccb
(mail-extr-ignore-single-names): Add :version.
Dave Love <fx@gnu.org>
parents:
52401
diff
changeset
|
601 ;; Fixme: There are Latin-1 nbsp below. If such characters should be |
7302d194fccb
(mail-extr-ignore-single-names): Add :version.
Dave Love <fx@gnu.org>
parents:
52401
diff
changeset
|
602 ;; included, this is the wrong thing to do -- it should use syntax (or |
7302d194fccb
(mail-extr-ignore-single-names): Add :version.
Dave Love <fx@gnu.org>
parents:
52401
diff
changeset
|
603 ;; regexp char classes). |
7302d194fccb
(mail-extr-ignore-single-names): Add :version.
Dave Love <fx@gnu.org>
parents:
52401
diff
changeset
|
604 |
37148
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
605 (defsubst mail-extr-skip-whitespace-forward () |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
606 ;; v19 fn skip-syntax-forward is more tasteful, but not byte-coded. |
51081
a4bb96832880
Use explicit coding tag.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
47939
diff
changeset
|
607 (skip-chars-forward " \t\n\r ")) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
608 |
37148
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
609 (defsubst mail-extr-skip-whitespace-backward () |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
610 ;; v19 fn skip-syntax-backward is more tasteful, but not byte-coded. |
51081
a4bb96832880
Use explicit coding tag.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
47939
diff
changeset
|
611 (skip-chars-backward " \t\n\r ")) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
612 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
613 |
37148
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
614 (defsubst mail-extr-undo-backslash-quoting (beg end) |
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
615 (save-excursion |
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
616 (save-restriction |
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
617 (narrow-to-region beg end) |
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
618 (goto-char (point-min)) |
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
619 ;; undo \ quoting |
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
620 (while (search-forward "\\" nil t) |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
621 (delete-char -1) |
37148
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
622 (or (eobp) |
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
623 (forward-char 1)))))) |
809 | 624 |
37148
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
625 (defsubst mail-extr-nuke-char-at (pos) |
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
626 (save-excursion |
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
627 (goto-char pos) |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
628 (delete-char 1) |
37148
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
629 (insert ?\ ))) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
630 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
631 (put 'mail-extr-nuke-outside-range |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
632 'edebug-form-spec '(symbolp &optional form form atom)) |
809 | 633 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
634 (defmacro mail-extr-nuke-outside-range (list-symbol |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
635 beg-symbol end-symbol |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
636 &optional no-replace) |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
637 "Delete all elements outside BEG..END in LIST. |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
638 LIST-SYMBOL names a variable holding a list of buffer positions |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
639 BEG-SYMBOL and END-SYMBOL name variables delimiting a range |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
640 Each element of LIST-SYMBOL which lies outside of the range is |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
641 deleted from the list. |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
642 Unless NO-REPLACE is true, at each of the positions in LIST-SYMBOL |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
643 which lie outside of the range, one character at that position is |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
644 replaced with a SPC." |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
645 (or (memq no-replace '(t nil)) |
14029
8812f5ef65db
(mail-extr-nuke-outside-range): Fix error message.
Richard M. Stallman <rms@gnu.org>
parents:
13959
diff
changeset
|
646 (error "no-replace must be t or nil, evaluable at macroexpand-time")) |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
647 `(let ((temp ,list-symbol) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
648 ch) |
809 | 649 (while temp |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
650 (setq ch (car temp)) |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
651 (when (or (> ch ,end-symbol) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
652 (< ch ,beg-symbol)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
653 ,@(if no-replace |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
654 nil |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
655 `((mail-extr-nuke-char-at ch))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
656 (setcar temp nil)) |
809 | 657 (setq temp (cdr temp))) |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
658 (setq ,list-symbol (delq nil ,list-symbol)))) |
809 | 659 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
660 (defun mail-extr-demarkerize (marker) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
661 ;; if arg is a marker, destroys the marker, then returns the old value. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
662 ;; otherwise returns the arg. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
663 (if (markerp marker) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
664 (let ((temp (marker-position marker))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
665 (set-marker marker nil) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
666 temp) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
667 marker)) |
809 | 668 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
669 (defun mail-extr-markerize (pos) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
670 ;; coerces pos to a marker if non-nil. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
671 (if (or (markerp pos) (null pos)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
672 pos |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
673 (copy-marker pos))) |
809 | 674 |
37148
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
675 (defsubst mail-extr-safe-move-sexp (arg) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
676 ;; Safely skip over one balanced sexp, if there is one. Return t if success. |
37148
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
677 (condition-case error |
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
678 (progn |
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
679 (goto-char (or (scan-sexps (point) arg) (point))) |
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
680 t) |
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
681 (error |
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
682 ;; #### kludge kludge kludge kludge kludge kludge kludge !!! |
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
683 (if (string-equal (nth 1 error) "Unbalanced parentheses") |
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
684 nil |
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
685 (while t |
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
686 (signal (car error) (cdr error))))))) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
687 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
688 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
689 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
690 ;; The main function to grind addresses |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
691 ;; |
809 | 692 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
693 (defvar disable-initial-guessing-flag) ; dynamic assignment |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
694 (defvar cbeg) ; dynamic assignment |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
695 (defvar cend) ; dynamic assignment |
56764
57c8c9029251
(mail-extr-all-top-level-domains): Add forward defvar.
Richard M. Stallman <rms@gnu.org>
parents:
56600
diff
changeset
|
696 (defvar mail-extr-all-top-level-domains) ; Defined below. |
809 | 697 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
698 ;;;###autoload |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
699 (defun mail-extract-address-components (address &optional all) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
700 "Given an RFC-822 address ADDRESS, extract full name and canonical address. |
67435
f245bb6e08da
* files.el (save-buffer):
Reiner Steib <Reiner.Steib@gmx.de>
parents:
64754
diff
changeset
|
701 Returns a list of the form (FULL-NAME CANONICAL-ADDRESS). If no |
f245bb6e08da
* files.el (save-buffer):
Reiner Steib <Reiner.Steib@gmx.de>
parents:
64754
diff
changeset
|
702 name can be extracted, FULL-NAME will be nil. Also see |
f245bb6e08da
* files.el (save-buffer):
Reiner Steib <Reiner.Steib@gmx.de>
parents:
64754
diff
changeset
|
703 `mail-extr-ignore-single-names' and |
f245bb6e08da
* files.el (save-buffer):
Reiner Steib <Reiner.Steib@gmx.de>
parents:
64754
diff
changeset
|
704 `mail-extr-ignore-realname-equals-mailbox-name'. |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
705 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
706 If the optional argument ALL is non-nil, then ADDRESS can contain zero |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
707 or more recipients, separated by commas, and we return a list of |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
708 the form ((FULL-NAME CANONICAL-ADDRESS) ...) with one element for |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
709 each recipient. If ALL is nil, then if ADDRESS contains more than |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
710 one recipients, all but the first is ignored. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
711 |
37148
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
712 ADDRESS may be a string or a buffer. If it is a buffer, the visible |
47615
a298684644ca
(mail-extr-ignore-single-names): Change default.
Simon Josefsson <jas@extundo.com>
parents:
46273
diff
changeset
|
713 \(narrowed) portion of the buffer will be interpreted as the address. |
a298684644ca
(mail-extr-ignore-single-names): Change default.
Simon Josefsson <jas@extundo.com>
parents:
46273
diff
changeset
|
714 \(This feature exists so that the clever caller might be able to avoid |
a298684644ca
(mail-extr-ignore-single-names): Change default.
Simon Josefsson <jas@extundo.com>
parents:
46273
diff
changeset
|
715 consing a string.)" |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
716 (let ((canonicalization-buffer (get-buffer-create " *canonical address*")) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
717 (extraction-buffer (get-buffer-create " *extract address components*")) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
718 value-list) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
719 |
37148
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
720 (with-current-buffer (get-buffer-create extraction-buffer) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
721 (fundamental-mode) |
923 | 722 (buffer-disable-undo extraction-buffer) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
723 (set-syntax-table mail-extr-address-syntax-table) |
809 | 724 (widen) |
725 (erase-buffer) | |
726 (setq case-fold-search nil) | |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
727 |
809 | 728 ;; Insert extra space at beginning to allow later replacement with < |
729 ;; without having to move markers. | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
730 (insert ?\ ) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
731 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
732 ;; Insert the address itself. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
733 (cond ((stringp address) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
734 (insert address)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
735 ((bufferp address) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
736 (insert-buffer-substring address)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
737 (t |
14029
8812f5ef65db
(mail-extr-nuke-outside-range): Fix error message.
Richard M. Stallman <rms@gnu.org>
parents:
13959
diff
changeset
|
738 (error "Invalid address: %s" address))) |
16727
45d9891b03b2
(mail-extract-address-components): Clear text props
Richard M. Stallman <rms@gnu.org>
parents:
16699
diff
changeset
|
739 |
45d9891b03b2
(mail-extract-address-components): Clear text props
Richard M. Stallman <rms@gnu.org>
parents:
16699
diff
changeset
|
740 (set-text-properties (point-min) (point-max) nil) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
741 |
37148
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
742 (with-current-buffer (get-buffer-create canonicalization-buffer) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
743 (fundamental-mode) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
744 (buffer-disable-undo canonicalization-buffer) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
745 (setq case-fold-search nil)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
746 |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
747 |
809 | 748 ;; Unfold multiple lines. |
749 (goto-char (point-min)) | |
750 (while (re-search-forward "\\([^\\]\\(\\\\\\\\\\)*\\)\n[ \t]" nil t) | |
751 (replace-match "\\1 " t)) | |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
752 |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
753 ;; Loop over addresses until we have as many as we want. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
754 (while (and (or all (null value-list)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
755 (progn (goto-char (point-min)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
756 (skip-chars-forward " \t") |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
757 (not (eobp)))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
758 (let (char |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
759 end-of-address |
21477
a61dfbd23534
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
760 <-pos >-pos @-pos colon-pos comma-pos !-pos %-pos \;-pos |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
761 group-:-pos group-\;-pos route-addr-:-pos |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
762 record-pos-symbol |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
763 first-real-pos last-real-pos |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
764 phrase-beg phrase-end |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
765 cbeg cend ; dynamically set from -voodoo |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
766 quote-beg quote-end |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
767 atom-beg atom-end |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
768 mbox-beg mbox-end |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
769 \.-ends-name |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
770 temp |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
771 ;; name-suffix |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
772 fi mi li ; first, middle, last initial |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
773 saved-%-pos saved-!-pos saved-@-pos |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
774 domain-pos \.-pos insert-point |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
775 ;; mailbox-name-processed-flag |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
776 disable-initial-guessing-flag) ; dynamically set from -voodoo |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
777 |
37148
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
778 (set-syntax-table mail-extr-address-syntax-table) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
779 (goto-char (point-min)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
780 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
781 ;; Insert extra space at beginning to allow later replacement with < |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
782 ;; without having to move markers. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
783 (or (eq (following-char) ?\ ) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
784 (insert ?\ )) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
785 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
786 ;; First pass grabs useful information about address. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
787 (while (progn |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
788 (mail-extr-skip-whitespace-forward) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
789 (not (eobp))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
790 (setq char (char-after (point))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
791 (or first-real-pos |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
792 (if (not (eq char ?\()) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
793 (setq first-real-pos (point)))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
794 (cond |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
795 ;; comment |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
796 ((eq char ?\() |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
797 (set-syntax-table mail-extr-address-comment-syntax-table) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
798 ;; only record the first non-empty comment's position |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
799 (if (and (not cbeg) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
800 (save-excursion |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
801 (forward-char 1) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
802 (mail-extr-skip-whitespace-forward) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
803 (not (eq ?\) (char-after (point)))))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
804 (setq cbeg (point))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
805 ;; TODO: don't record if unbalanced |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
806 (or (mail-extr-safe-move-sexp 1) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
807 (forward-char 1)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
808 (set-syntax-table mail-extr-address-syntax-table) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
809 (if (and cbeg |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
810 (not cend)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
811 (setq cend (point)))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
812 ;; quoted text |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
813 ((eq char ?\") |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
814 ;; only record the first non-empty quote's position |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
815 (if (and (not quote-beg) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
816 (save-excursion |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
817 (forward-char 1) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
818 (mail-extr-skip-whitespace-forward) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
819 (not (eq ?\" (char-after (point)))))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
820 (setq quote-beg (point))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
821 ;; TODO: don't record if unbalanced |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
822 (or (mail-extr-safe-move-sexp 1) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
823 (forward-char 1)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
824 (if (and quote-beg |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
825 (not quote-end)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
826 (setq quote-end (point)))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
827 ;; domain literals |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
828 ((eq char ?\[) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
829 (set-syntax-table mail-extr-address-domain-literal-syntax-table) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
830 (or (mail-extr-safe-move-sexp 1) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
831 (forward-char 1)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
832 (set-syntax-table mail-extr-address-syntax-table)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
833 ;; commas delimit addresses when outside < > pairs. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
834 ((and (eq char ?,) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
835 (or (and (null <-pos) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
836 ;; Handle ROUTE-ADDR address that is missing its <. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
837 (not (eq ?@ (char-after (1+ (point)))))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
838 (and >-pos |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
839 ;; handle weird munged addresses |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
840 ;; BUG FIX: This test was reversed. Thanks to the |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
841 ;; brilliant Rod Whitby <rwhitby@research.canon.oz.au> |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
842 ;; for discovering this! |
37148
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
843 (< (car (last <-pos)) (car >-pos))))) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
844 ;; The argument contains more than one address. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
845 ;; Temporarily hide everything after this one. |
37148
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
846 (setq end-of-address (copy-marker (1+ (point)) t)) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
847 (narrow-to-region (point-min) (1+ (point))) |
37148
aca2b7839d21
(mail-extr-delete-char, mail-extr-safe-move-sexp)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25439
diff
changeset
|
848 (delete-char 1) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
849 (setq char ?\() ; HAVE I NO SHAME?? |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
850 ) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
851 ;; record the position of various interesting chars, determine |
80051
86418444e2d1
*** empty log message ***
Juanma Barranquero <lekktu@gmail.com>
parents:
79712
diff
changeset
|
852 ;; validity later. |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
853 ((setq record-pos-symbol |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
854 (cdr (assq char |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
855 '((?< . <-pos) (?> . >-pos) (?@ . @-pos) |
21477
a61dfbd23534
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
856 (?: . colon-pos) (?, . comma-pos) (?! . !-pos) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
857 (?% . %-pos) (?\; . \;-pos))))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
858 (set record-pos-symbol |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
859 (cons (point) (symbol-value record-pos-symbol))) |
809 | 860 (forward-char 1)) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
861 ((eq char ?.) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
862 (forward-char 1)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
863 ((memq char '( |
80051
86418444e2d1
*** empty log message ***
Juanma Barranquero <lekktu@gmail.com>
parents:
79712
diff
changeset
|
864 ;; comment terminator invalid |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
865 ?\) |
80051
86418444e2d1
*** empty log message ***
Juanma Barranquero <lekktu@gmail.com>
parents:
79712
diff
changeset
|
866 ;; domain literal terminator invalid |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
867 ?\] |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
868 ;; \ allowed only within quoted strings, |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
869 ;; domain literals, and comments |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
870 ?\\ |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
871 )) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
872 (mail-extr-nuke-char-at (point)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
873 (forward-char 1)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
874 (t |
77894
d3e947ea638f
(mail-extract-address-components): Recognize non-ASCII characters
Chong Yidong <cyd@stupidchicken.com>
parents:
75347
diff
changeset
|
875 ;; Do `(forward-word 1)', recognizing non-ASCII characters |
d3e947ea638f
(mail-extract-address-components): Recognize non-ASCII characters
Chong Yidong <cyd@stupidchicken.com>
parents:
75347
diff
changeset
|
876 ;; except Latin-1 nbsp as words. |
d3e947ea638f
(mail-extract-address-components): Recognize non-ASCII characters
Chong Yidong <cyd@stupidchicken.com>
parents:
75347
diff
changeset
|
877 (while (progn |
81020
6e1a357362af
(mail-extract-address-components): Recognize
Kenichi Handa <handa@m17n.org>
parents:
75347
diff
changeset
|
878 (skip-chars-forward "^\000-\177Â ") |
77894
d3e947ea638f
(mail-extract-address-components): Recognize non-ASCII characters
Chong Yidong <cyd@stupidchicken.com>
parents:
75347
diff
changeset
|
879 (and (not (eobp)) |
d3e947ea638f
(mail-extract-address-components): Recognize non-ASCII characters
Chong Yidong <cyd@stupidchicken.com>
parents:
75347
diff
changeset
|
880 (eq ?w (char-syntax (char-after))) |
d3e947ea638f
(mail-extract-address-components): Recognize non-ASCII characters
Chong Yidong <cyd@stupidchicken.com>
parents:
75347
diff
changeset
|
881 (progn |
d3e947ea638f
(mail-extract-address-components): Recognize non-ASCII characters
Chong Yidong <cyd@stupidchicken.com>
parents:
75347
diff
changeset
|
882 (forward-word 1) |
d3e947ea638f
(mail-extract-address-components): Recognize non-ASCII characters
Chong Yidong <cyd@stupidchicken.com>
parents:
75347
diff
changeset
|
883 (and (not (eobp)) |
d3e947ea638f
(mail-extract-address-components): Recognize non-ASCII characters
Chong Yidong <cyd@stupidchicken.com>
parents:
75347
diff
changeset
|
884 (> (char-after) ?\177) |
81020
6e1a357362af
(mail-extract-address-components): Recognize
Kenichi Handa <handa@m17n.org>
parents:
75347
diff
changeset
|
885 (not (eq (char-after) ? ))))))))) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
886 (or (eq char ?\() |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
887 ;; At the end of first address of a multiple address header. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
888 (and (eq char ?,) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
889 (eobp)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
890 (setq last-real-pos (point)))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
891 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
892 ;; Use only the leftmost <, if any. Replace all others with spaces. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
893 (while (cdr <-pos) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
894 (mail-extr-nuke-char-at (car <-pos)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
895 (setq <-pos (cdr <-pos))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
896 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
897 ;; Use only the rightmost >, if any. Replace all others with spaces. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
898 (while (cdr >-pos) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
899 (mail-extr-nuke-char-at (nth 1 >-pos)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
900 (setcdr >-pos (nthcdr 2 >-pos))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
901 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
902 ;; If multiple @s and a :, but no < and >, insert around buffer. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
903 ;; Example: @foo.bar.dom,@xxx.yyy.zzz:mailbox@aaa.bbb.ccc |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
904 ;; This commonly happens on the UUCP "From " line. Ugh. |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
905 (when (and (> (length @-pos) 1) |
21477
a61dfbd23534
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
906 (eq 1 (length colon-pos)) ;TODO: check if between last two @s |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
907 (not \;-pos) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
908 (not <-pos)) |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
909 (goto-char (point-min)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
910 (delete-char 1) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
911 (setq <-pos (list (point))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
912 (insert ?<)) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
913 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
914 ;; If < but no >, insert > in rightmost possible position |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
915 (when (and <-pos (null >-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
916 (goto-char (point-max)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
917 (setq >-pos (list (point))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
918 (insert ?>)) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
919 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
920 ;; If > but no <, replace > with space. |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
921 (when (and >-pos (null <-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
922 (mail-extr-nuke-char-at (car >-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
923 (setq >-pos nil)) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
924 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
925 ;; Turn >-pos and <-pos into non-lists |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
926 (setq >-pos (car >-pos) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
927 <-pos (car <-pos)) |
809 | 928 |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
929 ;; Trim other punctuation lists of items outside < > pair to handle |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
930 ;; stupid MTAs. |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
931 (when <-pos ; don't need to check >-pos also |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
932 ;; handle bozo software that violates RFC 822 by sticking |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
933 ;; punctuation marks outside of a < > pair |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
934 (mail-extr-nuke-outside-range @-pos <-pos >-pos t) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
935 ;; RFC 822 says nothing about these two outside < >, but |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
936 ;; remove those positions from the lists to make things |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
937 ;; easier. |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
938 (mail-extr-nuke-outside-range !-pos <-pos >-pos t) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
939 (mail-extr-nuke-outside-range %-pos <-pos >-pos t)) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
940 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
941 ;; Check for : that indicates GROUP list and for : part of |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
942 ;; ROUTE-ADDR spec. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
943 ;; Can't possibly be more than two :. Nuke any extra. |
21477
a61dfbd23534
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
944 (while colon-pos |
a61dfbd23534
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
945 (setq temp (car colon-pos) |
a61dfbd23534
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20962
diff
changeset
|
946 colon-pos (cdr colon-pos)) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
947 (cond ((and <-pos >-pos |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
948 (> temp <-pos) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
949 (< temp >-pos)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
950 (if (or route-addr-:-pos |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
951 (< (length @-pos) 2) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
952 (> temp (car @-pos)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
953 (< temp (nth 1 @-pos))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
954 (mail-extr-nuke-char-at temp) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
955 (setq route-addr-:-pos temp))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
956 ((or (not <-pos) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
957 (and <-pos |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
958 (< temp <-pos))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
959 (setq group-:-pos temp)))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
960 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
961 ;; Nuke any ; that is in or to the left of a < > pair or to the left |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
962 ;; of a GROUP starting :. Also, there may only be one ;. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
963 (while \;-pos |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
964 (setq temp (car \;-pos) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
965 \;-pos (cdr \;-pos)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
966 (cond ((and <-pos >-pos |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
967 (> temp <-pos) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
968 (< temp >-pos)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
969 (mail-extr-nuke-char-at temp)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
970 ((and (or (not group-:-pos) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
971 (> temp group-:-pos)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
972 (not group-\;-pos)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
973 (setq group-\;-pos temp)))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
974 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
975 ;; Nuke unmatched GROUP syntax characters. |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
976 (when (and group-:-pos (not group-\;-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
977 ;; *** Do I really need to erase it? |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
978 (mail-extr-nuke-char-at group-:-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
979 (setq group-:-pos nil)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
980 (when (and group-\;-pos (not group-:-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
981 ;; *** Do I really need to erase it? |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
982 (mail-extr-nuke-char-at group-\;-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
983 (setq group-\;-pos nil)) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
984 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
985 ;; Handle junk like ";@host.company.dom" that sendmail adds. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
986 ;; **** should I remember comment positions? |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
987 (when group-\;-pos |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
988 ;; this is fine for now |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
989 (mail-extr-nuke-outside-range !-pos group-:-pos group-\;-pos t) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
990 (mail-extr-nuke-outside-range @-pos group-:-pos group-\;-pos t) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
991 (mail-extr-nuke-outside-range %-pos group-:-pos group-\;-pos t) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
992 (mail-extr-nuke-outside-range comma-pos group-:-pos group-\;-pos t) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
993 (and last-real-pos |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
994 (> last-real-pos (1+ group-\;-pos)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
995 (setq last-real-pos (1+ group-\;-pos))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
996 ;; *** This may be wrong: |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
997 (and cend |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
998 (> cend group-\;-pos) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
999 (setq cend nil |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1000 cbeg nil)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1001 (and quote-end |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1002 (> quote-end group-\;-pos) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1003 (setq quote-end nil |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1004 quote-beg nil)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1005 ;; This was both wrong and unnecessary: |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1006 ;;(narrow-to-region (point-min) group-\;-pos) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1007 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1008 ;; *** The entire handling of GROUP addresses seems rather lame. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1009 ;; *** It deserves a complete rethink, except that these addresses |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1010 ;; *** are hardly ever seen. |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1011 ) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1012 |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1013 ;; Any commas must be between < and : of ROUTE-ADDR. Nuke any |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1014 ;; others. |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
1015 ;; Hell, go ahead and nuke all of the commas. |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1016 ;; **** This will cause problems when we start handling commas in |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1017 ;; the PHRASE part .... no it won't ... yes it will ... ????? |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1018 (mail-extr-nuke-outside-range comma-pos 1 1) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1019 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1020 ;; can only have multiple @s inside < >. The fact that some MTAs |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1021 ;; put de-bracketed ROUTE-ADDRs in the UUCP-style "From " line is |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1022 ;; handled above. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1023 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1024 ;; Locate PHRASE part of ROUTE-ADDR. |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1025 (when <-pos |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1026 (goto-char <-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1027 (mail-extr-skip-whitespace-backward) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1028 (setq phrase-end (point)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1029 (goto-char (or ;;group-:-pos |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1030 (point-min))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1031 (mail-extr-skip-whitespace-forward) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1032 (if (< (point) phrase-end) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1033 (setq phrase-beg (point)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1034 (setq phrase-end nil))) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1035 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1036 ;; handle ROUTE-ADDRS with real ROUTEs. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1037 ;; If there are multiple @s, then we assume ROUTE-ADDR syntax, and |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1038 ;; any % or ! must be semantically meaningless. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1039 ;; TODO: do this processing into canonicalization buffer |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1040 (when route-addr-:-pos |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1041 (setq !-pos nil |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1042 %-pos nil |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1043 >-pos (copy-marker >-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1044 route-addr-:-pos (copy-marker route-addr-:-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1045 (goto-char >-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1046 (insert-before-markers ?X) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1047 (goto-char (car @-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1048 (while (setq @-pos (cdr @-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1049 (delete-char 1) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1050 (setq %-pos (cons (point-marker) %-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1051 (insert "%") |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1052 (goto-char (1- >-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1053 (save-excursion |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1054 (insert-buffer-substring extraction-buffer |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1055 (car @-pos) route-addr-:-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1056 (delete-region (car @-pos) route-addr-:-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1057 (or (cdr @-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1058 (setq saved-@-pos (list (point))))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1059 (setq @-pos saved-@-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1060 (goto-char >-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1061 (delete-char -1) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1062 (mail-extr-nuke-char-at route-addr-:-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1063 (mail-extr-demarkerize route-addr-:-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1064 (setq route-addr-:-pos nil |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1065 >-pos (mail-extr-demarkerize >-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1066 %-pos (mapcar 'mail-extr-demarkerize %-pos))) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1067 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1068 ;; de-listify @-pos |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1069 (setq @-pos (car @-pos)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1070 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1071 ;; TODO: remove comments in the middle of an address |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1072 |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1073 (with-current-buffer canonicalization-buffer |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1074 (widen) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1075 (erase-buffer) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1076 (insert-buffer-substring extraction-buffer) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1077 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1078 (if <-pos |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1079 (narrow-to-region (progn |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1080 (goto-char (1+ <-pos)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1081 (mail-extr-skip-whitespace-forward) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1082 (point)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1083 >-pos) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1084 (if (and first-real-pos last-real-pos) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1085 (narrow-to-region first-real-pos last-real-pos) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1086 ;; ****** Oh no! What if the address is completely empty! |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1087 ;; *** Is this correct? |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1088 (narrow-to-region (point-max) (point-max)))) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1089 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1090 (and @-pos %-pos |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1091 (mail-extr-nuke-outside-range %-pos (point-min) @-pos)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1092 (and %-pos !-pos |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1093 (mail-extr-nuke-outside-range !-pos (point-min) (car %-pos))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1094 (and @-pos !-pos (not %-pos) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1095 (mail-extr-nuke-outside-range !-pos (point-min) @-pos)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1096 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1097 ;; Error condition:?? (and %-pos (not @-pos)) |
809 | 1098 |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1099 ;; WARNING: THIS CODE IS DUPLICATED BELOW. |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1100 (when (and %-pos (not @-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1101 (goto-char (car %-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1102 (delete-char 1) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1103 (setq @-pos (point)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1104 (insert "@") |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1105 (setq %-pos (cdr %-pos))) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1106 |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1107 (when (and mail-extr-mangle-uucp !-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1108 ;; **** I don't understand this save-restriction and the |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1109 ;; narrow-to-region inside it. Why did I do that? |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1110 (save-restriction |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1111 (cond ((and @-pos |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1112 mail-extr-@-binds-tighter-than-!) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1113 (goto-char @-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1114 (setq %-pos (cons (point) %-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1115 @-pos nil) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1116 (delete-char 1) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1117 (insert "%") |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1118 (setq insert-point (point-max))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1119 (mail-extr-@-binds-tighter-than-! |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1120 (setq insert-point (point-max))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1121 (%-pos |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1122 (setq insert-point (car (last %-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1123 saved-%-pos (mapcar 'mail-extr-markerize %-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1124 %-pos nil |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1125 @-pos (mail-extr-markerize @-pos))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1126 (@-pos |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1127 (setq insert-point @-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1128 (setq @-pos (mail-extr-markerize @-pos))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1129 (t |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1130 (setq insert-point (point-max)))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1131 (narrow-to-region (point-min) insert-point) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1132 (setq saved-!-pos (car !-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1133 (while !-pos |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1134 (goto-char (point-max)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1135 (cond ((and (not @-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1136 (not (cdr !-pos))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1137 (setq @-pos (point)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1138 (insert-before-markers "@ ")) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1139 (t |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1140 (setq %-pos (cons (point) %-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1141 (insert-before-markers "% "))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1142 (backward-char 1) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1143 (insert-buffer-substring |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1144 (current-buffer) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1145 (if (nth 1 !-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1146 (1+ (nth 1 !-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1147 (point-min)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1148 (car !-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1149 (delete-char 1) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1150 (or (save-excursion |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1151 (mail-extr-safe-move-sexp -1) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1152 (mail-extr-skip-whitespace-backward) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1153 (eq ?. (preceding-char))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1154 (insert-before-markers |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1155 (if (save-excursion |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1156 (mail-extr-skip-whitespace-backward) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1157 (eq ?. (preceding-char))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1158 "" |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1159 ".") |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1160 "uucp")) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1161 (setq !-pos (cdr !-pos)))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1162 (and saved-%-pos |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1163 (setq %-pos (append (mapcar 'mail-extr-demarkerize |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1164 saved-%-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1165 %-pos))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1166 (setq @-pos (mail-extr-demarkerize @-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1167 (narrow-to-region (1+ saved-!-pos) (point-max))) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1168 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1169 ;; WARNING: THIS CODE IS DUPLICATED ABOVE. |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1170 (when (and %-pos (not @-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1171 (goto-char (car %-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1172 (delete-char 1) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1173 (setq @-pos (point)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1174 (insert "@") |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1175 (setq %-pos (cdr %-pos))) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1176 |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1177 (when (setq %-pos (nreverse %-pos)) ; implies @-pos valid |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1178 (setq temp %-pos) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1179 (catch 'truncated |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1180 (while temp |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1181 (goto-char (or (nth 1 temp) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1182 @-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1183 (mail-extr-skip-whitespace-backward) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1184 (save-excursion |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1185 (mail-extr-safe-move-sexp -1) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1186 (setq domain-pos (point)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1187 (mail-extr-skip-whitespace-backward) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1188 (setq \.-pos (eq ?. (preceding-char)))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1189 (when (and \.-pos |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1190 ;; #### string consing |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1191 (let ((s (intern-soft |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1192 (buffer-substring domain-pos (point)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1193 mail-extr-all-top-level-domains))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1194 (and s (get s 'domain-name)))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1195 (narrow-to-region (point-min) (point)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1196 (goto-char (car temp)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1197 (delete-char 1) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1198 (setq @-pos (point)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1199 (setcdr temp nil) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1200 (setq %-pos (delq @-pos %-pos)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1201 (insert "@") |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1202 (throw 'truncated t)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1203 (setq temp (cdr temp))))) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1204 (setq mbox-beg (point-min) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1205 mbox-end (if %-pos (car %-pos) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1206 (or @-pos |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1207 (point-max)))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1208 |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1209 (when @-pos |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1210 ;; Make the domain-name part lowercase since it's case |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1211 ;; insensitive anyway. |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1212 (downcase-region (1+ @-pos) (point-max)))) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1213 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1214 ;; Done canonicalizing address. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1215 ;; We are now back in extraction-buffer. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1216 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1217 ;; Decide what part of the address to search to find the full name. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1218 (cond ( |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1219 ;; Example: "First M. Last" <fml@foo.bar.dom> |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1220 (and phrase-beg |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1221 (eq quote-beg phrase-beg) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1222 (<= quote-end phrase-end)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1223 (narrow-to-region (1+ quote-beg) (1- quote-end)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1224 (mail-extr-undo-backslash-quoting (point-min) (point-max))) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1225 |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1226 ;; Example: First Last <fml@foo.bar.dom> |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1227 (phrase-beg |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1228 (narrow-to-region phrase-beg phrase-end)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1229 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1230 ;; Example: fml@foo.bar.dom (First M. Last) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1231 (cbeg |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1232 (narrow-to-region (1+ cbeg) (1- cend)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1233 (mail-extr-undo-backslash-quoting (point-min) (point-max)) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1234 |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1235 ;; Deal with spacing problems |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1236 (goto-char (point-min)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1237 ;;; (cond ((not (search-forward " " nil t)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1238 ;;; (goto-char (point-min)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1239 ;;; (cond ((search-forward "_" nil t) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1240 ;;; ;; Handle the *idiotic* use of underlines as spaces. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1241 ;;; ;; Example: fml@foo.bar.dom (First_M._Last) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1242 ;;; (goto-char (point-min)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1243 ;;; (while (search-forward "_" nil t) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1244 ;;; (replace-match " " t))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1245 ;;; ((search-forward "." nil t) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1246 ;;; ;; Fix . used as space |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1247 ;;; ;; Example: danj1@cb.att.com (daniel.jacobson) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1248 ;;; (goto-char (point-min)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1249 ;;; (while (re-search-forward mail-extr-bad-dot-pattern nil t) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1250 ;;; (replace-match "\\1 \\2" t)))))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1251 ) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1252 |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1253 ;; Otherwise we try to get the name from the mailbox portion |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1254 ;; of the address. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1255 ;; Example: First_M_Last@foo.bar.dom |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1256 (t |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1257 ;; *** Work in canon buffer instead? No, can't. Hmm. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1258 (goto-char (point-max)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1259 (narrow-to-region (point) (point)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1260 (insert-buffer-substring canonicalization-buffer |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1261 mbox-beg mbox-end) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1262 (goto-char (point-min)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1263 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1264 ;; Example: First_Last.XXX@foo.bar.dom |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1265 (setq \.-ends-name (re-search-forward "[_0-9]" nil t)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1266 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1267 (goto-char (point-min)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1268 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1269 (if (not mail-extr-mangle-uucp) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1270 (modify-syntax-entry ?! "w" (syntax-table))) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1271 |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1272 (while (progn |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1273 (mail-extr-skip-whitespace-forward) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1274 (not (eobp))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1275 (setq char (char-after (point))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1276 (cond |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1277 ((eq char ?\") |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1278 (setq quote-beg (point)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1279 (or (mail-extr-safe-move-sexp 1) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1280 ;; TODO: handle this error condition!!!!! |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1281 (forward-char 1)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1282 ;; take into account deletions |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1283 (setq quote-end (- (point) 2)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1284 (save-excursion |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1285 (backward-char 1) |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1286 (delete-char 1) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1287 (goto-char quote-beg) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1288 (or (eobp) |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1289 (delete-char 1))) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1290 (mail-extr-undo-backslash-quoting quote-beg quote-end) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1291 (or (eq ?\ (char-after (point))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1292 (insert " ")) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1293 ;; (setq mailbox-name-processed-flag t) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1294 (setq \.-ends-name t)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1295 ((eq char ?.) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1296 (if (memq (char-after (1+ (point))) '(?_ ?=)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1297 (progn |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1298 (forward-char 1) |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1299 (delete-char 1) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1300 (insert ?\ )) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1301 (if \.-ends-name |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1302 (narrow-to-region (point-min) (point)) |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1303 (delete-char 1) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1304 (insert " "))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1305 ;; (setq mailbox-name-processed-flag t) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1306 ) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1307 ((memq (char-syntax char) '(?. ?\\)) |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1308 (delete-char 1) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1309 (insert " ") |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1310 ;; (setq mailbox-name-processed-flag t) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1311 ) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1312 (t |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1313 (setq atom-beg (point)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1314 (forward-word 1) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1315 (setq atom-end (point)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1316 (goto-char atom-beg) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1317 (save-restriction |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1318 (narrow-to-region atom-beg atom-end) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1319 (cond |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1320 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1321 ;; Handle X.400 addresses encoded in RFC-822. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1322 ;; *** Shit! This has to handle the case where it is |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1323 ;; *** embedded in a quote too! |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1324 ;; *** Shit! The input is being broken up into atoms |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1325 ;; *** by periods! |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1326 ((looking-at mail-extr-x400-encoded-address-pattern) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1327 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1328 ;; Copy the contents of the individual fields that |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1329 ;; might hold name data to the beginning. |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1330 (mapc |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1331 (lambda (field-pattern) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1332 (when |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1333 (save-excursion |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1334 (re-search-forward field-pattern nil t)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1335 (insert-buffer-substring (current-buffer) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1336 (match-beginning 1) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1337 (match-end 1)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1338 (insert " "))) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1339 (list mail-extr-x400-encoded-address-given-name-pattern |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1340 mail-extr-x400-encoded-address-surname-pattern |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1341 mail-extr-x400-encoded-address-full-name-pattern)) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1342 |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1343 ;; Discard the rest, since it contains stuff like |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1344 ;; routing information, not part of a name. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1345 (mail-extr-skip-whitespace-backward) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1346 (delete-region (point) (point-max)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1347 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1348 ;; Handle periods used for spacing. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1349 (while (re-search-forward mail-extr-bad-dot-pattern nil t) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1350 (replace-match "\\1 \\2" t)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1351 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1352 ;; (setq mailbox-name-processed-flag t) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1353 ) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1354 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1355 ;; Handle normal addresses. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1356 (t |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1357 (goto-char (point-min)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1358 ;; Handle _ and = used for spacing. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1359 (while (re-search-forward "\\([^_=]+\\)[_=]" nil t) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1360 (replace-match "\\1 " t) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1361 ;; (setq mailbox-name-processed-flag t) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1362 ) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1363 (goto-char (point-max)))))))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1364 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1365 ;; undo the dirty deed |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1366 (if (not mail-extr-mangle-uucp) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1367 (modify-syntax-entry ?! "." (syntax-table))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1368 ;; |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1369 ;; If we derived the name from the mailbox part of the address, |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1370 ;; and we only got one word out of it, don't treat that as a |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1371 ;; name. "foo@bar" --> (nil "foo@bar"), not ("foo" "foo@bar") |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1372 ;; (if (not mailbox-name-processed-flag) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1373 ;; (delete-region (point-min) (point-max))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1374 )) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1375 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1376 (set-syntax-table mail-extr-address-text-syntax-table) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1377 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1378 (mail-extr-voodoo mbox-beg mbox-end canonicalization-buffer) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1379 (goto-char (point-min)) |
809 | 1380 |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1381 ;; If name is "First Last" and userid is "F?L", then assume |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1382 ;; the middle initial is the second letter in the userid. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1383 ;; Initial code by Jamie Zawinski <jwz@lucid.com> |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1384 ;; *** Make it work when there's a suffix as well. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1385 (goto-char (point-min)) |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1386 (when (and mail-extr-guess-middle-initial |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1387 (not disable-initial-guessing-flag) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1388 (eq 3 (- mbox-end mbox-beg)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1389 (progn |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1390 (goto-char (point-min)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1391 (looking-at mail-extr-two-name-pattern))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1392 (setq fi (char-after (match-beginning 0)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1393 li (char-after (match-beginning 3))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1394 (with-current-buffer canonicalization-buffer |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1395 ;; char-equal is ignoring case here, so no need to upcase |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1396 ;; or downcase. |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1397 (let ((case-fold-search t)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1398 (and (char-equal fi (char-after mbox-beg)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1399 (char-equal li (char-after (1- mbox-end))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1400 (setq mi (char-after (1+ mbox-beg)))))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1401 (when (and mi |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1402 ;; TODO: use better table than syntax table |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1403 (eq ?w (char-syntax mi))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1404 (goto-char (match-beginning 3)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1405 (insert (upcase mi) ". "))) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1406 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1407 ;; Nuke name if it is the same as mailbox name. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1408 (let ((buffer-length (- (point-max) (point-min))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1409 (i 0) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1410 (names-match-flag t)) |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1411 (when (and (> buffer-length 0) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1412 (eq buffer-length (- mbox-end mbox-beg))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1413 (goto-char (point-max)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1414 (insert-buffer-substring canonicalization-buffer |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1415 mbox-beg mbox-end) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1416 (while (and names-match-flag |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1417 (< i buffer-length)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1418 (or (eq (downcase (char-after (+ i (point-min)))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1419 (downcase |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1420 (char-after (+ i buffer-length (point-min))))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1421 (setq names-match-flag nil)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1422 (setq i (1+ i))) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1423 (delete-region (+ (point-min) buffer-length) (point-max)) |
59996
aac0a33f5772
Change release version from 21.4 to 22.1 throughout.
Kim F. Storm <storm@cua.dk>
parents:
57391
diff
changeset
|
1424 (and names-match-flag |
57391
dd2896f4c2b7
(mail-extr-ignore-realname-equals-mailbox-name): New defcustom.
Eli Zaretskii <eliz@gnu.org>
parents:
56764
diff
changeset
|
1425 mail-extr-ignore-realname-equals-mailbox-name |
dd2896f4c2b7
(mail-extr-ignore-realname-equals-mailbox-name): New defcustom.
Eli Zaretskii <eliz@gnu.org>
parents:
56764
diff
changeset
|
1426 (narrow-to-region (point) (point))))) |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1427 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1428 ;; Nuke name if it's just one word. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1429 (goto-char (point-min)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1430 (and mail-extr-ignore-single-names |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1431 (not (re-search-forward "[- ]" nil t)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1432 (narrow-to-region (point) (point))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1433 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1434 ;; Record the result |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1435 (setq value-list |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1436 (cons (list (if (not (= (point-min) (point-max))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1437 (buffer-string)) |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1438 (with-current-buffer canonicalization-buffer |
20285
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1439 (if (not (= (point-min) (point-max))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1440 (buffer-string)))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1441 value-list)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1442 |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1443 ;; Unless one address is all we wanted, |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1444 ;; delete this one from extraction-buffer |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1445 ;; and get ready to extract the next address. |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1446 (when all |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1447 (if end-of-address |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1448 (narrow-to-region 1 end-of-address) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1449 (widen)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1450 (delete-region (point-min) (point-max)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1451 (widen)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1452 ))) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1453 (if all (nreverse value-list) (car value-list)) |
3b0ad3d46bde
(mail-extract-address-components):
Karl Heuer <kwzh@gnu.org>
parents:
20242
diff
changeset
|
1454 )) |
809 | 1455 |
56600
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1456 (defcustom mail-extr-disable-voodoo "\\cj" |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1457 "*If it is a regexp, names matching it will never be modified. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1458 If it is neither nil nor a string, modifying of names will never take |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1459 place. It affects how `mail-extract-address-components' works." |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1460 :type '(choice (regexp :size 0) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1461 (const :tag "Always enabled" nil) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1462 (const :tag "Always disabled" t)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1463 :group 'mail-extr) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1464 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1465 (defun mail-extr-voodoo (mbox-beg mbox-end canonicalization-buffer) |
56600
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1466 (unless (and mail-extr-disable-voodoo |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1467 (or (not (stringp mail-extr-disable-voodoo)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1468 (progn |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1469 (goto-char (point-min)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1470 (re-search-forward mail-extr-disable-voodoo nil t)))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1471 (let ((word-count 0) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1472 (case-fold-search nil) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1473 mixed-case-flag lower-case-flag ;;upper-case-flag |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1474 suffix-flag last-name-comma-flag |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1475 ;;cbeg cend |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1476 initial |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1477 begin-again-flag |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1478 drop-this-word-if-trailing-flag |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1479 drop-last-word-if-trailing-flag |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1480 word-found-flag |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1481 this-word-beg last-word-beg |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1482 name-beg name-end |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1483 name-done-flag |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1484 ) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1485 (save-excursion |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1486 (set-syntax-table mail-extr-address-text-syntax-table) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1487 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1488 ;; Get rid of comments. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1489 (goto-char (point-min)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1490 (while (not (eobp)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1491 ;; Initialize for this iteration of the loop. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1492 (skip-chars-forward "^({[\"'`") |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1493 (let ((cbeg (point))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1494 (set-syntax-table mail-extr-address-text-comment-syntax-table) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1495 (if (memq (following-char) '(?\' ?\`)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1496 (search-forward "'" nil 'move |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1497 (if (eq ?\' (following-char)) 2 1)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1498 (or (mail-extr-safe-move-sexp 1) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1499 (goto-char (point-max)))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1500 (set-syntax-table mail-extr-address-text-syntax-table) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1501 (when (eq (char-after cbeg) ?\() |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1502 ;; Delete the comment itself. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1503 (delete-region cbeg (point)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1504 ;; Canonicalize whitespace where the comment was. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1505 (skip-chars-backward " \t") |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1506 (if (looking-at "\\([ \t]+$\\|[ \t]+,\\)") |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1507 (replace-match "") |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1508 (setq cbeg (point)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1509 (skip-chars-forward " \t") |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1510 (if (bobp) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1511 (delete-region (point) cbeg) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1512 (just-one-space)))))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1513 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1514 ;; This was moved above. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1515 ;; Fix . used as space |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1516 ;; But it belongs here because it occurs not only as |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1517 ;; rypens@reks.uia.ac.be (Piet.Rypens) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1518 ;; but also as |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1519 ;; "Piet.Rypens" <rypens@reks.uia.ac.be> |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1520 ;;(goto-char (point-min)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1521 ;;(while (re-search-forward mail-extr-bad-dot-pattern nil t) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1522 ;; (replace-match "\\1 \\2" t)) |
18816
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1523 |
56600
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1524 (unless (search-forward " " nil t) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1525 (goto-char (point-min)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1526 (cond ((search-forward "_" nil t) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1527 ;; Handle the *idiotic* use of underlines as spaces. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1528 ;; Example: fml@foo.bar.dom (First_M._Last) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1529 (goto-char (point-min)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1530 (while (search-forward "_" nil t) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1531 (replace-match " " t))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1532 ((search-forward "." nil t) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1533 ;; Fix . used as space |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1534 ;; Example: danj1@cb.att.com (daniel.jacobson) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1535 (goto-char (point-min)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1536 (while (re-search-forward mail-extr-bad-dot-pattern nil t) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1537 (replace-match "\\1 \\2" t))))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1538 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1539 ;; Loop over the words (and other junk) in the name. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1540 (goto-char (point-min)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1541 (while (not name-done-flag) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1542 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1543 (when word-found-flag |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1544 ;; Last time through this loop we skipped over a word. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1545 (setq last-word-beg this-word-beg) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1546 (setq drop-last-word-if-trailing-flag |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1547 drop-this-word-if-trailing-flag) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1548 (setq word-found-flag nil)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1549 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1550 (when begin-again-flag |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1551 ;; Last time through the loop we found something that |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1552 ;; indicates we should pretend we are beginning again from |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1553 ;; the start. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1554 (setq word-count 0) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1555 (setq last-word-beg nil) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1556 (setq drop-last-word-if-trailing-flag nil) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1557 (setq mixed-case-flag nil) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1558 (setq lower-case-flag nil) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1559 ;; (setq upper-case-flag nil) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1560 (setq begin-again-flag nil)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1561 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1562 ;; Initialize for this iteration of the loop. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1563 (mail-extr-skip-whitespace-forward) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1564 (if (eq word-count 0) (narrow-to-region (point) (point-max))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1565 (setq this-word-beg (point)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1566 (setq drop-this-word-if-trailing-flag nil) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1567 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1568 ;; Decide what to do based on what we are looking at. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1569 (cond |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1570 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1571 ;; Delete title |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1572 ((and (eq word-count 0) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1573 (looking-at mail-extr-full-name-prefixes)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1574 (goto-char (match-end 0)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1575 (narrow-to-region (point) (point-max))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1576 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1577 ;; Stop after name suffix |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1578 ((and (>= word-count 2) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1579 (looking-at mail-extr-full-name-suffix-pattern)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1580 (mail-extr-skip-whitespace-backward) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1581 (setq suffix-flag (point)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1582 (if (eq ?, (following-char)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1583 (forward-char 1) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1584 (insert ?,)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1585 ;; Enforce at least one space after comma |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1586 (or (eq ?\ (following-char)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1587 (insert ?\ )) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1588 (mail-extr-skip-whitespace-forward) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1589 (cond ((memq (following-char) '(?j ?J ?s ?S)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1590 (capitalize-word 1) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1591 (if (eq (following-char) ?.) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1592 (forward-char 1) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1593 (insert ?.))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1594 (t |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1595 (upcase-word 1))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1596 (setq word-found-flag t) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1597 (setq name-done-flag t)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1598 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1599 ;; Handle SCA names |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1600 ((looking-at "MKA \\(.+\\)") ; "Mundanely Known As" |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1601 (goto-char (match-beginning 1)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1602 (narrow-to-region (point) (point-max)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1603 (setq begin-again-flag t)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1604 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1605 ;; Check for initial last name followed by comma |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1606 ((and (eq ?, (following-char)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1607 (eq word-count 1)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1608 (forward-char 1) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1609 (setq last-name-comma-flag t) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1610 (or (eq ?\ (following-char)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1611 (insert ?\ ))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1612 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1613 ;; Stop before trailing comma-separated comment |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1614 ;; THIS CASE MUST BE AFTER THE PRECEDING CASES. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1615 ;; *** This case is redundant??? |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1616 ;;((eq ?, (following-char)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1617 ;; (setq name-done-flag t)) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
1618 |
56600
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1619 ;; Delete parenthesized/quoted comment/nickname |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1620 ((memq (following-char) '(?\( ?\{ ?\[ ?\" ?\' ?\`)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1621 (setq cbeg (point)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1622 (set-syntax-table mail-extr-address-text-comment-syntax-table) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1623 (cond ((memq (following-char) '(?\' ?\`)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1624 (or (search-forward "'" nil t |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1625 (if (eq ?\' (following-char)) 2 1)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1626 (delete-char 1))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1627 (t |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1628 (or (mail-extr-safe-move-sexp 1) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1629 (goto-char (point-max))))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1630 (set-syntax-table mail-extr-address-text-syntax-table) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1631 (setq cend (point)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1632 (cond |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1633 ;; Handle case of entire name being quoted |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1634 ((and (eq word-count 0) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1635 (looking-at " *\\'") |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1636 (>= (- cend cbeg) 2)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1637 (narrow-to-region (1+ cbeg) (1- cend)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1638 (goto-char (point-min))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1639 (t |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1640 ;; Handle case of quoted initial |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1641 (if (and (or (= 3 (- cend cbeg)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1642 (and (= 4 (- cend cbeg)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1643 (eq ?. (char-after (+ 2 cbeg))))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1644 (not (looking-at " *\\'"))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1645 (setq initial (char-after (1+ cbeg))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1646 (setq initial nil)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1647 (delete-region cbeg cend) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1648 (if initial |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1649 (insert initial ". "))))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1650 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1651 ;; Handle *Stupid* VMS date stamps |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1652 ((looking-at mail-extr-stupid-vms-date-stamp-pattern) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1653 (replace-match "" t)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1654 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1655 ;; Handle Chinese characters. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1656 ((looking-at mail-extr-hz-embedded-gb-encoded-chinese-pattern) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1657 (goto-char (match-end 0)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1658 (setq word-found-flag t)) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1659 |
56600
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1660 ;; Skip initial garbage characters. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1661 ;; THIS CASE MUST BE AFTER THE PRECEDING CASES. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1662 ((and (eq word-count 0) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1663 (looking-at mail-extr-leading-garbage)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1664 (goto-char (match-end 0)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1665 ;; *** Skip backward over these??? |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1666 ;; (skip-chars-backward "& \"") |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1667 (narrow-to-region (point) (point-max))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1668 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1669 ;; Various stopping points |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1670 ((or |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1671 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1672 ;; Stop before ALL CAPS acronyms, if preceded by mixed-case |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1673 ;; words. Example: XT-DEM. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1674 (and (>= word-count 2) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1675 mixed-case-flag |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1676 (looking-at mail-extr-weird-acronym-pattern) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1677 (not (looking-at mail-extr-roman-numeral-pattern))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1678 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1679 ;; Stop before trailing alternative address |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1680 (looking-at mail-extr-alternative-address-pattern) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1681 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1682 ;; Stop before trailing comment not introduced by comma |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1683 ;; THIS CASE MUST BE AFTER AN EARLIER CASE. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1684 (looking-at mail-extr-trailing-comment-start-pattern) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1685 |
56600
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1686 ;; Stop before telephone numbers |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1687 (and (>= word-count 1) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1688 (looking-at mail-extr-telephone-extension-pattern))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1689 (setq name-done-flag t)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1690 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1691 ;; Delete ham radio call signs |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1692 ((looking-at mail-extr-ham-call-sign-pattern) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1693 (delete-region (match-beginning 0) (match-end 0))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1694 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1695 ;; Fixup initials |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1696 ((looking-at mail-extr-initial-pattern) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1697 (or (eq (following-char) (upcase (following-char))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1698 (setq lower-case-flag t)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1699 (forward-char 1) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1700 (if (eq ?. (following-char)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1701 (forward-char 1) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1702 (insert ?.)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1703 (or (eq ?\ (following-char)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1704 (insert ?\ )) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1705 (setq word-found-flag t)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1706 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1707 ;; Handle BITNET LISTSERV list names. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1708 ((and (eq word-count 0) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1709 (looking-at mail-extr-listserv-list-name-pattern)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1710 (narrow-to-region (match-beginning 1) (match-end 1)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1711 (setq word-found-flag t) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1712 (setq name-done-flag t)) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
1713 |
56600
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1714 ;; Handle & substitution, when & is last and is not first. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1715 ((and (> word-count 0) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1716 (eq ?\ (preceding-char)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1717 (eq (following-char) ?&) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1718 (eq (1+ (point)) (point-max))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1719 (delete-char 1) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1720 (capitalize-region |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1721 (point) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1722 (progn |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1723 (insert-buffer-substring canonicalization-buffer |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1724 mbox-beg mbox-end) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1725 (point))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1726 (setq disable-initial-guessing-flag t) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1727 (setq word-found-flag t)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1728 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1729 ;; Handle & between names, as in "Bob & Susie". |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1730 ((and (> word-count 0) (eq (following-char) ?\&)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1731 (setq name-beg (point)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1732 (setq name-end (1+ name-beg)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1733 (setq word-found-flag t) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1734 (goto-char name-end)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1735 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1736 ;; Regular name words |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1737 ((looking-at mail-extr-name-pattern) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1738 (setq name-beg (point)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1739 (setq name-end (match-end 0)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1740 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1741 ;; Certain words will be dropped if they are at the end. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1742 (and (>= word-count 2) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1743 (not lower-case-flag) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1744 (or |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1745 ;; Trailing 4-or-more letter lowercase words preceded by |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1746 ;; mixed case or uppercase words will be dropped. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1747 (looking-at "[[:lower:]]\\{4,\\}[ \t]*\\'") |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1748 ;; Drop a trailing word which is terminated with a period. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1749 (eq ?. (char-after (1- name-end)))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1750 (setq drop-this-word-if-trailing-flag t)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1751 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1752 ;; Set the flags that indicate whether we have seen a lowercase |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1753 ;; word, a mixed case word, and an uppercase word. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1754 (if (re-search-forward "[[:lower:]]" name-end t) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1755 (if (progn |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1756 (goto-char name-beg) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1757 (re-search-forward "[[:upper:]]" name-end t)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1758 (setq mixed-case-flag t) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1759 (setq lower-case-flag t)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1760 ;; (setq upper-case-flag t) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1761 ) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1762 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1763 (goto-char name-end) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1764 (setq word-found-flag t)) |
809 | 1765 |
56600
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1766 ;; Allow a number as a word, if it doesn't mean anything else. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1767 ((looking-at "[0-9]+\\>") |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1768 (setq name-beg (point)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1769 (setq name-end (match-end 0)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1770 (goto-char name-end) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1771 (setq word-found-flag t)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1772 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1773 (t |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1774 (setq name-done-flag t) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1775 )) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1776 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1777 ;; Count any word that we skipped over. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1778 (if word-found-flag |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1779 (setq word-count (1+ word-count)))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1780 |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1781 ;; If the last thing in the name is 2 or more periods, or one or more |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1782 ;; other sentence terminators (but not a single period) then keep them |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1783 ;; and the preceding word. This is for the benefit of whole sentences |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1784 ;; in the name field: it's better behavior than dropping the last word |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1785 ;; of the sentence... |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1786 (if (and (not suffix-flag) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1787 (looking-at "\\(\\.+\\|[?!;:.][?!;:.]+\\|[?!;:][?!;:.]*\\)\\'")) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1788 (goto-char (setq suffix-flag (point-max)))) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
1789 |
56600
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1790 ;; Drop everything after point and certain trailing words. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1791 (narrow-to-region (point-min) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1792 (or (and drop-last-word-if-trailing-flag |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1793 last-word-beg) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1794 (point))) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
1795 |
56600
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1796 ;; Xerox's mailers SUCK!!!!!! |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1797 ;; We simply refuse to believe that any last name is PARC or ADOC. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1798 ;; If it looks like that is the last name, that there is no meaningful |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1799 ;; here at all. Actually I guess it would be best to map patterns |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1800 ;; like foo.hoser@xerox.com into foo@hoser.xerox.com, but I don't |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1801 ;; actually know that that is what's going on. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1802 (unless suffix-flag |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1803 (goto-char (point-min)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1804 (let ((case-fold-search t)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1805 (if (looking-at "[-A-Za-z_]+[. ]\\(PARC\\|ADOC\\)\\'") |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1806 (erase-buffer)))) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
1807 |
56600
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1808 ;; If last name first put it at end (but before suffix) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1809 (when last-name-comma-flag |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1810 (goto-char (point-min)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1811 (search-forward ",") |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1812 (setq name-end (1- (point))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1813 (goto-char (or suffix-flag (point-max))) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1814 (or (eq ?\ (preceding-char)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1815 (insert ?\ )) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1816 (insert-buffer-substring (current-buffer) (point-min) name-end) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1817 (goto-char name-end) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1818 (skip-chars-forward "\t ,") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1819 (narrow-to-region (point) (point-max))) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
1820 |
56600
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1821 ;; Delete leading and trailing junk characters. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1822 ;; *** This is probably completely unneeded now. |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1823 ;;(goto-char (point-max)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1824 ;;(skip-chars-backward mail-extr-non-end-name-chars) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1825 ;;(if (eq ?. (following-char)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1826 ;; (forward-char 1)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1827 ;;(narrow-to-region (point) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1828 ;; (progn |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1829 ;; (goto-char (point-min)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1830 ;; (skip-chars-forward mail-extr-non-begin-name-chars) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1831 ;; (point))) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
1832 |
56600
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1833 ;; Compress whitespace |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1834 (goto-char (point-min)) |
56600
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1835 (while (re-search-forward "[ \t\n]+" nil t) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1836 (replace-match (if (eobp) "" " ") t)) |
3e6748f33315
(mail-extr-disable-voodoo): New variable.
Kenichi Handa <handa@m17n.org>
parents:
52916
diff
changeset
|
1837 )))) |
809 | 1838 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1839 |
809 | 1840 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1841 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1842 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1843 ;; Table of top-level domain names. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1844 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1845 ;; This is used during address canonicalization; be careful of format changes. |
809 | 1846 ;; Keep in mind that the country abbreviations follow ISO-3166. There is |
1847 ;; a U.S. FIPS that specifies a different set of two-letter country | |
1848 ;; abbreviations. | |
46273
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
1849 ;; |
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
1850 ;; Updated by the RIPE Network Coordination Centre. |
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
1851 ;; |
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
1852 ;; Source: ISO 3166 Maintenance Agency |
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
1853 ;; http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1-semic.txt |
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
1854 ;; http://www.iana.org/domain-names.htm |
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
1855 ;; http://www.iana.org/cctld/cctld-whois.htm |
79435
31904ab276cd
(mail-extr-all-top-level-domains): Update domains.
Glenn Morris <rgm@gnu.org>
parents:
78232
diff
changeset
|
1856 ;; Latest change: 2007/11/15 |
809 | 1857 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1858 (defconst mail-extr-all-top-level-domains |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1859 (let ((ob (make-vector 739 0))) |
41300
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1860 (mapc |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1861 (lambda (x) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1862 (put (intern (downcase (car x)) ob) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1863 'domain-name |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1864 (if (nth 2 x) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1865 (format (nth 2 x) (nth 1 x)) |
5f6710a130ca
Use backquote/dolist/mapc/when. Docstring fixes.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
41159
diff
changeset
|
1866 (nth 1 x)))) |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1867 '( |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1868 ;; ISO 3166 codes: |
79435
31904ab276cd
(mail-extr-all-top-level-domains): Update domains.
Glenn Morris <rgm@gnu.org>
parents:
78232
diff
changeset
|
1869 ("ac" "Ascension Island") |
20427
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
1870 ("ad" "Andorra") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1871 ("ae" "United Arab Emirates") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1872 ("af" "Afghanistan") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1873 ("ag" "Antigua and Barbuda") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1874 ("ai" "Anguilla") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1875 ("al" "Albania") |
20427
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
1876 ("am" "Armenia") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1877 ("an" "Netherlands Antilles") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1878 ("ao" "Angola") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1879 ("aq" "Antarctica") ; continent |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1880 ("ar" "Argentina" "Argentine Republic") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1881 ("as" "American Samoa") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1882 ("at" "Austria" "The Republic of %s") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1883 ("au" "Australia") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1884 ("aw" "Aruba") |
79435
31904ab276cd
(mail-extr-all-top-level-domains): Update domains.
Glenn Morris <rgm@gnu.org>
parents:
78232
diff
changeset
|
1885 ("ax" "Aland Islands") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1886 ("az" "Azerbaijan") |
20427
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
1887 ("ba" "Bosnia-Herzegovina") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1888 ("bb" "Barbados") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1889 ("bd" "Bangladesh") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1890 ("be" "Belgium" "The Kingdom of %s") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1891 ("bf" "Burkina Faso") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1892 ("bg" "Bulgaria") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1893 ("bh" "Bahrain") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1894 ("bi" "Burundi") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1895 ("bj" "Benin") |
79435
31904ab276cd
(mail-extr-all-top-level-domains): Update domains.
Glenn Morris <rgm@gnu.org>
parents:
78232
diff
changeset
|
1896 ("bl" "Saint Barthelemy") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1897 ("bm" "Bermuda") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1898 ("bn" "Brunei Darussalam") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1899 ("bo" "Bolivia" "Republic of %s") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1900 ("br" "Brazil" "The Federative Republic of %s") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1901 ("bs" "Bahamas") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1902 ("bt" "Bhutan") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1903 ("bv" "Bouvet Island") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1904 ("bw" "Botswana") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1905 ("by" "Belarus") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1906 ("bz" "Belize") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1907 ("ca" "Canada") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1908 ("cc" "Cocos (Keeling) Islands") |
46273
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
1909 ("cd" "Congo" "The Democratic Republic of the %s") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1910 ("cf" "Central African Republic") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1911 ("cg" "Congo") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1912 ("ch" "Switzerland" "The Swiss Confederation") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1913 ("ci" "Ivory Coast") ; Cote D'ivoire |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1914 ("ck" "Cook Islands") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1915 ("cl" "Chile" "The Republic of %s") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1916 ("cm" "Cameroon") ; In .fr domain |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1917 ("cn" "China" "The People's Republic of %s") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1918 ("co" "Colombia") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1919 ("cr" "Costa Rica" "The Republic of %s") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1920 ("cu" "Cuba") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1921 ("cv" "Cape Verde") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1922 ("cx" "Christmas Island") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1923 ("cy" "Cyprus") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1924 ("cz" "Czech Republic") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1925 ("de" "Germany") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1926 ("dj" "Djibouti") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1927 ("dk" "Denmark") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1928 ("dm" "Dominica") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1929 ("do" "Dominican Republic" "The %s") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1930 ("dz" "Algeria") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1931 ("ec" "Ecuador" "The Republic of %s") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1932 ("ee" "Estonia") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1933 ("eg" "Egypt" "The Arab Republic of %s") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1934 ("eh" "Western Sahara") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1935 ("er" "Eritrea") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1936 ("es" "Spain" "The Kingdom of %s") |
20427
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
1937 ("et" "Ethiopia") |
79435
31904ab276cd
(mail-extr-all-top-level-domains): Update domains.
Glenn Morris <rgm@gnu.org>
parents:
78232
diff
changeset
|
1938 ("eu" "European Union") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1939 ("fi" "Finland" "The Republic of %s") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1940 ("fj" "Fiji") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1941 ("fk" "Falkland Islands (Malvinas)") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1942 ("fm" "Micronesia" "Federated States of %s") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1943 ("fo" "Faroe Islands") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1944 ("fr" "France") |
20427
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
1945 ("ga" "Gabon") |
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
1946 ("gb" "United Kingdom") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1947 ("gd" "Grenada") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1948 ("ge" "Georgia") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1949 ("gf" "French Guiana") |
79435
31904ab276cd
(mail-extr-all-top-level-domains): Update domains.
Glenn Morris <rgm@gnu.org>
parents:
78232
diff
changeset
|
1950 ("gg" "Guernsey") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1951 ("gh" "Ghana") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1952 ("gi" "Gibraltar") |
20427
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
1953 ("gl" "Greenland") |
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
1954 ("gm" "Gambia") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1955 ("gn" "Guinea") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1956 ("gp" "Guadeloupe (Fr.)") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1957 ("gq" "Equatorial Guinea") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1958 ("gr" "Greece" "The Hellenic Republic (%s)") |
46273
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
1959 ("gs" "South Georgia and The South Sandwich Islands") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1960 ("gt" "Guatemala") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1961 ("gu" "Guam (U.S.)") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1962 ("gw" "Guinea-Bissau") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1963 ("gy" "Guyana") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1964 ("hk" "Hong Kong") |
46273
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
1965 ("hm" "Heard Island and Mcdonald Islands") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1966 ("hn" "Honduras") |
20427
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
1967 ("hr" "Croatia" "Croatia (Hrvatska)") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1968 ("ht" "Haiti") |
20427
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
1969 ("hu" "Hungary" "The Hungarian Republic") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1970 ("id" "Indonesia") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1971 ("ie" "Ireland") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1972 ("il" "Israel" "The State of %s") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1973 ("im" "Isle of Man" "The %s") ; NOT in ISO 3166-1 of 2001-02-26 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1974 ("in" "India" "The Republic of %s") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1975 ("io" "British Indian Ocean Territory") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1976 ("iq" "Iraq") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1977 ("ir" "Iran" "Islamic Republic of %s") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1978 ("is" "Iceland" "The Republic of %s") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1979 ("it" "Italy" "The Italian Republic") |
79435
31904ab276cd
(mail-extr-all-top-level-domains): Update domains.
Glenn Morris <rgm@gnu.org>
parents:
78232
diff
changeset
|
1980 ("je" "Jersey") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1981 ("jm" "Jamaica") |
20427
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
1982 ("jo" "Jordan") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1983 ("jp" "Japan") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1984 ("ke" "Kenya") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1985 ("kg" "Kyrgyzstan") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1986 ("kh" "Cambodia") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1987 ("ki" "Kiribati") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1988 ("km" "Comoros") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1989 ("kn" "Saint Kitts and Nevis") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1990 ("kp" "Korea (North)" "Democratic People's Republic of Korea") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1991 ("kr" "Korea (South)" "Republic of Korea") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1992 ("kw" "Kuwait") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1993 ("ky" "Cayman Islands") |
46273
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
1994 ("kz" "Kazakhstan") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1995 ("la" "Lao People's Democratic Republic") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1996 ("lb" "Lebanon") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
1997 ("lc" "Saint Lucia") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1998 ("li" "Liechtenstein") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1999 ("lk" "Sri Lanka" "The Democratic Socialist Republic of %s") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2000 ("lr" "Liberia") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2001 ("ls" "Lesotho") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2002 ("lt" "Lithuania") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2003 ("lu" "Luxembourg") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2004 ("lv" "Latvia") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2005 ("ly" "Libyan Arab Jamahiriya") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2006 ("ma" "Morocco") |
20427
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
2007 ("mc" "Monaco") |
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
2008 ("md" "Moldova" "The Republic of %s") |
79435
31904ab276cd
(mail-extr-all-top-level-domains): Update domains.
Glenn Morris <rgm@gnu.org>
parents:
78232
diff
changeset
|
2009 ("me" "Montenegro") |
31904ab276cd
(mail-extr-all-top-level-domains): Update domains.
Glenn Morris <rgm@gnu.org>
parents:
78232
diff
changeset
|
2010 ("mf" "Saint Martin (French part)") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2011 ("mg" "Madagascar") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2012 ("mh" "Marshall Islands") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2013 ("mk" "Macedonia" "The Former Yugoslav Republic of %s") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2014 ("ml" "Mali") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2015 ("mm" "Myanmar") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2016 ("mn" "Mongolia") |
46273
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2017 ("mo" "Macao") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2018 ("mp" "Northern Mariana Islands") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2019 ("mq" "Martinique") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2020 ("mr" "Mauritania") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2021 ("ms" "Montserrat") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2022 ("mt" "Malta") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2023 ("mu" "Mauritius") |
20427
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
2024 ("mv" "Maldives") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2025 ("mw" "Malawi") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2026 ("mx" "Mexico" "The United Mexican States") |
46273
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2027 ("my" "Malaysia") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2028 ("mz" "Mozambique") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2029 ("na" "Namibia") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2030 ("nc" "New Caledonia (Fr.)") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2031 ("ne" "Niger") ; In .fr domain |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2032 ("nf" "Norfolk Island") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2033 ("ng" "Nigeria") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2034 ("ni" "Nicaragua" "The Republic of %s") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2035 ("nl" "Netherlands" "The Kingdom of the %s") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2036 ("no" "Norway" "The Kingdom of %s") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2037 ("np" "Nepal") ; Via .in domain |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2038 ("nr" "Nauru") |
20427
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
2039 ("nu" "Niue") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2040 ("nz" "New Zealand") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2041 ("om" "Oman") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2042 ("pa" "Panama") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2043 ("pe" "Peru") |
46273
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2044 ("pf" "French Polynesia") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2045 ("pg" "Papua New Guinea") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2046 ("ph" "Philippines" "The Republic of the %s") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2047 ("pk" "Pakistan") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2048 ("pl" "Poland") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2049 ("pm" "Saint Pierre and Miquelon") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2050 ("pn" "Pitcairn") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2051 ("pr" "Puerto Rico (U.S.)") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2052 ("ps" "Palestinian Territory, Occupied") |
13959 | 2053 ("pt" "Portugal" "The Portuguese Republic") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2054 ("pw" "Palau") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2055 ("py" "Paraguay") |
20427
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
2056 ("qa" "Qatar") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2057 ("re" "Reunion (Fr.)") ; In .fr domain |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2058 ("ro" "Romania") |
79435
31904ab276cd
(mail-extr-all-top-level-domains): Update domains.
Glenn Morris <rgm@gnu.org>
parents:
78232
diff
changeset
|
2059 ("rs" "Serbia") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2060 ("ru" "Russia" "Russian Federation") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2061 ("rw" "Rwanda") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2062 ("sa" "Saudi Arabia") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2063 ("sb" "Solomon Islands") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2064 ("sc" "Seychelles") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2065 ("sd" "Sudan") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2066 ("se" "Sweden" "The Kingdom of %s") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2067 ("sg" "Singapore" "The Republic of %s") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2068 ("sh" "Saint Helena") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2069 ("si" "Slovenia") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2070 ("sj" "Svalbard and Jan Mayen") ; In .no domain |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2071 ("sk" "Slovakia" "The Slovak Republic") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2072 ("sl" "Sierra Leone") |
20427
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
2073 ("sm" "San Marino") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2074 ("sn" "Senegal") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2075 ("so" "Somalia") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2076 ("sr" "Suriname") |
46273
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2077 ("st" "Sao Tome and Principe") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2078 ("su" "U.S.S.R." "The Union of Soviet Socialist Republics") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2079 ("sv" "El Salvador") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2080 ("sy" "Syrian Arab Republic") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2081 ("sz" "Swaziland") |
46273
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2082 ("tc" "Turks and Caicos Islands") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2083 ("td" "Chad") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2084 ("tf" "French Southern Territories") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2085 ("tg" "Togo") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2086 ("th" "Thailand" "The Kingdom of %s") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2087 ("tj" "Tajikistan") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2088 ("tk" "Tokelau") |
46273
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2089 ("tl" "East Timor") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2090 ("tm" "Turkmenistan") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2091 ("tn" "Tunisia") |
20427
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
2092 ("to" "Tonga") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2093 ("tp" "East Timor") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2094 ("tr" "Turkey" "The Republic of %s") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2095 ("tt" "Trinidad and Tobago") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2096 ("tv" "Tuvalu") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2097 ("tw" "Taiwan" "%s, Province of China") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2098 ("tz" "Tanzania" "United Republic of %s") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2099 ("ua" "Ukraine") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2100 ("ug" "Uganda") |
8318
3fc49ff2ea03
(mail-extr-all-top-level-domains): Update a few long names.
Richard M. Stallman <rms@gnu.org>
parents:
7133
diff
changeset
|
2101 ("uk" "United Kingdom" "The %s of Great Britain and Northern Ireland") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2102 ("um" "United States Minor Outlying Islands") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2103 ("us" "United States" "The %s of America") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2104 ("uy" "Uruguay" "The Eastern Republic of %s") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2105 ("uz" "Uzbekistan") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2106 ("va" "Holy See (Vatican City State)") |
46273
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2107 ("vc" "Saint Vincent and the Grenadines") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2108 ("ve" "Venezuela" "The Republic of %s") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2109 ("vg" "Virgin Islands, British") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2110 ("vi" "Virgin Islands, U.S.") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2111 ("vn" "Vietnam") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2112 ("vu" "Vanuatu") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2113 ("wf" "Wallis and Futuna") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2114 ("ws" "Samoa") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2115 ("ye" "Yemen") |
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2116 ("yt" "Mayotte") |
20427
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
2117 ("yu" "Yugoslavia" "Yugoslavia, AKA Serbia-Montenegro") |
1b4f02e638b8
(mail-extr-all-top-level-domains): More domains.
Karl Heuer <kwzh@gnu.org>
parents:
20400
diff
changeset
|
2118 ("za" "South Africa" "The Republic of %s") |
38363
413a99578997
(mail-extr-all-top-level-domains): Increase
Gerd Moellmann <gerd@gnu.org>
parents:
37148
diff
changeset
|
2119 ("zm" "Zambia") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2120 ("zw" "Zimbabwe" "Republic of %s") |
46273
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2121 ;; Generic Domains: |
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2122 ("aero" t "Air Transport Industry") |
79435
31904ab276cd
(mail-extr-all-top-level-domains): Update domains.
Glenn Morris <rgm@gnu.org>
parents:
78232
diff
changeset
|
2123 ("asia" t "Pan-Asia and Asia Pacific community") |
46273
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2124 ("biz" t "Businesses") |
79435
31904ab276cd
(mail-extr-all-top-level-domains): Update domains.
Glenn Morris <rgm@gnu.org>
parents:
78232
diff
changeset
|
2125 ("cat" t "Catalan language and culture") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2126 ("com" t "Commercial") |
46273
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2127 ("coop" t "Cooperative Associations") |
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2128 ("info" t "Info") |
79435
31904ab276cd
(mail-extr-all-top-level-domains): Update domains.
Glenn Morris <rgm@gnu.org>
parents:
78232
diff
changeset
|
2129 ("jobs" t "Employment") |
31904ab276cd
(mail-extr-all-top-level-domains): Update domains.
Glenn Morris <rgm@gnu.org>
parents:
78232
diff
changeset
|
2130 ("mobi" t "Mobile products") |
46273
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2131 ("museum" t "Museums") |
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2132 ("name" t "Individuals") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2133 ("net" t "Network") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2134 ("org" t "Non-profit Organization") |
79435
31904ab276cd
(mail-extr-all-top-level-domains): Update domains.
Glenn Morris <rgm@gnu.org>
parents:
78232
diff
changeset
|
2135 ("pro" t "Credentialed professionals") |
31904ab276cd
(mail-extr-all-top-level-domains): Update domains.
Glenn Morris <rgm@gnu.org>
parents:
78232
diff
changeset
|
2136 ("tel" t "Contact data") |
31904ab276cd
(mail-extr-all-top-level-domains): Update domains.
Glenn Morris <rgm@gnu.org>
parents:
78232
diff
changeset
|
2137 ("travel" t "Travel industry") |
46273
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2138 ;;("bitnet" t "Because It's Time NET") |
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2139 ("gov" t "United States Government") |
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2140 ("edu" t "Educational") |
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2141 ("mil" t "United States Military") |
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2142 ("int" t "International Treaties") |
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2143 ;;("nato" t "North Atlantic Treaty Organization") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
2144 ("uucp" t "Unix to Unix CoPy") |
46273
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2145 ;; Infrastructure Domains: |
9854e85b69c8
(mail-extr-all-top-level-domains): Update names.
Simon Josefsson <jas@extundo.com>
parents:
46255
diff
changeset
|
2146 ("arpa" t "Advanced Research Projects Agency (U.S. DoD)") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2147 )) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2148 ob)) |
809 | 2149 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2150 ;;;###autoload |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2151 (defun what-domain (domain) |
8356 | 2152 "Convert mail domain DOMAIN to the country it corresponds to." |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2153 (interactive |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2154 (let ((completion-ignore-case t)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2155 (list (completing-read "Domain: " |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2156 mail-extr-all-top-level-domains nil t)))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2157 (or (setq domain (intern-soft (downcase domain) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2158 mail-extr-all-top-level-domains)) |
14029
8812f5ef65db
(mail-extr-nuke-outside-range): Fix error message.
Richard M. Stallman <rms@gnu.org>
parents:
13959
diff
changeset
|
2159 (error "No such domain")) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2160 (message "%s: %s" (upcase (symbol-name domain)) (get domain 'domain-name))) |
809 | 2161 |
2162 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2163 ;(let ((all nil)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2164 ; (mapatoms #'(lambda (x) |
47939
5f47d61ffbdc
Fix typo in comment.
Juanma Barranquero <lekktu@gmail.com>
parents:
47615
diff
changeset
|
2165 ; (if (and (boundp x) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2166 ; (string-match "^mail-extr-" (symbol-name x))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2167 ; (setq all (cons x all))))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2168 ; (setq all (sort all #'string-lessp)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2169 ; (cons 'setq |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2170 ; (apply 'nconc (mapcar #'(lambda (x) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2171 ; (list x (symbol-value x))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2172 ; all)))) |
809 | 2173 |
2174 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2175 (provide 'mail-extr) |
809 | 2176 |
93975
1e3a407766b9
Fix up comment convention on the arch-tag lines.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92148
diff
changeset
|
2177 ;; arch-tag: 7785fade-1073-4ed6-b4f6-28db34a7982d |
809 | 2178 ;;; mail-extr.el ends here |