Mercurial > emacs
annotate lisp/mail/mail-extr.el @ 19490:04b0c835c0eb
(caar, cadr, cdar, cddr): Definitiosn deleted.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 23 Aug 1997 18:53:50 +0000 |
parents | 8a0265f609ff |
children | 5458685d9a67 |
rev | line source |
---|---|
809 | 1 ;;; mail-extr.el --- extract full name and address from RFC 822 mail header. |
2 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
3 ;; Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc. |
846
20674ae6bf52
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
809
diff
changeset
|
4 |
809 | 5 ;; Author: Joe Wells <jbw@cs.bu.edu> |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
6 ;; Maintainer: 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
|
7 ;; Version: 1.8 |
809 | 8 ;; Keywords: mail |
9 | |
10 ;; This file is part of GNU Emacs. | |
11 | |
12 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
13 ;; it under the terms of the GNU General Public License as published by | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
14 ;; the Free Software Foundation; either version 2, or (at your option) |
809 | 15 ;; any later version. |
16 | |
17 ;; GNU Emacs is distributed in the hope that it will be useful, | |
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 ;; GNU General Public License for more details. | |
21 | |
22 ;; You should have received a copy of the GNU General Public License | |
14169 | 23 ;; along with GNU Emacs; see the file COPYING. If not, write to the |
24 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
25 ;; Boston, MA 02111-1307, USA. | |
809 | 26 |
27 ;;; Commentary: | |
28 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
29 ;; 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
|
30 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
31 ;; mail-extract-address-components: (address) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
32 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
33 ;; 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
|
34 ;; 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
|
35 ;; If no name can be extracted, FULL-NAME will be nil. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
36 ;; ADDRESS may be a string or a buffer. If it is a buffer, the visible |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
37 ;; (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
|
38 ;; (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
|
39 ;; 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
|
40 ;; 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
|
41 ;; returned. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
42 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
43 ;; 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
|
44 ;; 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
|
45 ;; |
809 | 46 ;; 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
|
47 ;; |
809 | 48 ;; 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
|
49 ;; any other package we know of. (On the other hand, it will cheerfully |
809 | 50 ;; mangle non-human names/comments.) |
51 ;; 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
|
52 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
53 ;; 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
|
54 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
55 ;; We have an extensive test-case collection of funny addresses if you want to |
809 | 56 ;; 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
|
57 ;; 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
|
58 ;; 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
|
59 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
60 ;; If you find an address that mail-extr fails on, please send it to the |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
61 ;; 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
|
62 ;; not consider it a bug if mail-extr mangles a comment that 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
|
63 ;; correspond to a real human full name, although we would prefer that |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
64 ;; 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
|
65 ;; |
809 | 66 ;; 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
|
67 ;; |
809 | 68 ;; * 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
|
69 ;; |
809 | 70 ;; * knows where full names can be found in an address. |
71 ;; * avoids using empty comments and quoted text. | |
72 ;; * extracts full names from mailbox names. | |
73 ;; * recognizes common formats for comments after a full name. | |
74 ;; * 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
|
75 ;; * 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
|
76 ;; * strips name prefixes like "Prof.", etc. |
809 | 77 ;; * understands what characters can occur in names (not just letters). |
78 ;; * figures out middle initial from mailbox name. | |
79 ;; * removes funny nicknames. | |
80 ;; * keeps suffixes such as Jr., Sr., III, etc. | |
81 ;; * 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
|
82 ;; |
809 | 83 ;; * 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
|
84 ;; |
809 | 85 ;; * parses rfc822 quoted text, comments, and domain literals. |
86 ;; * parses rfc822 multi-line headers. | |
87 ;; * does something reasonable with rfc822 GROUP addresses. | |
88 ;; * handles many rfc822 noncompliant and garbage addresses. | |
89 ;; * canonicalizes addresses (after stripping comments/phrases outside <>). | |
90 ;; * converts ! addresses into .UUCP and %-style addresses. | |
91 ;; * converts rfc822 ROUTE addresses to %-style addresses. | |
92 ;; * truncates %-style addresses at leftmost fully qualified domain name. | |
93 ;; * 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
|
94 ;; |
809 | 95 ;; It does almost no string creation. It primarily uses the built-in |
96 ;; parsing routines with the appropriate syntax tables. This should | |
97 ;; 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
|
98 ;; |
809 | 99 ;; 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
|
100 ;; |
809 | 101 ;; * handle all test cases. (This will take forever.) |
102 ;; * software to pick the correct header to use (eg., "Senders-Name:"). | |
103 ;; * multiple addresses in the "From:" header (almost all of the necessary | |
104 ;; code is there). | |
105 ;; * flag to not treat `,' as an address separator. (This is useful when | |
106 ;; there is a "From:" header but no "Sender:" header, because then there | |
107 ;; is only allowed to be one address.) | |
108 ;; * mailbox name does not necessarily contain full name. | |
109 ;; * fixing capitalization when it's all upper or lowercase. (Hard!) | |
110 ;; * some of the domain literal handling is missing. (But I've never even | |
111 ;; seen one of these in a mail address, so maybe no big deal.) | |
112 ;; * arrange to have syntax tables byte-compiled. | |
113 ;; * speed hacks. | |
114 ;; * delete unused variables. | |
115 ;; * arrange for testing with different relative precedences of ! vs. @ | |
116 ;; and %. | |
117 ;; * insert documentation strings! | |
118 ;; * handle X.400-gatewayed addresses according to RFC 1148. | |
119 | |
120 ;;; Change Log: | |
121 ;; | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
122 ;; 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
|
123 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
124 ;; * 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
|
125 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
126 ;; 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
|
127 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
128 ;; * 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
|
129 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
130 ;; 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
|
131 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
132 ;; * 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
|
133 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
134 ;; 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
|
135 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
136 ;; * 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
|
137 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
138 ;; Tue Mar 23 21:23:18 1993 Joe Wells (jbw at csd.bu.edu) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
139 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
140 ;; * Made mail-full-name-prefixes a user-customizable variable. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
141 ;; Allow passing the address as a buffer as well as as 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
|
142 ;; Allow [ and ] as name characters (Finnish 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
|
143 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
144 ;; Mon Mar 22 21:20:56 1993 Joe Wells (jbw at bigbird.bu.edu) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
145 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
146 ;; * 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
|
147 ;; 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
|
148 ;; 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
|
149 ;; 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
|
150 ;; 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
|
151 ;; Handle more kinds of telephone extension lead-ins. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
152 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
153 ;; Mon Mar 22 20:16:57 1993 Joe Wells (jbw at bigbird.bu.edu) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
154 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
155 ;; * Handle HZ encoding for embedding GB encoded chinese characters. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
156 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
157 ;; Mon Mar 22 00:46:12 1993 Joe Wells (jbw at bigbird.bu.edu) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
158 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
159 ;; * 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
|
160 ;; 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
|
161 ;; 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
|
162 ;; 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
|
163 ;; 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
|
164 ;; 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
|
165 ;; 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
|
166 ;; 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
|
167 ;; certain trailing words are discarded. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
168 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
169 ;; Sun Mar 21 21:41:06 1993 Joe Wells (jbw at bigbird.bu.edu) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
170 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
171 ;; * 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
|
172 ;; 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
|
173 ;; names. Ignore comment field containing mailbox name. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
174 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
175 ;; Sun Mar 21 14:39:38 1993 Joe Wells (jbw at bigbird.bu.edu) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
176 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
177 ;; * 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
|
178 ;; 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
|
179 ;; flag to ignore single-word names. Other changes. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
180 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
181 ;; Mon Feb 1 22:23:31 1993 Joe Wells (jbw at bigbird.bu.edu) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
182 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
183 ;; * 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
|
184 ;; includes the flag mail-extr-guess-middle-initial and the fix for |
7133 | 185 ;; handling multiple addresses correctly. (Whitby just changed |
186 ;; a > to a <.) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
187 ;; |
809 | 188 ;; Mon Apr 6 23:59:09 1992 Joe Wells (jbw at bigbird.bu.edu) |
189 ;; | |
190 ;; * Cleaned up some more. Release version 1.0 to world. | |
191 ;; | |
192 ;; Sun Apr 5 19:39:08 1992 Joe Wells (jbw at bigbird.bu.edu) | |
193 ;; | |
194 ;; * Cleaned up full name extraction extensively. | |
195 ;; | |
196 ;; Sun Feb 2 14:45:24 1992 Joe Wells (jbw at bigbird.bu.edu) | |
197 ;; | |
198 ;; * Total rewrite. Integrated mail-canonicalize-address into | |
199 ;; mail-extract-address-components. Now handles GROUP addresses more | |
200 ;; or less correctly. Better handling of lots of different cases. | |
201 ;; | |
202 ;; Fri Jun 14 19:39:50 1991 | |
203 ;; * Created. | |
204 | |
205 ;;; Code: | |
206 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
207 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
208 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
209 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
210 ;; 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
|
211 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
212 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
213 (defvar mail-extr-guess-middle-initial nil |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
214 "*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
|
215 If true, then when we see an address like \"John Smith <jqs@host.com>\" |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
216 we will assume that \"John Q. Smith\" is the fellow's name.") |
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 (defvar mail-extr-ignore-single-names t |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
219 "*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
|
220 If true, then when we see an address like \"Idiot <dumb@stupid.com>\" |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
221 we will act as though we couldn't find a full name in the address.") |
809 | 222 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
223 ;; 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
|
224 ;; contribute to uniquely identifying 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
|
225 (defvar mail-extr-full-name-prefixes |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
226 (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
227 "\\(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
|
228 "*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
|
229 These are stripped from the full name because they do not contribute to |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
230 uniquely identifying 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
|
231 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
232 (defvar mail-extr-@-binds-tighter-than-! nil |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
233 "*Whether the local mail transport agent looks at ! before @.") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
234 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
235 (defvar mail-extr-mangle-uucp nil |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
236 "*Whether to throw away information in UUCP addresses |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
237 by translating things like \"foo!bar!baz@host\" into \"baz@bar.UUCP\".") |
809 | 238 |
239 ;;---------------------------------------------------------------------- | |
240 ;; what orderings are meaningful????? | |
241 ;;(defvar mail-operator-precedence-list '(?! ?% ?@)) | |
242 ;; Right operand of a % or a @ must be a domain name, period. No other | |
243 ;; operators allowed. Left operand of a @ is an address relative to that | |
244 ;; site. | |
245 | |
246 ;; Left operand of a ! must be a domain name. Right operand is an | |
247 ;; arbitrary address. | |
248 ;;---------------------------------------------------------------------- | |
249 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
250 |
809 | 251 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
252 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
253 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
254 ;; 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
|
255 ;; |
809 | 256 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
257 ;; Codes in |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
258 ;; Names in ISO 8859-1 Name |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
259 ;; ISO 10XXX ISO 8859-2 in |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
260 ;; ISO 6937 ISO 10646 RFC Swedish |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
261 ;; etc. Hex Oct 1345 TeX Split ASCII Description |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
262 ;; --------- ---------- ---- --- ----- ----- ------------------------------- |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
263 ;; %a E4 344 a: \"a ae { latin small a + diaeresis d |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
264 ;; %o F6 366 o: \"o oe | latin small o + diaeresis v |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
265 ;; @a E5 345 aa \oa aa } latin small a + ring above e |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
266 ;; %u FC 374 u: \"u ue ~ latin small u + diaeresis | |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
267 ;; /e E9 351 e' \'e ` latin small e + acute i |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
268 ;; %A C4 304 A: \"A AE [ latin capital a + diaeresis D |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
269 ;; %O D6 326 O: \"O OE \ latin capital o + diaeresis V |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
270 ;; @A C5 305 AA \oA AA ] latin capital a + ring above E |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
271 ;; %U DC 334 U: \"U UE ^ latin capital u + diaeresis \ |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
272 ;; /E C9 311 E' \'E @ latin capital e + acute I |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
273 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
274 ;; NOTE: @a and @A are not in ISO 8859-2 (the codes mentioned above invoke |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
275 ;; /l and /L). Some of this data was retrieved from |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
276 ;; listserv@jhuvm.hcf.jhu.edu. |
809 | 277 |
278 ;; 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
|
279 ;; 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
|
280 ;; 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
|
281 ;; 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
|
282 ;; 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
|
283 (defconst mail-extr-all-letters-but-separators |
11985
20bc5df6b938
(mail-extr-all-letters-but-separators): reinstate
Karl Heuer <kwzh@gnu.org>
parents:
9012
diff
changeset
|
284 (purecopy "][A-Za-z{|}'~0-9`\200-\377")) |
809 | 285 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
286 ;; 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
|
287 ;; 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
|
288 ;; #### 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
|
289 (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
|
290 (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
|
291 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
292 ;; 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
|
293 ;; Keep this set as minimal as possible. |
11985
20bc5df6b938
(mail-extr-all-letters-but-separators): reinstate
Karl Heuer <kwzh@gnu.org>
parents:
9012
diff
changeset
|
294 (defconst mail-extr-first-letters (purecopy "A-Za-z\200-\377")) |
809 | 295 |
296 ;; 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
|
297 ;; Keep this set as minimal as possible. |
11985
20bc5df6b938
(mail-extr-all-letters-but-separators): reinstate
Karl Heuer <kwzh@gnu.org>
parents:
9012
diff
changeset
|
298 (defconst mail-extr-last-letters (purecopy "A-Za-z\200-\377`'.")) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
299 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
300 (defconst mail-extr-leading-garbage |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
301 (purecopy (format "[^%s]+" 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
|
302 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
303 ;; (defconst mail-extr-non-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
|
304 ;; (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
|
305 ;; (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
|
306 ;; (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
|
307 ;; (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
|
308 ;; (purecopy (concat "^" mail-extr-last-letters))) |
809 | 309 |
310 ;; 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
|
311 ;; (defconst mail-extr-bad-initials-pattern |
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 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
313 ;; (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
|
314 ;; mail-extr-all-letters mail-extr-first-letters mail-extr-all-letters))) |
809 | 315 |
316 ;; Matches periods used instead of spaces. Must not match the period | |
317 ;; 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
|
318 (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
|
319 (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
320 (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
|
321 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
|
322 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
|
323 mail-extr-first-letters))) |
809 | 324 |
325 ;; 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
|
326 ;; (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
|
327 ;; (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
328 ;; (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
|
329 ;; mail-extr-all-letters))) |
809 | 330 |
331 ;; 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
|
332 ;; 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
|
333 ;; 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
|
334 ;; *** 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
|
335 ;; *** 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
|
336 (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
|
337 (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
338 (format |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
339 "\\(,? ?\\([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
|
340 mail-extr-all-letters mail-extr-all-letters))) |
809 | 341 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
342 (defconst mail-extr-roman-numeral-pattern (purecopy "V?I+V?\\b")) |
809 | 343 |
344 ;; Matches a trailing uppercase (with other characters possible) acronym. | |
345 ;; 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
|
346 (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
|
347 (purecopy "\\([A-Z]+[-_/]\\|[A-Z][A-Z][A-Z]?\\b\\)")) |
809 | 348 |
349 ;; 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
|
350 ;; #### 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
|
351 ;; (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
|
352 ;; (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
353 ;; (format |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
354 ;; "\\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
|
355 ;; 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
|
356 ;; 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
|
357 ;; mail-extr-last-letters mail-extr-first-letters mail-extr-all-letters))) |
809 | 358 |
359 ;; 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
|
360 ;; #### Match Latin1 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
|
361 ;; #### Match _ before @ 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
|
362 (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
|
363 (purecopy "\\(aka *\\)?[a-zA-Z.]+[!@][a-zA-Z.]")) |
809 | 364 |
365 ;; Matches a variety of trailing comments not including comma-delimited | |
366 ;; 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
|
367 (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
|
368 (purecopy " [-{]\\|--\\|[+@#></\;]")) |
809 | 369 |
370 ;; Matches a name (not an initial). | |
371 ;; This doesn't force a word boundary at the end because sometimes a | |
372 ;; 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
|
373 (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
|
374 (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
|
375 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
|
376 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
|
377 mail-extr-last-letters))) |
809 | 378 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
379 (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
|
380 (purecopy (format "\\b[%s]\\([. ]\\|\\b\\)" mail-extr-first-letters))) |
809 | 381 |
382 ;; 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
|
383 ;; (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
|
384 ;; (purecopy (concat "\\`" mail-extr-name-pattern ","))) |
809 | 385 |
386 ;; 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
|
387 (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
|
388 (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
389 "\\(\\([Ee]xt\\|\\|[Tt]ph\\|[Tt]el\\|[Xx]\\).?\\)? *\\+?[0-9][- 0-9]+")) |
809 | 390 |
391 ;; 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
|
392 ;; 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
|
393 ;; <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
|
394 ;; 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
|
395 ;; 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
|
396 ;; 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
|
397 (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
|
398 (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
|
399 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
400 ;; 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
|
401 ;; /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
|
402 ;; /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
|
403 ;; /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
|
404 ;; /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
|
405 ;; /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
|
406 ;; /# == 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
|
407 ;; 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
|
408 ;; anyone putting them with their name in an e-mail address. |
809 | 409 |
410 ;; 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
|
411 (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
|
412 (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
|
413 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
|
414 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
|
415 mail-extr-last-letters))) |
809 | 416 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
417 ;; 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
|
418 ;; (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
|
419 ;; (purecopy (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
|
420 |
809 | 421 ;; 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
|
422 ;; 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
|
423 ;; 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
|
424 ;; 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
|
425 (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
|
426 (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
427 (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
|
428 "\\|" 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
|
429 "\\) +\\(" 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
|
430 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
431 (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
|
432 (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
|
433 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
434 (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
|
435 (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
436 "[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
|
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 ;;; 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
|
439 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
440 ;; 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
|
441 ;; 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
|
442 ;; 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
|
443 ;; following special meaning. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
444 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
445 ;; 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
|
446 ;; 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
|
447 ;; 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
|
448 ;; with no output produced. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
449 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
450 ;; 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
|
451 ;; 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
|
452 ;; 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
|
453 ;; ($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
|
454 (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
|
455 (purecopy "~{\\([^~].\\|~[^\}]\\)+~}")) |
809 | 456 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
457 ;; 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
|
458 ;; 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
|
459 (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
|
460 (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
|
461 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
462 (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
|
463 (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
|
464 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
465 (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
|
466 ;; 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
|
467 (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
468 (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
|
469 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
470 (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
|
471 ;; 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
|
472 (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
473 (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
|
474 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
475 (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
|
476 ;; 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
|
477 ;; 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
|
478 ;; "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
|
479 ;; `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
|
480 ;; 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
|
481 (purecopy |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
482 (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
|
483 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
484 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
485 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
486 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
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 ;; 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
|
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 (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
|
492 (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
|
493 (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
|
494 (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
|
495 (defconst mail-extr-address-text-syntax-table (make-syntax-table)) |
809 | 496 (mapcar |
497 (function | |
498 (lambda (pair) | |
499 (let ((syntax-table (symbol-value (car pair)))) | |
500 (mapcar | |
501 (function | |
502 (lambda (item) | |
503 (if (eq 2 (length item)) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
504 ;; modifying syntax of a single character |
809 | 505 (modify-syntax-entry (car item) (car (cdr item)) 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
|
506 ;; modifying syntax of a range of characters |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
507 (let ((char (nth 0 item)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
508 (bound (nth 1 item)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
509 (syntax (nth 2 item))) |
809 | 510 (while (<= char bound) |
511 (modify-syntax-entry char syntax syntax-table) | |
512 (setq char (1+ char))))))) | |
513 (cdr pair))))) | |
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 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
519 (?\200 ?\377 "w") ;high-bit-on characters |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
520 (?\240 " ") ;nobreakspace |
809 | 521 (?\t " ") |
522 (?\r " ") | |
523 (?\n " ") | |
524 (?\( ".") | |
525 (?\) ".") | |
526 (?< ".") | |
527 (?> ".") | |
528 (?@ ".") | |
529 (?, ".") | |
530 (?\; ".") | |
531 (?: ".") | |
532 (?\\ "\\") | |
533 (?\" "\"") | |
534 (?. ".") | |
535 (?\[ ".") | |
536 (?\] ".") | |
537 ;; % and ! aren't RFC822 characters, but it is convenient to pretend | |
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 (?! ".") ;; this needs to be word-constituent when not in .UUCP mode |
809 | 540 ) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
541 (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
|
542 (?\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
|
543 (?\040 " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
544 (?\240 " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
545 (?\t " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
546 (?\r " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
547 (?\n " ") |
809 | 548 (?\( "\(\)") |
549 (?\) "\)\(") | |
550 (?\\ "\\")) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
551 (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
|
552 (?\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
|
553 (?\040 " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
554 (?\240 " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
555 (?\t " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
556 (?\r " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
557 (?\n " ") |
809 | 558 (?\[ "\(\]") ;?????? |
559 (?\] "\)\[") ;?????? | |
560 (?\\ "\\")) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
561 (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
|
562 (?\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
|
563 (?\040 " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
564 (?\240 " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
565 (?\t " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
566 (?\r " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
567 (?\n " ") |
809 | 568 (?\( "\(\)") |
569 (?\) "\)\(") | |
570 (?\[ "\(\]") | |
571 (?\] "\)\[") | |
572 (?\{ "\(\}") | |
573 (?\} "\)\{") | |
574 (?\\ "\\") | |
575 (?\" "\"") | |
576 ;; (?\' "\)\`") | |
577 ;; (?\` "\(\'") | |
578 ) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
579 (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
|
580 (?\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
|
581 (?\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
|
582 (?\040 " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
583 (?\t " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
584 (?\r " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
585 (?\n " ") |
809 | 586 (?A ?Z "w") |
587 (?a ?z "w") | |
588 (?- "w") | |
589 (?\} "w") | |
590 (?\{ "w") | |
591 (?| "w") | |
592 (?\' "w") | |
593 (?~ "w") | |
594 (?0 ?9 "w")) | |
595 )) | |
596 | |
597 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
598 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
599 ;; |
809 | 600 ;; 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
|
601 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
602 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
603 (defmacro mail-extr-delete-char (n) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
604 ;; in v19, delete-char is compiled as a function call, but delete-region |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
605 ;; is byte-coded, so it's much much faster. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
606 (list 'delete-region '(point) (list '+ '(point) n))) |
809 | 607 |
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 (defmacro mail-extr-skip-whitespace-forward () |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
609 ;; v19 fn skip-syntax-forward is more tasteful, but not byte-coded. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
610 '(skip-chars-forward " \t\n\r\240")) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
611 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
612 (defmacro mail-extr-skip-whitespace-backward () |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
613 ;; v19 fn skip-syntax-backward is more tasteful, but not byte-coded. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
614 '(skip-chars-backward " \t\n\r\240")) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
615 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
616 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
617 (defmacro mail-extr-undo-backslash-quoting (beg end) |
809 | 618 (`(save-excursion |
619 (save-restriction | |
620 (narrow-to-region (, beg) (, end)) | |
621 (goto-char (point-min)) | |
622 ;; undo \ quoting | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
623 (while (search-forward "\\" 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
|
624 (mail-extr-delete-char -1) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
625 (or (eobp) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
626 (forward-char 1)) |
809 | 627 ))))) |
628 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
629 (defmacro mail-extr-nuke-char-at (pos) |
809 | 630 (` (save-excursion |
631 (goto-char (, 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
|
632 (mail-extr-delete-char 1) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
633 (insert ?\ )))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
634 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
635 (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
|
636 'edebug-form-spec '(symbolp &optional form form atom)) |
809 | 637 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
638 (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
|
639 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
|
640 &optional no-replace) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
641 ;; LIST-SYMBOL names a variable holding a list of buffer positions |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
642 ;; BEG-SYMBOL and END-SYMBOL name variables delimiting a range |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
643 ;; Each element of LIST-SYMBOL which lies outside of the range is |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
644 ;; deleted from the list. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
645 ;; Unless NO-REPLACE is true, at each of the positions in 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
|
646 ;; which lie outside of the range, one character at that position is |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
647 ;; replaced with a SPC. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
648 (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
|
649 (error "no-replace must be t or nil, evaluable at macroexpand-time")) |
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 (` (let ((temp (, 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
|
651 ch) |
809 | 652 (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
|
653 (setq ch (car temp)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
654 (cond ((or (> ch (, 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
|
655 (< ch (, beg-symbol))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
656 (,@ (if no-replace |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
657 nil |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
658 (` ((mail-extr-nuke-char-at ch))))) |
809 | 659 (setcar temp nil))) |
660 (setq temp (cdr temp))) | |
661 (setq (, list-symbol) (delq nil (, list-symbol)))))) | |
662 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
663 (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
|
664 ;; 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
|
665 ;; 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
|
666 (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
|
667 (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
|
668 (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
|
669 temp) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
670 marker)) |
809 | 671 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
672 (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
|
673 ;; 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
|
674 (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
|
675 pos |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
676 (copy-marker pos))) |
809 | 677 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
678 (defmacro mail-extr-last (list) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
679 ;; Returns last element of LIST. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
680 ;; Could be a subst. |
809 | 681 (` (let ((list (, list))) |
682 (while (not (null (cdr list))) | |
683 (setq list (cdr list))) | |
684 (car list)))) | |
685 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
686 (defmacro mail-extr-safe-move-sexp (arg) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
687 ;; Safely skip over one balanced sexp, if there is one. Return t if success. |
809 | 688 (` (condition-case error |
689 (progn | |
16176
f2728b5d7085
(mail-extr-safe-move-sexp): Make sure this doesn't
Richard M. Stallman <rms@gnu.org>
parents:
15520
diff
changeset
|
690 (goto-char (or (scan-sexps (point) (, arg)) (point))) |
809 | 691 t) |
692 (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
|
693 ;; #### kludge kludge kludge kludge kludge kludge kludge !!! |
809 | 694 (if (string-equal (nth 1 error) "Unbalanced parentheses") |
695 nil | |
696 (while t | |
697 (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
|
698 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
699 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
700 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
701 ;; 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
|
702 ;; |
809 | 703 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
704 (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
|
705 (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
|
706 (defvar cend) ; dynamic assignment |
809 | 707 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
708 ;;;###autoload |
809 | 709 (defun mail-extract-address-components (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
|
710 "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
|
711 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
|
712 If no name can be extracted, FULL-NAME will be nil. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
713 ADDRESS may be a string or a buffer. If it is a buffer, the visible |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
714 (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
|
715 (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
|
716 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
|
717 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
|
718 returned. Some day this function may be extended to extract multiple |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
719 addresses, or perhaps return the position at which parsing stopped." |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
720 (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
|
721 (extraction-buffer (get-buffer-create " *extract address components*")) |
809 | 722 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
|
723 ;; multiple-addresses |
15520
4b152daa5b1d
(mail-extract-address-components): Rename ,-pos to comma-pos.
Richard M. Stallman <rms@gnu.org>
parents:
15505
diff
changeset
|
724 <-pos >-pos @-pos :-pos comma-pos !-pos %-pos \;-pos |
809 | 725 group-:-pos group-\;-pos route-addr-:-pos |
726 record-pos-symbol | |
727 first-real-pos last-real-pos | |
728 phrase-beg phrase-end | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
729 cbeg cend ; dynamically set from -voodoo |
809 | 730 quote-beg quote-end |
731 atom-beg atom-end | |
732 mbox-beg mbox-end | |
733 \.-ends-name | |
734 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
|
735 ;; name-suffix |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
736 fi mi li ; first, middle, last initial |
809 | 737 saved-%-pos saved-!-pos saved-@-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
|
738 domain-pos \.-pos insert-point |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
739 ;; mailbox-name-processed-flag |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
740 disable-initial-guessing-flag ; dynamically set from -voodoo |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
741 ) |
809 | 742 |
743 (save-excursion | |
744 (set-buffer 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
|
745 (fundamental-mode) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
746 (kill-all-local-variables) |
923 | 747 (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
|
748 (set-syntax-table mail-extr-address-syntax-table) |
809 | 749 (widen) |
750 (erase-buffer) | |
751 (setq case-fold-search nil) | |
752 | |
753 ;; Insert extra space at beginning to allow later replacement with < | |
754 ;; 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
|
755 (insert ?\ ) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
756 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
757 ;; 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
|
758 (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
|
759 (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
|
760 ((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
|
761 (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
|
762 (t |
14029
8812f5ef65db
(mail-extr-nuke-outside-range): Fix error message.
Richard M. Stallman <rms@gnu.org>
parents:
13959
diff
changeset
|
763 (error "Invalid address: %s" address))) |
16727
45d9891b03b2
(mail-extract-address-components): Clear text props
Richard M. Stallman <rms@gnu.org>
parents:
16699
diff
changeset
|
764 |
45d9891b03b2
(mail-extract-address-components): Clear text props
Richard M. Stallman <rms@gnu.org>
parents:
16699
diff
changeset
|
765 (set-text-properties (point-min) (point-max) nil) |
809 | 766 |
767 ;; stolen from rfc822.el | |
768 ;; Unfold multiple lines. | |
769 (goto-char (point-min)) | |
770 (while (re-search-forward "\\([^\\]\\(\\\\\\\\\\)*\\)\n[ \t]" nil t) | |
771 (replace-match "\\1 " t)) | |
772 | |
773 ;; first pass grabs useful information about address | |
774 (goto-char (point-min)) | |
775 (while (progn | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
776 (mail-extr-skip-whitespace-forward) |
809 | 777 (not (eobp))) |
778 (setq char (char-after (point))) | |
779 (or first-real-pos | |
780 (if (not (eq char ?\()) | |
781 (setq first-real-pos (point)))) | |
782 (cond | |
783 ;; comment | |
784 ((eq 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
|
785 (set-syntax-table mail-extr-address-comment-syntax-table) |
809 | 786 ;; only record the first non-empty comment's position |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
787 (if (and (not cbeg) |
809 | 788 (save-excursion |
789 (forward-char 1) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
790 (mail-extr-skip-whitespace-forward) |
809 | 791 (not (eq ?\) (char-after (point)))))) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
792 (setq cbeg (point))) |
809 | 793 ;; TODO: don't record if unbalanced |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
794 (or (mail-extr-safe-move-sexp 1) |
809 | 795 (forward-char 1)) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
796 (set-syntax-table 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
|
797 (if (and cbeg |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
798 (not cend)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
799 (setq cend (point)))) |
809 | 800 ;; quoted text |
801 ((eq char ?\") | |
802 ;; only record the first non-empty quote's position | |
803 (if (and (not quote-beg) | |
804 (save-excursion | |
805 (forward-char 1) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
806 (mail-extr-skip-whitespace-forward) |
809 | 807 (not (eq ?\" (char-after (point)))))) |
808 (setq quote-beg (point))) | |
809 ;; TODO: don't record if unbalanced | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
810 (or (mail-extr-safe-move-sexp 1) |
809 | 811 (forward-char 1)) |
812 (if (and quote-beg | |
813 (not quote-end)) | |
814 (setq quote-end (point)))) | |
815 ;; domain literals | |
816 ((eq 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
|
817 (set-syntax-table 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
|
818 (or (mail-extr-safe-move-sexp 1) |
809 | 819 (forward-char 1)) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
820 (set-syntax-table mail-extr-address-syntax-table)) |
809 | 821 ;; commas delimit addresses when outside < > pairs. |
822 ((and (eq 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
|
823 (or (and (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
|
824 ;; Handle ROUTE-ADDR address that is missing its <. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
825 (not (eq ?@ (char-after (1+ (point)))))) |
809 | 826 (and >-pos |
827 ;; handle weird munged addresses | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
828 ;; BUG FIX: This test was reversed. Thanks to the |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
829 ;; brilliant Rod Whitby <rwhitby@research.canon.oz.au> |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
830 ;; for discovering this! |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
831 (< (mail-extr-last <-pos) (car >-pos))))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
832 ;; It'd be great if some day this worked, but for now, punt. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
833 ;; (setq multiple-addresses t) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
834 ;; ;; *** Why do I want this: |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
835 ;; (mail-extr-delete-char 1) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
836 ;; (narrow-to-region (point-min) (point)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
837 (delete-region (point) (point-max)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
838 (setq char ?\() ; HAVE I NO SHAME?? |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
839 ) |
809 | 840 ;; record the position of various interesting chars, determine |
841 ;; legality later. | |
842 ((setq record-pos-symbol | |
843 (cdr (assq char | |
844 '((?< . <-pos) (?> . >-pos) (?@ . @-pos) | |
15520
4b152daa5b1d
(mail-extract-address-components): Rename ,-pos to comma-pos.
Richard M. Stallman <rms@gnu.org>
parents:
15505
diff
changeset
|
845 (?: . :-pos) (?, . comma-pos) (?! . !-pos) |
809 | 846 (?% . %-pos) (?\; . \;-pos))))) |
847 (set record-pos-symbol | |
848 (cons (point) (symbol-value record-pos-symbol))) | |
849 (forward-char 1)) | |
850 ((eq char ?.) | |
851 (forward-char 1)) | |
852 ((memq char '( | |
853 ;; comment terminator illegal | |
854 ?\) | |
855 ;; domain literal terminator illegal | |
856 ?\] | |
857 ;; \ allowed only within quoted strings, | |
858 ;; domain literals, and comments | |
859 ?\\ | |
860 )) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
861 (mail-extr-nuke-char-at (point)) |
809 | 862 (forward-char 1)) |
863 (t | |
864 (forward-word 1))) | |
865 (or (eq 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
|
866 ;; At the end of first address of a multiple address header. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
867 (and (eq char ?,) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
868 (eobp)) |
809 | 869 (setq last-real-pos (point)))) |
870 | |
871 ;; Use only the leftmost <, if any. Replace all others with spaces. | |
872 (while (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
|
873 (mail-extr-nuke-char-at (car <-pos)) |
809 | 874 (setq <-pos (cdr <-pos))) |
875 | |
876 ;; Use only the rightmost >, if any. Replace all others with spaces. | |
877 (while (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
|
878 (mail-extr-nuke-char-at (nth 1 >-pos)) |
809 | 879 (setcdr >-pos (nthcdr 2 >-pos))) |
880 | |
881 ;; If multiple @s and a :, but no < and >, insert around 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
|
882 ;; Example: @foo.bar.dom,@xxx.yyy.zzz:mailbox@aaa.bbb.ccc |
809 | 883 ;; This commonly happens on the UUCP "From " line. Ugh. |
884 (cond ((and (> (length @-pos) 1) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
885 (eq 1 (length :-pos)) ;TODO: check if between last two @s |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
886 (not \;-pos) |
809 | 887 (not <-pos)) |
888 (goto-char (point-min)) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
889 (mail-extr-delete-char 1) |
809 | 890 (setq <-pos (list (point))) |
891 (insert ?<))) | |
892 | |
893 ;; If < but no >, insert > in rightmost possible position | |
894 (cond ((and <-pos | |
895 (null >-pos)) | |
896 (goto-char (point-max)) | |
897 (setq >-pos (list (point))) | |
898 (insert ?>))) | |
899 | |
900 ;; If > but no <, replace > with space. | |
901 (cond ((and >-pos | |
902 (null <-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
|
903 (mail-extr-nuke-char-at (car >-pos)) |
809 | 904 (setq >-pos nil))) |
905 | |
906 ;; Turn >-pos and <-pos into non-lists | |
907 (setq >-pos (car >-pos) | |
908 <-pos (car <-pos)) | |
909 | |
910 ;; Trim other punctuation lists of items outside < > pair to handle | |
911 ;; stupid MTAs. | |
912 (cond (<-pos ; don't need to check >-pos also | |
913 ;; handle bozo software that violates RFC 822 by sticking | |
914 ;; punctuation marks outside of a < > pair | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
915 (mail-extr-nuke-outside-range @-pos <-pos >-pos t) |
809 | 916 ;; RFC 822 says nothing about these two outside < >, but |
917 ;; remove those positions from the lists to make things | |
918 ;; easier. | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
919 (mail-extr-nuke-outside-range !-pos <-pos >-pos t) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
920 (mail-extr-nuke-outside-range %-pos <-pos >-pos t))) |
809 | 921 |
922 ;; Check for : that indicates GROUP list and for : part of | |
923 ;; ROUTE-ADDR spec. | |
924 ;; Can't possibly be more than two :. Nuke any extra. | |
925 (while :-pos | |
926 (setq temp (car :-pos) | |
927 :-pos (cdr :-pos)) | |
928 (cond ((and <-pos >-pos | |
929 (> temp <-pos) | |
930 (< temp >-pos)) | |
931 (if (or route-addr-:-pos | |
932 (< (length @-pos) 2) | |
933 (> temp (car @-pos)) | |
934 (< temp (nth 1 @-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
|
935 (mail-extr-nuke-char-at temp) |
809 | 936 (setq route-addr-:-pos temp))) |
937 ((or (not <-pos) | |
938 (and <-pos | |
939 (< temp <-pos))) | |
940 (setq group-:-pos temp)))) | |
941 | |
942 ;; Nuke any ; that is in or to the left of a < > pair or to the left | |
943 ;; of a GROUP starting :. Also, there may only be one ;. | |
944 (while \;-pos | |
945 (setq temp (car \;-pos) | |
946 \;-pos (cdr \;-pos)) | |
947 (cond ((and <-pos >-pos | |
948 (> temp <-pos) | |
949 (< temp >-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
|
950 (mail-extr-nuke-char-at temp)) |
809 | 951 ((and (or (not group-:-pos) |
952 (> temp group-:-pos)) | |
953 (not group-\;-pos)) | |
954 (setq group-\;-pos temp)))) | |
955 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
956 ;; Nuke unmatched GROUP syntax characters. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
957 (cond ((and group-:-pos (not group-\;-pos)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
958 ;; *** Do I really need to erase it? |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
959 (mail-extr-nuke-char-at group-:-pos) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
960 (setq group-:-pos nil))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
961 (cond ((and group-\;-pos (not group-:-pos)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
962 ;; *** Do I really need to erase it? |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
963 (mail-extr-nuke-char-at group-\;-pos) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
964 (setq group-\;-pos nil))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
965 |
809 | 966 ;; Handle junk like ";@host.company.dom" that sendmail adds. |
967 ;; **** should I remember comment positions? | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
968 (cond |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
969 (group-\;-pos |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
970 ;; this is fine for now |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
971 (mail-extr-nuke-outside-range !-pos group-:-pos group-\;-pos t) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
972 (mail-extr-nuke-outside-range @-pos group-:-pos group-\;-pos t) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
973 (mail-extr-nuke-outside-range %-pos group-:-pos group-\;-pos t) |
15520
4b152daa5b1d
(mail-extract-address-components): Rename ,-pos to comma-pos.
Richard M. Stallman <rms@gnu.org>
parents:
15505
diff
changeset
|
974 (mail-extr-nuke-outside-range comma-pos group-:-pos group-\;-pos 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
|
975 (and last-real-pos |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
976 (> last-real-pos (1+ group-\;-pos)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
977 (setq last-real-pos (1+ group-\;-pos))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
978 ;; *** This may be wrong: |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
979 (and cend |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
980 (> cend group-\;-pos) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
981 (setq cend nil |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
982 cbeg nil)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
983 (and quote-end |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
984 (> quote-end group-\;-pos) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
985 (setq quote-end nil |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
986 quote-beg nil)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
987 ;; This was both wrong and unnecessary: |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
988 ;;(narrow-to-region (point-min) group-\;-pos) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
989 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
990 ;; *** The entire handling of GROUP addresses seems rather lame. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
991 ;; *** It deserves a complete rethink, except that these addresses |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
992 ;; *** are hardly ever seen. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
993 )) |
809 | 994 |
995 ;; Any commas must be between < and : of ROUTE-ADDR. Nuke any | |
996 ;; others. | |
997 ;; Hell, go ahead an nuke all of the commas. | |
998 ;; **** This will cause problems when we start handling commas in | |
999 ;; the PHRASE part .... no it won't ... yes it will ... ????? | |
15520
4b152daa5b1d
(mail-extract-address-components): Rename ,-pos to comma-pos.
Richard M. Stallman <rms@gnu.org>
parents:
15505
diff
changeset
|
1000 (mail-extr-nuke-outside-range comma-pos 1 1) |
809 | 1001 |
1002 ;; can only have multiple @s inside < >. The fact that some MTAs | |
1003 ;; put de-bracketed ROUTE-ADDRs in the UUCP-style "From " line is | |
1004 ;; handled above. | |
1005 | |
1006 ;; Locate PHRASE part of ROUTE-ADDR. | |
1007 (cond (<-pos | |
1008 (goto-char <-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
|
1009 (mail-extr-skip-whitespace-backward) |
809 | 1010 (setq phrase-end (point)) |
1011 (goto-char (or ;;group-:-pos | |
1012 (point-min))) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1013 (mail-extr-skip-whitespace-forward) |
809 | 1014 (if (< (point) phrase-end) |
1015 (setq phrase-beg (point)) | |
1016 (setq phrase-end nil)))) | |
1017 | |
1018 ;; handle ROUTE-ADDRS with real ROUTEs. | |
1019 ;; If there are multiple @s, then we assume ROUTE-ADDR syntax, and | |
1020 ;; any % or ! must be semantically meaningless. | |
1021 ;; TODO: do this processing into canonicalization buffer | |
1022 (cond (route-addr-:-pos | |
1023 (setq !-pos nil | |
1024 %-pos nil | |
1025 >-pos (copy-marker >-pos) | |
1026 route-addr-:-pos (copy-marker route-addr-:-pos)) | |
1027 (goto-char >-pos) | |
1028 (insert-before-markers ?X) | |
1029 (goto-char (car @-pos)) | |
1030 (while (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
|
1031 (mail-extr-delete-char 1) |
809 | 1032 (setq %-pos (cons (point-marker) %-pos)) |
1033 (insert "%") | |
1034 (goto-char (1- >-pos)) | |
1035 (save-excursion | |
1036 (insert-buffer-substring extraction-buffer | |
1037 (car @-pos) route-addr-:-pos) | |
1038 (delete-region (car @-pos) route-addr-:-pos)) | |
1039 (or (cdr @-pos) | |
1040 (setq saved-@-pos (list (point))))) | |
1041 (setq @-pos saved-@-pos) | |
1042 (goto-char >-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
|
1043 (mail-extr-delete-char -1) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1044 (mail-extr-nuke-char-at route-addr-:-pos) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1045 (mail-extr-demarkerize route-addr-:-pos) |
809 | 1046 (setq route-addr-:-pos 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
|
1047 >-pos (mail-extr-demarkerize >-pos) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1048 %-pos (mapcar 'mail-extr-demarkerize %-pos)))) |
809 | 1049 |
1050 ;; de-listify @-pos | |
1051 (setq @-pos (car @-pos)) | |
1052 | |
1053 ;; TODO: remove comments in the middle of an address | |
1054 | |
1055 (set-buffer canonicalization-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
|
1056 (fundamental-mode) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1057 (kill-all-local-variables) |
923 | 1058 (buffer-disable-undo canonicalization-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
|
1059 (set-syntax-table mail-extr-address-syntax-table) |
809 | 1060 (setq case-fold-search nil) |
1061 | |
1062 (widen) | |
1063 (erase-buffer) | |
1064 (insert-buffer-substring extraction-buffer) | |
1065 | |
1066 (if <-pos | |
1067 (narrow-to-region (progn | |
1068 (goto-char (1+ <-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
|
1069 (mail-extr-skip-whitespace-forward) |
809 | 1070 (point)) |
1071 >-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
|
1072 (if (and first-real-pos last-real-pos) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1073 (narrow-to-region first-real-pos last-real-pos) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1074 ;; ****** Oh no! What if the address is completely empty! |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1075 ;; *** Is this correct? |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1076 (narrow-to-region (point-max) (point-max)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1077 )) |
809 | 1078 |
1079 (and @-pos %-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
|
1080 (mail-extr-nuke-outside-range %-pos (point-min) @-pos)) |
809 | 1081 (and %-pos !-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
|
1082 (mail-extr-nuke-outside-range !-pos (point-min) (car %-pos))) |
809 | 1083 (and @-pos !-pos (not %-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
|
1084 (mail-extr-nuke-outside-range !-pos (point-min) @-pos)) |
809 | 1085 |
1086 ;; Error condition:?? (and %-pos (not @-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
|
1087 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1088 ;; WARNING: THIS CODE IS DUPLICATED BELOW. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1089 (cond ((and %-pos |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1090 (not @-pos)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1091 (goto-char (car %-pos)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1092 (mail-extr-delete-char 1) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1093 (setq @-pos (point)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1094 (insert "@") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1095 (setq %-pos (cdr %-pos)))) |
809 | 1096 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1097 (if mail-extr-mangle-uucp |
809 | 1098 (cond (!-pos |
1099 ;; **** I don't understand this save-restriction and the | |
1100 ;; narrow-to-region inside it. Why did I do that? | |
1101 (save-restriction | |
1102 (cond ((and @-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
|
1103 mail-extr-@-binds-tighter-than-!) |
809 | 1104 (goto-char @-pos) |
1105 (setq %-pos (cons (point) %-pos) | |
1106 @-pos 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
|
1107 (mail-extr-delete-char 1) |
809 | 1108 (insert "%") |
1109 (setq insert-point (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
|
1110 (mail-extr-@-binds-tighter-than-! |
809 | 1111 (setq insert-point (point-max))) |
1112 (%-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
|
1113 (setq insert-point (mail-extr-last %-pos) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1114 saved-%-pos (mapcar 'mail-extr-markerize %-pos) |
809 | 1115 %-pos 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
|
1116 @-pos (mail-extr-markerize @-pos))) |
809 | 1117 (@-pos |
1118 (setq insert-point @-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
|
1119 (setq @-pos (mail-extr-markerize @-pos))) |
809 | 1120 (t |
1121 (setq insert-point (point-max)))) | |
1122 (narrow-to-region (point-min) insert-point) | |
1123 (setq saved-!-pos (car !-pos)) | |
1124 (while !-pos | |
1125 (goto-char (point-max)) | |
1126 (cond ((and (not @-pos) | |
1127 (not (cdr !-pos))) | |
1128 (setq @-pos (point)) | |
1129 (insert-before-markers "@ ")) | |
1130 (t | |
1131 (setq %-pos (cons (point) %-pos)) | |
1132 (insert-before-markers "% "))) | |
1133 (backward-char 1) | |
1134 (insert-buffer-substring | |
1135 (current-buffer) | |
1136 (if (nth 1 !-pos) | |
1137 (1+ (nth 1 !-pos)) | |
1138 (point-min)) | |
1139 (car !-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
|
1140 (mail-extr-delete-char 1) |
809 | 1141 (or (save-excursion |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1142 (mail-extr-safe-move-sexp -1) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1143 (mail-extr-skip-whitespace-backward) |
809 | 1144 (eq ?. (preceding-char))) |
1145 (insert-before-markers | |
1146 (if (save-excursion | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1147 (mail-extr-skip-whitespace-backward) |
809 | 1148 (eq ?. (preceding-char))) |
1149 "" | |
1150 ".") | |
1151 "uucp")) | |
1152 (setq !-pos (cdr !-pos)))) | |
1153 (and saved-%-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
|
1154 (setq %-pos (append (mapcar 'mail-extr-demarkerize |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1155 saved-%-pos) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1156 %-pos))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1157 (setq @-pos (mail-extr-demarkerize @-pos)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1158 (narrow-to-region (1+ saved-!-pos) (point-max))))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1159 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1160 ;; WARNING: THIS CODE IS DUPLICATED ABOVE. |
809 | 1161 (cond ((and %-pos |
1162 (not @-pos)) | |
1163 (goto-char (car %-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
|
1164 (mail-extr-delete-char 1) |
809 | 1165 (setq @-pos (point)) |
1166 (insert "@") | |
1167 (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
|
1168 |
809 | 1169 (setq %-pos (nreverse %-pos)) |
1170 (cond (%-pos ; implies @-pos valid | |
1171 (setq temp %-pos) | |
1172 (catch 'truncated | |
1173 (while temp | |
1174 (goto-char (or (nth 1 temp) | |
1175 @-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 (mail-extr-skip-whitespace-backward) |
809 | 1177 (save-excursion |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1178 (mail-extr-safe-move-sexp -1) |
809 | 1179 (setq domain-pos (point)) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1180 (mail-extr-skip-whitespace-backward) |
809 | 1181 (setq \.-pos (eq ?. (preceding-char)))) |
1182 (cond ((and \.-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
|
1183 ;; #### string consing |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1184 (let ((s (intern-soft |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1185 (buffer-substring domain-pos (point)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1186 mail-extr-all-top-level-domains))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1187 (and s (get s 'domain-name)))) |
809 | 1188 (narrow-to-region (point-min) (point)) |
1189 (goto-char (car 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
|
1190 (mail-extr-delete-char 1) |
809 | 1191 (setq @-pos (point)) |
1192 (setcdr temp nil) | |
1193 (setq %-pos (delq @-pos %-pos)) | |
1194 (insert "@") | |
1195 (throw 'truncated t))) | |
1196 (setq temp (cdr temp)))))) | |
1197 (setq mbox-beg (point-min) | |
1198 mbox-end (if %-pos (car %-pos) | |
1199 (or @-pos | |
1200 (point-max)))) | |
1201 | |
1202 ;; Done canonicalizing address. | |
1203 | |
1204 (set-buffer extraction-buffer) | |
1205 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1206 ;; Decide what part of the address to search to find the full name. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1207 (cond ( |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1208 ;; Example: "First M. Last" <fml@foo.bar.dom> |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1209 (and phrase-beg |
809 | 1210 (eq quote-beg phrase-beg) |
1211 (<= quote-end phrase-end)) | |
1212 (narrow-to-region (1+ quote-beg) (1- quote-end)) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1213 (mail-extr-undo-backslash-quoting (point-min) (point-max))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1214 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1215 ;; Example: First Last <fml@foo.bar.dom> |
809 | 1216 (phrase-beg |
1217 (narrow-to-region phrase-beg phrase-end)) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1218 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1219 ;; Example: fml@foo.bar.dom (First M. Last) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1220 (cbeg |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1221 (narrow-to-region (1+ cbeg) (1- cend)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1222 (mail-extr-undo-backslash-quoting (point-min) (point-max)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1223 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1224 ;; Deal with spacing problems |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1225 (goto-char (point-min)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1226 ; (cond ((not (search-forward " " 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
|
1227 ; (goto-char (point-min)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1228 ; (cond ((search-forward "_" 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
|
1229 ; ;; Handle the *idiotic* use of underlines as spaces. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1230 ; ;; Example: fml@foo.bar.dom (First_M._Last) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1231 ; (goto-char (point-min)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1232 ; (while (search-forward "_" 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
|
1233 ; (replace-match " " t))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1234 ; ((search-forward "." 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
|
1235 ; ;; Fix . used as space |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1236 ; ;; Example: danj1@cb.att.com (daniel.jacobson) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1237 ; (goto-char (point-min)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1238 ; (while (re-search-forward mail-extr-bad-dot-pattern 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
|
1239 ; (replace-match "\\1 \\2" t)))))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1240 ) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1241 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1242 ;; Otherwise we try to get the name from the mailbox portion |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1243 ;; of 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
|
1244 ;; Example: First_M_Last@foo.bar.dom |
809 | 1245 (t |
1246 ;; *** Work in canon buffer instead? No, can't. Hmm. | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1247 (goto-char (point-max)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1248 (narrow-to-region (point) (point)) |
809 | 1249 (insert-buffer-substring canonicalization-buffer |
1250 mbox-beg mbox-end) | |
1251 (goto-char (point-min)) | |
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 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1253 ;; Example: First_Last.XXX@foo.bar.dom |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1254 (setq \.-ends-name (re-search-forward "[_0-9]" 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
|
1255 |
809 | 1256 (goto-char (point-min)) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1257 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1258 (if (not mail-extr-mangle-uucp) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1259 (modify-syntax-entry ?! "w" (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
|
1260 |
809 | 1261 (while (progn |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1262 (mail-extr-skip-whitespace-forward) |
809 | 1263 (not (eobp))) |
1264 (setq char (char-after (point))) | |
1265 (cond | |
1266 ((eq char ?\") | |
1267 (setq quote-beg (point)) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1268 (or (mail-extr-safe-move-sexp 1) |
809 | 1269 ;; TODO: handle this error condition!!!!! |
1270 (forward-char 1)) | |
1271 ;; take into account deletions | |
1272 (setq quote-end (- (point) 2)) | |
1273 (save-excursion | |
1274 (backward-char 1) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1275 (mail-extr-delete-char 1) |
809 | 1276 (goto-char quote-beg) |
14500
20946c9d3806
(mail-extract-address-components): Accept strings
Richard M. Stallman <rms@gnu.org>
parents:
14169
diff
changeset
|
1277 (or (eobp) |
20946c9d3806
(mail-extract-address-components): Accept strings
Richard M. Stallman <rms@gnu.org>
parents:
14169
diff
changeset
|
1278 (mail-extr-delete-char 1))) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1279 (mail-extr-undo-backslash-quoting quote-beg quote-end) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1280 (or (eq ?\ (char-after (point))) |
809 | 1281 (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
|
1282 ;; (setq mailbox-name-processed-flag t) |
809 | 1283 (setq \.-ends-name t)) |
1284 ((eq 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
|
1285 (if (memq (char-after (1+ (point))) '(?_ ?=)) |
809 | 1286 (progn |
1287 (forward-char 1) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1288 (mail-extr-delete-char 1) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1289 (insert ?\ )) |
809 | 1290 (if \.-ends-name |
1291 (narrow-to-region (point-min) (point)) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1292 (mail-extr-delete-char 1) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1293 (insert " "))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1294 ;; (setq mailbox-name-processed-flag t) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1295 ) |
809 | 1296 ((memq (char-syntax 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
|
1297 (mail-extr-delete-char 1) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1298 (insert " ") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1299 ;; (setq mailbox-name-processed-flag t) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1300 ) |
809 | 1301 (t |
1302 (setq atom-beg (point)) | |
1303 (forward-word 1) | |
1304 (setq atom-end (point)) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1305 (goto-char atom-beg) |
809 | 1306 (save-restriction |
1307 (narrow-to-region atom-beg atom-end) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1308 (cond |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1309 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1310 ;; Handle X.400 addresses encoded in RFC-822. |
18816
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1311 ;; *** Shit! This has to handle the case where it is |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1312 ;; *** embedded in a quote too! |
18816
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1313 ;; *** Shit! The input is being broken up into atoms |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1314 ;; *** by periods! |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1315 ((looking-at 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
|
1316 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1317 ;; Copy the contents of the individual fields that |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1318 ;; might hold name data to the beginning. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1319 (mapcar |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1320 (function |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1321 (lambda (field-pattern) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1322 (cond |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1323 ((save-excursion |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1324 (re-search-forward field-pattern 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
|
1325 (insert-buffer-substring (current-buffer) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1326 (match-beginning 1) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1327 (match-end 1)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1328 (insert " "))))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1329 (list 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
|
1330 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
|
1331 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
|
1332 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1333 ;; Discard the rest, since it contains stuff like |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1334 ;; routing information, not part of 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
|
1335 (mail-extr-skip-whitespace-backward) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1336 (delete-region (point) (point-max)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1337 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1338 ;; Handle periods used for spacing. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1339 (while (re-search-forward mail-extr-bad-dot-pattern 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
|
1340 (replace-match "\\1 \\2" t)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1341 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1342 ;; (setq mailbox-name-processed-flag t) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1343 ) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1344 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1345 ;; Handle normal addresses. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1346 (t |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1347 (goto-char (point-min)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1348 ;; Handle _ and = used for spacing. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1349 (while (re-search-forward "\\([^_=]+\\)[_=]" 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
|
1350 (replace-match "\\1 " t) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1351 ;; (setq mailbox-name-processed-flag t) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1352 ) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1353 (goto-char (point-max)))))))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1354 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1355 ;; undo the dirty deed |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1356 (if (not mail-extr-mangle-uucp) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1357 (modify-syntax-entry ?! "." (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
|
1358 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1359 ;; If we derived the name from the mailbox part of 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
|
1360 ;; and we only got one word out of it, don't treat that 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
|
1361 ;; name. "foo@bar" --> (nil "foo@bar"), not ("foo" "foo@bar") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1362 ;; (if (not mailbox-name-processed-flag) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1363 ;; (delete-region (point-min) (point-max))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1364 )) |
809 | 1365 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1366 (set-syntax-table mail-extr-address-text-syntax-table) |
809 | 1367 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1368 (mail-extr-voodoo mbox-beg mbox-end canonicalization-buffer) |
809 | 1369 (goto-char (point-min)) |
1370 | |
1371 ;; If name is "First Last" and userid is "F?L", then assume | |
1372 ;; the middle initial is the second letter in the userid. | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1373 ;; Initial code by 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
|
1374 ;; *** Make it work when there's a suffix as well. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1375 (goto-char (point-min)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1376 (cond ((and mail-extr-guess-middle-initial |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1377 (not disable-initial-guessing-flag) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1378 (eq 3 (- mbox-end mbox-beg)) |
809 | 1379 (progn |
1380 (goto-char (point-min)) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1381 (looking-at mail-extr-two-name-pattern))) |
809 | 1382 (setq fi (char-after (match-beginning 0)) |
1383 li (char-after (match-beginning 3))) | |
1384 (save-excursion | |
1385 (set-buffer canonicalization-buffer) | |
1386 ;; char-equal is ignoring case here, so no need to upcase | |
1387 ;; or downcase. | |
1388 (let ((case-fold-search t)) | |
1389 (and (char-equal fi (char-after mbox-beg)) | |
1390 (char-equal li (char-after (1- mbox-end))) | |
1391 (setq mi (char-after (1+ mbox-beg)))))) | |
1392 (cond ((and mi | |
1393 ;; TODO: use better table than syntax table | |
1394 (eq ?w (char-syntax mi))) | |
1395 (goto-char (match-beginning 3)) | |
1396 (insert (upcase mi) ". "))))) | |
1397 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1398 ;; Nuke name if it is the same as mailbox name. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1399 (let ((buffer-length (- (point-max) (point-min))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1400 (i 0) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1401 (names-match-flag t)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1402 (cond ((and (> buffer-length 0) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1403 (eq buffer-length (- mbox-end mbox-beg))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1404 (goto-char (point-max)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1405 (insert-buffer-substring canonicalization-buffer |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1406 mbox-beg mbox-end) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1407 (while (and names-match-flag |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1408 (< i buffer-length)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1409 (or (eq (downcase (char-after (+ i (point-min)))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1410 (downcase |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1411 (char-after (+ i buffer-length (point-min))))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1412 (setq names-match-flag nil)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1413 (setq i (1+ i))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1414 (delete-region (+ (point-min) buffer-length) (point-max)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1415 (if names-match-flag |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1416 (narrow-to-region (point) (point)))))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1417 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1418 ;; Nuke name if it's just one word. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1419 (goto-char (point-min)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1420 (and mail-extr-ignore-single-names |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1421 (not (re-search-forward "[- ]" 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
|
1422 (narrow-to-region (point) (point))) |
809 | 1423 |
1424 ;; Result | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1425 (list (if (not (= (point-min) (point-max))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1426 (buffer-string)) |
809 | 1427 (progn |
1428 (set-buffer canonicalization-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
|
1429 (if (not (= (point-min) (point-max))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1430 (buffer-string)))) |
809 | 1431 ))) |
1432 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1433 (defun mail-extr-voodoo (mbox-beg mbox-end canonicalization-buffer) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1434 (let ((word-count 0) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1435 (case-fold-search nil) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1436 mixed-case-flag lower-case-flag ;;upper-case-flag |
809 | 1437 suffix-flag last-name-comma-flag |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1438 ;;cbeg cend |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1439 initial |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1440 begin-again-flag |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1441 drop-this-word-if-trailing-flag |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1442 drop-last-word-if-trailing-flag |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1443 word-found-flag |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1444 this-word-beg last-word-beg |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1445 name-beg name-end |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1446 name-done-flag |
809 | 1447 ) |
1448 (save-excursion | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1449 (set-syntax-table mail-extr-address-text-syntax-table) |
18816
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1450 |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1451 ;; Get rid of comments. |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1452 (goto-char (point-min)) |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1453 (while (not (eobp)) |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1454 ;; Initialize for this iteration of the loop. |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1455 (skip-chars-forward "^({[\"'`") |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1456 (let ((cbeg (point))) |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1457 (set-syntax-table mail-extr-address-text-comment-syntax-table) |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1458 (cond ((memq (following-char) '(?\' ?\`)) |
19006
8a0265f609ff
(mail-extr-voodoo): Handle unmatched quotes in the comment-deletion loop.
Richard M. Stallman <rms@gnu.org>
parents:
18816
diff
changeset
|
1459 (search-forward "'" nil 'move |
18816
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1460 (if (eq ?\' (following-char)) 2 1))) |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1461 (t |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1462 (or (mail-extr-safe-move-sexp 1) |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1463 (goto-char (point-max))))) |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1464 (set-syntax-table mail-extr-address-text-syntax-table) |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1465 (when (eq (char-after cbeg) ?\() |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1466 ;; Delete the comment itself. |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1467 (delete-region cbeg (point)) |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1468 ;; Canonicalize whitespace where the comment was. |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1469 (skip-chars-backward " \t") |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1470 (if (looking-at "\\([ \t]+$\\|[ \t]+,\\)") |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1471 (replace-match "") |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1472 (setq cbeg (point)) |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1473 (skip-chars-forward " \t") |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1474 (if (bobp) |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1475 (delete-region (point) cbeg) |
92913b38a478
(mail-extr-voodoo): Get rid of comments at an early stage.
Richard M. Stallman <rms@gnu.org>
parents:
16727
diff
changeset
|
1476 (just-one-space)))))) |
809 | 1477 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1478 ;; This was moved above. |
809 | 1479 ;; Fix . used as 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
|
1480 ;; But it belongs here because it occurs not only as |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1481 ;; rypens@reks.uia.ac.be (Piet.Rypens) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1482 ;; but also as |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1483 ;; "Piet.Rypens" <rypens@reks.uia.ac.be> |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1484 ;;(goto-char (point-min)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1485 ;;(while (re-search-forward mail-extr-bad-dot-pattern 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
|
1486 ;; (replace-match "\\1 \\2" t)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1487 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1488 (cond ((not (search-forward " " 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
|
1489 (goto-char (point-min)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1490 (cond ((search-forward "_" 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
|
1491 ;; Handle the *idiotic* use of underlines as spaces. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1492 ;; Example: fml@foo.bar.dom (First_M._Last) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1493 (goto-char (point-min)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1494 (while (search-forward "_" 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
|
1495 (replace-match " " t))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1496 ((search-forward "." 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
|
1497 ;; Fix . used as space |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1498 ;; Example: danj1@cb.att.com (daniel.jacobson) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1499 (goto-char (point-min)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1500 (while (re-search-forward mail-extr-bad-dot-pattern 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
|
1501 (replace-match "\\1 \\2" t)))))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1502 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1503 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1504 ;; Loop over the words (and other junk) in the name. |
809 | 1505 (goto-char (point-min)) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1506 (while (not name-done-flag) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1507 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1508 (cond (word-found-flag |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1509 ;; Last time through this loop we skipped over a word. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1510 (setq last-word-beg this-word-beg) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1511 (setq drop-last-word-if-trailing-flag |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1512 drop-this-word-if-trailing-flag) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1513 (setq word-found-flag nil))) |
809 | 1514 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1515 (cond (begin-again-flag |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1516 ;; Last time through the loop we found something that |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1517 ;; indicates we should pretend we are beginning again from |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1518 ;; the start. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1519 (setq word-count 0) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1520 (setq last-word-beg nil) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1521 (setq drop-last-word-if-trailing-flag nil) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1522 (setq mixed-case-flag nil) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1523 (setq lower-case-flag nil) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1524 ;; (setq upper-case-flag nil) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1525 (setq begin-again-flag nil) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1526 )) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1527 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1528 ;; Initialize for this iteration of the loop. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1529 (mail-extr-skip-whitespace-forward) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1530 (if (eq word-count 0) (narrow-to-region (point) (point-max))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1531 (setq this-word-beg (point)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1532 (setq drop-this-word-if-trailing-flag nil) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1533 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1534 ;; Decide what to do based on what we are looking at. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1535 (cond |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1536 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1537 ;; Delete title |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1538 ((and (eq word-count 0) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1539 (looking-at mail-extr-full-name-prefixes)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1540 (goto-char (match-end 0)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1541 (narrow-to-region (point) (point-max))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1542 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1543 ;; Stop after name suffix |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1544 ((and (>= word-count 2) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1545 (looking-at 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
|
1546 (mail-extr-skip-whitespace-backward) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1547 (setq suffix-flag (point)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1548 (if (eq ?, (following-char)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1549 (forward-char 1) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1550 (insert ?,)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1551 ;; Enforce at least one space after comma |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1552 (or (eq ?\ (following-char)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1553 (insert ?\ )) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1554 (mail-extr-skip-whitespace-forward) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1555 (cond ((memq (following-char) '(?j ?J ?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
|
1556 (capitalize-word 1) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1557 (if (eq (following-char) ?.) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1558 (forward-char 1) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1559 (insert ?.))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1560 (t |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1561 (upcase-word 1))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1562 (setq word-found-flag t) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1563 (setq name-done-flag t)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1564 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1565 ;; Handle SCA names |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1566 ((looking-at "MKA \\(.+\\)") ; "Mundanely Known As" |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1567 (goto-char (match-beginning 1)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1568 (narrow-to-region (point) (point-max)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1569 (setq begin-again-flag t)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1570 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1571 ;; Check for initial last name followed by comma |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1572 ((and (eq ?, (following-char)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1573 (eq word-count 1)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1574 (forward-char 1) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1575 (setq last-name-comma-flag t) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1576 (or (eq ?\ (following-char)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1577 (insert ?\ ))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1578 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1579 ;; Stop before trailing comma-separated comment |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1580 ;; THIS CASE MUST BE AFTER THE PRECEDING CASES. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1581 ;; *** This case is redundant??? |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1582 ;;((eq ?, (following-char)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1583 ;; (setq name-done-flag t)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1584 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1585 ;; Delete parenthesized/quoted comment/nickname |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1586 ((memq (following-char) '(?\( ?\{ ?\[ ?\" ?\' ?\`)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1587 (setq cbeg (point)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1588 (set-syntax-table 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
|
1589 (cond ((memq (following-char) '(?\' ?\`)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1590 (or (search-forward "'" 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
|
1591 (if (eq ?\' (following-char)) 2 1)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1592 (mail-extr-delete-char 1))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1593 (t |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1594 (or (mail-extr-safe-move-sexp 1) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1595 (goto-char (point-max))))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1596 (set-syntax-table 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
|
1597 (setq cend (point)) |
809 | 1598 (cond |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1599 ;; Handle case of entire name being quoted |
809 | 1600 ((and (eq word-count 0) |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1601 (looking-at " *\\'") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1602 (>= (- cend cbeg) 2)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1603 (narrow-to-region (1+ cbeg) (1- cend)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1604 (goto-char (point-min))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1605 (t |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1606 ;; Handle case of quoted initial |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1607 (if (and (or (= 3 (- cend cbeg)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1608 (and (= 4 (- cend cbeg)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1609 (eq ?. (char-after (+ 2 cbeg))))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1610 (not (looking-at " *\\'"))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1611 (setq initial (char-after (1+ cbeg))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1612 (setq initial nil)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1613 (delete-region cbeg cend) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1614 (if initial |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1615 (insert initial ". "))))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1616 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1617 ;; Handle & substitution |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1618 ((and (or (bobp) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1619 (eq ?\ (preceding-char))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1620 (looking-at "&\\( \\|\\'\\)")) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1621 (mail-extr-delete-char 1) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1622 (capitalize-region |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1623 (point) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1624 (progn |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1625 (insert-buffer-substring canonicalization-buffer |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1626 mbox-beg mbox-end) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1627 (point))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1628 (setq disable-initial-guessing-flag t) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1629 (setq word-found-flag t)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1630 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1631 ;; Handle *Stupid* VMS date stamps |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1632 ((looking-at 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
|
1633 (replace-match "" t)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1634 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1635 ;; Handle Chinese characters. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1636 ((looking-at 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
|
1637 (goto-char (match-end 0)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1638 (setq word-found-flag t)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1639 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1640 ;; Skip initial garbage characters. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1641 ;; THIS CASE MUST BE AFTER THE PRECEDING CASES. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1642 ((and (eq word-count 0) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1643 (looking-at mail-extr-leading-garbage)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1644 (goto-char (match-end 0)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1645 ;; *** Skip backward over these??? |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1646 ;; (skip-chars-backward "& \"") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1647 (narrow-to-region (point) (point-max))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1648 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1649 ;; Various stopping points |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1650 ((or |
809 | 1651 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1652 ;; Stop before ALL CAPS acronyms, if preceded by mixed-case |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1653 ;; words. Example: XT-DEM. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1654 (and (>= word-count 2) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1655 mixed-case-flag |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1656 (looking-at 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
|
1657 (not (looking-at mail-extr-roman-numeral-pattern))) |
809 | 1658 |
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 ;; Stop before trailing alternative address |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1660 (looking-at 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
|
1661 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1662 ;; Stop before trailing comment not introduced by comma |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1663 ;; THIS CASE MUST BE AFTER AN EARLIER CASE. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1664 (looking-at mail-extr-trailing-comment-start-pattern) |
809 | 1665 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1666 ;; Stop before telephone numbers |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1667 (looking-at 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
|
1668 (setq name-done-flag t)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1669 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1670 ;; Delete ham radio call signs |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1671 ((looking-at 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
|
1672 (delete-region (match-beginning 0) (match-end 0))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1673 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1674 ;; Fixup initials |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1675 ((looking-at 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
|
1676 (or (eq (following-char) (upcase (following-char))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1677 (setq lower-case-flag t)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1678 (forward-char 1) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1679 (if (eq ?. (following-char)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1680 (forward-char 1) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1681 (insert ?.)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1682 (or (eq ?\ (following-char)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1683 (insert ?\ )) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1684 (setq word-found-flag t)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1685 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1686 ;; Handle BITNET LISTSERV list names. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1687 ((and (eq word-count 0) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1688 (looking-at 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
|
1689 (narrow-to-region (match-beginning 1) (match-end 1)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1690 (setq word-found-flag t) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1691 (setq name-done-flag t)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1692 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1693 ;; Regular name words |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1694 ((looking-at 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
|
1695 (setq name-beg (point)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1696 (setq name-end (match-end 0)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1697 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1698 ;; Certain words will be dropped if they are at the end. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1699 (and (>= word-count 2) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1700 (not lower-case-flag) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1701 (or |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1702 ;; A trailing 4-or-more letter lowercase words preceded by |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1703 ;; mixed case or uppercase words will be dropped. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1704 (looking-at "[a-z][a-z][a-z][a-z]+[ \t]*\\'") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1705 ;; Drop a trailing word which is terminated with a period. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1706 (eq ?. (char-after (1- name-end)))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1707 (setq drop-this-word-if-trailing-flag t)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1708 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1709 ;; Set the flags that indicate whether we have seen a lowercase |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1710 ;; word, a mixed case word, and an uppercase word. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1711 (if (re-search-forward "[a-z]" name-end t) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1712 (if (progn |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1713 (goto-char name-beg) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1714 (re-search-forward "[A-Z]" name-end t)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1715 (setq mixed-case-flag t) |
809 | 1716 (setq lower-case-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
|
1717 ;; (setq upper-case-flag t) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1718 ) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1719 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1720 (goto-char name-end) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1721 (setq word-found-flag t)) |
809 | 1722 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1723 (t |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1724 (setq name-done-flag t) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1725 )) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1726 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1727 ;; Count any word that we skipped over. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1728 (if word-found-flag |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1729 (setq word-count (1+ word-count)))) |
809 | 1730 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1731 ;; If the last thing in the name is 2 or more periods, or one or more |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1732 ;; other sentence terminators (but not a single period) then keep them |
13959 | 1733 ;; and the preceding word. This is for the benefit of whole sentences |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1734 ;; in the name field: it's better behavior than dropping the last word |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1735 ;; of the sentence... |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1736 (if (and (not suffix-flag) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1737 (looking-at "\\(\\.+\\|[?!;:.][?!;:.]+\\|[?!;:][?!;:.]*\\)\\'")) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1738 (goto-char (setq suffix-flag (point-max)))) |
809 | 1739 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1740 ;; Drop everything after point and certain trailing words. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1741 (narrow-to-region (point-min) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1742 (or (and drop-last-word-if-trailing-flag |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1743 last-word-beg) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1744 (point))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1745 |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1746 ;; Xerox's mailers SUCK!!!!!! |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1747 ;; We simply refuse to believe that any last name is PARC or ADOC. |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1748 ;; If it looks like that is the last name, that there is no meaningful |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1749 ;; here at all. Actually I guess it would be best to map patterns |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1750 ;; like foo.hoser@xerox.com into foo@hoser.xerox.com, but I don't |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1751 ;; actually know that that is what's going on. |
809 | 1752 (cond ((not suffix-flag) |
1753 (goto-char (point-min)) | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1754 (let ((case-fold-search t)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1755 (if (looking-at "[-A-Za-z_]+[. ]\\(PARC\\|ADOC\\)\\'") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1756 (erase-buffer))))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1757 |
809 | 1758 ;; If last name first put it at end (but before suffix) |
1759 (cond (last-name-comma-flag | |
1760 (goto-char (point-min)) | |
1761 (search-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
|
1762 (setq name-end (1- (point))) |
809 | 1763 (goto-char (or suffix-flag (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
|
1764 (or (eq ?\ (preceding-char)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1765 (insert ?\ )) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1766 (insert-buffer-substring (current-buffer) (point-min) name-end) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1767 (goto-char name-end) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1768 (skip-chars-forward "\t ,") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1769 (narrow-to-region (point) (point-max)))) |
809 | 1770 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1771 ;; Delete leading and trailing junk characters. |
13959 | 1772 ;; *** This is probably completely unneeded now. |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1773 ;;(goto-char (point-max)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1774 ;;(skip-chars-backward 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
|
1775 ;;(if (eq ?. (following-char)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1776 ;; (forward-char 1)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1777 ;;(narrow-to-region (point) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1778 ;; (progn |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1779 ;; (goto-char (point-min)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1780 ;; (skip-chars-forward 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
|
1781 ;; (point))) |
809 | 1782 |
1783 ;; Compress whitespace | |
1784 (goto-char (point-min)) | |
1785 (while (re-search-forward "[ \t\n]+" nil 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
|
1786 (replace-match (if (eobp) "" " ") t)) |
809 | 1787 ))) |
1788 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1789 |
809 | 1790 |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1791 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1792 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1793 ;; 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
|
1794 ;; |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1795 ;; This is used during address canonicalization; be careful of format changes. |
809 | 1796 ;; Keep in mind that the country abbreviations follow ISO-3166. There is |
1797 ;; a U.S. FIPS that specifies a different set of two-letter country | |
1798 ;; abbreviations. | |
1799 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1800 (defconst mail-extr-all-top-level-domains |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1801 (let ((ob (make-vector 509 0))) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1802 (mapcar |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1803 (function |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1804 (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
|
1805 (put (intern (downcase (car x)) ob) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1806 'domain-name |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1807 (if (nth 2 x) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1808 (format (nth 2 x) (nth 1 x)) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1809 (nth 1 x))))) |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1810 '( |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1811 ;; ISO 3166 codes: |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1812 ("ae" "United Arab Emirates") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1813 ("ag" "Antigua and Barbuda") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1814 ("al" "Albania") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1815 ("ao" "Angola") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1816 ("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
|
1817 ("ar" "Argentina" "Argentine Republic") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1818 ("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
|
1819 ("au" "Australia") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1820 ("az" "Azerbaijan") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1821 ("bb" "Barbados") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1822 ("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
|
1823 ("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
|
1824 ("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
|
1825 ("bg" "Bulgaria") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1826 ("bh" "Bahrain") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1827 ("bm" "Bermuda") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1828 ("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
|
1829 ("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
|
1830 ("bs" "Bahamas") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1831 ("bw" "Botswana") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1832 ("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
|
1833 ("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
|
1834 ("ca" "Canada") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1835 ("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
|
1836 ("ch" "Switzerland" "The Swiss Confederation") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1837 ("ci" "Ivory Coast") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1838 ("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
|
1839 ("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
|
1840 ("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
|
1841 ("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
|
1842 ("cr" "Costa Rica" "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
|
1843 ("cs" "Czechoslovakia") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1844 ("cu" "Cuba") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1845 ("cy" "Cyprus") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1846 ("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
|
1847 ("de" "Germany") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1848 ("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
|
1849 ("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
|
1850 ("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
|
1851 ("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
|
1852 ("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
|
1853 ("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
|
1854 ("eg" "Egypt" "The Arab Republic of %s") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1855 ("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
|
1856 ("es" "Spain" "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
|
1857 ("fi" "Finland" "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
|
1858 ("fj" "Fiji") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1859 ("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
|
1860 ("fr" "France") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1861 ("gb" "Great Britain") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1862 ("gd" "Grenada") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1863 ("ge" "Georgia") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1864 ("gf" "Guyana (Fr.)") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1865 ("gp" "Guadeloupe (Fr.)") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1866 ("gr" "Greece" "The Hellenic Republic (%s)") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1867 ("gt" "Guatemala") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1868 ("gu" "Guam (U.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
|
1869 ("hk" "Hong Kong") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1870 ("hn" "Honduras") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1871 ("hr" "Croatia") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1872 ("ht" "Haiti") |
9012
3c3786c4c56f
(mail-extr-all-top-level-domains): Fix formal name of Hungary.
Richard M. Stallman <rms@gnu.org>
parents:
8983
diff
changeset
|
1873 ("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
|
1874 ("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
|
1875 ("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
|
1876 ("il" "Israel" "The State 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
|
1877 ("in" "India" "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
|
1878 ("ir" "Iran") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1879 ("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
|
1880 ("it" "Italy" "The Italian Republic") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1881 ("jm" "Jamaica") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1882 ("jp" "Japan") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1883 ("ke" "Kenya") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1884 ("kn" "St. Kitts, Nevis, and Anguilla") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1885 ("kp" "Korea (North)") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1886 ("kr" "Korea (South)") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1887 ("kw" "Kuwait") |
13959 | 1888 ("kz" "Kazakhstan") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1889 ("lb" "Lebanon") |
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 ("lc" "St. Lucia") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1891 ("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
|
1892 ("lk" "Sri Lanka" "The Democratic Socialist Republic of %s") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1893 ("ls" "Lesotho") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1894 ("lt" "Lithuania") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1895 ("lu" "Luxembourg") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1896 ("lv" "Latvia") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1897 ("ma" "Morocco") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1898 ("md" "Moldova") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1899 ("mg" "Madagascar") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1900 ("mk" "Macedonia") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1901 ("ml" "Mali") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1902 ("mo" "Macau") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1903 ("mt" "Malta") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1904 ("mu" "Mauritius") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1905 ("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
|
1906 ("mx" "Mexico" "The United Mexican States") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1907 ("my" "Malaysia" "%s (changed to Myanmar?)") ;??? |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1908 ("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
|
1909 ("na" "Namibia") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1910 ("nc" "New Caledonia (Fr.)") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1911 ("ne" "Niger") ; 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
|
1912 ("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
|
1913 ("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
|
1914 ("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
|
1915 ("np" "Nepal") ; Via .in 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
|
1916 ("nz" "New Zealand") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1917 ("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
|
1918 ("pe" "Peru") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1919 ("pf" "Polynesia (Fr.)") |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1920 ("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
|
1921 ("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
|
1922 ("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
|
1923 ("pl" "Poland") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1924 ("pr" "Puerto Rico (U.S.)") |
13959 | 1925 ("pt" "Portugal" "The Portuguese 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
|
1926 ("py" "Paraguay") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1927 ("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
|
1928 ("ro" "Romania") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1929 ("ru" "Russian Federation") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1930 ("sa" "Saudi Arabia") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1931 ("sc" "Seychelles") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1932 ("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
|
1933 ("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
|
1934 ("sg" "Singapore" "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
|
1935 ("si" "Slovenia") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1936 ("sj" "Svalbard and Jan Mayen Is.") ; In .no domain |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1937 ("sk" "Slovakia" "The Slovak Republic") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1938 ("sn" "Senegal") |
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 ("sr" "Suriname") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1940 ("su" "Soviet Union") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1941 ("sz" "Swaziland") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1942 ("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
|
1943 ("th" "Thailand" "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
|
1944 ("tm" "Turkmenistan") ; In .su 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
|
1945 ("tn" "Tunisia") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1946 ("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
|
1947 ("tt" "Trinidad and Tobago") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1948 ("tw" "Taiwan") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1949 ("ua" "Ukraine") |
8318
3fc49ff2ea03
(mail-extr-all-top-level-domains): Update a few long names.
Richard M. Stallman <rms@gnu.org>
parents:
7133
diff
changeset
|
1950 ("uk" "United Kingdom" "The %s of Great Britain and Northern Ireland") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1951 ("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
|
1952 ("uy" "Uruguay" "The Eastern 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
|
1953 ("vc" "St. Vincent and the Grenadines") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1954 ("ve" "Venezuela" "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
|
1955 ("vi" "Virgin Islands (U.S.)") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1956 ("vn" "Vietnam") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1957 ("vu" "Vanuatu") |
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 ("yu" "Yugoslavia" "The Socialist Federal 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
|
1959 ("za" "South Africa" "The Republic of %s (or Zambia? Zaire?)") |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1960 ("zw" "Zimbabwe" "Republic of %s") |
8983
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1961 ;; Special top-level domains: |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1962 ("arpa" t "Advanced Research Projects Agency (U.S. DoD)") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1963 ("bitnet" t "Because It's Time NET") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1964 ("com" t "Commercial") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1965 ("edu" t "Educational") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1966 ("gov" t "Government (U.S.)") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1967 ("int" t "International (NATO)") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1968 ("mil" t "Military (U.S.)") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1969 ("nato" t "North Atlantic Treaty Organization") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1970 ("net" t "Network") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1971 ("org" t "Non-profit Organization") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1972 ;;("unter-dom" t "? (Ger.)") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1973 ("uucp" t "Unix to Unix CoPy") |
522fbe95e651
(mail-extr-all-top-level-domains): Update domain list.
Richard M. Stallman <rms@gnu.org>
parents:
8356
diff
changeset
|
1974 ;;("fipnet" 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
|
1975 )) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1976 ob)) |
809 | 1977 |
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 ;;;###autoload |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1979 (defun what-domain (domain) |
8356 | 1980 "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
|
1981 (interactive |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1982 (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
|
1983 (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
|
1984 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
|
1985 (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
|
1986 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
|
1987 (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
|
1988 (message "%s: %s" (upcase (symbol-name domain)) (get domain 'domain-name))) |
809 | 1989 |
1990 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1991 ;(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
|
1992 ; (mapatoms #'(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
|
1993 ; (if (and (boundp x) |
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
1994 ; (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
|
1995 ; (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
|
1996 ; (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
|
1997 ; (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
|
1998 ; (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
|
1999 ; (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
|
2000 ; all)))) |
809 | 2001 |
2002 | |
7060
58d613f69b39
(mail-extr-all-top-level-domains): Renamed from all-top-level-domains.
Richard M. Stallman <rms@gnu.org>
parents:
1186
diff
changeset
|
2003 (provide 'mail-extr) |
809 | 2004 |
2005 ;;; mail-extr.el ends here |