summaryrefslogtreecommitdiff
path: root/localrepo/org-contacts-1.1.tar
blob: 9e8b02f85c6d116da0a5bdc1058ae578fc876943 (plain)
ofshex dumpascii
0000 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 31 2e 31 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 org-contacts-1.1/...............
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0080 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 34 31 35 00 20 35 00 00 00 0000000.00000000000.012415..5...
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 31 2e 31 2f 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 70 6b org-contacts-1.1/org-contacts-pk
0220 67 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 g.el............................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0280 30 30 30 30 37 32 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 31 32 30 00 20 30 00 00 00 0000720.00000000000.016120..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 3b 3b 20 47 65 6e 65 72 61 74 65 64 20 70 61 63 6b 61 67 65 20 64 65 73 63 72 69 70 74 69 6f 6e ;;.Generated.package.description
0420 20 66 72 6f 6d 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2e 65 6c 20 20 2d 2a 2d 20 6e 6f 2d 62 79 .from.org-contacts.el..-*-.no-by
0440 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 te-compile:.t.-*-.(define-packag
0460 65 20 22 6f 72 67 2d 63 6f 6e 74 61 63 74 73 22 20 22 31 2e 31 22 20 22 43 6f 6e 74 61 63 74 73 e."org-contacts"."1.1"."Contacts
0480 20 6d 61 6e 61 67 65 6d 65 6e 74 20 73 79 73 74 65 6d 20 66 6f 72 20 4f 72 67 20 4d 6f 64 65 22 .management.system.for.Org.Mode"
04a0 20 27 28 28 65 6d 61 63 73 20 22 32 37 2e 31 22 29 20 28 6f 72 67 20 22 39 2e 33 2e 34 22 29 29 .'((emacs."27.1").(org."9.3.4"))
04c0 20 3a 63 6f 6d 6d 69 74 20 22 32 31 37 62 61 30 34 63 39 64 36 33 38 30 36 37 61 36 63 63 62 30 .:commit."217ba04c9d638067a6ccb0
04e0 38 32 39 63 66 31 38 38 35 66 35 34 63 31 64 35 36 38 22 20 3a 61 75 74 68 6f 72 73 20 27 28 28 829cf1885f54c1d568".:authors.'((
0500 22 4a 75 6c 69 65 6e 20 44 61 6e 6a 6f 75 22 20 2e 20 22 6a 75 6c 69 65 6e 40 64 61 6e 6a 6f 75 "Julien.Danjou"..."julien@danjou
0520 2e 69 6e 66 6f 22 29 29 20 3a 6d 61 69 6e 74 61 69 6e 65 72 20 27 28 22 73 74 61 72 64 69 76 69 .info")).:maintainer.'("stardivi
0540 6e 65 72 22 20 2e 20 22 6e 75 6d 62 63 68 69 6c 64 40 67 6d 61 69 6c 2e 63 6f 6d 22 29 20 3a 6b ner"..."numbchild@gmail.com").:k
0560 65 79 77 6f 72 64 73 20 27 28 22 63 6f 6e 74 61 63 74 73 22 20 22 6f 72 67 2d 6d 6f 64 65 22 20 eywords.'("contacts"."org-mode".
0580 22 6f 75 74 6c 69 6e 65 73 22 20 22 68 79 70 65 72 6d 65 64 69 61 22 20 22 63 61 6c 65 6e 64 61 "outlines"."hypermedia"."calenda
05a0 72 22 29 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 72 65 70 6f 2e 6f 72 2e 63 7a 2f 6f 72 67 r").:url."https://repo.or.cz/org
05c0 2d 63 6f 6e 74 61 63 74 73 2e 67 69 74 22 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -contacts.git").................
05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0600 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 31 2e 31 2f 52 45 41 44 4d 45 2e 6f 72 67 00 00 00 00 00 org-contacts-1.1/README.org.....
0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0680 30 30 30 31 31 35 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 30 36 33 00 20 30 00 00 00 0001153.00000000000.014063..0...
06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0800 2a 20 49 6e 74 72 6f 0a 0a 43 6f 6e 74 61 63 74 73 20 6d 61 6e 61 67 65 6d 65 6e 74 20 73 79 73 *.Intro..Contacts.management.sys
0820 74 65 6d 20 66 6f 72 20 4f 72 67 20 4d 6f 64 65 2e 0a 0a 28 54 68 65 20 70 75 62 6c 69 63 20 72 tem.for.Org.Mode...(The.public.r
0840 65 70 6f 20 6f 66 20 6f 72 69 67 69 6e 61 6c 20 3d 6f 72 67 2d 6d 6f 64 65 2f 63 6f 6e 74 72 69 epo.of.original.=org-mode/contri
0860 62 2f 6c 69 73 70 2f 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2e 65 6c 3d 2e 29 0a 0a 4d 61 6e 61 67 b/lisp/org-contacts.el=.)..Manag
0880 65 20 79 6f 75 72 20 63 6f 6e 74 61 63 74 73 20 66 72 6f 6d 20 4f 72 67 20 6d 6f 64 65 20 61 6e e.your.contacts.from.Org.mode.an
08a0 64 20 69 6e 20 4f 72 67 20 6d 6f 64 65 20 63 6f 6e 76 65 6e 69 65 6e 74 20 77 61 79 2e 20 59 6f d.in.Org.mode.convenient.way..Yo
08c0 75 20 63 61 6e 20 61 75 74 6f 20 63 6f 6d 70 6c 65 74 65 20 65 6d 61 69 6c 0a 61 64 64 72 65 73 u.can.auto.complete.email.addres
08e0 73 65 73 2c 20 65 78 70 6f 72 74 20 63 6f 6e 74 61 63 74 73 20 74 6f 20 61 20 76 43 61 72 64 20 ses,.export.contacts.to.a.vCard.
0900 66 69 6c 65 2c 20 70 75 74 20 62 69 72 74 68 64 61 79 73 20 69 6e 20 79 6f 75 72 20 4f 72 67 20 file,.put.birthdays.in.your.Org.
0920 41 67 65 6e 64 61 2c 20 61 6e 64 20 6d 6f 72 65 2e 0a 0a 2a 20 53 63 72 65 65 6e 73 68 6f 74 73 Agenda,.and.more...*.Screenshots
0940 0a 0a 2a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 50 61 63 6b 61 67 65 20 77 69 6c 6c 20 62 ..*.Installation..Package.will.b
0960 65 20 73 75 62 6d 69 74 74 65 64 20 74 6f 20 4e 6f 6e 47 4e 55 20 6f 72 20 4d 45 4c 50 41 2e 20 e.submitted.to.NonGNU.or.MELPA..
0980 57 61 69 74 20 6d 65 20 68 61 76 65 20 74 69 6d 65 20 74 6f 20 64 6f 20 74 68 69 73 20 77 6f 72 Wait.me.have.time.to.do.this.wor
09a0 6b 2e 0a 0a 2a 20 55 73 61 67 65 0a 0a 2a 2a 20 46 69 6e 64 20 63 6f 6e 74 61 63 74 20 69 6e 20 k...*.Usage..**.Find.contact.in.
09c0 6f 72 67 2d 63 6f 6e 74 61 63 74 73 20 64 61 74 61 62 73 65 0a 0a 55 73 65 20 63 6f 6d 6d 61 6e org-contacts.databse..Use.comman
09e0 64 20 3d 5b 4d 2d 78 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 5d 3d 20 74 6f 20 73 65 61 72 63 68 d.=[M-x.org-contacts]=.to.search
0a00 2e 0a 0a 2a 2a 20 43 6f 6d 70 6c 65 74 65 20 63 6f 6e 74 61 63 74 20 70 72 6f 70 65 72 74 79 20 ...**.Complete.contact.property.
0a20 77 69 74 68 20 73 6f 6d 65 20 66 75 6e 63 74 69 6f 6e 73 20 73 75 70 70 6f 72 74 0a 0a 2a 2a 2a with.some.functions.support..***
0a40 20 4e 41 4d 45 0a 0a 2a 2a 2a 20 4e 49 43 4b 0a 0a 2a 2a 2a 20 45 4d 41 49 4c 0a 0a 2a 2a 2a 20 .NAME..***.NICK..***.EMAIL..***.
0a60 42 49 52 54 48 44 41 59 0a 0a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BIRTHDAY........................
0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c00 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 31 2e 31 2f 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2e 65 6c org-contacts-1.1/org-contacts.el
0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0c80 30 31 36 35 36 37 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 33 36 34 00 20 30 00 00 00 0165673.00000000000.015364..0...
0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e00 3b 3b 3b 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2e 65 6c 20 2d 2d 2d 20 43 6f 6e 74 61 63 74 73 ;;;.org-contacts.el.---.Contacts
0e20 20 6d 61 6e 61 67 65 6d 65 6e 74 20 73 79 73 74 65 6d 20 66 6f 72 20 4f 72 67 20 4d 6f 64 65 20 .management.system.for.Org.Mode.
0e40 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 -*-.lexical-binding:.t;.-*-..;;.
0e60 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 30 2d 32 30 32 32 20 20 46 72 65 65 20 53 6f Copyright.(C).2010-2022..Free.So
0e80 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 ftware.Foundation,.Inc...;;.Auth
0ea0 6f 72 3a 20 4a 75 6c 69 65 6e 20 44 61 6e 6a 6f 75 20 3c 6a 75 6c 69 65 6e 40 64 61 6e 6a 6f 75 or:.Julien.Danjou.<julien@danjou
0ec0 2e 69 6e 66 6f 3e 0a 3b 3b 20 4d 61 69 6e 74 61 69 6e 65 72 3a 20 73 74 61 72 64 69 76 69 6e 65 .info>.;;.Maintainer:.stardivine
0ee0 72 20 3c 6e 75 6d 62 63 68 69 6c 64 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 4b 65 79 77 6f r.<numbchild@gmail.com>.;;.Keywo
0f00 72 64 73 3a 20 63 6f 6e 74 61 63 74 73 2c 20 6f 72 67 2d 6d 6f 64 65 2c 20 6f 75 74 6c 69 6e 65 rds:.contacts,.org-mode,.outline
0f20 73 2c 20 68 79 70 65 72 6d 65 64 69 61 2c 20 63 61 6c 65 6e 64 61 72 0a 3b 3b 20 56 65 72 73 69 s,.hypermedia,.calendar.;;.Versi
0f40 6f 6e 3a 20 31 2e 31 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 65 on:.1.1.;;.Package-Requires:.((e
0f60 6d 61 63 73 20 22 32 37 2e 31 22 29 20 28 6f 72 67 20 22 39 2e 33 2e 34 22 29 29 0a 3b 3b 20 48 macs."27.1").(org."9.3.4")).;;.H
0f80 6f 6d 65 70 61 67 65 3a 20 68 74 74 70 73 3a 2f 2f 72 65 70 6f 2e 6f 72 2e 63 7a 2f 6f 72 67 2d omepage:.https://repo.or.cz/org-
0fa0 63 6f 6e 74 61 63 74 73 2e 67 69 74 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 contacts.git.;;.;;.This.file.is.
0fc0 6e 6f 74 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45 6d 61 63 73 2e 0a 3b 3b 0a 3b 3b 20 54 68 69 not.part.of.GNU.Emacs..;;.;;.Thi
0fe0 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
1000 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
1020 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 y.;;.it.under.the.terms.of.the.G
1040 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 NU.General.Public.License.as.pub
1060 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 lished.by.;;.the.Free.Software.F
1080 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 oundation,.either.version.3.of.t
10a0 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f he.License,.or.;;.(at.your.optio
10c0 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 n).any.later.version...;;.This.p
10e0 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 rogram.is.distributed.in.the.hop
1100 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 e.that.it.will.be.useful,.;;.but
1120 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 .WITHOUT.ANY.WARRANTY;.without.e
1140 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d ven.the.implied.warranty.of.;;.M
1160 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 ERCHANTABILITY.or.FITNESS.FOR.A.
1180 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 PARTICULAR.PURPOSE...See.the.;;.
11a0 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d GNU.General.Public.License.for.m
11c0 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 ore.details...;;.You.should.have
11e0 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 .received.a.copy.of.the.GNU.Gene
1200 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 ral.Public.License.;;.along.with
1220 20 47 4e 55 20 45 6d 61 63 73 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a .GNU.Emacs...If.not,.see.<https:
1240 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 3b 3b 3b 3b 3b 3b //www.gnu.org/licenses/>..;;;;;;
1260 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1280 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
12a0 3b 3b 3b 3b 3b 3b 3b 0a 3b 3b 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 ;;;;;;;.;;.;;;.Commentary:..;;.T
12c0 68 69 73 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 63 6f 64 65 20 66 6f 72 20 6d his.file.contains.the.code.for.m
12e0 61 6e 61 67 69 6e 67 20 79 6f 75 72 20 63 6f 6e 74 61 63 74 73 20 69 6e 74 6f 20 4f 72 67 2d 6d anaging.your.contacts.into.Org-m
1300 6f 64 65 2e 0a 0a 3b 3b 20 54 6f 20 65 6e 74 65 72 20 6e 65 77 20 63 6f 6e 74 61 63 74 73 2c 20 ode...;;.To.enter.new.contacts,.
1320 79 6f 75 20 63 61 6e 20 75 73 65 20 60 6f 72 67 2d 63 61 70 74 75 72 65 27 20 61 6e 64 20 61 20 you.can.use.`org-capture'.and.a.
1340 6d 69 6e 69 6d 61 6c 20 74 65 6d 70 6c 61 74 65 20 6a 75 73 74 20 6c 69 6b 65 0a 3b 3b 20 74 68 minimal.template.just.like.;;.th
1360 69 73 3a 0a 0a 3b 3b 20 20 20 20 20 20 20 20 20 28 22 63 22 20 22 43 6f 6e 74 61 63 74 73 22 20 is:..;;.........("c"."Contacts".
1380 65 6e 74 72 79 20 28 66 69 6c 65 20 22 7e 2f 4f 72 67 2f 63 6f 6e 74 61 63 74 73 2e 6f 72 67 22 entry.(file."~/Org/contacts.org"
13a0 29 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 22 2a 20 25 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d ).;;.........."*.%(org-contacts-
13c0 74 65 6d 70 6c 61 74 65 2d 6e 61 6d 65 29 0a 3b 3b 20 3a 50 52 4f 50 45 52 54 49 45 53 3a 0a 3b template-name).;;.:PROPERTIES:.;
13e0 3b 20 3a 45 4d 41 49 4c 3a 20 25 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 74 65 6d 70 6c 61 74 ;.:EMAIL:.%(org-contacts-templat
1400 65 2d 65 6d 61 69 6c 29 0a 3b 3b 20 3a 45 4e 44 3a 22 29 29 29 0a 3b 3b 0a 3b 3b 20 59 6f 75 20 e-email).;;.:END:"))).;;.;;.You.
1420 63 61 6e 20 61 6c 73 6f 20 75 73 65 20 61 20 63 6f 6d 70 6c 65 78 20 74 65 6d 70 6c 61 74 65 2c can.also.use.a.complex.template,
1440 20 66 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 3b 3b 0a 3b 3b 20 20 20 20 20 20 20 20 20 28 22 63 22 .for.example:.;;.;;.........("c"
1460 20 22 43 6f 6e 74 61 63 74 73 22 20 65 6e 74 72 79 20 28 66 69 6c 65 20 22 7e 2f 4f 72 67 2f 63 ."Contacts".entry.(file."~/Org/c
1480 6f 6e 74 61 63 74 73 2e 6f 72 67 22 29 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 22 2a 20 25 28 6f ontacts.org").;;.........."*.%(o
14a0 72 67 2d 63 6f 6e 74 61 63 74 73 2d 74 65 6d 70 6c 61 74 65 2d 6e 61 6d 65 29 0a 3b 3b 20 3a 50 rg-contacts-template-name).;;.:P
14c0 52 4f 50 45 52 54 49 45 53 3a 0a 3b 3b 20 3a 45 4d 41 49 4c 3a 20 25 28 6f 72 67 2d 63 6f 6e 74 ROPERTIES:.;;.:EMAIL:.%(org-cont
14e0 61 63 74 73 2d 74 65 6d 70 6c 61 74 65 2d 65 6d 61 69 6c 29 0a 3b 3b 20 3a 50 48 4f 4e 45 3a 0a acts-template-email).;;.:PHONE:.
1500 3b 3b 20 3a 41 4c 49 41 53 3a 0a 3b 3b 20 3a 4e 49 43 4b 4e 41 4d 45 3a 0a 3b 3b 20 3a 49 47 4e ;;.:ALIAS:.;;.:NICKNAME:.;;.:IGN
1520 4f 52 45 3a 0a 3b 3b 20 3a 49 43 4f 4e 3a 0a 3b 3b 20 3a 4e 4f 54 45 3a 0a 3b 3b 20 3a 41 44 44 ORE:.;;.:ICON:.;;.:NOTE:.;;.:ADD
1540 52 45 53 53 3a 0a 3b 3b 20 3a 42 49 52 54 48 44 41 59 3a 0a 3b 3b 20 3a 45 4e 44 3a 22 29 29 29 RESS:.;;.:BIRTHDAY:.;;.:END:")))
1560 0a 0a 3b 3b 3b 3b 20 55 73 61 67 65 3a 0a 0a 3b 3b 20 48 6f 77 20 74 6f 20 73 65 61 72 63 68 3f ..;;;;.Usage:..;;.How.to.search?
1580 0a 3b 3b 20 2d 20 59 6f 75 20 63 61 6e 20 75 73 65 20 5b 4d 2d 78 20 6f 72 67 2d 63 6f 6e 74 61 .;;.-.You.can.use.[M-x.org-conta
15a0 63 74 73 5d 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 73 65 61 72 63 68 2e 0a 3b 3b 0a 3b 3b 20 2d 20 cts].command.to.search..;;.;;.-.
15c0 59 6f 75 20 63 61 6e 20 75 73 65 20 60 6f 72 67 2d 73 70 61 72 73 65 2d 74 72 65 65 27 20 5b 43 You.can.use.`org-sparse-tree'.[C
15e0 2d 63 20 2f 20 70 5d 20 74 6f 20 66 69 6c 74 65 72 20 62 61 73 65 64 20 6f 6e 20 61 0a 3b 3b 20 -c./.p].to.filter.based.on.a.;;.
1600 20 20 73 70 65 63 69 66 69 63 20 70 72 6f 70 65 72 74 79 2e 20 4f 72 20 6f 74 68 65 72 20 6d 61 ..specific.property..Or.other.ma
1620 74 63 68 65 72 20 6f 6e 20 60 6f 72 67 2d 73 70 61 72 73 65 2d 74 72 65 65 27 2e 0a 0a 3b 3b 3b tcher.on.`org-sparse-tree'...;;;
1640 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 .Code:..(require.'cl-lib).(requi
1660 72 65 20 27 6f 72 67 29 0a 28 72 65 71 75 69 72 65 20 27 67 6e 75 73 2d 75 74 69 6c 29 0a 28 72 re.'org).(require.'gnus-util).(r
1680 65 71 75 69 72 65 20 27 67 6e 75 73 2d 61 72 74 29 0a 28 72 65 71 75 69 72 65 20 27 6d 61 69 6c equire.'gnus-art).(require.'mail
16a0 2d 75 74 69 6c 73 29 0a 28 72 65 71 75 69 72 65 20 27 6f 72 67 2d 61 67 65 6e 64 61 29 0a 28 72 -utils).(require.'org-agenda).(r
16c0 65 71 75 69 72 65 20 27 6f 72 67 2d 63 61 70 74 75 72 65 29 0a 28 72 65 71 75 69 72 65 20 27 6f equire.'org-capture).(require.'o
16e0 6c 29 0a 0a 28 64 65 66 67 72 6f 75 70 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 20 6e 69 6c 0a 20 l)..(defgroup.org-contacts.nil..
1700 20 22 4f 70 74 69 6f 6e 73 20 61 62 6f 75 74 20 63 6f 6e 74 61 63 74 73 20 6d 61 6e 61 67 65 6d ."Options.about.contacts.managem
1720 65 6e 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 6f 72 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d ent."...:group.'org)..(defcustom
1740 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 65 73 20 6e 69 6c 0a 20 20 22 4c 69 73 74 20 .org-contacts-files.nil..."List.
1760 6f 66 20 4f 72 67 20 66 69 6c 65 73 20 74 6f 20 75 73 65 20 61 73 20 63 6f 6e 74 61 63 74 73 20 of.Org.files.to.use.as.contacts.
1780 73 6f 75 72 63 65 2e 0a 57 68 65 6e 20 73 65 74 20 74 6f 20 6e 69 6c 2c 20 61 6c 6c 20 79 6f 75 source..When.set.to.nil,.all.you
17a0 72 20 4f 72 67 20 66 69 6c 65 73 20 77 69 6c 6c 20 62 65 20 75 73 65 64 2e 22 0a 20 20 3a 74 79 r.Org.files.will.be.used."...:ty
17c0 70 65 20 27 28 72 65 70 65 61 74 20 66 69 6c 65 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6f pe.'(repeat.file))..(defcustom.o
17e0 72 67 2d 63 6f 6e 74 61 63 74 73 2d 65 6d 61 69 6c 2d 70 72 6f 70 65 72 74 79 20 22 45 4d 41 49 rg-contacts-email-property."EMAI
1800 4c 22 0a 20 20 22 4e 61 6d 65 20 6f 66 20 74 68 65 20 70 72 6f 70 65 72 74 79 20 66 6f 72 20 63 L"..."Name.of.the.property.for.c
1820 6f 6e 74 61 63 74 20 65 6d 61 69 6c 20 61 64 64 72 65 73 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 ontact.email.address."...:type.'
1840 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 string)..(defcustom.org-contacts
1860 2d 74 65 6c 2d 70 72 6f 70 65 72 74 79 20 22 50 48 4f 4e 45 22 0a 20 20 22 4e 61 6d 65 20 6f 66 -tel-property."PHONE"..."Name.of
1880 20 74 68 65 20 70 72 6f 70 65 72 74 79 20 66 6f 72 20 63 6f 6e 74 61 63 74 20 70 68 6f 6e 65 20 .the.property.for.contact.phone.
18a0 6e 75 6d 62 65 72 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 number."...:type.'string)..(defc
18c0 75 73 74 6f 6d 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 61 64 64 72 65 73 73 2d 70 72 6f 70 65 ustom.org-contacts-address-prope
18e0 72 74 79 20 22 41 44 44 52 45 53 53 22 0a 20 20 22 4e 61 6d 65 20 6f 66 20 74 68 65 20 70 72 6f rty."ADDRESS"..."Name.of.the.pro
1900 70 65 72 74 79 20 66 6f 72 20 63 6f 6e 74 61 63 74 20 61 64 64 72 65 73 73 2e 22 0a 20 20 3a 74 perty.for.contact.address."...:t
1920 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6f 72 67 2d 63 6f 6e ype.'string)..(defcustom.org-con
1940 74 61 63 74 73 2d 62 69 72 74 68 64 61 79 2d 70 72 6f 70 65 72 74 79 20 22 42 49 52 54 48 44 41 tacts-birthday-property."BIRTHDA
1960 59 22 0a 20 20 22 4e 61 6d 65 20 6f 66 20 74 68 65 20 70 72 6f 70 65 72 74 79 20 66 6f 72 20 63 Y"..."Name.of.the.property.for.c
1980 6f 6e 74 61 63 74 20 62 69 72 74 68 64 61 79 20 64 61 74 65 2e 22 0a 20 20 3a 74 79 70 65 20 27 ontact.birthday.date."...:type.'
19a0 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 string)..(defcustom.org-contacts
19c0 2d 6e 6f 74 65 2d 70 72 6f 70 65 72 74 79 20 22 4e 4f 54 45 22 0a 20 20 22 4e 61 6d 65 20 6f 66 -note-property."NOTE"..."Name.of
19e0 20 74 68 65 20 70 72 6f 70 65 72 74 79 20 66 6f 72 20 63 6f 6e 74 61 63 74 20 6e 6f 74 65 2e 22 .the.property.for.contact.note."
1a00 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6f 72 ...:type.'string)..(defcustom.or
1a20 67 2d 63 6f 6e 74 61 63 74 73 2d 61 6c 69 61 73 2d 70 72 6f 70 65 72 74 79 20 22 41 4c 49 41 53 g-contacts-alias-property."ALIAS
1a40 22 0a 20 20 22 4e 61 6d 65 20 6f 66 20 74 68 65 20 70 72 6f 70 65 72 74 79 20 66 6f 72 20 63 6f "..."Name.of.the.property.for.co
1a60 6e 74 61 63 74 20 6e 61 6d 65 20 61 6c 69 61 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 ntact.name.alias."...:type.'stri
1a80 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 69 67 6e ng)..(defcustom.org-contacts-ign
1aa0 6f 72 65 2d 70 72 6f 70 65 72 74 79 20 22 49 47 4e 4f 52 45 22 0a 20 20 22 4e 61 6d 65 20 6f 66 ore-property."IGNORE"..."Name.of
1ac0 20 74 68 65 20 70 72 6f 70 65 72 74 79 2c 20 77 68 69 63 68 20 76 61 6c 75 65 73 20 77 69 6c 6c .the.property,.which.values.will
1ae0 20 62 65 20 69 67 6e 6f 72 65 64 20 77 68 65 6e 0a 63 6f 6d 70 6c 65 74 69 6e 67 20 6f 72 20 65 .be.ignored.when.completing.or.e
1b00 78 70 6f 72 74 69 6e 67 20 74 6f 20 76 63 61 72 64 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 xporting.to.vcard."...:type.'str
1b20 69 6e 67 29 0a 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 62 ing)...(defcustom.org-contacts-b
1b40 69 72 74 68 64 61 79 2d 66 6f 72 6d 61 74 20 22 42 69 72 74 68 64 61 79 3a 20 25 6c 20 28 25 59 irthday-format."Birthday:.%l.(%Y
1b60 29 22 0a 20 20 22 46 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 61 6e 6e 69 76 65 72 73 61 72 79 20 )"..."Format.of.the.anniversary.
1b80 61 67 65 6e 64 61 20 65 6e 74 72 79 2e 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 65 70 6c agenda.entry..The.following.repl
1ba0 61 63 65 6d 65 6e 74 73 20 61 72 65 20 61 76 61 69 6c 61 62 6c 65 3a 0a 0a 20 20 25 68 20 2d 20 acements.are.available:....%h.-.
1bc0 48 65 61 64 69 6e 67 20 6e 61 6d 65 0a 20 20 25 6c 20 2d 20 4c 69 6e 6b 20 74 6f 20 74 68 65 20 Heading.name...%l.-.Link.to.the.
1be0 68 65 61 64 69 6e 67 0a 20 20 25 79 20 2d 20 4e 75 6d 62 65 72 20 6f 66 20 79 65 61 72 0a 20 20 heading...%y.-.Number.of.year...
1c00 25 59 20 2d 20 4e 75 6d 62 65 72 20 6f 66 20 79 65 61 72 20 28 6f 72 64 69 6e 61 6c 29 22 0a 20 %Y.-.Number.of.year.(ordinal)"..
1c20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6f 72 67 2d .:type.'string)..(defcustom.org-
1c40 63 6f 6e 74 61 63 74 73 2d 6c 61 73 74 2d 72 65 61 64 2d 6d 61 69 6c 2d 70 72 6f 70 65 72 74 79 contacts-last-read-mail-property
1c60 20 22 4c 41 53 54 5f 52 45 41 44 5f 4d 41 49 4c 22 0a 20 20 22 4e 61 6d 65 20 6f 66 20 74 68 65 ."LAST_READ_MAIL"..."Name.of.the
1c80 20 70 72 6f 70 65 72 74 79 20 66 6f 72 20 63 6f 6e 74 61 63 74 20 6c 61 73 74 20 72 65 61 64 20 .property.for.contact.last.read.
1ca0 65 6d 61 69 6c 20 6c 69 6e 6b 20 73 74 6f 72 61 67 65 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 email.link.storage."...:type.'st
1cc0 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 69 ring)..(defcustom.org-contacts-i
1ce0 63 6f 6e 2d 70 72 6f 70 65 72 74 79 20 22 49 43 4f 4e 22 0a 20 20 22 4e 61 6d 65 20 6f 66 20 74 con-property."ICON"..."Name.of.t
1d00 68 65 20 70 72 6f 70 65 72 74 79 20 66 6f 72 20 63 6f 6e 74 61 63 74 20 69 63 6f 6e 2e 22 0a 20 he.property.for.contact.icon."..
1d20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6f 72 67 2d .:type.'string)..(defcustom.org-
1d40 63 6f 6e 74 61 63 74 73 2d 6e 69 63 6b 6e 61 6d 65 2d 70 72 6f 70 65 72 74 79 20 22 4e 49 43 4b contacts-nickname-property."NICK
1d60 4e 41 4d 45 22 0a 20 20 22 4e 61 6d 65 20 6f 66 20 74 68 65 20 70 72 6f 70 65 72 74 79 20 66 6f NAME"..."Name.of.the.property.fo
1d80 72 20 49 52 43 20 6e 69 63 6b 6e 61 6d 65 20 6d 61 74 63 68 2e 22 0a 20 20 3a 74 79 70 65 20 27 r.IRC.nickname.match."...:type.'
1da0 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 string)..(defcustom.org-contacts
1dc0 2d 69 63 6f 6e 2d 73 69 7a 65 20 33 32 0a 20 20 22 53 69 7a 65 20 6f 66 20 74 68 65 20 63 6f 6e -icon-size.32..."Size.of.the.con
1de0 74 61 63 74 73 20 69 63 6f 6e 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a tacts.icons."...:type.'string)..
1e00 28 64 65 66 63 75 73 74 6f 6d 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 69 63 6f 6e 2d 75 73 65 (defcustom.org-contacts-icon-use
1e20 2d 67 72 61 76 61 74 61 72 20 28 66 62 6f 75 6e 64 70 20 27 67 72 61 76 61 74 61 72 2d 72 65 74 -gravatar.(fboundp.'gravatar-ret
1e40 72 69 65 76 65 29 0a 20 20 22 57 68 65 74 68 65 72 20 75 73 65 20 47 72 61 76 61 74 61 72 20 74 rieve)..."Whether.use.Gravatar.t
1e60 6f 20 66 65 74 63 68 20 63 6f 6e 74 61 63 74 20 69 63 6f 6e 73 2e 22 0a 20 20 3a 74 79 70 65 20 o.fetch.contact.icons."...:type.
1e80 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6f 72 67 2d 63 6f 6e 74 61 63 'boolean)..(defcustom.org-contac
1ea0 74 73 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 69 67 6e 6f 72 65 2d 63 61 73 65 20 74 0a 20 20 22 49 ts-completion-ignore-case.t..."I
1ec0 67 6e 6f 72 65 20 63 61 73 65 20 77 68 65 6e 20 63 6f 6d 70 6c 65 74 69 6e 67 20 63 6f 6e 74 61 gnore.case.when.completing.conta
1ee0 63 74 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 63 75 73 cts."...:type.'boolean)..(defcus
1f00 74 6f 6d 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 67 72 6f 75 70 2d 70 72 65 66 69 78 20 22 2b tom.org-contacts-group-prefix."+
1f20 22 0a 20 20 22 47 72 6f 75 70 20 70 72 65 66 69 78 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 "..."Group.prefix."...:type.'str
1f40 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 74 61 ing)..(defcustom.org-contacts-ta
1f60 67 73 2d 70 72 6f 70 73 2d 70 72 65 66 69 78 20 22 23 22 0a 20 20 22 54 61 67 73 20 61 6e 64 20 gs-props-prefix."#"..."Tags.and.
1f80 70 72 6f 70 65 72 74 69 65 73 20 70 72 65 66 69 78 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 properties.prefix."...:type.'str
1fa0 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6d 61 ing)..(defcustom.org-contacts-ma
1fc0 74 63 68 65 72 0a 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 0a 20 20 tcher...(mapconcat.#'identity...
1fe0 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 ...........(mapcar.(lambda.(x).(
2000 63 6f 6e 63 61 74 20 78 20 22 3c 3e 5c 22 5c 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 concat.x."<>\"\"")).............
2020 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 65 6d 61 69 .........(list.org-contacts-emai
2040 6c 2d 70 72 6f 70 65 72 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l-property......................
2060 20 20 20 20 20 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 61 6c 69 61 73 2d 70 72 6f 70 65 72 74 ......org-contacts-alias-propert
2080 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 67 y............................org
20a0 2d 63 6f 6e 74 61 63 74 73 2d 74 65 6c 2d 70 72 6f 70 65 72 74 79 0a 20 20 20 20 20 20 20 20 20 -contacts-tel-property..........
20c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 61 ..................org-contacts-a
20e0 64 64 72 65 73 73 2d 70 72 6f 70 65 72 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ddress-property.................
2100 20 20 20 20 20 20 20 20 20 20 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 62 69 72 74 68 64 61 79 ...........org-contacts-birthday
2120 2d 70 72 6f 70 65 72 74 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 22 7c 22 29 0a 20 20 -property)).............."|")...
2140 22 4d 61 74 63 68 69 6e 67 20 72 75 6c 65 20 66 6f 72 20 66 69 6e 64 69 6e 67 20 68 65 61 64 69 "Matching.rule.for.finding.headi
2160 6e 67 20 74 68 61 74 20 61 72 65 20 63 6f 6e 74 61 63 74 73 2e 0a 54 68 69 73 20 63 61 6e 20 62 ng.that.are.contacts..This.can.b
2180 65 20 61 20 74 61 67 20 6e 61 6d 65 2c 20 6f 72 20 61 20 70 72 6f 70 65 72 74 79 20 63 68 65 63 e.a.tag.name,.or.a.property.chec
21a0 6b 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d k."...:type.'string)..(defcustom
21c0 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 65 6d 61 69 6c 2d 6c 69 6e 6b 2d 64 65 73 63 72 69 70 .org-contacts-email-link-descrip
21e0 74 69 6f 6e 2d 66 6f 72 6d 61 74 20 22 25 73 20 28 25 64 29 22 0a 20 20 22 46 6f 72 6d 61 74 20 tion-format."%s.(%d)"..."Format.
2200 75 73 65 64 20 74 6f 20 73 74 6f 72 65 20 6c 69 6e 6b 73 20 74 6f 20 65 6d 61 69 6c 2e 0a 54 68 used.to.store.links.to.email..Th
2220 69 73 20 6f 76 65 72 72 69 64 65 73 20 60 6f 72 67 2d 65 6d 61 69 6c 2d 6c 69 6e 6b 2d 64 65 73 is.overrides.`org-email-link-des
2240 63 72 69 70 74 69 6f 6e 2d 66 6f 72 6d 61 74 27 20 69 66 20 73 65 74 2e 22 0a 20 20 3a 74 79 70 cription-format'.if.set."...:typ
2260 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6f 72 67 2d 63 6f 6e 74 61 e.'string)..(defcustom.org-conta
2280 63 74 73 2d 76 63 61 72 64 2d 66 69 6c 65 20 22 63 6f 6e 74 61 63 74 73 2e 76 63 66 22 0a 20 20 cts-vcard-file."contacts.vcf"...
22a0 22 44 65 66 61 75 6c 74 20 66 69 6c 65 20 66 6f 72 20 76 63 61 72 64 20 65 78 70 6f 72 74 2e 22 "Default.file.for.vcard.export."
22c0 0a 20 20 3a 74 79 70 65 20 27 66 69 6c 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6f 72 67 2d ...:type.'file)..(defcustom.org-
22e0 63 6f 6e 74 61 63 74 73 2d 65 6e 61 62 6c 65 2d 63 6f 6d 70 6c 65 74 69 6f 6e 20 74 0a 20 20 22 contacts-enable-completion.t..."
2300 45 6e 61 62 6c 65 20 6f 72 20 6e 6f 74 20 74 68 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 69 6e 20 Enable.or.not.the.completion.in.
2320 60 6d 65 73 73 61 67 65 2d 6d 6f 64 65 27 20 77 69 74 68 20 60 6f 72 67 2d 63 6f 6e 74 61 63 74 `message-mode'.with.`org-contact
2340 73 27 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 63 75 73 74 s'."...:type.'boolean)..(defcust
2360 6f 6d 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 63 6f 6d 70 6c 65 74 65 2d 66 75 6e 63 74 69 6f om.org-contacts-complete-functio
2380 6e 73 0a 20 20 27 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 63 6f 6d 70 6c 65 74 65 2d 67 72 6f ns...'(org-contacts-complete-gro
23a0 75 70 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 63 6f 6d 70 6c 65 74 65 2d 74 61 67 73 2d 70 72 up.org-contacts-complete-tags-pr
23c0 6f 70 73 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 63 6f 6d 70 6c 65 74 65 2d 6e 61 6d 65 29 0a ops.org-contacts-complete-name).
23e0 20 20 22 4c 69 73 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 75 73 65 64 20 74 6f 20 63 6f 6d .."List.of.functions.used.to.com
2400 70 6c 65 74 65 20 63 6f 6e 74 61 63 74 73 20 69 6e 20 60 6d 65 73 73 61 67 65 2d 6d 6f 64 65 27 plete.contacts.in.`message-mode'
2420 2e 22 0a 20 20 3a 74 79 70 65 20 27 68 6f 6f 6b 29 0a 0a 3b 3b 20 44 65 63 61 6c 72 65 20 65 78 ."...:type.'hook)..;;.Decalre.ex
2440 74 65 72 6e 61 6c 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 76 61 72 69 61 62 6c 65 73 0a 28 ternal.functions.and.variables.(
2460 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 6f 72 67 2d 72 65 76 65 72 73 65 2d 73 74 72 declare-function.org-reverse-str
2480 69 6e 67 20 22 6f 72 67 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 64 69 61 ing."org").(declare-function.dia
24a0 72 79 2d 6f 72 64 69 6e 61 6c 2d 73 75 66 66 69 78 20 22 65 78 74 3a 64 69 61 72 79 2d 6c 69 62 ry-ordinal-suffix."ext:diary-lib
24c0 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 77 6c 2d 73 75 6d 6d 61 72 79 2d ").(declare-function.wl-summary-
24e0 6d 65 73 73 61 67 65 2d 6e 75 6d 62 65 72 20 22 65 78 74 3a 77 6c 2d 73 75 6d 6d 61 72 79 22 29 message-number."ext:wl-summary")
2500 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 77 6c 2d 61 64 64 72 65 73 73 2d 68 65 .(declare-function.wl-address-he
2520 61 64 65 72 2d 65 78 74 72 61 63 74 2d 61 64 64 72 65 73 73 20 22 65 78 74 3a 77 6c 2d 61 64 64 ader-extract-address."ext:wl-add
2540 72 65 73 73 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 77 6c 2d 61 64 64 72 ress").(declare-function.wl-addr
2560 65 73 73 2d 68 65 61 64 65 72 2d 65 78 74 72 61 63 74 2d 72 65 61 6c 6e 61 6d 65 20 22 65 78 74 ess-header-extract-realname."ext
2580 3a 77 6c 2d 61 64 64 72 65 73 73 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 :wl-address").(declare-function.
25a0 65 72 63 2d 62 75 66 66 65 72 2d 6c 69 73 74 20 22 65 78 74 3a 65 72 63 22 29 0a 28 64 65 63 6c erc-buffer-list."ext:erc").(decl
25c0 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 65 72 63 2d 67 65 74 2d 63 68 61 6e 6e 65 6c 2d 75 73 65 are-function.erc-get-channel-use
25e0 72 2d 6c 69 73 74 20 22 65 78 74 3a 65 72 63 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 r-list."ext:erc").(declare-funct
2600 69 6f 6e 20 67 6f 6f 67 6c 65 2d 6d 61 70 73 2d 73 74 61 74 69 63 2d 73 68 6f 77 20 22 65 78 74 ion.google-maps-static-show."ext
2620 3a 67 6f 6f 67 6c 65 2d 6d 61 70 73 2d 73 74 61 74 69 63 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 :google-maps-static").(declare-f
2640 75 6e 63 74 69 6f 6e 20 65 6c 6d 6f 2d 6d 65 73 73 61 67 65 2d 66 69 65 6c 64 20 22 65 78 74 3a unction.elmo-message-field."ext:
2660 65 6c 6d 6f 2d 70 69 70 65 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 73 74 elmo-pipe").(declare-function.st
2680 64 31 31 2d 6e 61 72 72 6f 77 2d 74 6f 2d 68 65 61 64 65 72 20 22 65 78 74 3a 73 74 64 31 31 22 d11-narrow-to-header."ext:std11"
26a0 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 73 74 64 31 31 2d 66 65 74 63 68 2d ).(declare-function.std11-fetch-
26c0 66 69 65 6c 64 20 22 65 78 74 3a 73 74 64 31 31 22 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 6f 72 field."ext:std11")..(defconst.or
26e0 67 2d 63 6f 6e 74 61 63 74 73 2d 70 72 6f 70 65 72 74 79 2d 76 61 6c 75 65 73 2d 73 65 70 61 72 g-contacts-property-values-separ
2700 61 74 6f 72 73 20 22 5b 2c 3b 20 5c 66 5c 74 5c 6e 5c 72 5c 76 5d 2b 22 0a 20 20 22 54 68 65 20 ators."[,;.\f\t\n\r\v]+"..."The.
2720 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 6f 66 20 73 65 70 61 72 61 74 6f 72 73 20 66 6f 72 20 default.value.of.separators.for.
2740 60 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 70 6c 69 74 2d 70 72 6f 70 65 72 74 79 27 2e 0a 0a `org-contacts-split-property'...
2760 41 20 72 65 67 65 78 70 20 6d 61 74 63 68 69 6e 67 20 73 74 72 69 6e 67 73 20 6f 66 20 77 68 69 A.regexp.matching.strings.of.whi
2780 74 65 73 70 61 63 65 2c 20 60 2c 27 20 61 6e 64 20 60 3b 27 2e 22 29 0a 0a 28 64 65 66 76 61 72 tespace,.`,'.and.`;'.")..(defvar
27a0 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6b 65 79 6d 61 70 0a 20 20 28 6c 65 74 20 28 28 6d 61 .org-contacts-keymap...(let.((ma
27c0 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 29 0a 20 20 20 20 28 64 65 p.(make-sparse-keymap))).....(de
27e0 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 4d 22 20 23 27 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d fine-key.map."M".#'org-contacts-
2800 76 69 65 77 2d 73 65 6e 64 2d 65 6d 61 69 6c 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 view-send-email).....(define-key
2820 20 6d 61 70 20 22 69 22 20 23 27 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 76 69 65 77 2d 73 77 69 .map."i".#'org-contacts-view-swi
2840 74 63 68 2d 74 6f 2d 69 72 63 2d 62 75 66 66 65 72 29 0a 20 20 20 20 6d 61 70 29 0a 20 20 22 54 tch-to-irc-buffer).....map)..."T
2860 68 65 20 6b 65 79 6d 61 70 20 75 73 65 64 20 69 6e 20 60 6f 72 67 2d 63 6f 6e 74 61 63 74 73 27 he.keymap.used.in.`org-contacts'
2880 20 72 65 73 75 6c 74 20 6c 69 73 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6f 72 67 2d 63 6f 6e .result.list.")..(defvar.org-con
28a0 74 61 63 74 73 2d 64 62 20 6e 69 6c 0a 20 20 22 4f 72 67 20 43 6f 6e 74 61 63 74 73 20 64 61 74 tacts-db.nil..."Org.Contacts.dat
28c0 61 62 61 73 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6c abase.")..(defvar.org-contacts-l
28e0 61 73 74 2d 75 70 64 61 74 65 20 6e 69 6c 0a 20 20 22 4c 61 73 74 20 74 69 6d 65 20 74 68 65 20 ast-update.nil..."Last.time.the.
2900 4f 72 67 20 43 6f 6e 74 61 63 74 73 20 64 61 74 61 62 61 73 65 20 68 61 73 20 62 65 65 6e 20 75 Org.Contacts.database.has.been.u
2920 70 64 61 74 65 64 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 pdated.")..(defun.org-contacts-f
2940 69 6c 65 73 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 6c 69 73 74 20 6f 66 20 4f 72 67 20 66 69 iles.()..."Return.list.of.Org.fi
2960 6c 65 73 20 74 6f 20 75 73 65 20 66 6f 72 20 63 6f 6e 74 61 63 74 20 6d 61 6e 61 67 65 6d 65 6e les.to.use.for.contact.managemen
2980 74 2e 22 0a 20 20 28 69 66 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 65 73 0a 20 20 20 t."...(if.org-contacts-files....
29a0 20 20 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 65 73 0a 20 20 20 20 28 6d 65 73 73 61 ...org-contacts-files.....(messa
29c0 67 65 20 22 5b 45 52 52 4f 52 5d 20 59 6f 75 72 20 63 75 73 74 6f 6d 20 76 61 72 69 61 62 6c 65 ge."[ERROR].Your.custom.variable
29e0 20 60 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 65 73 27 20 69 73 20 6e 69 6c 2e 20 52 65 .`org-contacts-files'.is.nil..Re
2a00 76 65 72 74 20 74 6f 20 60 6f 72 67 2d 61 67 65 6e 64 61 2d 66 69 6c 65 73 27 20 6e 6f 77 2e 22 vert.to.`org-agenda-files'.now."
2a20 29 0a 20 20 20 20 28 6f 72 67 2d 61 67 65 6e 64 61 2d 66 69 6c 65 73 20 74 20 27 69 66 6d 6f 64 ).....(org-agenda-files.t.'ifmod
2a40 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 64 62 2d 6e 65 65 e)))..(defun.org-contacts-db-nee
2a60 64 2d 75 70 64 61 74 65 2d 70 20 28 29 0a 20 20 22 44 65 74 65 72 6d 69 6e 65 20 77 68 65 74 68 d-update-p.()..."Determine.wheth
2a80 65 72 20 60 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 64 62 27 20 6e 65 65 64 73 20 74 6f 20 62 65 er.`org-contacts-db'.needs.to.be
2aa0 20 72 65 66 72 65 73 68 65 64 2e 22 0a 20 20 28 6f 72 20 28 6e 75 6c 6c 20 6f 72 67 2d 63 6f 6e .refreshed."...(or.(null.org-con
2ac0 74 61 63 74 73 2d 6c 61 73 74 2d 75 70 64 61 74 65 29 0a 20 20 20 20 20 20 28 63 6c 2d 66 69 6e tacts-last-update).......(cl-fin
2ae0 64 2d 69 66 20 28 6c 61 6d 62 64 61 20 28 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 d-if.(lambda.(file).............
2b00 20 20 20 20 20 20 20 20 28 6f 72 20 28 74 69 6d 65 2d 6c 65 73 73 2d 70 20 6f 72 67 2d 63 6f 6e ........(or.(time-less-p.org-con
2b20 74 61 63 74 73 2d 6c 61 73 74 2d 75 70 64 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tacts-last-update...............
2b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 74 20 28 66 69 6c .......................(elt.(fil
2b60 65 2d 61 74 74 72 69 62 75 74 65 73 20 66 69 6c 65 29 20 35 29 29 29 29 0a 20 20 20 20 20 20 20 e-attributes.file).5))))........
2b80 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 65 73 29 29 ...........(org-contacts-files))
2ba0 0a 20 20 20 20 20 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 64 62 2d 68 61 73 2d 64 65 61 64 .......(org-contacts-db-has-dead
2bc0 2d 6d 61 72 6b 65 72 73 2d 70 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 64 62 29 29 29 0a 0a 28 -markers-p.org-contacts-db)))..(
2be0 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 64 62 2d 68 61 73 2d 64 65 61 64 2d 6d defun.org-contacts-db-has-dead-m
2c00 61 72 6b 65 72 73 2d 70 20 28 64 62 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 61 74 20 arkers-p.(db)..."Return.t.if.at.
2c20 6c 65 61 73 74 20 6f 6e 65 20 64 65 61 64 20 6d 61 72 6b 65 72 20 69 73 20 66 6f 75 6e 64 20 69 least.one.dead.marker.is.found.i
2c40 6e 20 44 42 2e 0a 41 20 64 65 61 64 20 6d 61 72 6b 65 72 20 69 6e 20 74 68 69 73 20 63 61 73 65 n.DB..A.dead.marker.in.this.case
2c60 20 69 73 20 61 20 6d 61 72 6b 65 72 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 64 65 61 64 20 6f 72 .is.a.marker.pointing.to.dead.or
2c80 20 6e 6f 0a 62 75 66 66 65 72 2e 22 0a 20 20 3b 3b 20 53 63 61 6e 20 63 6f 6e 74 61 63 74 73 20 .no.buffer."...;;.Scan.contacts.
2ca0 6c 69 73 74 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20 64 65 61 64 20 6d 61 72 6b 65 72 73 2c 20 61 list.looking.for.dead.markers,.a
2cc0 6e 64 20 72 65 74 75 72 6e 20 74 20 61 74 20 66 69 72 73 74 20 66 6f 75 6e 64 2e 0a 20 20 28 63 nd.return.t.at.first.found....(c
2ce0 61 74 63 68 20 27 64 65 61 64 2d 6d 61 72 6b 65 72 2d 66 6f 75 6e 64 0a 20 20 20 20 28 77 68 69 atch.'dead-marker-found.....(whi
2d00 6c 65 20 64 62 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6d 61 72 6b 65 72 2d 62 75 66 66 le.db.......(unless.(marker-buff
2d20 65 72 20 28 6e 74 68 20 31 20 28 63 61 72 20 64 62 29 29 29 0a 20 20 20 20 20 20 20 20 28 74 68 er.(nth.1.(car.db))).........(th
2d40 72 6f 77 20 27 64 65 61 64 2d 6d 61 72 6b 65 72 2d 66 6f 75 6e 64 20 74 29 29 0a 20 20 20 20 20 row.'dead-marker-found.t))......
2d60 20 28 73 65 74 71 20 64 62 20 28 63 64 72 20 64 62 29 29 29 0a 20 20 20 20 6e 69 6c 29 29 0a 0a .(setq.db.(cdr.db))).....nil))..
2d80 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 64 62 20 28 29 0a 20 20 22 52 65 74 (defun.org-contacts-db.()..."Ret
2da0 75 72 6e 20 74 68 65 20 6c 61 74 65 73 74 20 4f 72 67 20 43 6f 6e 74 61 63 74 73 20 44 61 74 61 urn.the.latest.Org.Contacts.Data
2dc0 62 61 73 65 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6f 72 67 2d 2d 6d 61 74 63 68 65 72 2d 74 61 base."...(let*.((org--matcher-ta
2de0 67 73 2d 74 6f 64 6f 2d 6f 6e 6c 79 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 74 gs-todo-only.nil)..........(cont
2e00 61 63 74 73 2d 6d 61 74 63 68 65 72 20 28 63 64 72 20 28 6f 72 67 2d 6d 61 6b 65 2d 74 61 67 73 acts-matcher.(cdr.(org-make-tags
2e20 2d 6d 61 74 63 68 65 72 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6d 61 74 63 68 65 72 29 29 29 -matcher.org-contacts-matcher)))
2e40 0a 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6f 72 67 ..........result).....(when.(org
2e60 2d 63 6f 6e 74 61 63 74 73 2d 64 62 2d 6e 65 65 64 2d 75 70 64 61 74 65 2d 70 29 0a 20 20 20 20 -contacts-db-need-update-p).....
2e80 20 20 28 6c 65 74 20 28 28 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 0a 20 20 20 20 20 ..(let.((progress-reporter......
2ea0 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 20 ........(make-progress-reporter.
2ec0 22 55 70 64 61 74 69 6e 67 20 4f 72 67 20 43 6f 6e 74 61 63 74 73 20 44 61 74 61 62 61 73 65 2e "Updating.Org.Contacts.Database.
2ee0 2e 2e 22 20 30 20 28 6c 65 6e 67 74 68 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 65 ..".0.(length.(org-contacts-file
2f00 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 20 30 29 29 0a 20 20 20 20 20 20 20 s)))).............(i.0))........
2f20 20 28 64 6f 6c 69 73 74 20 28 66 69 6c 65 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c .(dolist.(file.(org-contacts-fil
2f40 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 63 61 74 63 68 20 27 6e 65 78 74 66 es))...........(if.(catch.'nextf
2f60 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 66 20 66 69 6c 65 20 64 ile.................;;.if.file.d
2f80 6f 65 73 6e 27 74 20 65 78 69 73 74 20 61 6e 64 20 74 68 65 20 75 73 65 72 20 61 67 72 65 65 73 oesn't.exist.and.the.user.agrees
2fa0 20 74 6f 20 72 65 6d 6f 76 69 6e 67 20 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .to.removing.it.................
2fc0 3b 3b 20 66 72 6f 6d 20 6f 72 67 2d 61 67 65 6e 64 61 73 2d 6c 69 73 74 2c 20 27 6e 65 78 74 66 ;;.from.org-agendas-list,.'nextf
2fe0 69 6c 65 20 69 73 20 74 68 72 6f 77 6e 2e 20 20 43 61 74 63 68 20 69 74 20 68 65 72 65 0a 20 20 ile.is.thrown...Catch.it.here...
3000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 6e 64 20 73 6b 69 70 20 70 72 6f 63 65 73 ..............;;.and.skip.proces
3020 73 69 6e 67 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b sing.the.file..................;
3040 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 73 75 70 70 6f ;.................;;.TODO:.suppo
3060 73 65 20 74 68 61 74 20 74 68 65 20 75 73 65 72 20 68 61 73 20 73 65 74 20 61 6e 20 6f 72 67 2d se.that.the.user.has.set.an.org-
3080 63 6f 6e 74 61 63 74 73 2d 66 69 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b contacts-files.................;
30a0 3b 20 6c 69 73 74 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 61 6e 20 65 6c 65 6d 65 6e 74 20 ;.list.that.contains.an.element.
30c0 74 68 61 74 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 that.doesn't.exist.in.the.......
30e0 20 20 20 20 20 20 20 20 20 20 3b 3b 20 66 69 6c 65 20 73 79 73 74 65 6d 3a 20 69 6e 20 74 68 61 ..........;;.file.system:.in.tha
3100 74 20 63 61 73 65 2c 20 74 68 65 20 6f 72 67 2d 61 67 65 6e 64 61 2d 66 69 6c 65 73 20 6c 69 73 t.case,.the.org-agenda-files.lis
3120 74 20 63 6f 75 6c 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 65 20 75 70 t.could.................;;.be.up
3140 64 61 74 65 64 20 28 61 6e 64 20 73 61 76 65 64 20 74 6f 20 74 68 65 20 63 75 73 74 6f 6d 69 7a dated.(and.saved.to.the.customiz
3160 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 75 73 65 72 29 20 69 66 0a 20 20 20 20 20 20 20 20 20 ations.of.the.user).if..........
3180 20 20 20 20 20 20 20 3b 3b 20 69 74 20 63 6f 6e 74 61 69 6e 65 64 20 74 68 65 20 73 61 6d 65 20 .......;;.it.contained.the.same.
31a0 66 69 6c 65 20 65 76 65 6e 20 74 68 6f 75 67 68 20 74 68 65 20 6f 72 67 2d 61 67 65 6e 64 61 2d file.even.though.the.org-agenda-
31c0 66 69 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6c 69 73 74 20 77 61 files.................;;.list.wa
31e0 73 6e 27 74 20 61 63 74 75 61 6c 6c 79 20 75 73 65 64 2e 20 20 49 20 64 6f 6e 27 74 20 74 68 69 sn't.actually.used...I.don't.thi
3200 6e 6b 20 69 74 20 69 73 20 6e 6f 72 6d 61 6c 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 nk.it.is.normal.that............
3220 20 20 20 20 20 3b 3b 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 20 75 70 64 61 74 65 73 20 6f 72 67 .....;;.org-contacts.updates.org
3240 2d 61 67 65 6e 64 61 2d 66 69 6c 65 73 20 69 6e 20 74 68 69 73 20 63 61 73 65 2c 20 62 75 74 0a -agenda-files.in.this.case,.but.
3260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 68 6f 72 74 20 6f 66 20 64 75 70 6c ................;;.short.of.dupl
3280 69 63 61 74 69 6e 67 20 6f 72 67 2d 63 68 65 63 6b 2d 61 67 65 6e 64 61 2d 66 69 6c 65 73 20 61 icating.org-check-agenda-files.a
32a0 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 72 67 2d 72 65 6d 6f 76 65 nd.................;;.org-remove
32c0 2d 66 69 6c 65 73 2c 20 49 20 64 6f 6e 27 74 20 6b 6e 6f 77 20 68 6f 77 20 74 6f 20 61 76 6f 69 -files,.I.don't.know.how.to.avoi
32e0 64 20 69 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 d.it..................;;........
3300 20 20 20 20 20 20 20 20 20 3b 3b 20 41 20 73 69 64 65 20 65 66 66 65 63 74 20 6f 66 20 74 68 65 .........;;.A.side.effect.of.the
3320 20 54 4f 44 4f 20 69 73 20 74 68 61 74 20 74 68 65 20 66 61 75 6c 74 79 0a 20 20 20 20 20 20 20 .TODO.is.that.the.faulty........
3340 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 65 73 20 6c .........;;.org-contacts-files.l
3360 69 73 74 20 6e 65 76 65 72 20 67 65 74 73 20 75 70 64 61 74 65 64 20 61 6e 64 20 74 68 75 73 20 ist.never.gets.updated.and.thus.
3380 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 75 73 65 72 20 69 73 20 61 the.................;;.user.is.a
33a0 6c 77 61 79 73 20 71 75 65 72 69 65 64 20 61 62 6f 75 74 20 74 68 65 20 6d 69 73 73 69 6e 67 20 lways.queried.about.the.missing.
33c0 66 69 6c 65 73 20 77 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 72 files.when.................;;.or
33e0 67 2d 63 6f 6e 74 61 63 74 73 2d 64 62 2d 6e 65 65 64 2d 75 70 64 61 74 65 2d 70 20 72 65 74 75 g-contacts-db-need-update-p.retu
3400 72 6e 73 20 74 72 75 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 63 rns.true..................(org-c
3420 68 65 63 6b 2d 61 67 65 6e 64 61 2d 66 69 6c 65 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 heck-agenda-file.file)).........
3440 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 53 6b 69 70 70 65 64 20 25 73 20 72 65 6d 6f 76 ......(message."Skipped.%s.remov
3460 65 64 20 66 72 6f 6d 20 6f 72 67 2d 61 67 65 6e 64 61 2d 66 69 6c 65 73 20 6c 69 73 74 2e 22 0a ed.from.org-agenda-files.list.".
3480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 62 62 72 65 76 69 61 .......................(abbrevia
34a0 74 65 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 te-file-name.file)).............
34c0 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 6f 72 67 2d 67 65 74 2d 61 67 (with-current-buffer.(org-get-ag
34e0 65 6e 64 61 2d 66 69 6c 65 2d 62 75 66 66 65 72 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 enda-file-buffer.file)..........
3500 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 6f 72 67 .....(unless.(eq.major-mode.'org
3520 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 46 -mode).................(error."F
3540 69 6c 65 20 25 73 20 69 73 20 6e 6f 74 20 69 6e 20 60 6f 72 67 2d 6d 6f 64 65 27 22 20 66 69 6c ile.%s.is.not.in.`org-mode'".fil
3560 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 72 65 73 75 6c 74 0a 20 e))...............(setf.result..
3580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 72 65 73 75 6c ...................(append.resul
35a0 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f t.............................(o
35c0 72 67 2d 73 63 61 6e 2d 74 61 67 73 20 27 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 61 74 2d 70 6f rg-scan-tags.'org-contacts-at-po
35e0 69 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 int.............................
3600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 61 63 74 73 2d 6d 61 74 63 68 65 72 0a ...............contacts-matcher.
3620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3640 20 20 20 20 20 20 20 20 20 20 20 6f 72 67 2d 2d 6d 61 74 63 68 65 72 2d 74 61 67 73 2d 74 6f 64 ...........org--matcher-tags-tod
3660 6f 2d 6f 6e 6c 79 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 72 65 73 73 2d o-only)))))...........(progress-
3680 72 65 70 6f 72 74 65 72 2d 75 70 64 61 74 65 20 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 reporter-update.progress-reporte
36a0 72 20 28 73 65 74 71 20 69 20 28 31 2b 20 69 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 r.(setq.i.(1+.i)))).........(set
36c0 66 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 64 62 20 72 65 73 75 6c 74 0a 20 20 20 20 20 20 20 f.org-contacts-db.result........
36e0 20 20 20 20 20 20 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6c 61 73 74 2d 75 70 64 61 74 65 20 .......org-contacts-last-update.
3700 28 63 75 72 72 65 6e 74 2d 74 69 6d 65 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 72 65 73 (current-time)).........(progres
3720 73 2d 72 65 70 6f 72 74 65 72 2d 64 6f 6e 65 20 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 s-reporter-done.progress-reporte
3740 72 29 29 29 0a 20 20 20 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 64 62 29 29 0a 0a 28 64 65 66 r))).....org-contacts-db))..(def
3760 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 61 74 2d 70 6f 69 6e 74 20 28 26 6f 70 74 69 6f un.org-contacts-at-point.(&optio
3780 6e 61 6c 20 70 6f 6d 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 74 61 63 74 73 20 nal.pom)..."Return.the.contacts.
37a0 61 74 20 70 6f 69 6e 74 2d 6f 72 2d 6d 61 72 6b 65 72 20 50 4f 4d 20 6f 72 20 63 75 72 72 65 6e at.point-or-marker.POM.or.curren
37c0 74 20 70 6f 73 69 74 69 6f 6e 0a 69 66 20 6e 69 6c 2e 22 0a 20 20 28 73 65 74 71 20 70 6f 6d 20 t.position.if.nil."...(setq.pom.
37e0 28 6f 72 20 70 6f 6d 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 28 6f 72 67 2d 77 69 74 68 2d 70 6f (or.pom.(point)))...(org-with-po
3800 69 6e 74 2d 61 74 20 70 6f 6d 0a 20 20 20 20 28 6c 69 73 74 20 28 6f 72 67 2d 67 65 74 2d 68 65 int-at.pom.....(list.(org-get-he
3820 61 64 69 6e 67 20 74 29 20 28 73 65 74 2d 6d 61 72 6b 65 72 20 28 6d 61 6b 65 2d 6d 61 72 6b 65 ading.t).(set-marker.(make-marke
3840 72 29 20 70 6f 6d 29 20 28 6f 72 67 2d 65 6e 74 72 79 2d 70 72 6f 70 65 72 74 69 65 73 20 70 6f r).pom).(org-entry-properties.po
3860 6d 20 27 61 6c 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d m.'all))))..(defun.org-contacts-
3880 66 69 6c 74 65 72 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6e 61 6d 65 2d 6d 61 74 63 68 20 74 61 67 filter.(&optional.name-match.tag
38a0 73 2d 6d 61 74 63 68 20 70 72 6f 70 2d 6d 61 74 63 68 29 0a 20 20 22 53 65 61 72 63 68 20 66 6f s-match.prop-match)..."Search.fo
38c0 72 20 61 20 63 6f 6e 74 61 63 74 20 6d 61 74 63 68 69 6e 67 20 61 6e 79 20 6f 66 20 4e 41 4d 45 r.a.contact.matching.any.of.NAME
38e0 2d 4d 41 54 43 48 2c 20 54 41 47 53 2d 4d 41 54 43 48 2c 20 50 52 4f 50 2d 4d 41 54 43 48 2e 0a -MATCH,.TAGS-MATCH,.PROP-MATCH..
3900 49 66 20 61 6c 6c 20 6d 61 74 63 68 20 76 61 6c 75 65 73 20 61 72 65 20 6e 69 6c 2c 20 72 65 74 If.all.match.values.are.nil,.ret
3920 75 72 6e 20 61 6c 6c 20 63 6f 6e 74 61 63 74 73 2e 0a 0a 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 urn.all.contacts...The.optional.
3940 50 52 4f 50 2d 4d 41 54 43 48 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 73 69 6e 67 6c 65 20 PROP-MATCH.argument.is.a.single.
3960 28 50 52 4f 50 20 2e 20 56 41 4c 55 45 29 20 63 6f 6e 73 0a 63 65 6c 6c 20 63 6f 72 72 65 73 70 (PROP...VALUE).cons.cell.corresp
3980 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 74 61 63 74 20 70 72 6f 70 65 72 74 69 65 73 onding.to.the.contact.properties
39a0 2e 0a 22 0a 20 20 28 69 66 20 28 61 6e 64 20 28 6e 75 6c 6c 20 6e 61 6d 65 2d 6d 61 74 63 68 29 .."...(if.(and.(null.name-match)
39c0 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 75 6c 6c 20 70 72 6f 70 2d 6d 61 74 63 68 29 0a 20 20 ............(null.prop-match)...
39e0 20 20 20 20 20 20 20 20 20 28 6e 75 6c 6c 20 74 61 67 73 2d 6d 61 74 63 68 29 29 0a 20 20 20 20 .........(null.tags-match)).....
3a00 20 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 64 62 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 ..(org-contacts-db).....(cl-loop
3a20 20 66 6f 72 20 63 6f 6e 74 61 63 74 20 69 6e 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 64 62 .for.contact.in.(org-contacts-db
3a40 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6f 72 0a 20 20 20 20 20 20 20 20 20 20 )..............if.(or...........
3a60 20 20 20 20 20 20 20 28 61 6e 64 20 6e 61 6d 65 2d 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 .......(and.name-match..........
3a80 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 6e 61 6d .............(string-match-p.nam
3aa0 65 2d 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-match.........................
3ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 66 69 72 73 74 20 63 6f 6e 74 61 63 74 29 ..............(cl-first.contact)
3ae0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 70 72 6f 70 2d 6d 61 ))..................(and.prop-ma
3b00 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 66 69 tch.......................(cl-fi
3b20 6e 64 2d 69 66 20 28 6c 61 6d 62 64 61 20 28 70 72 6f 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 nd-if.(lambda.(prop)............
3b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 73 .........................(and.(s
3b60 74 72 69 6e 67 3d 20 28 63 61 72 20 70 72 6f 70 2d 6d 61 74 63 68 29 20 28 63 61 72 20 70 72 6f tring=.(car.prop-match).(car.pro
3b80 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p)).............................
3ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 28 63 64 .............(string-match-p.(cd
3bc0 72 20 70 72 6f 70 2d 6d 61 74 63 68 29 20 28 63 64 72 20 70 72 6f 70 29 29 29 29 0a 20 20 20 20 r.prop-match).(cdr.prop)))).....
3be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 ..............................(c
3c00 61 64 64 72 20 63 6f 6e 74 61 63 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 addr.contact))).................
3c20 20 28 61 6e 64 20 74 61 67 73 2d 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(and.tags-match................
3c40 20 20 20 20 20 20 20 28 63 6c 2d 66 69 6e 64 2d 69 66 20 28 6c 61 6d 62 64 61 20 28 74 61 67 29 .......(cl-find-if.(lambda.(tag)
3c60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c80 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 74 61 67 73 2d 6d 61 74 63 68 20 .....(string-match-p.tags-match.
3ca0 74 61 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tag))...........................
3cc0 20 20 20 20 20 20 20 20 28 6f 72 67 2d 73 70 6c 69 74 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 ........(org-split-string.......
3ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 .............................(or
3d00 20 28 63 64 72 20 28 61 73 73 6f 63 2d 73 74 72 69 6e 67 20 22 41 4c 4c 54 41 47 53 22 20 28 63 .(cdr.(assoc-string."ALLTAGS".(c
3d20 61 64 64 72 20 63 6f 6e 74 61 63 74 29 29 29 20 22 22 29 20 22 3a 22 29 29 29 29 0a 20 20 20 20 addr.contact)))."").":")))).....
3d40 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 63 6f 6e 74 61 63 74 29 29 29 0a 0a 28 64 65 .........collect.contact)))..(de
3d60 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 74 72 79 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d fun.org-contacts-try-completion-
3d80 70 72 65 66 69 78 20 28 74 6f 2d 6d 61 74 63 68 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 26 6f 70 74 prefix.(to-match.collection.&opt
3da0 69 6f 6e 61 6c 20 70 72 65 64 69 63 61 74 65 29 0a 20 20 22 43 75 73 74 6f 6d 20 69 6d 70 6c 65 ional.predicate)..."Custom.imple
3dc0 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 60 74 72 79 2d 63 6f 6d 70 6c 65 74 69 6f 6e 27 2e 0a 54 mentation.of.`try-completion'..T
3de0 68 69 73 20 76 65 72 73 69 6f 6e 20 77 6f 72 6b 73 20 6f 6e 6c 79 20 77 69 74 68 20 6c 69 73 74 his.version.works.only.with.list
3e00 20 61 6e 64 20 61 6c 69 73 74 20 61 6e 64 20 69 74 20 6c 6f 6f 6b 73 20 61 74 20 61 6c 6c 0a 70 .and.alist.and.it.looks.at.all.p
3e20 72 65 66 69 78 65 73 20 72 61 74 68 65 72 20 74 68 61 6e 20 6a 75 73 74 20 74 68 65 20 62 65 67 refixes.rather.than.just.the.beg
3e40 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 63 6c 2d 6c 6f 6f inning.of.the.string."...(cl-loo
3e60 70 20 77 69 74 68 20 72 65 67 65 78 70 20 3d 20 28 63 6f 6e 63 61 74 20 22 5c 5c 62 22 20 28 72 p.with.regexp.=.(concat."\\b".(r
3e80 65 67 65 78 70 2d 71 75 6f 74 65 20 74 6f 2d 6d 61 74 63 68 29 29 0a 20 20 20 20 20 20 20 20 20 egexp-quote.to-match))..........
3ea0 20 20 77 69 74 68 20 72 65 74 20 3d 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 ..with.ret.=.nil............with
3ec0 20 72 65 74 2d 73 74 61 72 74 20 3d 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 .ret-start.=.nil............with
3ee0 20 72 65 74 2d 65 6e 64 20 3d 20 6e 69 6c 0a 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 65 .ret-end.=.nil.............for.e
3f00 6c 20 69 6e 20 63 6f 6c 6c 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 73 l.in.collection............for.s
3f20 74 72 69 6e 67 20 3d 20 28 69 66 20 28 6c 69 73 74 70 20 65 6c 29 20 28 63 61 72 20 65 6c 29 20 tring.=.(if.(listp.el).(car.el).
3f40 65 6c 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 73 74 61 72 74 20 3d 20 28 77 68 65 el).............for.start.=.(whe
3f60 6e 20 28 6f 72 20 28 6e 75 6c 6c 20 70 72 65 64 69 63 61 74 65 29 20 28 66 75 6e 63 61 6c 6c 20 n.(or.(null.predicate).(funcall.
3f80 70 72 65 64 69 63 61 74 65 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 predicate.string))..............
3fa0 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 72 65 67 65 78 70 ............(string-match.regexp
3fc0 20 73 74 72 69 6e 67 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 74 61 72 74 0a 20 .string)).............if.start..
3fe0 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 6c 65 74 20 28 28 65 6e 64 20 28 6d 61 74 63 68 2d 65 ..........do.(let.((end.(match-e
4000 6e 64 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 20 nd.0)).....................(len.
4020 28 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (length.string)))...............
4040 20 20 28 69 66 20 28 3d 20 65 6e 64 20 6c 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(if.(=.end.len)...............
4060 20 20 20 20 20 20 28 63 6c 2d 72 65 74 75 72 6e 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......(cl-return.t).............
4080 20 20 20 20 20 20 28 63 6c 2d 64 65 73 74 72 75 63 74 75 72 69 6e 67 2d 62 69 6e 64 20 28 73 74 ......(cl-destructuring-bind.(st
40a0 72 69 6e 67 20 73 74 61 72 74 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ring.start.end).................
40c0 20 20 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 72 65 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 ......(if.(null.ret)............
40e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 76 61 6c 75 65 73 20 73 74 72 69 6e 67 ...............(cl-values.string
4100 20 73 74 61 72 74 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .start.end).....................
4120 20 20 20 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 63 6f 6d 6d 6f 6e 2d 73 75 62 73 74 72 69 ....(org-contacts-common-substri
4140 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 20 ng..........................ret.
4160 72 65 74 2d 73 74 61 72 74 20 72 65 74 2d 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ret-start.ret-end...............
4180 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 73 74 61 72 74 20 65 6e 64 29 29 0a 20 20 ...........string.start.end))...
41a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 72 65 74 20 73 74 72 69 ..................(setf.ret.stri
41c0 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 ng...........................ret
41e0 2d 73 74 61 72 74 20 73 74 61 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -start.start....................
4200 20 20 20 20 20 20 20 72 65 74 2d 65 6e 64 20 65 6e 64 29 29 29 29 0a 0a 20 20 20 20 20 20 20 20 .......ret-end.end))))..........
4220 20 20 20 66 69 6e 61 6c 6c 79 20 28 63 6c 2d 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 20 ...finally.(cl-return...........
4240 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 ..........(replace-regexp-in-str
4260 69 6e 67 20 22 5c 5c 60 5b 20 5c 74 5c 6e 5d 2a 22 20 22 22 20 72 65 74 29 29 29 29 0a 0a 28 64 ing."\\`[.\t\n]*"."".ret))))..(d
4280 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 63 6f 6d 70 61 72 65 2d 73 74 72 69 6e 67 efun.org-contacts-compare-string
42a0 73 20 28 73 31 20 73 74 61 72 74 31 20 65 6e 64 31 20 73 32 20 73 74 61 72 74 32 20 65 6e 64 32 s.(s1.start1.end1.s2.start2.end2
42c0 20 26 6f 70 74 69 6f 6e 61 6c 20 69 67 6e 6f 72 65 2d 63 61 73 65 29 0a 20 20 22 43 6f 6d 70 61 .&optional.ignore-case)..."Compa
42e0 72 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 77 6f 20 73 74 72 69 6e 67 73 2c 20 re.the.contents.of.two.strings,.
4300 75 73 69 6e 67 20 60 63 6f 6d 70 61 72 65 2d 73 74 72 69 6e 67 73 27 2e 0a 0a 54 68 69 73 20 66 using.`compare-strings'...This.f
4320 75 6e 63 74 69 6f 6e 20 77 6f 72 6b 73 20 6c 69 6b 65 20 60 63 6f 6d 70 61 72 65 2d 73 74 72 69 unction.works.like.`compare-stri
4340 6e 67 73 27 20 65 78 63 65 70 74 65 64 20 74 68 61 74 20 69 74 0a 72 65 74 75 72 6e 73 20 61 20 ngs'.excepted.that.it.returns.a.
4360 63 6f 6e 73 2e 0a 2d 20 54 68 65 20 43 41 52 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 cons..-.The.CAR.is.the.number.of
4380 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 20 6d 61 74 63 68 20 61 74 20 74 68 65 20 62 65 .characters.that.match.at.the.be
43a0 67 69 6e 6e 69 6e 67 2e 0a 2d 20 54 68 65 20 43 44 52 20 69 73 20 54 20 69 73 20 74 68 65 20 74 ginning..-.The.CDR.is.T.is.the.t
43c0 77 6f 20 73 74 72 69 6e 67 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 6e 64 20 4e 49 4c 20 wo.strings.are.the.same.and.NIL.
43e0 6f 74 68 65 72 77 69 73 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 65 74 20 28 63 6f 6d 70 61 72 otherwise."...(let.((ret.(compar
4400 65 2d 73 74 72 69 6e 67 73 20 73 31 20 73 74 61 72 74 31 20 65 6e 64 31 20 73 32 20 73 74 61 72 e-strings.s1.start1.end1.s2.star
4420 74 32 20 65 6e 64 32 20 69 67 6e 6f 72 65 2d 63 61 73 65 29 29 29 0a 20 20 20 20 28 69 66 20 28 t2.end2.ignore-case))).....(if.(
4440 65 71 20 72 65 74 20 74 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 6f 72 20 65 6e 64 31 eq.ret.t).........(cons.(or.end1
4460 20 28 6c 65 6e 67 74 68 20 73 31 29 29 20 74 29 0a 20 20 20 20 20 20 28 63 6f 6e 73 20 28 31 2d .(length.s1)).t).......(cons.(1-
4480 20 28 61 62 73 20 72 65 74 29 29 20 6e 69 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d .(abs.ret)).nil))))..(defun.org-
44a0 63 6f 6e 74 61 63 74 73 2d 63 6f 6d 6d 6f 6e 2d 73 75 62 73 74 72 69 6e 67 20 28 73 31 20 73 74 contacts-common-substring.(s1.st
44c0 61 72 74 31 20 65 6e 64 31 20 73 32 20 73 74 61 72 74 32 20 65 6e 64 32 29 0a 20 20 22 45 78 74 art1.end1.s2.start2.end2)..."Ext
44e0 72 61 63 74 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 73 75 62 73 74 72 69 6e 67 20 62 65 74 77 65 65 ract.the.common.substring.betwee
4500 6e 20 53 31 20 61 6e 64 20 53 32 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 n.S1.and.S2...This.function.extr
4520 61 63 74 73 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 73 75 62 73 74 72 69 6e 67 20 62 65 74 77 65 65 acts.the.common.substring.betwee
4540 6e 20 53 31 20 61 6e 64 20 53 32 20 61 6e 64 0a 61 64 6a 75 73 74 20 74 68 65 20 70 61 72 74 20 n.S1.and.S2.and.adjust.the.part.
4560 74 68 61 74 20 72 65 6d 61 69 6e 73 20 63 6f 6d 6d 6f 6e 2e 0a 0a 53 54 41 52 54 31 20 61 6e 64 that.remains.common...START1.and
4580 20 45 4e 44 31 20 64 65 6c 69 6d 69 74 20 74 68 65 20 70 61 72 74 20 69 6e 20 53 31 20 74 68 61 .END1.delimit.the.part.in.S1.tha
45a0 74 20 77 65 20 6b 6e 6f 77 20 69 73 20 63 6f 6d 6d 6f 6e 0a 62 65 74 77 65 65 6e 20 74 68 65 20 t.we.know.is.common.between.the.
45c0 74 77 6f 20 73 74 72 69 6e 67 73 2e 20 54 68 69 73 20 61 70 70 6c 69 65 73 20 74 6f 20 53 54 41 two.strings..This.applies.to.STA
45e0 52 54 32 20 61 6e 64 20 45 4e 44 32 20 66 6f 72 20 53 32 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 RT2.and.END2.for.S2...This.funct
4600 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 77 68 6f 73 65 20 63 6f 6e 74 61 69 6e ion.returns.a.list.whose.contain
4620 73 3a 0a 2d 20 54 68 65 20 63 6f 6d 6d 6f 6e 20 73 75 62 73 74 72 69 6e 67 20 66 6f 75 6e 64 2e s:.-.The.common.substring.found.
4640 0a 2d 20 54 68 65 20 6e 65 77 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 73 74 61 72 74 20 6f 66 .-.The.new.value.of.the.start.of
4660 20 74 68 65 20 6b 6e 6f 77 6e 20 69 6e 6e 65 72 20 73 75 62 73 74 72 69 6e 67 2e 0a 2d 20 54 68 .the.known.inner.substring..-.Th
4680 65 20 6e 65 77 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6b 6e e.new.value.of.the.end.of.the.kn
46a0 6f 77 6e 20 69 6e 6e 65 72 20 73 75 62 73 74 72 69 6e 67 2e 22 0a 20 20 3b 3b 20 47 69 76 65 6e own.inner.substring."...;;.Given
46c0 20 74 77 6f 20 73 74 72 69 6e 67 73 3a 0a 20 20 3b 3b 20 73 31 3a 20 22 66 6f 6f 20 62 61 72 20 .two.strings:...;;.s1:."foo.bar.
46e0 62 61 7a 22 0a 20 20 3b 3b 20 73 32 3a 20 22 66 6f 6f 6f 20 62 61 72 20 62 61 7a 22 0a 20 20 3b baz"...;;.s2:."fooo.bar.baz"...;
4700 3b 20 61 6e 64 20 74 68 65 20 69 6e 6e 65 72 20 73 75 62 73 74 72 69 6e 67 20 69 73 20 22 62 61 ;.and.the.inner.substring.is."ba
4720 72 22 0a 20 20 3b 3b 20 74 68 65 6e 3a 20 73 74 61 72 74 31 20 3d 20 34 2c 20 65 6e 64 31 20 3d r"...;;.then:.start1.=.4,.end1.=
4740 20 36 2c 20 73 74 61 72 74 32 20 3d 20 35 2c 20 65 6e 64 32 20 3d 20 37 0a 20 20 3b 3b 0a 20 20 .6,.start2.=.5,.end2.=.7...;;...
4760 3b 3b 20 54 6f 20 66 69 6e 64 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 73 75 62 73 74 72 69 6e 67 20 ;;.To.find.the.common.substring.
4780 77 65 20 77 69 6c 6c 20 63 6f 6d 70 61 72 65 20 74 77 6f 20 73 75 62 73 74 72 69 6e 67 73 3a 0a we.will.compare.two.substrings:.
47a0 20 20 3b 3b 20 22 20 6f 6f 66 22 20 61 6e 64 20 22 20 6f 6f 6f 66 22 20 74 6f 20 66 69 6e 64 20 ..;;.".oof".and.".ooof".to.find.
47c0 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 73 75 62 73 the.beginning.of.the.common.subs
47e0 74 72 69 6e 67 2e 0a 20 20 3b 3b 20 22 20 62 61 7a 22 20 61 6e 64 20 22 20 62 61 7a 22 20 74 6f tring....;;.".baz".and.".baz".to
4800 20 66 69 6e 64 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 73 75 62 73 .find.the.end.of.the.common.subs
4820 74 72 69 6e 67 2e 0a 20 20 28 6c 65 74 2a 20 28 28 6c 65 6e 31 20 28 6c 65 6e 67 74 68 20 73 31 tring....(let*.((len1.(length.s1
4840 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 74 61 72 74 31 20 28 6f 72 20 73 74 61 72 74 31 20 30 ))..........(start1.(or.start1.0
4860 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 6e 64 31 20 28 6f 72 20 65 6e 64 31 20 6c 65 6e 31 29 ))..........(end1.(or.end1.len1)
4880 29 0a 0a 20 20 20 20 20 20 20 20 20 28 6c 65 6e 32 20 28 6c 65 6e 67 74 68 20 73 32 29 29 0a 20 )...........(len2.(length.s2))..
48a0 20 20 20 20 20 20 20 20 28 73 74 61 72 74 32 20 28 6f 72 20 73 74 61 72 74 32 20 30 29 29 0a 20 ........(start2.(or.start2.0))..
48c0 20 20 20 20 20 20 20 20 28 65 6e 64 32 20 28 6f 72 20 65 6e 64 32 20 6c 65 6e 32 29 29 0a 0a 20 ........(end2.(or.end2.len2))...
48e0 20 20 20 20 20 20 20 20 28 6e 65 77 2d 73 74 61 72 74 20 28 63 61 72 20 28 6f 72 67 2d 63 6f 6e ........(new-start.(car.(org-con
4900 74 61 63 74 73 2d 63 6f 6d 70 61 72 65 2d 73 74 72 69 6e 67 73 0a 20 20 20 20 20 20 20 20 20 20 tacts-compare-strings...........
4920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 28 6f 72 67 2d ................(substring.(org-
4940 72 65 76 65 72 73 65 2d 73 74 72 69 6e 67 20 73 31 29 20 28 2d 20 6c 65 6e 31 20 73 74 61 72 74 reverse-string.s1).(-.len1.start
4960 31 29 29 20 6e 69 6c 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1)).nil.nil.....................
4980 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 28 6f 72 67 2d 72 65 76 65 72 73 65 2d 73 74 ......(substring.(org-reverse-st
49a0 72 69 6e 67 20 73 32 29 20 28 2d 20 6c 65 6e 32 20 73 74 61 72 74 32 29 29 20 6e 69 6c 20 6e 69 ring.s2).(-.len2.start2)).nil.ni
49c0 6c 29 29 29 0a 0a 20 20 20 20 20 20 20 20 20 28 6e 65 77 2d 65 6e 64 20 28 2b 20 65 6e 64 31 20 l)))...........(new-end.(+.end1.
49e0 28 63 61 72 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 63 6f 6d 70 61 72 65 2d 73 74 72 69 6e (car.(org-contacts-compare-strin
4a00 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gs..............................
4a20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 73 31 20 65 6e 64 31 29 20 6e 69 6c 20 6e 69 6c 0a 20 ...(substring.s1.end1).nil.nil..
4a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
4a60 73 75 62 73 74 72 69 6e 67 20 73 32 20 65 6e 64 32 29 20 6e 69 6c 20 6e 69 6c 29 29 29 29 29 0a substring.s2.end2).nil.nil))))).
4a80 20 20 20 20 28 6c 69 73 74 20 28 73 75 62 73 74 72 69 6e 67 20 73 31 20 28 2d 20 73 74 61 72 74 ....(list.(substring.s1.(-.start
4aa0 31 20 6e 65 77 2d 73 74 61 72 74 29 20 6e 65 77 2d 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 1.new-start).new-end)...........
4ac0 6e 65 77 2d 73 74 61 72 74 0a 20 20 20 20 20 20 20 20 20 20 28 2b 20 6e 65 77 2d 73 74 61 72 74 new-start...........(+.new-start
4ae0 20 28 2d 20 65 6e 64 31 20 73 74 61 72 74 31 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 .(-.end1.start1)))))..(defun.org
4b00 2d 63 6f 6e 74 61 63 74 73 2d 61 6c 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 2d 70 72 65 66 69 78 -contacts-all-completions-prefix
4b20 20 28 74 6f 2d 6d 61 74 63 68 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 .(to-match.collection.&optional.
4b40 70 72 65 64 69 63 61 74 65 29 0a 20 20 22 43 75 73 74 6f 6d 20 76 65 72 73 69 6f 6e 20 6f 66 20 predicate)..."Custom.version.of.
4b60 60 61 6c 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 27 2e 0a 54 68 69 73 20 76 65 72 73 69 6f 6e 20 `all-completions'..This.version.
4b80 77 6f 72 6b 73 20 6f 6e 6c 79 20 77 69 74 68 20 6c 69 73 74 20 61 6e 64 20 61 6c 69 73 74 20 61 works.only.with.list.and.alist.a
4ba0 6e 64 20 69 74 20 6c 6f 6f 6b 73 20 61 74 20 61 6c 6c 0a 70 72 65 66 69 78 65 73 20 72 61 74 68 nd.it.looks.at.all.prefixes.rath
4bc0 65 72 20 74 68 61 6e 20 6a 75 73 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 er.than.just.the.beginning.of.th
4be0 65 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 77 69 74 68 20 72 65 67 65 78 e.string."...(cl-loop.with.regex
4c00 70 20 3d 20 28 63 6f 6e 63 61 74 20 22 5c 5c 62 22 20 28 72 65 67 65 78 70 2d 71 75 6f 74 65 20 p.=.(concat."\\b".(regexp-quote.
4c20 74 6f 2d 6d 61 74 63 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 65 6c 20 69 6e 20 to-match))............for.el.in.
4c40 63 6f 6c 6c 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 73 74 72 69 6e 67 collection............for.string
4c60 20 3d 20 28 69 66 20 28 6c 69 73 74 70 20 65 6c 29 20 28 63 61 72 20 65 6c 29 20 65 6c 29 0a 20 .=.(if.(listp.el).(car.el).el)..
4c80 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 6d 61 74 63 68 3f 20 3d 20 28 77 68 65 6e 20 28 61 6e ..........for.match?.=.(when.(an
4ca0 64 20 28 6f 72 20 28 6e 75 6c 6c 20 70 72 65 64 69 63 61 74 65 29 20 28 66 75 6e 63 61 6c 6c 20 d.(or.(null.predicate).(funcall.
4cc0 70 72 65 64 69 63 61 74 65 20 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 predicate.string))).............
4ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 72 65 67 65 ..............(string-match.rege
4d00 78 70 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6d 61 74 63 68 3f xp.string))............if.match?
4d20 0a 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 ............collect.(progn......
4d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 6e 64 20 28 6d 61 74 63 ................(let.((end.(matc
4d60 68 2d 65 6e 64 20 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h-end.0)))......................
4d80 20 20 28 6f 72 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 73 74 72 69 6e 67 29 0a 20 20 20 ..(org-no-properties.string)....
4da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3c 20 65 6e 64 ....................(when.(<.end
4dc0 20 28 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(length.string))...............
4de0 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 48 65 72 65 20 77 65 20 61 64 64 20 61 20 74 65 78 74 ...........;;.Here.we.add.a.text
4e00 20 70 72 6f 70 65 72 74 79 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 75 73 65 64 0a 20 20 20 20 .property.that.will.be.used.....
4e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6c 61 74 65 72 20 74 6f .....................;;.later.to
4e40 20 68 69 67 68 6c 69 67 68 74 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 72 69 67 68 74 20 61 .highlight.the.character.right.a
4e60 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b fter..........................;;
4e80 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 70 61 72 74 20 62 65 74 77 65 65 6e 20 65 61 63 68 20 61 64 .the.common.part.between.each.ad
4ea0 64 72 65 73 73 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dresses.........................
4ec0 20 20 3b 3b 20 53 65 65 20 60 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 64 69 73 70 6c 61 79 2d 73 ..;;.See.`org-contacts-display-s
4ee0 6f 72 74 2d 66 75 6e 63 74 69 6f 6e 27 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ort-function'...................
4f00 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 65 6e 64 20 28 ........(put-text-property.end.(
4f20 31 2b 20 65 6e 64 29 20 27 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 70 72 65 66 69 78 20 27 74 20 1+.end).'org-contacts-prefix.'t.
4f40 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 string)))......................s
4f60 74 72 69 6e 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6d 61 tring)))..(defun.org-contacts-ma
4f80 6b 65 2d 63 6f 6c 6c 65 63 74 69 6f 6e 2d 70 72 65 66 69 78 20 28 63 6f 6c 6c 65 63 74 69 6f 6e ke-collection-prefix.(collection
4fa0 29 0a 20 20 22 4d 61 6b 65 20 61 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 )..."Make.a.collection.function.
4fc0 66 72 6f 6d 20 43 4f 4c 4c 45 43 54 49 4f 4e 20 77 68 69 63 68 20 77 69 6c 6c 20 6d 61 74 63 68 from.COLLECTION.which.will.match
4fe0 20 6f 6e 20 70 72 65 66 69 78 65 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 6f 6c 6c 65 63 74 69 .on.prefixes."...(let.((collecti
5000 6f 6e 20 63 6f 6c 6c 65 63 74 69 6f 6e 29 29 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 73 74 72 on.collection)).....(lambda.(str
5020 69 6e 67 20 70 72 65 64 69 63 61 74 65 20 66 6c 61 67 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 ing.predicate.flag).......(cond.
5040 28 28 65 71 20 66 6c 61 67 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 ((eq.flag.nil)..............(org
5060 2d 63 6f 6e 74 61 63 74 73 2d 74 72 79 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 70 72 65 66 69 78 20 -contacts-try-completion-prefix.
5080 73 74 72 69 6e 67 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 70 72 65 64 69 63 61 74 65 29 29 0a 20 20 string.collection.predicate))...
50a0 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 66 6c 61 67 20 74 29 0a 20 20 20 20 20 20 20 20 20 ..........((eq.flag.t)..........
50c0 20 20 20 20 3b 3b 20 60 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 61 6c 6c 2d 63 6f 6d 70 6c 65 74 ....;;.`org-contacts-all-complet
50e0 69 6f 6e 73 2d 70 72 65 66 69 78 27 20 68 61 73 20 61 6c 72 65 61 64 79 20 62 65 65 6e 0a 20 20 ions-prefix'.has.already.been...
5100 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 75 74 65 20 60 61 ...........;;.used.to.compute.`a
5120 6c 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 27 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f ll-completions'...............co
5140 6c 6c 65 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 66 6c 61 67 20 llection).............((eq.flag.
5160 27 6c 61 6d 62 64 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 63 6f 6e 74 61 'lambda)..............(org-conta
5180 63 74 73 2d 74 65 73 74 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 70 72 65 66 69 78 20 73 74 72 69 6e cts-test-completion-prefix.strin
51a0 67 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 70 72 65 64 69 63 61 74 65 29 29 0a 20 20 20 20 20 20 20 g.collection.predicate))........
51c0 20 20 20 20 20 28 28 61 6e 64 20 28 6c 69 73 74 70 20 66 6c 61 67 29 20 28 65 71 20 28 63 61 72 .....((and.(listp.flag).(eq.(car
51e0 20 66 6c 61 67 29 20 27 62 6f 75 6e 64 61 72 69 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .flag).'boundaries))............
5200 20 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 62 6f 75 6e 64 61 72 69 65 73 2d 70 72 65 66 69 ..(org-contacts-boundaries-prefi
5220 78 20 73 74 72 69 6e 67 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 70 72 65 64 69 63 61 74 65 20 28 63 x.string.collection.predicate.(c
5240 64 72 20 66 6c 61 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 66 6c 61 67 dr.flag))).............((eq.flag
5260 20 27 6d 65 74 61 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 63 6f .'metadata)..............(org-co
5280 6e 74 61 63 74 73 2d 6d 65 74 61 64 61 74 61 2d 70 72 65 66 69 78 29 29 0a 20 20 20 20 20 20 20 ntacts-metadata-prefix))........
52a0 20 20 20 20 20 28 74 20 6e 69 6c 20 20 20 20 20 20 20 20 20 20 3b 20 6f 70 65 72 61 74 69 6f 6e .....(t.nil..........;.operation
52c0 20 75 6e 73 75 70 70 6f 72 74 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 29 29 29 .unsupported................))))
52e0 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 64 69 73 70 6c 61 79 2d 73 )..(defun.org-contacts-display-s
5300 6f 72 74 2d 66 75 6e 63 74 69 6f 6e 20 28 63 6f 6d 70 6c 65 74 69 6f 6e 73 29 0a 20 20 22 53 6f ort-function.(completions)..."So
5320 72 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 63 6f 6e 74 61 63 74 73 20 64 69 73 70 6c 61 79 rt.function.for.contacts.display
5340 2e 22 0a 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 73 74 72 69 6e 67 29 0a 20 20 ."...(mapcar.(lambda.(string)...
5360 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 77 69 74 68 20 6c 65 6e 20 3d 20 28 31 ..........(cl-loop.with.len.=.(1
5380 2d 20 28 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -.(length.string))..............
53a0 20 20 20 20 20 20 20 20 66 6f 72 20 69 20 75 70 66 72 6f 6d 20 30 20 74 6f 20 6c 65 6e 0a 20 20 ........for.i.upfrom.0.to.len...
53c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 65 6d 71 20 27 6f 72 67 ...................if.(memq.'org
53e0 2d 63 6f 6e 74 61 63 74 73 2d 70 72 65 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -contacts-prefix................
5400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 2d ...............(text-properties-
5420 61 74 20 69 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 at.i.string))...................
5440 20 20 20 64 6f 20 28 73 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 ...do.(set-text-properties......
5460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 20 28 31 2b 20 69 29 0a 20 20 20 ....................i.(1+.i)....
5480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 66 6f 6e ......................(list.'fon
54a0 74 2d 6c 6f 63 6b 2d 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-lock-face.....................
54c0 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 63 68 61 72 2d 65 71 75 61 6c 20 28 61 72 65 66 ...........(if.(char-equal.(aref
54e0 20 73 74 72 69 6e 67 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .string.i)......................
5500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e ..........................(strin
5520 67 2d 74 6f 2d 63 68 61 72 20 22 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g-to-char.".")).................
5540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 70 61 63 65 73 20 63 61 6e ...................;;.Spaces.can
5560 27 74 20 62 65 20 62 6f 6c 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 't.be.bold......................
5580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 75 6e 64 65 72 6c 69 6e 65 0a 20 20 20 20 20 20 ...............'underline.......
55a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 62 6f 6c 64 ...........................'bold
55c0 29 29 20 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )).string)......................
55e0 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 73 65 else......................do.(se
5600 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 20 69 20 28 31 2b 20 69 29 20 6e 69 6c 20 73 t-text-properties.i.(1+.i).nil.s
5620 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 tring)......................fina
5640 6c 6c 79 20 28 63 6c 2d 72 65 74 75 72 6e 20 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 lly.(cl-return.string)))........
5660 20 20 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e ...completions))..(defun.org-con
5680 74 61 63 74 73 2d 74 65 73 74 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 70 72 65 66 69 78 20 28 73 74 tacts-test-completion-prefix.(st
56a0 72 69 6e 67 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 70 72 65 64 69 63 61 74 65 29 0a 20 20 28 63 6c ring.collection.predicate)...(cl
56c0 2d 66 69 6e 64 2d 69 66 20 28 6c 61 6d 62 64 61 20 28 65 6c 29 0a 20 20 20 20 20 20 20 20 20 20 -find-if.(lambda.(el)...........
56e0 20 20 20 20 20 20 28 61 6e 64 20 28 6f 72 20 28 6e 75 6c 6c 20 70 72 65 64 69 63 61 74 65 29 20 ......(and.(or.(null.predicate).
5700 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 69 63 61 74 65 20 65 6c 29 29 0a 20 20 20 20 20 20 20 20 (funcall.predicate.el)).........
5720 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 3d 20 73 74 72 69 6e 67 20 65 6c 29 .............(string=.string.el)
5740 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 69 6f 6e 29 29 0a 0a 28 ))...............collection))..(
5760 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 62 6f 75 6e 64 61 72 69 65 73 2d 70 72 defun.org-contacts-boundaries-pr
5780 65 66 69 78 20 28 73 74 72 69 6e 67 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 70 72 65 64 69 63 61 74 efix.(string.collection.predicat
57a0 65 20 73 75 66 66 69 78 29 0a 20 20 28 63 6c 2d 6c 69 73 74 2a 20 27 62 6f 75 6e 64 61 72 69 65 e.suffix)...(cl-list*.'boundarie
57c0 73 20 28 63 6f 6d 70 6c 65 74 69 6f 6e 2d 62 6f 75 6e 64 61 72 69 65 73 20 73 74 72 69 6e 67 20 s.(completion-boundaries.string.
57e0 63 6f 6c 6c 65 63 74 69 6f 6e 20 70 72 65 64 69 63 61 74 65 20 73 75 66 66 69 78 29 29 29 0a 0a collection.predicate.suffix)))..
5800 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6d 65 74 61 64 61 74 61 2d 70 72 65 (defun.org-contacts-metadata-pre
5820 66 69 78 20 28 26 72 65 73 74 20 5f 29 0a 20 20 27 28 6d 65 74 61 64 61 74 61 20 2e 0a 20 20 20 fix.(&rest._)...'(metadata......
5840 20 20 20 20 20 20 20 20 20 20 28 28 63 79 63 6c 65 2d 73 6f 72 74 2d 66 75 6e 63 74 69 6f 6e 20 ..........((cycle-sort-function.
5860 2e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 64 69 73 70 6c 61 79 2d 73 6f 72 74 2d 66 75 6e 63 ..org-contacts-display-sort-func
5880 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 73 70 6c 61 79 2d 73 6f 72 tion)...............(display-sor
58a0 74 2d 66 75 6e 63 74 69 6f 6e 20 2e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 64 69 73 70 6c 61 t-function...org-contacts-displa
58c0 79 2d 73 6f 72 74 2d 66 75 6e 63 74 69 6f 6e 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d y-sort-function))))..(defun.org-
58e0 63 6f 6e 74 61 63 74 73 2d 63 6f 6d 70 6c 65 74 65 2d 67 72 6f 75 70 20 28 73 74 72 69 6e 67 29 contacts-complete-group.(string)
5900 0a 20 20 22 43 6f 6d 70 6c 65 74 65 20 74 65 78 74 20 61 74 20 53 54 41 52 54 20 66 72 6f 6d 20 ..."Complete.text.at.START.from.
5920 61 20 67 72 6f 75 70 2e 0a 0a 41 20 67 72 6f 75 70 20 46 4f 4f 20 69 73 20 63 6f 6d 70 6f 73 65 a.group...A.group.FOO.is.compose
5940 64 20 6f 66 20 63 6f 6e 74 61 63 74 73 20 77 69 74 68 20 74 68 65 20 74 61 67 20 46 4f 4f 2e 22 d.of.contacts.with.the.tag.FOO."
5960 0a 20 20 28 6c 65 74 2a 20 28 28 63 6f 6d 70 6c 65 74 69 6f 6e 2d 69 67 6e 6f 72 65 2d 63 61 73 ...(let*.((completion-ignore-cas
5980 65 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 69 67 6e 6f 72 65 e.org-contacts-completion-ignore
59a0 2d 63 61 73 65 29 0a 20 20 20 20 20 20 20 20 20 28 67 72 6f 75 70 2d 63 6f 6d 70 6c 65 74 69 6f -case)..........(group-completio
59c0 6e 2d 70 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 n-p.(string-match-p.............
59e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 5e 22 20 6f 72 ..................(concat."^".or
5a00 67 2d 63 6f 6e 74 61 63 74 73 2d 67 72 6f 75 70 2d 70 72 65 66 69 78 29 20 73 74 72 69 6e 67 29 g-contacts-group-prefix).string)
5a20 29 29 0a 20 20 20 20 28 77 68 65 6e 20 67 72 6f 75 70 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 70 0a )).....(when.group-completion-p.
5a40 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 69 73 74 0a 20 20 20 ......(let.((completion-list....
5a60 20 20 20 20 20 20 20 20 20 20 28 61 6c 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 0a 20 20 20 20 20 ..........(all-completions......
5a80 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d .........string...............(m
5aa0 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 67 72 6f 75 70 29 0a 20 20 20 20 20 20 20 20 20 20 apcar.(lambda.(group)...........
5ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28 63 6f 6e 63 61 ..............(propertize.(conca
5ae0 74 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 67 72 6f 75 70 2d 70 72 65 66 69 78 20 67 72 6f 75 t.org-contacts-group-prefix.grou
5b00 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p)..............................
5b20 20 20 20 20 20 20 20 27 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 67 72 6f 75 70 20 67 72 6f 75 70 .......'org-contacts-group.group
5b40 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 75 6e )).......................(org-un
5b60 69 71 75 69 66 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 iquify........................(c
5b80 6c 2d 6c 6f 6f 70 20 66 6f 72 20 63 6f 6e 74 61 63 74 20 69 6e 20 28 6f 72 67 2d 63 6f 6e 74 61 l-loop.for.contact.in.(org-conta
5ba0 63 74 73 2d 66 69 6c 74 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cts-filter).....................
5bc0 20 20 20 20 20 20 20 20 20 20 20 20 6e 63 6f 6e 63 20 28 6f 72 67 2d 73 70 6c 69 74 2d 73 74 72 ............nconc.(org-split-str
5be0 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ing.............................
5c00 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 63 64 72 20 28 61 73 73 6f 63 2d 73 74 72 69 6e ...........(or.(cdr.(assoc-strin
5c20 67 20 22 41 4c 4c 54 41 47 53 22 20 28 63 61 64 64 72 20 63 6f 6e 74 61 63 74 29 29 29 20 22 22 g."ALLTAGS".(caddr.contact))).""
5c40 29 20 22 3a 22 29 29 29 29 29 29 29 0a 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 3d 20 28 6c 65 ).":")))))))..........(if.(=.(le
5c60 6e 67 74 68 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 69 73 74 29 20 31 29 0a 20 20 20 20 20 20 20 ngth.completion-list).1)........
5c80 20 20 20 20 20 3b 3b 20 57 65 27 76 65 20 66 6f 75 6e 64 20 74 68 65 20 63 6f 72 72 65 63 74 20 .....;;.We've.found.the.correct.
5ca0 67 72 6f 75 70 2c 20 72 65 74 75 72 6e 73 20 74 68 65 20 61 64 64 72 65 73 73 0a 20 20 20 20 20 group,.returns.the.address......
5cc0 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 61 67 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 .......(let.((tag.(get-text-prop
5ce0 65 72 74 79 20 30 20 27 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 67 72 6f 75 70 0a 20 20 20 20 20 erty.0.'org-contacts-group......
5d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5d20 20 20 20 20 20 28 63 61 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 69 73 74 29 29 29 29 0a 20 20 .....(car.completion-list))))...
5d40 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 ............(mapconcat.#'identit
5d60 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c y..........................(cl-l
5d80 6f 6f 70 20 66 6f 72 20 63 6f 6e 74 61 63 74 20 69 6e 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 oop.for.contact.in.(org-contacts
5da0 2d 66 69 6c 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -filter.........................
5dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 ..........................nil...
5de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 ................tag)............
5e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 20 63 6f .......................;;.The.co
5e40 6e 74 61 63 74 20 6e 61 6d 65 20 69 73 20 61 6c 77 61 79 73 20 74 68 65 20 63 61 72 20 6f 66 20 ntact.name.is.always.the.car.of.
5e60 74 68 65 20 61 73 73 6f 63 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 the.assoc-list..................
5e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 65 74 75 72 6e 65 64 20 62 79 20 .................;;.returned.by.
5ea0 60 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 74 65 72 27 2e 0a 20 20 20 20 20 20 20 20 20 `org-contacts-filter'...........
5ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 63 6f 6e .........................for.con
5ee0 74 61 63 74 2d 6e 61 6d 65 20 3d 20 28 63 61 72 20 63 6f 6e 74 61 63 74 29 0a 20 20 20 20 20 20 tact-name.=.(car.contact).......
5f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 47 ............................;;.G
5f20 72 61 62 20 74 68 65 20 66 69 72 73 74 20 65 6d 61 69 6c 20 6f 66 20 74 68 65 20 63 6f 6e 74 61 rab.the.first.email.of.the.conta
5f40 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ct..............................
5f60 20 20 20 20 20 66 6f 72 20 65 6d 61 69 6c 20 3d 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 .....for.email.=.(org-contacts-s
5f80 74 72 69 70 2d 6c 69 6e 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 trip-link.......................
5fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 63 61 .........................(or.(ca
5fc0 72 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 70 6c 69 74 2d 70 72 6f 70 65 72 74 79 0a 20 r.(org-contacts-split-property..
5fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 0a 20 20 20 20 ........................(or.....
6020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 28 61 73 73 6f ......................(cdr.(asso
6060 63 2d 73 74 72 69 6e 67 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 65 6d 61 69 6c 2d 70 72 6f 70 c-string.org-contacts-email-prop
6080 65 72 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 erty............................
60a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
60c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 63 61 64 64 72 20 63 6f 6e 74 ..................(cl-caddr.cont
60e0 61 63 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 act)))..........................
6100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6120 20 22 22 29 29 29 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."")))."")).....................
6140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 74 68 65 20 75 73 65 72 20 68 61 73 ..............;;.If.the.user.has
6160 20 61 6e 20 65 6d 61 69 6c 20 61 64 64 72 65 73 73 2c 20 61 70 70 65 6e 64 20 55 53 45 52 20 3c .an.email.address,.append.USER.<
6180 45 4d 41 49 4c 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 EMAIL>..........................
61a0 20 20 20 20 20 20 20 20 20 20 69 66 20 65 6d 61 69 6c 20 63 6f 6c 6c 65 63 74 20 28 6f 72 67 2d ..........if.email.collect.(org-
61c0 63 6f 6e 74 61 63 74 73 2d 66 6f 72 6d 61 74 2d 65 6d 61 69 6c 20 63 6f 6e 74 61 63 74 2d 6e 61 contacts-format-email.contact-na
61e0 6d 65 20 65 6d 61 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 me.email))......................
6200 20 20 20 20 22 2c 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 65 20 68 61 76 65 6e ....",."))...........;;.We.haven
6220 27 74 20 66 6f 75 6e 64 20 74 68 65 20 63 6f 72 72 65 63 74 20 67 72 6f 75 70 0a 20 20 20 20 20 't.found.the.correct.group......
6240 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6f 6e 2d 74 61 62 6c 65 2d 63 61 73 65 2d 66 6f 6c 64 .....(completion-table-case-fold
6260 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .completion-list................
6280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 6f 72 67 2d .......................(not.org-
62a0 63 6f 6e 74 61 63 74 73 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 69 67 6e 6f 72 65 2d 63 61 73 65 29 contacts-completion-ignore-case)
62c0 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 63 6f 6d 70 ))))))..(defun.org-contacts-comp
62e0 6c 65 74 65 2d 74 61 67 73 2d 70 72 6f 70 73 20 28 73 74 72 69 6e 67 29 0a 20 20 22 49 6e 73 65 lete-tags-props.(string)..."Inse
6300 72 74 20 65 6d 61 69 6c 73 20 74 68 61 74 20 6d 61 74 63 68 20 74 68 65 20 74 61 67 73 20 65 78 rt.emails.that.match.the.tags.ex
6320 70 72 65 73 73 69 6f 6e 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 3a 20 46 4f 4f 2d 42 41 52 20 pression...For.example:.FOO-BAR.
6340 77 69 6c 6c 20 6d 61 74 63 68 20 65 6e 74 72 69 65 73 20 74 61 67 67 65 64 20 77 69 74 68 20 46 will.match.entries.tagged.with.F
6360 4f 4f 20 62 75 74 20 6e 6f 74 0a 77 69 74 68 20 42 41 52 2e 0a 0a 53 65 65 20 28 6f 72 67 29 20 OO.but.not.with.BAR...See.(org).
6380 4d 61 74 63 68 69 6e 67 20 74 61 67 73 20 61 6e 64 20 70 72 6f 70 65 72 74 69 65 73 20 66 6f 72 Matching.tags.and.properties.for
63a0 20 61 20 63 6f 6d 70 6c 65 74 65 0a 64 65 73 63 72 69 70 74 69 6f 6e 2e 22 0a 20 20 28 6c 65 74 .a.complete.description."...(let
63c0 2a 20 28 28 63 6f 6d 70 6c 65 74 69 6f 6e 2d 69 67 6e 6f 72 65 2d 63 61 73 65 20 6f 72 67 2d 63 *.((completion-ignore-case.org-c
63e0 6f 6e 74 61 63 74 73 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 69 67 6e 6f 72 65 2d 63 61 73 65 29 0a ontacts-completion-ignore-case).
6400 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6f 6e 2d 70 20 28 73 74 72 69 6e 67 2d 6d .........(completion-p.(string-m
6420 61 74 63 68 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 atch-p.........................(
6440 63 6f 6e 63 61 74 20 22 5e 22 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 74 61 67 73 2d 70 72 6f concat."^".org-contacts-tags-pro
6460 70 73 2d 70 72 65 66 69 78 29 20 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 63 ps-prefix).string))).....(when.c
6480 6f 6d 70 6c 65 74 69 6f 6e 2d 70 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 0a ompletion-p.......(let.((result.
64a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 .............(mapconcat.........
64c0 20 20 20 20 20 20 23 27 69 64 65 6e 74 69 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ......#'identity...............(
64e0 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 63 6f 6e 74 61 63 74 20 69 6e 20 28 6f 72 67 2d 63 6f 6e 74 cl-loop.for.contact.in.(org-cont
6500 61 63 74 73 2d 64 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 acts-db)........................
6520 66 6f 72 20 63 6f 6e 74 61 63 74 2d 6e 61 6d 65 20 3d 20 28 63 61 72 20 63 6f 6e 74 61 63 74 29 for.contact-name.=.(car.contact)
6540 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 65 6d 61 69 ........................for.emai
6560 6c 20 3d 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 74 72 69 70 2d 6c 69 6e 6b 0a 20 20 20 l.=.(org-contacts-strip-link....
6580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
65a0 20 28 6f 72 20 28 63 61 72 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 70 6c 69 74 2d 70 72 .(or.(car.(org-contacts-split-pr
65c0 6f 70 65 72 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 operty..........................
65e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 0a 20 20 20 20 20 20 20 .....................(or........
6600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6620 20 20 20 20 20 20 20 20 28 63 64 72 20 28 61 73 73 6f 63 2d 73 74 72 69 6e 67 20 6f 72 67 2d 63 ........(cdr.(assoc-string.org-c
6640 6f 6e 74 61 63 74 73 2d 65 6d 61 69 6c 2d 70 72 6f 70 65 72 74 79 0a 20 20 20 20 20 20 20 20 20 ontacts-email-property..........
6660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 63 61 64 .........................(cl-cad
66a0 64 72 20 63 6f 6e 74 61 63 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dr.contact)))...................
66c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 22 29 ............................."")
66e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))..............................
6700 20 20 20 20 20 20 20 20 20 20 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........."")).................
6720 20 20 20 20 20 20 20 3b 3b 20 66 6f 72 20 74 61 67 73 20 3d 20 28 63 64 72 20 28 61 73 73 6f 63 .......;;.for.tags.=.(cdr.(assoc
6740 20 22 54 41 47 53 22 20 28 6e 74 68 20 32 20 63 6f 6e 74 61 63 74 29 29 29 0a 20 20 20 20 20 20 ."TAGS".(nth.2.contact))).......
6760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 66 6f 72 20 74 61 67 73 2d 6c 69 73 .................;;.for.tags-lis
6780 74 20 3d 20 28 69 66 20 74 61 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.=.(if.tags....................
67a0 20 20 20 20 3b 3b 20 20 20 20 20 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 28 73 75 62 73 74 ....;;......(split-string.(subst
67c0 72 69 6e 67 20 28 63 64 72 20 28 61 73 73 6f 63 20 22 54 41 47 53 22 20 28 6e 74 68 20 32 20 63 ring.(cdr.(assoc."TAGS".(nth.2.c
67e0 6f 6e 74 61 63 74 29 29 29 20 31 20 2d 31 29 20 22 3a 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 ontact))).1.-1).":")............
6800 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 20 20 20 27 28 29 29 0a 20 20 20 20 20 20 20 20 20 ............;;....'())..........
6820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 6d 61 72 6b 65 72 20 3d 20 28 6e 74 68 20 ..............for.marker.=.(nth.
6840 31 20 63 6f 6e 74 61 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1.contact)......................
6860 20 20 69 66 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 6d 61 72 6b 65 ..if.(with-current-buffer.(marke
6880 72 2d 62 75 66 66 65 72 20 6d 61 72 6b 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r-buffer.marker)................
68a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 .............(save-excursion....
68c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f ...........................(goto
68e0 2d 63 68 61 72 20 6d 61 72 6b 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -char.marker)...................
6900 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 46 49 58 4d 45 3a 20 41 46 41 49 4b 2c 20 60 6f 72 ............;;.FIXME:.AFAIK,.`or
6920 67 2d 6d 61 6b 65 2d 74 61 67 73 2d 6d 61 74 63 68 65 72 27 20 72 65 74 75 72 6e 73 0a 20 20 20 g-make-tags-matcher'.returns....
6940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 20 ...........................;;.a.
6960 63 6f 6e 73 20 77 68 6f 73 65 20 63 64 72 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 73 6f cons.whose.cdr.is.a.function,.so
6980 20 77 68 79 20 64 6f 20 77 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .why.do.we......................
69a0 20 20 20 20 20 20 20 20 20 3b 3b 20 70 61 73 73 20 69 74 20 74 6f 20 60 65 76 61 6c 27 3f 0a 20 .........;;.pass.it.to.`eval'?..
69c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 76 .............................(ev
69e0 61 6c 20 28 63 64 72 20 28 6f 72 67 2d 6d 61 6b 65 2d 74 61 67 73 2d 6d 61 74 63 68 65 72 20 28 al.(cdr.(org-make-tags-matcher.(
6a00 63 6c 2d 73 75 62 73 65 71 20 73 74 72 69 6e 67 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 cl-subseq.string.1)))...........
6a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 29 29 29 0a 20 ..........................t)))..
6a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 28 6f ......................collect.(o
6a60 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 6f 72 6d 61 74 2d 65 6d 61 69 6c 20 63 6f 6e 74 61 63 74 rg-contacts-format-email.contact
6a80 2d 6e 61 6d 65 20 65 6d 61 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2c 22 29 -name.email))...............",")
6aa0 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 3d 20 22 )).........(when.(not.(string=."
6ac0 22 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 29 29 29 29 29 ".result))...........result)))))
6ae0 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 72 65 6d 6f 76 65 2d 69 67 6e ..(defun.org-contacts-remove-ign
6b00 6f 72 65 64 2d 70 72 6f 70 65 72 74 79 2d 76 61 6c 75 65 73 20 28 69 67 6e 6f 72 65 2d 6c 69 73 ored-property-values.(ignore-lis
6b20 74 20 6c 69 73 74 29 0a 20 20 22 52 65 6d 6f 76 65 20 61 6c 6c 20 69 67 6e 6f 72 65 2d 6c 69 73 t.list)..."Remove.all.ignore-lis
6b40 74 27 73 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 6c 69 73 74 20 61 6e 64 20 79 6f 75 20 63 t's.elements.from.list.and.you.c
6b60 61 6e 20 75 73 65 0a 20 20 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 73 20 69 6e an.use....regular.expressions.in
6b80 20 74 68 65 20 69 67 6e 6f 72 65 20 6c 69 73 74 2e 22 0a 20 20 28 63 6c 2d 72 65 6d 6f 76 65 2d .the.ignore.list."...(cl-remove-
6ba0 69 66 20 28 6c 61 6d 62 64 61 20 28 65 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 if.(lambda.(el).................
6bc0 20 20 28 63 6c 2d 66 69 6e 64 2d 69 66 20 28 6c 61 6d 62 64 61 20 28 78 29 0a 20 20 20 20 20 20 ..(cl-find-if.(lambda.(x).......
6be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e ..........................(strin
6c00 67 2d 6d 61 74 63 68 2d 70 20 78 20 65 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g-match-p.x.el))................
6c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 67 6e 6f 72 65 2d 6c 69 73 74 29 29 0a 20 20 20 ...............ignore-list))....
6c40 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d .............list))..(defun.org-
6c60 63 6f 6e 74 61 63 74 73 2d 63 6f 6d 70 6c 65 74 65 2d 6e 61 6d 65 20 28 73 74 72 69 6e 67 29 0a contacts-complete-name.(string).
6c80 20 20 22 43 6f 6d 70 6c 65 74 65 20 74 65 78 74 20 61 74 20 53 54 41 52 54 20 77 69 74 68 20 61 .."Complete.text.at.START.with.a
6ca0 20 75 73 65 72 20 6e 61 6d 65 20 61 6e 64 20 65 6d 61 69 6c 2e 22 0a 20 20 28 6c 65 74 2a 20 28 .user.name.and.email."...(let*.(
6cc0 28 63 6f 6d 70 6c 65 74 69 6f 6e 2d 69 67 6e 6f 72 65 2d 63 61 73 65 20 6f 72 67 2d 63 6f 6e 74 (completion-ignore-case.org-cont
6ce0 61 63 74 73 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 69 67 6e 6f 72 65 2d 63 61 73 65 29 0a 20 20 20 acts-completion-ignore-case)....
6d00 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 ......(completion-list..........
6d20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 63 6f 6e 74 61 63 74 20 69 6e 20 28 6f 72 67 2d 63 6f .(cl-loop.for.contact.in.(org-co
6d40 6e 74 61 63 74 73 2d 66 69 6c 74 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ntacts-filter)..................
6d60 20 20 3b 3b 20 54 68 65 20 63 6f 6e 74 61 63 74 20 6e 61 6d 65 20 69 73 20 61 6c 77 61 79 73 20 ..;;.The.contact.name.is.always.
6d80 74 68 65 20 63 61 72 20 6f 66 20 74 68 65 20 61 73 73 6f 63 2d 6c 69 73 74 0a 20 20 20 20 20 20 the.car.of.the.assoc-list.......
6da0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 65 74 75 72 6e 65 64 20 62 79 20 60 6f 72 67 .............;;.returned.by.`org
6dc0 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 74 65 72 27 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -contacts-filter'...............
6de0 20 20 20 20 20 20 66 6f 72 20 63 6f 6e 74 61 63 74 2d 6e 61 6d 65 20 3d 20 28 63 61 72 20 63 6f ......for.contact-name.=.(car.co
6e00 6e 74 61 63 74 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 42 75 ntact).....................;;.Bu
6e20 69 6c 64 20 74 68 65 20 6c 69 73 74 20 6f 66 20 74 68 65 20 65 6d 61 69 6c 20 61 64 64 72 65 73 ild.the.list.of.the.email.addres
6e40 73 65 73 20 77 68 69 63 68 20 68 61 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ses.which.has...................
6e60 20 3b 3b 20 62 65 65 6e 20 65 78 70 69 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .;;.been.expired................
6e80 20 20 20 20 66 6f 72 20 69 67 6e 6f 72 65 2d 6c 69 73 74 20 3d 20 28 6f 72 67 2d 63 6f 6e 74 61 ....for.ignore-list.=.(org-conta
6ea0 63 74 73 2d 73 70 6c 69 74 2d 70 72 6f 70 65 72 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 cts-split-property..............
6ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 63 64 .........................(or.(cd
6ee0 72 20 28 61 73 73 6f 63 2d 73 74 72 69 6e 67 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 69 67 6e r.(assoc-string.org-contacts-ign
6f00 6f 72 65 2d 70 72 6f 70 65 72 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ore-property....................
6f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6f40 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 32 20 63 6f 6e 74 61 63 74 29 29 29 20 22 22 29 29 ..........(nth.2.contact))).""))
6f60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 42 75 69 6c 64 20 74 68 65 ....................;;.Build.the
6f80 20 6c 69 73 74 20 6f 66 20 74 68 65 20 75 73 65 72 20 65 6d 61 69 6c 20 61 64 64 72 65 73 73 65 .list.of.the.user.email.addresse
6fa0 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 65 6d 61 69 6c 2d s.....................for.email-
6fc0 6c 69 73 74 20 3d 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 72 65 6d 6f 76 65 2d 69 67 6e 6f list.=.(org-contacts-remove-igno
6fe0 72 65 64 2d 70 72 6f 70 65 72 74 79 2d 76 61 6c 75 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 red-property-values.............
7000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 67 6e 6f 72 65 2d .........................ignore-
7020 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 list............................
7040 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 70 6c 69 74 2d 70 72 ..........(org-contacts-split-pr
7060 6f 70 65 72 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 operty..........................
7080 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 63 64 72 20 28 61 73 73 6f 63 2d 73 74 72 .............(or.(cdr.(assoc-str
70a0 69 6e 67 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 65 6d 61 69 6c 2d 70 72 6f 70 65 72 74 79 0a ing.org-contacts-email-property.
70c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
70e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 .............................(nt
7100 68 20 32 20 63 6f 6e 74 61 63 74 29 29 29 20 22 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 h.2.contact)))."")))............
7120 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 74 68 65 20 75 73 65 72 20 68 61 73 20 65 6d 61 69 6c ........;;.If.the.user.has.email
7140 20 61 64 64 72 65 73 73 65 73 e2 80 a6 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .addresses......................
7160 20 69 66 20 65 6d 61 69 6c 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .if.email-list..................
7180 20 20 3b 3b 20 e2 80 a6 20 61 70 70 65 6e 64 20 61 20 6c 69 73 74 20 6f 66 20 55 53 45 52 20 3c ..;;.....append.a.list.of.USER.<
71a0 45 4d 41 49 4c 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 63 6f 6e 63 EMAIL>.....................nconc
71c0 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 65 6d 61 69 6c 20 69 6e 20 65 6d 61 69 6c 2d 6c 69 73 .(cl-loop.for.email.in.email-lis
71e0 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t...............................
7200 20 20 20 20 63 6f 6c 6c 65 63 74 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 6f 72 6d 61 74 ....collect.(org-contacts-format
7220 2d 65 6d 61 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -email..........................
7240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 61 63 74 2d 6e 61 6d 65 20 28 ..................contact-name.(
7260 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 74 72 69 70 2d 6c 69 6e 6b 20 65 6d 61 69 6c 29 29 29 org-contacts-strip-link.email)))
7280 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 69 73 74 20 28 6f 72 ))..........(completion-list.(or
72a0 67 2d 63 6f 6e 74 61 63 74 73 2d 61 6c 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 2d 70 72 65 66 69 g-contacts-all-completions-prefi
72c0 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 x............................str
72e0 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ing............................(
7300 6f 72 67 2d 75 6e 69 71 75 69 66 79 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 69 73 74 29 29 29 29 org-uniquify.completion-list))))
7320 0a 20 20 20 20 28 77 68 65 6e 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 69 73 74 0a 20 20 20 20 20 .....(when.completion-list......
7340 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6d 61 6b 65 2d 63 6f 6c 6c 65 63 74 69 6f 6e 2d 70 .(org-contacts-make-collection-p
7360 72 65 66 69 78 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 69 73 74 29 29 29 29 0a 0a 28 64 65 66 75 refix.completion-list))))..(defu
7380 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6d 65 73 73 61 67 65 2d 63 6f 6d 70 6c 65 74 65 2d n.org-contacts-message-complete-
73a0 66 75 6e 63 74 69 6f 6e 20 28 29 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 75 73 65 64 20 69 6e 20 function.()..."Function.used.in.
73c0 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 2d 66 75 6e 63 74 69 6f 6e 73 27 20 `completion-at-point-functions'.
73e0 69 6e 20 60 6d 65 73 73 61 67 65 2d 6d 6f 64 65 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 6d 61 69 in.`message-mode'."...(let.((mai
7400 6c 2d 61 62 62 72 65 76 2d 6d 6f 64 65 2d 72 65 67 65 78 70 0a 20 20 20 20 20 20 20 20 20 22 5e l-abbrev-mode-regexp.........."^
7420 5c 5c 28 52 65 73 65 6e 74 2d 54 6f 5c 5c 7c 54 6f 5c 5c 7c 42 3f 43 63 5c 5c 7c 52 65 70 6c 79 \\(Resent-To\\|To\\|B?Cc\\|Reply
7440 2d 54 6f 5c 5c 7c 46 72 6f 6d 5c 5c 7c 4d 61 69 6c 2d 46 6f 6c 6c 6f 77 75 70 2d 54 6f 5c 5c 7c -To\\|From\\|Mail-Followup-To\\|
7460 4d 61 69 6c 2d 43 6f 70 69 65 73 2d 54 6f 5c 5c 7c 44 69 73 70 6f 73 69 74 69 6f 6e 2d 4e 6f 74 Mail-Copies-To\\|Disposition-Not
7480 69 66 69 63 61 74 69 6f 6e 2d 54 6f 5c 5c 7c 52 65 74 75 72 6e 2d 52 65 63 65 69 70 74 2d 54 6f ification-To\\|Return-Receipt-To
74a0 5c 5c 29 3a 22 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6d 61 69 6c 2d 61 62 62 72 65 76 2d 69 \\):")).....(when.(mail-abbrev-i
74c0 6e 2d 65 78 70 61 6e 73 69 6f 6e 2d 68 65 61 64 65 72 2d 70 29 0a 20 20 20 20 20 20 28 6c 65 74 n-expansion-header-p).......(let
74e0 0a 20 20 20 20 20 20 20 20 20 20 28 28 62 65 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 ...........((beg.............(sa
7500 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 2d 73 ve-excursion...............(re-s
7520 65 61 72 63 68 2d 62 61 63 6b 77 61 72 64 20 22 5c 5c 28 5c 5c 60 5c 5c 7c 5b 5c 6e 3a 2c 5d 5c earch-backward."\\(\\`\\|[\n:,]\
7540 5c 29 5b 20 5c 74 5d 2a 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 \)[.\t]*")...............(goto-c
7560 68 61 72 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 har.(match-end.0))..............
7580 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 70 6f 69 6e .(point)))............(end.(poin
75a0 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 62 65 67 0a 20 20 20 20 20 20 20 20 20 t))).........(list.beg..........
75c0 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 .....end...............(completi
75e0 6f 6e 2d 74 61 62 6c 65 2d 64 79 6e 61 6d 69 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on-table-dynamic................
7600 28 6c 61 6d 62 64 61 20 28 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (lambda.(string)................
7620 20 20 28 72 75 6e 2d 68 6f 6f 6b 2d 77 69 74 68 2d 61 72 67 73 2d 75 6e 74 69 6c 2d 73 75 63 63 ..(run-hook-with-args-until-succ
7640 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6f 72 67 2d 63 6f 6e 74 61 ess...................'org-conta
7660 63 74 73 2d 63 6f 6d 70 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 73 20 73 74 72 69 6e 67 29 29 29 cts-complete-functions.string)))
7680 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6f 72 67 2d 63 )))))..(defun.org-contacts-org-c
76a0 6f 6d 70 6c 65 74 65 2d 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 20 28 63 61 omplete--annotation-function.(ca
76c0 6e 64 69 64 61 74 65 29 0a 20 20 22 52 65 74 75 72 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 20 ndidate)..."Return.org-contacts.
76e0 74 61 67 73 20 6f 66 20 63 6f 6e 74 61 63 74 20 63 61 6e 64 69 64 61 74 65 2e 22 0a 20 20 3b 3b tags.of.contact.candidate."...;;
7700 20 54 4f 44 4f 0a 20 20 22 54 61 67 73 3a 20 22 20 3b 3b 20 46 49 58 4d 45 3a 20 49 67 6e 6f 72 .TODO..."Tags:.".;;.FIXME:.Ignor
7720 65 64 21 0a 20 20 28 69 67 6e 6f 72 65 20 63 61 6e 64 69 64 61 74 65 29 29 0a 0a 28 64 65 66 75 ed!...(ignore.candidate))..(defu
7740 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6f 72 67 2d 63 6f 6d 70 6c 65 74 65 2d 2d 64 6f 63 n.org-contacts-org-complete--doc
7760 2d 66 75 6e 63 74 69 6f 6e 20 28 63 61 6e 64 69 64 61 74 65 29 0a 20 20 22 52 65 74 75 72 6e 20 -function.(candidate)..."Return.
7780 6f 72 67 2d 63 6f 6e 74 61 63 74 73 20 63 6f 6e 74 65 6e 74 20 6f 66 20 63 6f 6e 74 61 63 74 20 org-contacts.content.of.contact.
77a0 63 61 6e 64 69 64 61 74 65 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 63 61 6e 64 69 64 61 74 65 20 candidate."...(let*.((candidate.
77c0 28 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 63 61 6e 64 69 64 61 (substring-no-properties.candida
77e0 74 65 20 31 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 74 61 63 74 20 28 73 65 te.1.nil))..........(contact.(se
7800 71 2d 66 69 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 q-find....................(lambd
7820 61 20 28 63 6f 6e 74 61 63 74 29 20 28 73 74 72 69 6e 67 2d 65 71 75 61 6c 20 28 70 6c 69 73 74 a.(contact).(string-equal.(plist
7840 2d 67 65 74 20 63 6f 6e 74 61 63 74 20 3a 6e 61 6d 65 29 20 63 61 6e 64 69 64 61 74 65 29 29 0a -get.contact.:name).candidate)).
7860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 ...................(org-contacts
7880 2d 2d 61 6c 6c 2d 63 6f 6e 74 61 63 74 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 --all-contacts)))..........(name
78a0 20 28 70 6c 69 73 74 2d 67 65 74 20 63 6f 6e 74 61 63 74 20 3a 6e 61 6d 65 29 29 0a 20 20 20 20 .(plist-get.contact.:name)).....
78c0 20 20 20 20 20 28 66 69 6c 65 20 28 70 6c 69 73 74 2d 67 65 74 20 63 6f 6e 74 61 63 74 20 3a 66 .....(file.(plist-get.contact.:f
78e0 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 6f 73 69 74 69 6f 6e 20 28 70 6c 69 73 74 2d ile))..........(position.(plist-
7900 67 65 74 20 63 6f 6e 74 61 63 74 20 3a 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 get.contact.:position)).........
7920 20 28 64 6f 63 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 .(doc-buffer.(get-buffer-create.
7940 22 20 2a 6f 72 67 2d 63 6f 6e 74 61 63 74 2a 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f 72 67 ".*org-contact*"))..........(org
7960 2d 63 6f 6e 74 61 63 74 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 20 28 66 69 6e -contact-buffer.(get-buffer.(fin
7980 64 2d 66 69 6c 65 2d 6e 6f 73 65 6c 65 63 74 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 d-file-noselect.file))).........
79a0 20 3b 3b 20 67 65 74 20 6f 72 67 2d 63 6f 6e 74 61 63 74 20 68 65 61 64 6c 69 6e 65 20 61 6e 64 .;;.get.org-contact.headline.and
79c0 20 70 72 6f 70 65 72 74 79 20 64 72 61 77 65 72 2e 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 74 .property.drawer...........(cont
79e0 65 6e 74 73 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 6f 72 67 2d 63 6f ents.(with-current-buffer.org-co
7a00 6e 74 61 63 74 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ntact-buffer....................
7a20 20 20 28 77 68 65 6e 20 28 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d 70 20 27 6f 72 67 2d 6d 6f 64 ..(when.(derived-mode-p.'org-mod
7a40 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d e)........................(save-
7a60 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 excursion.......................
7a80 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 73 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 ...(goto-char.position).........
7aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 69 67 6e 6f 72 65 2d .................(cond.((ignore-
7ac0 65 72 72 6f 72 73 20 28 6f 72 67 2d 65 64 69 74 2d 73 72 63 2d 63 6f 64 65 29 29 0a 20 20 20 20 errors.(org-edit-src-code)).....
7ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c ............................(del
7b00 65 74 65 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ete-other-windows)).............
7b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6f 72 67 2d 61 74 2d 62 6c 6f 63 ...................((org-at-bloc
7b40 6b 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 k-p)............................
7b60 20 20 20 20 20 28 6f 72 67 2d 6e 61 72 72 6f 77 2d 74 6f 2d 62 6c 6f 63 6b 29 29 0a 20 20 20 20 .....(org-narrow-to-block)).....
7b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 6f ...........................(t.(o
7ba0 72 67 2d 6e 61 72 72 6f 77 2d 74 6f 2d 73 75 62 74 72 65 65 29 29 29 0a 20 20 20 20 20 20 20 20 rg-narrow-to-subtree))).........
7bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 6e 74 65 6e 74 20 .................(let.((content.
7be0 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 (buffer-substring.(point-min).(p
7c00 6f 69 6e 74 2d 6d 61 78 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oint-max))))....................
7c20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 62 75 66 66 65 72 2d 6e 61 72 72 6f 77 65 64 2d 70 ........(when.(buffer-narrowed-p
7c40 29 20 28 77 69 64 65 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).(widen))......................
7c60 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 29 29 29 29 29 29 0a 20 20 20 20 28 69 67 6e 6f 72 65 20 ......content)))))).....(ignore.
7c80 6e 61 6d 65 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 64 name).....(with-current-buffer.d
7ca0 6f 63 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 72 65 61 64 2d 6f 6e 6c 79 2d 6d 6f 64 65 20 oc-buffer.......(read-only-mode.
7cc0 31 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 1).......(let.((inhibit-read-onl
7ce0 79 20 74 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 y.t)).........(erase-buffer)....
7d00 20 20 20 20 20 28 69 6e 73 65 72 74 20 63 6f 6e 74 65 6e 74 73 29 0a 20 20 20 20 20 20 20 20 28 .....(insert.contents).........(
7d20 6f 72 67 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 28 6f 72 67 2d 73 68 6f 77 2d 61 6c 6c 29 org-mode).........(org-show-all)
7d40 0a 20 20 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 65 6e 73 75 72 65 29 29 29 0a 20 20 .........(font-lock-ensure)))...
7d60 20 20 64 6f 63 2d 62 75 66 66 65 72 29 29 0a 0a 3b 3b 3b 20 64 69 73 70 6c 61 79 20 63 6f 6d 70 ..doc-buffer))..;;;.display.comp
7d80 61 6e 79 2d 6d 6f 64 65 20 64 6f 63 20 62 75 66 66 65 72 20 62 65 6c 6c 6f 77 20 63 75 72 72 65 any-mode.doc.buffer.bellow.curre
7da0 6e 74 20 77 69 6e 64 6f 77 2e 0a 28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 64 69 73 70 6c 61 79 nt.window..(add-to-list.'display
7dc0 2d 62 75 66 66 65 72 2d 61 6c 69 73 74 20 27 28 22 5e 20 5c 5c 2a 6f 72 67 2d 63 6f 6e 74 61 63 -buffer-alist.'("^.\\*org-contac
7de0 74 5c 5c 2a 22 20 2e 20 28 64 69 73 70 6c 61 79 2d 62 75 66 66 65 72 2d 62 65 6c 6f 77 2d 73 65 t\\*"...(display-buffer-below-se
7e00 6c 65 63 74 65 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6f lected)))..(defun.org-contacts-o
7e20 72 67 2d 63 6f 6d 70 6c 65 74 65 2d 2d 6c 6f 63 61 74 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 20 28 rg-complete--location-function.(
7e40 63 61 6e 64 69 64 61 74 65 29 0a 20 20 22 52 65 74 75 72 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 candidate)..."Return.org-contact
7e60 73 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 63 6f 6e 74 61 63 74 20 63 61 6e 64 69 64 61 74 65 2e s.location.of.contact.candidate.
7e80 22 0a 20 20 28 6c 65 74 2a 20 28 28 63 61 6e 64 69 64 61 74 65 20 28 73 75 62 73 74 72 69 6e 67 "...(let*.((candidate.(substring
7ea0 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 63 61 6e 64 69 64 61 74 65 20 31 20 6e 69 6c 29 29 -no-properties.candidate.1.nil))
7ec0 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 74 61 63 74 20 28 73 65 71 2d 66 69 6e 64 0a 20 20 20 ..........(contact.(seq-find....
7ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 63 6f 6e 74 61 63 74 ................(lambda.(contact
7f00 29 20 28 73 74 72 69 6e 67 2d 65 71 75 61 6c 20 28 70 6c 69 73 74 2d 67 65 74 20 63 6f 6e 74 61 ).(string-equal.(plist-get.conta
7f20 63 74 20 3a 6e 61 6d 65 29 20 63 61 6e 64 69 64 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 ct.:name).candidate))...........
7f40 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 2d 61 6c 6c 2d 63 6f 6e 74 .........(org-contacts--all-cont
7f60 61 63 74 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 20 28 70 6c 69 73 74 2d 67 65 acts)))..........(name.(plist-ge
7f80 74 20 63 6f 6e 74 61 63 74 20 3a 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 t.contact.:name))..........(file
7fa0 20 28 70 6c 69 73 74 2d 67 65 74 20 63 6f 6e 74 61 63 74 20 3a 66 69 6c 65 29 29 0a 20 20 20 20 .(plist-get.contact.:file)).....
7fc0 20 20 20 20 20 28 70 6f 73 69 74 69 6f 6e 20 28 70 6c 69 73 74 2d 67 65 74 20 63 6f 6e 74 61 63 .....(position.(plist-get.contac
7fe0 74 20 3a 70 6f 73 69 74 69 6f 6e 29 29 29 0a 20 20 20 20 28 69 67 6e 6f 72 65 20 6e 61 6d 65 29 t.:position))).....(ignore.name)
8000 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 66 69 6e 64 2d .....(with-current-buffer.(find-
8020 66 69 6c 65 2d 6e 6f 73 65 6c 65 63 74 20 66 69 6c 65 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d file-noselect.file).......(goto-
8040 63 68 61 72 20 70 6f 73 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 28 63 6f 6e 73 20 28 63 75 72 72 char.position).......(cons.(curr
8060 65 6e 74 2d 62 75 66 66 65 72 29 20 70 6f 73 69 74 69 6f 6e 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 ent-buffer).position))))..;;;###
8080 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6f 72 67 autoload.(defun.org-contacts-org
80a0 2d 63 6f 6d 70 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 20 28 29 0a 20 20 22 63 6f 6d 70 6c 65 74 -complete-function.()..."complet
80c0 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 63 6f 6d 70 6c 65 74 ion-at-point.function.to.complet
80e0 65 20 40 6e 61 6d 65 20 69 6e 20 60 6f 72 67 2d 6d 6f 64 65 27 2e 0a 55 73 61 67 65 3a 20 28 61 e.@name.in.`org-mode'..Usage:.(a
8100 64 64 2d 68 6f 6f 6b 20 5c 5c 3d 27 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 2d dd-hook.\\='completion-at-point-
8120 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 5c 5c 3d 27 functions..................#\\='
8140 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6f 72 67 2d 63 6f 6d 70 6c 65 74 65 2d 66 75 6e 63 74 69 org-contacts-org-complete-functi
8160 6f 6e 20 6e 69 6c 20 5c 5c 3d 27 6c 6f 63 61 6c 29 22 0a 20 20 28 77 68 65 6e 2d 6c 65 74 2a 20 on.nil.\\='local)"...(when-let*.
8180 28 28 65 6e 64 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 65 ((end.(point))...............(be
81a0 67 69 6e 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 20 28 73 6b 69 70 2d 63 68 61 72 73 2d gin.(save-excursion.(skip-chars-
81c0 62 61 63 6b 77 61 72 64 20 22 5b 3a 61 6c 6e 75 6d 3a 5d 40 22 29 20 28 70 6f 69 6e 74 29 29 29 backward."[:alnum:]@").(point)))
81e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 20 28 62 75 66 66 65 72 2d 73 ...............(symbol.(buffer-s
8200 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 62 65 67 69 6e 20 65 6e 64 ubstring-no-properties.begin.end
8220 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 70 ))...............(org-contacts-p
8240 72 65 66 69 78 2d 70 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 2d 70 20 22 40 22 20 73 79 6d refix-p.(string-prefix-p."@".sym
8260 62 6f 6c 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 70 72 bol))).....(when.org-contacts-pr
8280 65 66 69 78 2d 70 0a 20 20 20 20 20 20 28 6c 69 73 74 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 efix-p.......(list.begin........
82a0 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6f 6e .....end.............(completion
82c0 2d 74 61 62 6c 65 2d 64 79 6e 61 6d 69 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d -table-dynamic..............(lam
82e0 62 64 61 20 28 5f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 0a 20 bda.(_)................(mapcar..
8300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 63 6f 6e 74 61 63 74 29 ...............(lambda.(contact)
8320 20 28 63 6f 6e 63 61 74 20 22 40 22 20 28 70 6c 69 73 74 2d 67 65 74 20 63 6f 6e 74 61 63 74 20 .(concat."@".(plist-get.contact.
8340 3a 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 63 6f :name))).................(org-co
8360 6e 74 61 63 74 73 2d 2d 61 6c 6c 2d 63 6f 6e 74 61 63 74 73 29 29 29 29 0a 0a 20 20 20 20 20 20 ntacts--all-contacts))))........
8380 20 20 20 20 20 20 3a 70 72 65 64 69 63 61 74 65 20 27 73 74 72 69 6e 67 70 0a 20 20 20 20 20 20 ......:predicate.'stringp.......
83a0 20 20 20 20 20 20 3a 65 78 63 6c 75 73 69 76 65 20 27 6e 6f 0a 20 20 20 20 20 20 20 20 20 20 20 ......:exclusive.'no............
83c0 20 3b 3b 20 70 72 6f 70 65 72 74 69 65 73 20 63 68 65 63 6b 20 6f 75 74 20 60 63 6f 6d 70 6c 65 .;;.properties.check.out.`comple
83e0 74 69 6f 6e 2d 65 78 74 72 61 2d 70 72 6f 70 65 72 74 69 65 73 27 0a 20 20 20 20 20 20 20 20 20 tion-extra-properties'..........
8400 20 20 20 3a 61 6e 6e 6f 74 61 74 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 20 23 27 6f 72 67 2d 63 6f ...:annotation-function.#'org-co
8420 6e 74 61 63 74 73 2d 6f 72 67 2d 63 6f 6d 70 6c 65 74 65 2d 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d ntacts-org-complete--annotation-
8440 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 3a 65 78 69 74 2d 66 75 function.............;;.:exit-fu
8460 6e 63 74 69 6f 6e 20 3b 20 54 4f 44 4f 20 63 68 61 6e 67 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 nction.;.TODO.change.completion.
8480 63 61 6e 64 69 64 61 74 65 20 69 6e 73 65 72 74 65 64 20 63 6f 6e 74 61 63 74 20 6e 61 6d 65 20 candidate.inserted.contact.name.
84a0 69 6e 74 6f 20 6f 72 67 2d 63 6f 6e 74 61 63 74 20 6c 69 6e 6b 3f 3f 0a 0a 20 20 20 20 20 20 20 into.org-contact.link??.........
84c0 20 20 20 20 20 3a 63 6f 6d 70 61 6e 79 2d 64 6f 63 73 69 67 20 23 27 69 64 65 6e 74 69 74 79 20 .....:company-docsig.#'identity.
84e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8500 20 20 20 3b 20 6d 65 74 61 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 70 61 ...;.metadata.............:compa
8520 6e 79 2d 64 6f 63 2d 62 75 66 66 65 72 20 23 27 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6f 72 67 ny-doc-buffer.#'org-contacts-org
8540 2d 63 6f 6d 70 6c 65 74 65 2d 2d 64 6f 63 2d 66 75 6e 63 74 69 6f 6e 20 3b 20 64 6f 63 20 70 6f -complete--doc-function.;.doc.po
8560 70 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 70 61 6e 79 2d 6c 6f 63 61 74 69 6f pup.............:company-locatio
8580 6e 20 23 27 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6f 72 67 2d 63 6f 6d 70 6c 65 74 65 2d 2d 6c n.#'org-contacts-org-complete--l
85a0 6f 63 61 74 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 ocation-function))))..(defun.org
85c0 2d 63 6f 6e 74 61 63 74 73 2d 67 6e 75 73 2d 67 65 74 2d 6e 61 6d 65 2d 65 6d 61 69 6c 20 28 29 -contacts-gnus-get-name-email.()
85e0 0a 20 20 22 47 65 74 20 6e 61 6d 65 20 61 6e 64 20 65 6d 61 69 6c 20 61 64 64 72 65 73 73 20 66 ..."Get.name.and.email.address.f
8600 72 6f 6d 20 47 6e 75 73 20 6d 65 73 73 61 67 65 2e 22 0a 20 20 28 69 66 20 28 67 6e 75 73 2d 61 rom.Gnus.message."...(if.(gnus-a
8620 6c 69 76 65 2d 70 29 0a 20 20 20 20 20 20 28 67 6e 75 73 2d 77 69 74 68 2d 61 72 74 69 63 6c 65 live-p).......(gnus-with-article
8640 2d 68 65 61 64 65 72 73 0a 20 20 20 20 20 20 20 20 28 6d 61 69 6c 2d 65 78 74 72 61 63 74 2d 61 -headers.........(mail-extract-a
8660 64 64 72 65 73 73 2d 63 6f 6d 70 6f 6e 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 ddress-components..........(or.(
8680 6d 61 69 6c 2d 66 65 74 63 68 2d 66 69 65 6c 64 20 22 46 72 6f 6d 22 29 20 22 22 29 29 29 29 29 mail-fetch-field."From")."")))))
86a0 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 67 6e 75 73 2d 61 72 74 69 63 ..(defun.org-contacts-gnus-artic
86c0 6c 65 2d 66 72 6f 6d 2d 67 65 74 2d 6d 61 72 6b 65 72 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 le-from-get-marker.()..."Return.
86e0 61 20 6d 61 72 6b 65 72 20 66 6f 72 20 61 20 63 6f 6e 74 61 63 74 20 62 61 73 65 64 20 6f 6e 20 a.marker.for.a.contact.based.on.
8700 46 72 6f 6d 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 61 64 64 72 65 73 73 20 28 6f 72 67 2d 63 6f From."...(let*.((address.(org-co
8720 6e 74 61 63 74 73 2d 67 6e 75 73 2d 67 65 74 2d 6e 61 6d 65 2d 65 6d 61 69 6c 29 29 0a 20 20 20 ntacts-gnus-get-name-email))....
8740 20 20 20 20 20 20 28 6e 61 6d 65 20 28 63 61 72 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 20 ......(name.(car.address))......
8760 20 20 20 20 28 65 6d 61 69 6c 20 28 63 61 64 72 20 61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 ....(email.(cadr.address))).....
8780 28 63 6c 2d 63 61 64 61 72 20 28 6f 72 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 74 (cl-cadar.(or.(org-contacts-filt
87a0 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 er....................nil.......
87c0 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............nil................
87e0 20 20 20 20 28 63 6f 6e 73 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 65 6d 61 69 6c 2d 70 72 6f ....(cons.org-contacts-email-pro
8800 70 65 72 74 79 20 28 63 6f 6e 63 61 74 20 22 5c 5c 62 22 20 28 72 65 67 65 78 70 2d 71 75 6f 74 perty.(concat."\\b".(regexp-quot
8820 65 20 65 6d 61 69 6c 29 20 22 5c 5c 62 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.email)."\\b")))...............
8840 20 20 20 20 28 77 68 65 6e 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(when.name..................
8860 20 20 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 74 65 72 0a 20 20 20 20 20 20 20 20 ...(org-contacts-filter.........
8880 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 5e 22 20 6e 61 6d 65 20 22 24 .............(concat."^".name."$
88a0 22 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 67 6e ")))))))..(defun.org-contacts-gn
88c0 75 73 2d 61 72 74 69 63 6c 65 2d 66 72 6f 6d 2d 67 6f 74 6f 20 28 29 0a 20 20 22 47 6f 20 74 6f us-article-from-goto.()..."Go.to
88e0 20 63 6f 6e 74 61 63 74 20 69 6e 20 74 68 65 20 46 72 6f 6d 20 61 64 64 72 65 73 73 20 6f 66 20 .contact.in.the.From.address.of.
8900 63 75 72 72 65 6e 74 20 47 6e 75 73 20 6d 65 73 73 61 67 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 current.Gnus.message."...(intera
8920 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 6d 61 72 6b 65 72 20 28 6f 72 67 2d 63 6f 6e 74 ctive)...(let.((marker.(org-cont
8940 61 63 74 73 2d 67 6e 75 73 2d 61 72 74 69 63 6c 65 2d 66 72 6f 6d 2d 67 65 74 2d 6d 61 72 6b 65 acts-gnus-article-from-get-marke
8960 72 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 6d 61 72 6b 65 72 0a 20 20 20 20 20 20 28 73 77 69 r))).....(when.marker.......(swi
8980 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 28 6d 61 72 6b tch-to-buffer-other-window.(mark
89a0 65 72 2d 62 75 66 66 65 72 20 6d 61 72 6b 65 72 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 er-buffer.marker)).......(goto-c
89c0 68 61 72 20 6d 61 72 6b 65 72 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 20 6d 61 6a 6f har.marker).......(when.(eq.majo
89e0 72 2d 6d 6f 64 65 20 27 6f 72 67 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 66 r-mode.'org-mode).........(if.(f
8a00 62 6f 75 6e 64 70 20 27 6f 72 67 2d 66 6f 6c 64 2d 73 68 6f 77 2d 63 6f 6e 74 65 78 74 29 0a 20 boundp.'org-fold-show-context)..
8a20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 66 6f 6c 64 2d 73 68 6f 77 2d 63 6f 6e 74 65 78 ...........(org-fold-show-contex
8a40 74 20 27 61 67 65 6e 64 61 29 0a 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 73 68 6f 77 2d 63 t.'agenda)...........(org-show-c
8a60 6f 6e 74 65 78 74 20 27 61 67 65 6e 64 61 29 29 29 29 29 29 0a 0a 28 77 69 74 68 2d 6e 6f 2d 77 ontext.'agenda))))))..(with-no-w
8a80 61 72 6e 69 6e 67 73 20 28 64 65 66 76 61 72 20 64 61 74 65 29 29 20 3b 3b 20 75 6e 70 72 65 66 arnings.(defvar.date)).;;.unpref
8aa0 69 78 65 64 2c 20 66 72 6f 6d 20 63 61 6c 65 6e 64 61 72 2e 65 6c 0a 28 64 65 66 75 6e 20 6f 72 ixed,.from.calendar.el.(defun.or
8ac0 67 2d 63 6f 6e 74 61 63 74 73 2d 61 6e 6e 69 76 65 72 73 61 72 69 65 73 20 28 26 6f 70 74 69 6f g-contacts-anniversaries.(&optio
8ae0 6e 61 6c 20 66 69 65 6c 64 20 66 6f 72 6d 61 74 29 0a 20 20 22 43 6f 6d 70 75 74 65 20 46 49 45 nal.field.format)..."Compute.FIE
8b00 4c 44 20 61 6e 6e 69 76 65 72 73 61 72 79 20 66 6f 72 20 65 61 63 68 20 63 6f 6e 74 61 63 74 2c LD.anniversary.for.each.contact,
8b20 20 72 65 74 75 72 6e 69 6e 67 20 46 4f 52 4d 41 54 2e 0a 44 65 66 61 75 6c 74 20 46 49 45 4c 44 .returning.FORMAT..Default.FIELD
8b40 20 76 61 6c 75 65 20 69 73 20 5c 22 42 49 52 54 48 44 41 59 5c 22 2e 0a 0a 46 6f 72 6d 61 74 20 .value.is.\"BIRTHDAY\"...Format.
8b60 69 73 20 61 20 73 74 72 69 6e 67 20 6d 61 74 63 68 69 6e 67 20 74 68 65 20 66 6f 6c 6c 6f 77 69 is.a.string.matching.the.followi
8b80 6e 67 20 66 6f 72 6d 61 74 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 3a 0a 0a 20 20 25 68 20 2d ng.format.specification:....%h.-
8ba0 20 48 65 61 64 69 6e 67 20 6e 61 6d 65 0a 20 20 25 6c 20 2d 20 4c 69 6e 6b 20 74 6f 20 74 68 65 .Heading.name...%l.-.Link.to.the
8bc0 20 68 65 61 64 69 6e 67 0a 20 20 25 79 20 2d 20 4e 75 6d 62 65 72 20 6f 66 20 79 65 61 72 0a 20 .heading...%y.-.Number.of.year..
8be0 20 25 59 20 2d 20 4e 75 6d 62 65 72 20 6f 66 20 79 65 61 72 20 28 6f 72 64 69 6e 61 6c 29 22 0a .%Y.-.Number.of.year.(ordinal)".
8c00 20 20 28 6c 65 74 20 28 28 63 61 6c 65 6e 64 61 72 2d 64 61 74 65 2d 73 74 79 6c 65 20 27 61 6d ..(let.((calendar-date-style.'am
8c20 65 72 69 63 61 6e 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 66 6f 72 6d 61 74 20 28 73 65 74 erican)).....(unless.format.(set
8c40 71 20 66 6f 72 6d 61 74 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 62 69 72 74 68 64 61 79 2d 66 q.format.org-contacts-birthday-f
8c60 6f 72 6d 61 74 29 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 63 6f 6e 74 61 63 74 ormat)).....(cl-loop.for.contact
8c80 20 69 6e 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 74 65 72 29 0a 20 20 20 20 20 20 .in.(org-contacts-filter).......
8ca0 20 20 20 20 20 20 20 66 6f 72 20 61 6e 6e 69 76 20 3d 20 28 6c 65 74 20 28 28 61 6e 6e 69 76 20 .......for.anniv.=.(let.((anniv.
8cc0 28 63 64 72 20 28 61 73 73 6f 63 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (cdr.(assoc-string..............
8ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
8d00 6f 72 20 66 69 65 6c 64 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 62 69 72 74 68 64 61 79 2d 70 or.field.org-contacts-birthday-p
8d20 72 6f 70 65 72 74 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 roperty)........................
8d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 32 20 63 6f 6e 74 .....................(nth.2.cont
8d60 61 63 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 act)))))........................
8d80 20 20 20 20 28 77 68 65 6e 20 61 6e 6e 69 76 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(when.anniv.................
8da0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 65 6e 64 61 72 2d 67 72 65 67 6f 72 69 61 6e .............(calendar-gregorian
8dc0 2d 66 72 6f 6d 2d 61 62 73 6f 6c 75 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -from-absolute..................
8de0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 74 69 6d 65 2d 73 74 72 69 6e 67 2d 74 6f .............(org-time-string-to
8e00 2d 61 62 73 6f 6c 75 74 65 20 61 6e 6e 69 76 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 -absolute.anniv)))).............
8e20 20 3b 3b 20 55 73 65 20 60 64 69 61 72 79 2d 61 6e 6e 69 76 65 72 73 61 72 79 27 20 74 6f 20 63 .;;.Use.`diary-anniversary'.to.c
8e40 6f 6d 70 75 74 65 20 61 6e 6e 69 76 65 72 73 61 72 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ompute.anniversary..............
8e60 20 3b 3b 20 46 49 58 4d 45 3a 20 73 68 6f 75 6c 64 20 77 65 20 72 65 71 75 69 72 65 20 60 64 69 .;;.FIXME:.should.we.require.`di
8e80 61 72 79 2d 6c 69 62 27 20 73 6f 6d 65 77 68 65 72 65 20 74 6f 20 62 65 20 73 75 72 65 0a 20 20 ary-lib'.somewhere.to.be.sure...
8ea0 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 64 69 61 72 79 2d 61 6e 6e 69 76 65 72 73 61 72 79 ...........;;.`diary-anniversary
8ec0 27 20 69 73 20 64 65 66 69 6e 65 64 20 77 68 65 6e 20 77 65 20 67 65 74 20 68 65 72 65 3f 0a 20 '.is.defined.when.we.get.here?..
8ee0 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 6e 64 20 61 6e 6e 69 76 20 28 61 70 70 6c 79 ............if.(and.anniv.(apply
8f00 20 23 27 64 69 61 72 79 2d 61 6e 6e 69 76 65 72 73 61 72 79 20 61 6e 6e 69 76 29 29 0a 20 20 20 .#'diary-anniversary.anniv))....
8f20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 28 66 6f 72 6d 61 74 2d 73 70 65 63 20 66 ..........collect.(format-spec.f
8f40 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ormat...........................
8f60 20 20 20 20 20 20 20 20 60 28 28 3f 6c 20 2e 20 2c 28 6f 72 67 2d 77 69 74 68 2d 70 6f 69 6e 74 ........`((?l...,(org-with-point
8f80 2d 61 74 20 28 63 61 64 72 20 63 6f 6e 74 61 63 74 29 20 28 6f 72 67 2d 73 74 6f 72 65 2d 6c 69 -at.(cadr.contact).(org-store-li
8fa0 6e 6b 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nk.nil))).......................
8fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 68 20 2e 20 2c 28 63 61 72 20 63 6f 6e 74 61 63 ..............(?h...,(car.contac
8fe0 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t)).............................
9000 20 20 20 20 20 20 20 20 28 3f 79 20 2e 20 2c 28 2d 20 28 63 61 6c 65 6e 64 61 72 2d 65 78 74 72 ........(?y...,(-.(calendar-extr
9020 61 63 74 2d 79 65 61 72 20 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 act-year.date)..................
9040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 .............................(ca
9060 6c 65 6e 64 61 72 2d 65 78 74 72 61 63 74 2d 79 65 61 72 20 61 6e 6e 69 76 29 29 29 0a 20 20 20 lendar-extract-year.anniv)))....
9080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
90a0 20 28 3f 59 20 2e 20 2c 28 6c 65 74 20 28 28 79 65 61 72 73 20 28 2d 20 28 63 61 6c 65 6e 64 61 .(?Y...,(let.((years.(-.(calenda
90c0 72 2d 65 78 74 72 61 63 74 2d 79 65 61 72 20 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 r-extract-year.date)............
90e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 65 6e 64 61 72 2d 65 78 74 72 61 63 ................(calendar-extrac
9120 74 2d 79 65 61 72 20 61 6e 6e 69 76 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-year.anniv))))................
9140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 ..............................(f
9160 6f 72 6d 61 74 20 22 25 64 25 73 22 20 79 65 61 72 73 20 28 64 69 61 72 79 2d 6f 72 64 69 6e 61 ormat."%d%s".years.(diary-ordina
9180 6c 2d 73 75 66 66 69 78 20 79 65 61 72 73 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 l-suffix.years)))))))))..(defun.
91a0 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 2d 64 61 org-contacts--completing-read-da
91c0 74 65 20 28 20 70 72 6f 6d 70 74 20 5f 63 6f 6c 6c 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 te.(.prompt._collection.........
91e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6f 70 74 69 6f ..........................&optio
9200 6e 61 6c 20 5f 70 72 65 64 69 63 61 74 65 20 5f 72 65 71 75 69 72 65 2d 6d 61 74 63 68 20 5f 69 nal._predicate._require-match._i
9220 6e 69 74 69 61 6c 2d 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nitial-input....................
9240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 68 69 73 74 20 64 65 66 20 5f 69 6e 68 65 72 69 ..............._hist.def._inheri
9260 74 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 29 0a 20 20 22 4c 69 6b 65 20 60 63 6f 6d 70 6c 65 74 t-input-method)..."Like.`complet
9280 69 6e 67 2d 72 65 61 64 27 20 62 75 74 20 72 65 61 64 73 20 61 20 64 61 74 65 2e 0a 4f 6e 6c 79 ing-read'.but.reads.a.date..Only
92a0 20 50 52 4f 4d 50 54 20 61 6e 64 20 44 45 46 20 61 72 65 20 72 65 61 6c 6c 79 20 75 73 65 64 2e .PROMPT.and.DEF.are.really.used.
92c0 22 0a 20 20 28 6f 72 67 2d 72 65 61 64 2d 64 61 74 65 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 70 "...(org-read-date.nil.nil.nil.p
92e0 72 6f 6d 70 74 20 6e 69 6c 20 64 65 66 29 29 0a 0a 28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 6f rompt.nil.def))..(add-to-list.'o
9300 72 67 2d 70 72 6f 70 65 72 74 79 2d 73 65 74 2d 66 75 6e 63 74 69 6f 6e 73 2d 61 6c 69 73 74 0a rg-property-set-functions-alist.
9320 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 2c 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 62 69 72 .............`(,org-contacts-bir
9340 74 68 64 61 79 2d 70 72 6f 70 65 72 74 79 20 2e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 2d 63 thday-property...org-contacts--c
9360 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 2d 64 61 74 65 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 ompleting-read-date))..(defun.or
9380 67 2d 63 6f 6e 74 61 63 74 73 2d 74 65 6d 70 6c 61 74 65 2d 6e 61 6d 65 20 28 26 6f 70 74 69 6f g-contacts-template-name.(&optio
93a0 6e 61 6c 20 72 65 74 75 72 6e 2d 76 61 6c 75 65 29 0a 20 20 22 54 72 79 20 74 6f 20 72 65 74 75 nal.return-value)..."Try.to.retu
93c0 72 6e 20 74 68 65 20 63 6f 6e 74 61 63 74 20 6e 61 6d 65 20 66 6f 72 20 61 20 74 65 6d 70 6c 61 rn.the.contact.name.for.a.templa
93e0 74 65 2e 0a 49 66 20 6e 6f 74 20 66 6f 75 6e 64 20 72 65 74 75 72 6e 20 52 45 54 55 52 4e 2d 56 te..If.not.found.return.RETURN-V
9400 41 4c 55 45 20 6f 72 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 77 6f 75 6c 64 20 61 73 6b ALUE.or.something.that.would.ask
9420 20 74 68 65 20 75 73 65 72 2e 22 0a 20 20 28 6f 72 20 28 63 61 72 20 28 6f 72 67 2d 63 6f 6e 74 .the.user."...(or.(car.(org-cont
9440 61 63 74 73 2d 67 6e 75 73 2d 67 65 74 2d 6e 61 6d 65 2d 65 6d 61 69 6c 29 29 0a 20 20 20 20 20 acts-gnus-get-name-email))......
9460 20 72 65 74 75 72 6e 2d 76 61 6c 75 65 0a 20 20 20 20 20 20 22 25 5e 7b 4e 61 6d 65 7d 22 29 29 .return-value......."%^{Name}"))
9480 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 74 65 6d 70 6c 61 74 65 2d 65 ..(defun.org-contacts-template-e
94a0 6d 61 69 6c 20 28 26 6f 70 74 69 6f 6e 61 6c 20 72 65 74 75 72 6e 2d 76 61 6c 75 65 29 0a 20 20 mail.(&optional.return-value)...
94c0 22 54 72 79 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 74 61 63 74 20 65 6d 61 69 6c "Try.to.return.the.contact.email
94e0 20 66 6f 72 20 61 20 74 65 6d 70 6c 61 74 65 2e 0a 49 66 20 6e 6f 74 20 66 6f 75 6e 64 20 72 65 .for.a.template..If.not.found.re
9500 74 75 72 6e 20 52 45 54 55 52 4e 2d 56 41 4c 55 45 20 6f 72 20 73 6f 6d 65 74 68 69 6e 67 20 74 turn.RETURN-VALUE.or.something.t
9520 68 61 74 20 77 6f 75 6c 64 20 61 73 6b 20 74 68 65 20 75 73 65 72 2e 22 0a 20 20 28 6f 72 20 28 hat.would.ask.the.user."...(or.(
9540 63 61 64 72 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 67 6e 75 73 2d 67 65 74 2d 6e 61 6d 65 cadr.(org-contacts-gnus-get-name
9560 2d 65 6d 61 69 6c 29 29 0a 20 20 20 20 20 20 72 65 74 75 72 6e 2d 76 61 6c 75 65 0a 20 20 20 20 -email)).......return-value.....
9580 20 20 28 63 6f 6e 63 61 74 20 22 25 5e 7b 22 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 65 6d 61 ..(concat."%^{".org-contacts-ema
95a0 69 6c 2d 70 72 6f 70 65 72 74 79 20 22 7d 70 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d il-property."}p")))..(defun.org-
95c0 63 6f 6e 74 61 63 74 73 2d 67 6e 75 73 2d 73 74 6f 72 65 2d 6c 61 73 74 2d 6d 61 69 6c 20 28 29 contacts-gnus-store-last-mail.()
95e0 0a 20 20 22 53 74 6f 72 65 20 61 20 6c 69 6e 6b 20 62 65 74 77 65 65 6e 20 6d 61 69 6c 73 20 61 ..."Store.a.link.between.mails.a
9600 6e 64 20 63 6f 6e 74 61 63 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 nd.contacts...This.function.shou
9620 6c 64 20 62 65 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 60 67 6e 75 73 2d 61 72 74 69 63 6c 65 2d ld.be.called.from.`gnus-article-
9640 70 72 65 70 61 72 65 2d 68 6f 6f 6b 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 6d 61 72 6b 65 72 20 prepare-hook'."...(let.((marker.
9660 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 67 6e 75 73 2d 61 72 74 69 63 6c 65 2d 66 72 6f 6d 2d (org-contacts-gnus-article-from-
9680 67 65 74 2d 6d 61 72 6b 65 72 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 6d 61 72 6b 65 72 0a 20 get-marker))).....(when.marker..
96a0 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 6d 61 72 6b 65 .....(with-current-buffer.(marke
96c0 72 2d 62 75 66 66 65 72 20 6d 61 72 6b 65 72 29 0a 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 r-buffer.marker).........(save-e
96e0 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6d 61 xcursion...........(goto-char.ma
9700 72 6b 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6f 72 67 2d 6c 69 6e 6b rker)...........(let*.((org-link
9720 2d 65 6d 61 69 6c 2d 64 65 73 63 72 69 70 74 69 6f 6e 2d 66 6f 72 6d 61 74 20 28 6f 72 20 6f 72 -email-description-format.(or.or
9740 67 2d 63 6f 6e 74 61 63 74 73 2d 65 6d 61 69 6c 2d 6c 69 6e 6b 2d 64 65 73 63 72 69 70 74 69 6f g-contacts-email-link-descriptio
9760 6e 2d 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n-format........................
9780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
97a0 20 6f 72 67 2d 6c 69 6e 6b 2d 65 6d 61 69 6c 2d 64 65 73 63 72 69 70 74 69 6f 6e 2d 66 6f 72 6d .org-link-email-description-form
97c0 61 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 6b 20 28 67 6e 75 at))..................(link.(gnu
97e0 73 2d 77 69 74 68 2d 61 72 74 69 63 6c 65 2d 62 75 66 66 65 72 20 28 6f 72 67 2d 73 74 6f 72 65 s-with-article-buffer.(org-store
9800 2d 6c 69 6e 6b 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 73 -link.nil)))).............(org-s
9820 65 74 2d 70 72 6f 70 65 72 74 79 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6c 61 73 74 2d 72 65 et-property.org-contacts-last-re
9840 61 64 2d 6d 61 69 6c 2d 70 72 6f 70 65 72 74 79 20 6c 69 6e 6b 29 29 29 29 29 29 29 0a 0a 28 64 ad-mail-property.link)))))))..(d
9860 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 69 63 6f 6e 2d 61 73 2d 73 74 72 69 6e 67 efun.org-contacts-icon-as-string
9880 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 74 61 63 74 20 69 63 6f 6e 20 61 .()..."Return.the.contact.icon.a
98a0 73 20 61 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 6d 61 67 65 20 28 6f 72 67 s.a.string."...(let.((image.(org
98c0 2d 63 6f 6e 74 61 63 74 73 2d 67 65 74 2d 69 63 6f 6e 29 29 29 0a 20 20 20 20 28 63 6f 6e 63 61 -contacts-get-icon))).....(conca
98e0 74 0a 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 2d 22 20 27 64 69 73 70 6c 61 79 0a t......(propertize."-".'display.
9900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 0a 20 20 20 20 20 20 20 .................(append........
9920 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 69 6d 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 ...........(if.image............
9940 20 20 20 20 20 20 20 20 20 20 20 69 6d 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........image................
9960 20 20 20 20 20 60 27 28 73 70 61 63 65 20 3a 77 69 64 74 68 20 28 2c 6f 72 67 2d 63 6f 6e 74 61 .....`'(space.:width.(,org-conta
9980 63 74 73 2d 69 63 6f 6e 2d 73 69 7a 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cts-icon-size)))................
99a0 20 20 20 27 28 3a 61 73 63 65 6e 74 20 63 65 6e 74 65 72 29 29 29 0a 20 20 20 20 20 22 20 22 29 ...'(:ascent.center)))......".")
99c0 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f ))..;;;###autoload.(defun.org-co
99e0 6e 74 61 63 74 73 20 28 6e 61 6d 65 29 0a 20 20 22 43 72 65 61 74 65 20 61 67 65 6e 64 61 20 76 ntacts.(name)..."Create.agenda.v
9a00 69 65 77 20 66 6f 72 20 63 6f 6e 74 61 63 74 73 20 6d 61 74 63 68 69 6e 67 20 4e 41 4d 45 2e 22 iew.for.contacts.matching.NAME."
9a20 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 28 72 65 61 64 2d 73 74 72 69 ...(interactive.(list.(read-stri
9a40 6e 67 20 22 4e 61 6d 65 3a 20 22 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6f 72 67 2d 61 67 65 6e ng."Name:.")))...(let.((org-agen
9a60 64 61 2d 66 69 6c 65 73 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 65 73 29 29 0a 20 da-files.(org-contacts-files))..
9a80 20 20 20 20 20 20 20 28 6f 72 67 2d 61 67 65 6e 64 61 2d 73 6b 69 70 2d 66 75 6e 63 74 69 6f 6e .......(org-agenda-skip-function
9aa0 0a 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 20 28 6f 72 67 2d 61 67 65 6e 64 61 ..........(lambda.().(org-agenda
9ac0 2d 73 6b 69 70 2d 69 66 20 6e 69 6c 20 60 28 6e 6f 74 72 65 67 65 78 70 20 2c 6e 61 6d 65 29 29 -skip-if.nil.`(notregexp.,name))
9ae0 29 29 0a 20 20 20 20 20 20 20 20 28 6f 72 67 2d 61 67 65 6e 64 61 2d 70 72 65 66 69 78 2d 66 6f )).........(org-agenda-prefix-fo
9b00 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 0a 20 20 20 20 20 20 rmat..........(propertize.......
9b20 20 20 20 20 22 25 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 69 63 6f 6e 2d 61 73 2d 73 74 72 69 ...."%(org-contacts-icon-as-stri
9b40 6e 67 29 25 20 73 25 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 69 72 63 2d 6e 75 6d 62 65 72 2d ng)%.s%(org-contacts-irc-number-
9b60 6f 66 2d 75 6e 72 65 61 64 2d 6d 65 73 73 61 67 65 73 29 20 22 0a 20 20 20 20 20 20 20 20 20 20 of-unread-messages)."...........
9b80 27 6b 65 79 6d 61 70 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6b 65 79 6d 61 70 29 29 0a 20 20 'keymap.org-contacts-keymap))...
9ba0 20 20 20 20 20 20 28 6f 72 67 2d 61 67 65 6e 64 61 2d 6f 76 65 72 72 69 64 69 6e 67 2d 68 65 61 ......(org-agenda-overriding-hea
9bc0 64 65 72 0a 20 20 20 20 20 20 20 20 20 28 6f 72 20 6f 72 67 2d 61 67 65 6e 64 61 2d 6f 76 65 72 der..........(or.org-agenda-over
9be0 72 69 64 69 6e 67 2d 68 65 61 64 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 riding-header..............(conc
9c00 61 74 20 22 4c 69 73 74 20 6f 66 20 63 6f 6e 74 61 63 74 73 20 6d 61 74 63 68 69 6e 67 20 60 22 at."List.of.contacts.matching.`"
9c20 20 6e 61 6d 65 20 22 27 3a 22 29 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6f 72 67 2d 61 67 65 .name."':")))).....(setq.org-age
9c40 6e 64 61 2d 73 6b 69 70 2d 72 65 67 65 78 70 20 6e 61 6d 65 29 0a 20 20 20 20 28 6f 72 67 2d 74 nda-skip-regexp.name).....(org-t
9c60 61 67 73 2d 76 69 65 77 20 6e 69 6c 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6d 61 74 63 68 65 ags-view.nil.org-contacts-matche
9c80 72 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 6f 72 67 2d r).....(with-current-buffer.org-
9ca0 61 67 65 6e 64 61 2d 62 75 66 66 65 72 2d 6e 61 6d 65 0a 20 20 20 20 20 20 28 73 65 74 71 20 6f agenda-buffer-name.......(setq.o
9cc0 72 67 2d 61 67 65 6e 64 61 2d 72 65 64 6f 2d 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 20 20 20 20 rg-agenda-redo-command..........
9ce0 20 20 20 28 6c 69 73 74 20 27 6f 72 67 2d 63 6f 6e 74 61 63 74 73 20 6e 61 6d 65 29 29 29 29 29 ...(list.'org-contacts.name)))))
9d00 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 63 6f 6d 70 6c 65 74 69 6e 67 ..(defun.org-contacts-completing
9d20 2d 72 65 61 64 20 28 70 72 6f 6d 70 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -read.(prompt...................
9d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 ...................&optional.pre
9d60 64 69 63 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dicate..........................
9d80 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 68 69 73 74 20 64 ............initial-input.hist.d
9da0 65 66 20 69 6e 68 65 72 69 74 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 29 0a 20 20 22 43 61 6c 6c ef.inherit-input-method)..."Call
9dc0 20 60 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 27 20 77 69 74 68 20 63 6f 6e 74 61 63 74 73 .`completing-read'.with.contacts
9de0 20 6e 61 6d 65 20 61 73 20 63 6f 6c 6c 65 63 74 69 6f 6e 2e 22 0a 20 20 28 6f 72 67 2d 63 6f 6d .name.as.collection."...(org-com
9e00 70 6c 65 74 69 6e 67 2d 72 65 61 64 0a 20 20 20 70 72 6f 6d 70 74 20 28 6f 72 67 2d 63 6f 6e 74 pleting-read....prompt.(org-cont
9e20 61 63 74 73 2d 66 69 6c 74 65 72 29 20 70 72 65 64 69 63 61 74 65 20 74 20 69 6e 69 74 69 61 6c acts-filter).predicate.t.initial
9e40 2d 69 6e 70 75 74 20 68 69 73 74 20 64 65 66 20 69 6e 68 65 72 69 74 2d 69 6e 70 75 74 2d 6d 65 -input.hist.def.inherit-input-me
9e60 74 68 6f 64 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 6f 72 6d thod))..(defun.org-contacts-form
9e80 61 74 2d 6e 61 6d 65 20 28 6e 61 6d 65 29 0a 20 20 22 54 72 69 6d 20 61 6e 79 20 6c 6f 63 61 6c at-name.(name)..."Trim.any.local
9ea0 20 66 6f 72 6d 61 74 74 69 6e 67 20 74 6f 20 67 65 74 20 61 20 62 61 72 65 20 4e 41 4d 45 2e 22 .formatting.to.get.a.bare.NAME."
9ec0 0a 20 20 3b 3b 20 52 65 6d 6f 76 65 20 72 61 64 69 6f 20 74 61 72 67 65 74 73 20 63 68 61 72 61 ...;;.Remove.radio.targets.chara
9ee0 63 74 65 72 73 0a 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e cters...(replace-regexp-in-strin
9f00 67 20 6f 72 67 2d 72 61 64 69 6f 2d 74 61 72 67 65 74 2d 72 65 67 65 78 70 20 22 5c 5c 31 22 20 g.org-radio-target-regexp."\\1".
9f20 6e 61 6d 65 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 6f 72 6d name))..(defun.org-contacts-form
9f40 61 74 2d 65 6d 61 69 6c 20 28 6e 61 6d 65 20 65 6d 61 69 6c 29 0a 20 20 22 46 6f 72 6d 61 74 20 at-email.(name.email)..."Format.
9f60 61 6e 20 45 4d 41 49 4c 20 61 64 64 72 65 73 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 an.EMAIL.address.corresponding.t
9f80 6f 20 4e 41 4d 45 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 65 6d 61 69 6c 0a 20 20 20 20 28 65 72 o.NAME."...(unless.email.....(er
9fa0 72 6f 72 20 22 60 65 6d 61 69 6c 27 20 63 61 6e 6e 6f 74 20 62 65 20 6e 75 6c 22 29 29 0a 20 20 ror."`email'.cannot.be.nul"))...
9fc0 28 69 66 20 6e 61 6d 65 0a 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 6f 72 67 2d 63 6f 6e 74 (if.name.......(concat.(org-cont
9fe0 61 63 74 73 2d 66 6f 72 6d 61 74 2d 6e 61 6d 65 20 6e 61 6d 65 29 20 22 20 3c 22 20 65 6d 61 69 acts-format-name.name).".<".emai
a000 6c 20 22 3e 22 29 0a 20 20 20 20 65 6d 61 69 6c 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 l.">").....email))..(defun.org-c
a020 6f 6e 74 61 63 74 73 2d 63 68 65 63 6b 2d 6d 61 69 6c 2d 61 64 64 72 65 73 73 20 28 6d 61 69 6c ontacts-check-mail-address.(mail
a040 29 0a 20 20 22 41 64 64 20 4d 41 49 4c 20 61 64 64 72 65 73 73 20 74 6f 20 63 6f 6e 74 61 63 74 )..."Add.MAIL.address.to.contact
a060 20 61 74 20 70 6f 69 6e 74 20 69 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 69 74 .at.point.if.it.does.not.have.it
a080 2e 22 0a 20 20 28 6c 65 74 20 28 28 6d 61 69 6c 73 20 28 6f 72 67 2d 65 6e 74 72 79 2d 67 65 74 ."...(let.((mails.(org-entry-get
a0a0 20 28 70 6f 69 6e 74 29 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 65 6d 61 69 6c 2d 70 72 6f 70 .(point).org-contacts-email-prop
a0c0 65 72 74 79 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6d 65 6d 62 65 72 20 6d 61 69 6c erty))).....(unless.(member.mail
a0e0 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 6d 61 69 6c 73 29 29 0a 20 20 20 20 20 20 28 77 68 .(split-string.mails)).......(wh
a100 65 6e 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f en.(yes-or-no-p..............(fo
a120 72 6d 61 74 20 22 44 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 61 64 64 20 74 68 69 73 20 61 64 rmat."Do.you.want.to.add.this.ad
a140 64 72 65 73 73 20 74 6f 20 25 73 3f 22 20 28 6f 72 67 2d 67 65 74 2d 68 65 61 64 69 6e 67 20 74 dress.to.%s?".(org-get-heading.t
a160 29 29 29 0a 20 20 20 20 20 20 20 20 28 6f 72 67 2d 73 65 74 2d 70 72 6f 70 65 72 74 79 20 6f 72 ))).........(org-set-property.or
a180 67 2d 63 6f 6e 74 61 63 74 73 2d 65 6d 61 69 6c 2d 70 72 6f 70 65 72 74 79 20 28 63 6f 6e 63 61 g-contacts-email-property.(conca
a1a0 74 20 6d 61 69 6c 73 20 22 20 22 20 6d 61 69 6c 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f t.mails.".".mail))))))..(defun.o
a1c0 72 67 2d 63 6f 6e 74 61 63 74 73 2d 67 6e 75 73 2d 63 68 65 63 6b 2d 6d 61 69 6c 2d 61 64 64 72 rg-contacts-gnus-check-mail-addr
a1e0 65 73 73 20 28 29 0a 20 20 22 43 68 65 63 6b 20 74 68 61 74 20 63 6f 6e 74 61 63 74 20 68 61 73 ess.()..."Check.that.contact.has
a200 20 74 68 65 20 63 75 72 72 65 6e 74 20 61 64 64 72 65 73 73 20 72 65 63 6f 72 64 65 64 2e 0a 54 .the.current.address.recorded..T
a220 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 62 65 20 63 61 6c 6c 65 64 20 66 72 his.function.should.be.called.fr
a240 6f 6d 20 60 67 6e 75 73 2d 61 72 74 69 63 6c 65 2d 70 72 65 70 61 72 65 2d 68 6f 6f 6b 27 2e 22 om.`gnus-article-prepare-hook'."
a260 0a 20 20 28 6c 65 74 20 28 28 6d 61 72 6b 65 72 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 67 ...(let.((marker.(org-contacts-g
a280 6e 75 73 2d 61 72 74 69 63 6c 65 2d 66 72 6f 6d 2d 67 65 74 2d 6d 61 72 6b 65 72 29 29 29 0a 20 nus-article-from-get-marker)))..
a2a0 20 20 20 28 77 68 65 6e 20 6d 61 72 6b 65 72 0a 20 20 20 20 20 20 28 6f 72 67 2d 77 69 74 68 2d ...(when.marker.......(org-with-
a2c0 70 6f 69 6e 74 2d 61 74 20 6d 61 72 6b 65 72 0a 20 20 20 20 20 20 20 20 28 6f 72 67 2d 63 6f 6e point-at.marker.........(org-con
a2e0 74 61 63 74 73 2d 63 68 65 63 6b 2d 6d 61 69 6c 2d 61 64 64 72 65 73 73 20 28 63 61 64 72 20 28 tacts-check-mail-address.(cadr.(
a300 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 67 6e 75 73 2d 67 65 74 2d 6e 61 6d 65 2d 65 6d 61 69 6c org-contacts-gnus-get-name-email
a320 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 67 6e 75 )))))))..(defun.org-contacts-gnu
a340 73 2d 69 6e 73 69 6e 75 61 74 65 20 28 29 0a 20 20 22 41 64 64 20 73 6f 6d 65 20 68 6f 6f 6b 73 s-insinuate.()..."Add.some.hooks
a360 20 66 6f 72 20 47 6e 75 73 20 75 73 65 72 2e 0a 54 68 69 73 20 61 64 64 73 20 60 6f 72 67 2d 63 .for.Gnus.user..This.adds.`org-c
a380 6f 6e 74 61 63 74 73 2d 67 6e 75 73 2d 63 68 65 63 6b 2d 6d 61 69 6c 2d 61 64 64 72 65 73 73 27 ontacts-gnus-check-mail-address'
a3a0 20 61 6e 64 0a 60 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 67 6e 75 73 2d 73 74 6f 72 65 2d 6c 61 .and.`org-contacts-gnus-store-la
a3c0 73 74 2d 6d 61 69 6c 27 20 74 6f 0a 60 67 6e 75 73 2d 61 72 74 69 63 6c 65 2d 70 72 65 70 61 72 st-mail'.to.`gnus-article-prepar
a3e0 65 2d 68 6f 6f 6b 27 2e 20 20 49 74 20 61 6c 73 6f 20 61 64 64 73 20 61 20 62 69 6e 64 69 6e 67 e-hook'...It.also.adds.a.binding
a400 20 6f 6e 20 60 3b 27 20 69 6e 0a 60 67 6e 75 73 2d 73 75 6d 6d 61 72 79 2d 6d 6f 64 65 2d 6d 61 .on.`;'.in.`gnus-summary-mode-ma
a420 70 27 20 74 6f 20 60 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 67 6e 75 73 2d 61 72 74 69 63 6c 65 p'.to.`org-contacts-gnus-article
a440 2d 66 72 6f 6d 2d 67 6f 74 6f 27 22 0a 20 20 28 72 65 71 75 69 72 65 20 27 67 6e 75 73 29 0a 20 -from-goto'"...(require.'gnus)..
a460 20 28 72 65 71 75 69 72 65 20 27 67 6e 75 73 2d 61 72 74 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b .(require.'gnus-art)...(define-k
a480 65 79 20 67 6e 75 73 2d 73 75 6d 6d 61 72 79 2d 6d 6f 64 65 2d 6d 61 70 20 22 3b 22 20 23 27 6f ey.gnus-summary-mode-map.";".#'o
a4a0 72 67 2d 63 6f 6e 74 61 63 74 73 2d 67 6e 75 73 2d 61 72 74 69 63 6c 65 2d 66 72 6f 6d 2d 67 6f rg-contacts-gnus-article-from-go
a4c0 74 6f 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 67 6e 75 73 2d 61 72 74 69 63 6c 65 2d 70 72 to)...(add-hook.'gnus-article-pr
a4e0 65 70 61 72 65 2d 68 6f 6f 6b 20 23 27 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 67 6e 75 73 2d 63 epare-hook.#'org-contacts-gnus-c
a500 68 65 63 6b 2d 6d 61 69 6c 2d 61 64 64 72 65 73 73 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 heck-mail-address)...(add-hook.'
a520 67 6e 75 73 2d 61 72 74 69 63 6c 65 2d 70 72 65 70 61 72 65 2d 68 6f 6f 6b 20 23 27 6f 72 67 2d gnus-article-prepare-hook.#'org-
a540 63 6f 6e 74 61 63 74 73 2d 67 6e 75 73 2d 73 74 6f 72 65 2d 6c 61 73 74 2d 6d 61 69 6c 29 29 0a contacts-gnus-store-last-mail)).
a560 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 65 74 75 70 2d 63 6f 6d 70 6c .(defun.org-contacts-setup-compl
a580 65 74 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 20 28 29 0a 20 20 22 41 64 64 20 60 6f 72 67 2d 63 6f etion-at-point.()..."Add.`org-co
a5a0 6e 74 61 63 74 73 2d 6d 65 73 73 61 67 65 2d 63 6f 6d 70 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e ntacts-message-complete-function
a5c0 27 20 61 73 20 61 20 6e 65 77 20 66 75 6e 63 74 69 6f 6e 0a 74 6f 20 63 6f 6d 70 6c 65 74 65 20 '.as.a.new.function.to.complete.
a5e0 74 68 65 20 74 68 69 6e 67 20 61 74 20 70 6f 69 6e 74 2e 22 0a 20 20 28 61 64 64 2d 74 6f 2d 6c the.thing.at.point."...(add-to-l
a600 69 73 74 20 27 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 2d 66 75 6e 63 74 69 6f ist.'completion-at-point-functio
a620 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d ns................'org-contacts-
a640 6d 65 73 73 61 67 65 2d 63 6f 6d 70 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 29 29 0a 0a 28 64 65 message-complete-function))..(de
a660 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 75 6e 6c 6f 61 64 2d 68 6f 6f 6b 20 28 29 0a fun.org-contacts-unload-hook.().
a680 20 20 28 72 65 6d 6f 76 65 2d 68 6f 6f 6b 20 27 6d 65 73 73 61 67 65 2d 6d 6f 64 65 2d 68 6f 6f ..(remove-hook.'message-mode-hoo
a6a0 6b 20 23 27 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 65 74 75 70 2d 63 6f 6d 70 6c 65 74 69 6f k.#'org-contacts-setup-completio
a6c0 6e 2d 61 74 2d 70 6f 69 6e 74 29 29 0a 0a 28 77 68 65 6e 20 28 61 6e 64 20 6f 72 67 2d 63 6f 6e n-at-point))..(when.(and.org-con
a6e0 74 61 63 74 73 2d 65 6e 61 62 6c 65 2d 63 6f 6d 70 6c 65 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 tacts-enable-completion.........
a700 20 20 20 28 62 6f 75 6e 64 70 20 27 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 2d ...(boundp.'completion-at-point-
a720 66 75 6e 63 74 69 6f 6e 73 29 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6d 65 73 73 61 67 65 functions))...(add-hook.'message
a740 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 23 27 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 65 74 75 70 2d -mode-hook.#'org-contacts-setup-
a760 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 completion-at-point))..(defun.or
a780 67 2d 63 6f 6e 74 61 63 74 73 2d 77 6c 2d 67 65 74 2d 66 72 6f 6d 2d 68 65 61 64 65 72 2d 63 6f g-contacts-wl-get-from-header-co
a7a0 6e 74 65 6e 74 20 28 29 0a 20 20 22 52 65 74 72 69 65 76 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 ntent.()..."Retrieve.the.content
a7c0 20 6f 66 20 74 68 65 20 60 46 72 6f 6d 27 20 68 65 61 64 65 72 20 6f 66 20 61 6e 20 65 6d 61 69 .of.the.`From'.header.of.an.emai
a7e0 6c 2e 0a 57 6f 72 6b 73 20 66 72 6f 6d 20 77 6c 2d 73 75 6d 6d 61 72 79 2d 6d 6f 64 65 20 61 6e l..Works.from.wl-summary-mode.an
a800 64 20 6d 69 6d 65 2d 76 69 65 77 2d 6d 6f 64 65 20 2d 20 74 68 61 74 20 69 73 20 77 68 69 6c 65 d.mime-view-mode.-.that.is.while
a820 20 76 69 65 77 69 6e 67 20 65 6d 61 69 6c 2e 0a 44 65 70 65 6e 64 73 20 6f 6e 20 57 61 6e 64 65 .viewing.email..Depends.on.Wande
a840 72 6c 75 73 74 20 62 65 65 6e 20 6c 6f 61 64 65 64 2e 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 rlust.been.loaded."...(with-curr
a860 65 6e 74 2d 62 75 66 66 65 72 20 28 6f 72 67 2d 63 61 70 74 75 72 65 2d 67 65 74 20 3a 6f 72 69 ent-buffer.(org-capture-get.:ori
a880 67 69 6e 61 6c 2d 62 75 66 66 65 72 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 65 ginal-buffer).....(cond......((e
a8a0 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 77 6c 2d 73 75 6d 6d 61 72 79 2d 6d 6f 64 65 29 20 28 q.major-mode.'wl-summary-mode).(
a8c0 77 68 65 6e 20 28 61 6e 64 20 28 62 6f 75 6e 64 70 20 27 77 6c 2d 73 75 6d 6d 61 72 79 2d 62 75 when.(and.(boundp.'wl-summary-bu
a8e0 66 66 65 72 2d 65 6c 6d 6f 2d 66 6f 6c 64 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ffer-elmo-folder)...............
a900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a920 20 20 20 20 77 6c 2d 73 75 6d 6d 61 72 79 2d 62 75 66 66 65 72 2d 65 6c 6d 6f 2d 66 6f 6c 64 65 ....wl-summary-buffer-elmo-folde
a940 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r)..............................
a960 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 6d 6f 2d 6d 65 73 73 61 67 65 2d 66 69 65 6c 64 0a ............(elmo-message-field.
a980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a9a0 20 20 20 20 20 20 20 20 20 20 77 6c 2d 73 75 6d 6d 61 72 79 2d 62 75 66 66 65 72 2d 65 6c 6d 6f ..........wl-summary-buffer-elmo
a9c0 2d 66 6f 6c 64 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -folder.........................
a9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 6c 2d 73 75 6d 6d 61 72 79 2d 6d 65 ..................(wl-summary-me
aa00 73 73 61 67 65 2d 6e 75 6d 62 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ssage-number)...................
aa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 72 6f 6d 29 29 29 ........................'from)))
aa40 0a 20 20 20 20 20 28 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 6d 69 6d 65 2d 76 69 65 77 ......((eq.major-mode.'mime-view
aa60 2d 6d 6f 64 65 29 20 28 73 74 64 31 31 2d 6e 61 72 72 6f 77 2d 74 6f 2d 68 65 61 64 65 72 29 0a -mode).(std11-narrow-to-header).
aa80 20 20 20 20 20 20 28 70 72 6f 67 31 0a 20 20 20 20 20 20 20 20 20 20 28 73 74 64 31 31 2d 66 65 ......(prog1...........(std11-fe
aaa0 74 63 68 2d 66 69 65 6c 64 20 22 46 72 6f 6d 22 29 0a 20 20 20 20 20 20 20 20 28 77 69 64 65 6e tch-field."From").........(widen
aac0 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 77 6c 2d 67 ))))))..(defun.org-contacts-wl-g
aae0 65 74 2d 6e 61 6d 65 2d 65 6d 61 69 6c 20 28 29 0a 20 20 22 47 65 74 20 6e 61 6d 65 20 61 6e 64 et-name-email.()..."Get.name.and
ab00 20 65 6d 61 69 6c 20 61 64 64 72 65 73 73 20 66 72 6f 6d 20 57 61 6e 64 65 72 6c 75 73 74 20 65 .email.address.from.Wanderlust.e
ab20 6d 61 69 6c 2e 0a 53 65 65 20 60 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 77 6c 2d 67 65 74 2d 66 mail..See.`org-contacts-wl-get-f
ab40 72 6f 6d 2d 68 65 61 64 65 72 2d 63 6f 6e 74 65 6e 74 27 20 66 6f 72 20 6c 69 6d 69 74 61 74 69 rom-header-content'.for.limitati
ab60 6f 6e 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 72 6f 6d 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 ons."...(let.((from.(org-contact
ab80 73 2d 77 6c 2d 67 65 74 2d 66 72 6f 6d 2d 68 65 61 64 65 72 2d 63 6f 6e 74 65 6e 74 29 29 29 0a s-wl-get-from-header-content))).
aba0 20 20 20 20 28 77 68 65 6e 20 66 72 6f 6d 0a 20 20 20 20 20 20 28 6c 69 73 74 20 28 77 6c 2d 61 ....(when.from.......(list.(wl-a
abc0 64 64 72 65 73 73 2d 68 65 61 64 65 72 2d 65 78 74 72 61 63 74 2d 72 65 61 6c 6e 61 6d 65 20 66 ddress-header-extract-realname.f
abe0 72 6f 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 6c 2d 61 64 64 72 65 73 73 2d 68 65 61 rom).............(wl-address-hea
ac00 64 65 72 2d 65 78 74 72 61 63 74 2d 61 64 64 72 65 73 73 20 66 72 6f 6d 29 29 29 29 29 0a 0a 28 der-extract-address.from)))))..(
ac20 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 74 65 6d 70 6c 61 74 65 2d 77 6c 2d 6e defun.org-contacts-template-wl-n
ac40 61 6d 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 72 65 74 75 72 6e 2d 76 61 6c 75 65 29 0a 20 20 22 ame.(&optional.return-value)..."
ac60 54 72 79 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 74 61 63 74 20 6e 61 6d 65 20 66 Try.to.return.the.contact.name.f
ac80 6f 72 20 61 20 74 65 6d 70 6c 61 74 65 20 66 72 6f 6d 20 77 6c 2e 0a 49 66 20 6e 6f 74 20 66 6f or.a.template.from.wl..If.not.fo
aca0 75 6e 64 2c 20 72 65 74 75 72 6e 20 52 45 54 55 52 4e 2d 56 41 4c 55 45 20 6f 72 20 73 6f 6d 65 und,.return.RETURN-VALUE.or.some
acc0 74 68 69 6e 67 20 74 68 61 74 20 77 6f 75 6c 64 20 61 73 6b 20 74 68 65 0a 75 73 65 72 2e 22 0a thing.that.would.ask.the.user.".
ace0 20 20 28 6f 72 20 28 63 61 72 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 77 6c 2d 67 65 74 2d ..(or.(car.(org-contacts-wl-get-
ad00 6e 61 6d 65 2d 65 6d 61 69 6c 29 29 0a 20 20 20 20 20 20 72 65 74 75 72 6e 2d 76 61 6c 75 65 0a name-email)).......return-value.
ad20 20 20 20 20 20 20 22 25 5e 7b 4e 61 6d 65 7d 22 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 ......"%^{Name}"))..(defun.org-c
ad40 6f 6e 74 61 63 74 73 2d 74 65 6d 70 6c 61 74 65 2d 77 6c 2d 65 6d 61 69 6c 20 28 26 6f 70 74 69 ontacts-template-wl-email.(&opti
ad60 6f 6e 61 6c 20 72 65 74 75 72 6e 2d 76 61 6c 75 65 29 0a 20 20 22 54 72 79 20 74 6f 20 72 65 74 onal.return-value)..."Try.to.ret
ad80 75 72 6e 20 74 68 65 20 63 6f 6e 74 61 63 74 20 65 6d 61 69 6c 20 66 6f 72 20 61 20 74 65 6d 70 urn.the.contact.email.for.a.temp
ada0 6c 61 74 65 20 66 72 6f 6d 20 57 61 6e 64 65 72 6c 75 73 74 2e 0a 49 66 20 6e 6f 74 20 66 6f 75 late.from.Wanderlust..If.not.fou
adc0 6e 64 20 72 65 74 75 72 6e 20 52 45 54 55 52 4e 2d 56 41 4c 55 45 20 6f 72 20 73 6f 6d 65 74 68 nd.return.RETURN-VALUE.or.someth
ade0 69 6e 67 20 74 68 61 74 20 77 6f 75 6c 64 20 61 73 6b 20 74 68 65 20 75 73 65 72 2e 22 0a 20 20 ing.that.would.ask.the.user."...
ae00 28 6f 72 20 28 63 61 64 72 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 77 6c 2d 67 65 74 2d 6e (or.(cadr.(org-contacts-wl-get-n
ae20 61 6d 65 2d 65 6d 61 69 6c 29 29 0a 20 20 20 20 20 20 72 65 74 75 72 6e 2d 76 61 6c 75 65 0a 20 ame-email)).......return-value..
ae40 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 25 5e 7b 22 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d .....(concat."%^{".org-contacts-
ae60 65 6d 61 69 6c 2d 70 72 6f 70 65 72 74 79 20 22 7d 70 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f email-property."}p")))..(defun.o
ae80 72 67 2d 63 6f 6e 74 61 63 74 73 2d 76 69 65 77 2d 73 65 6e 64 2d 65 6d 61 69 6c 20 28 26 6f 70 rg-contacts-view-send-email.(&op
aea0 74 69 6f 6e 61 6c 20 61 73 6b 29 0a 20 20 22 53 65 6e 64 20 65 6d 61 69 6c 20 74 6f 20 74 68 65 tional.ask)..."Send.email.to.the
aec0 20 63 6f 6e 74 61 63 74 20 61 74 20 70 6f 69 6e 74 2e 0a 49 66 20 41 53 4b 20 69 73 20 73 65 74 .contact.at.point..If.ASK.is.set
aee0 2c 20 61 73 6b 20 66 6f 72 20 74 68 65 20 65 6d 61 69 6c 20 61 64 64 72 65 73 73 20 65 76 65 6e ,.ask.for.the.email.address.even
af00 20 69 66 20 74 68 65 72 65 27 73 20 6f 6e 6c 79 20 6f 6e 65 0a 61 64 64 72 65 73 73 2e 22 0a 20 .if.there's.only.one.address."..
af20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 6c 65 74 20 28 28 6d 61 72 6b .(interactive."P")...(let.((mark
af40 65 72 20 28 6f 72 67 2d 67 65 74 2d 61 74 2d 62 6f 6c 20 27 6f 72 67 2d 68 64 2d 6d 61 72 6b 65 er.(org-get-at-bol.'org-hd-marke
af60 72 29 29 29 0a 20 20 20 20 28 6f 72 67 2d 77 69 74 68 2d 70 6f 69 6e 74 2d 61 74 20 6d 61 72 6b r))).....(org-with-point-at.mark
af80 65 72 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 6d 61 69 6c 73 20 28 6f 72 67 2d 65 6e 74 72 er.......(let.((emails.(org-entr
afa0 79 2d 67 65 74 20 28 70 6f 69 6e 74 29 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 65 6d 61 69 6c y-get.(point).org-contacts-email
afc0 2d 70 72 6f 70 65 72 74 79 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 65 6d 61 69 6c 73 0a -property))).........(if.emails.
afe0 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 6d 61 69 6c 2d 6c 69 73 74 20 28 6f ............(let.((email-list.(o
b000 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 70 6c 69 74 2d 70 72 6f 70 65 72 74 79 20 65 6d 61 69 6c rg-contacts-split-property.email
b020 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 3d 20 28 s)))...............(if.(and.(=.(
b040 6c 65 6e 67 74 68 20 65 6d 61 69 6c 2d 6c 69 73 74 29 20 31 29 20 28 6e 6f 74 20 61 73 6b 29 29 length.email-list).1).(not.ask))
b060 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6f 73 65 2d 6d 61 69 6c ...................(compose-mail
b080 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 6f 72 6d 61 74 2d 65 6d 61 69 6c 0a 20 20 20 20 .(org-contacts-format-email.....
b0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 .............................(or
b0c0 67 2d 67 65 74 2d 68 65 61 64 69 6e 67 20 74 29 20 65 6d 61 69 6c 73 29 29 0a 20 20 20 20 20 20 g-get-heading.t).emails)).......
b0e0 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 6d 61 69 6c 20 28 63 6f 6d 70 6c 65 74 69 ..........(let.((email.(completi
b100 6e 67 2d 72 65 61 64 20 22 53 65 6e 64 20 6d 61 69 6c 20 74 6f 20 77 68 69 63 68 20 61 64 64 72 ng-read."Send.mail.to.which.addr
b120 65 73 73 3a 20 22 20 65 6d 61 69 6c 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ess:.".email-list)))............
b140 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6d 61 69 6c 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 .......(setq.email.(org-contacts
b160 2d 73 74 72 69 70 2d 6c 69 6e 6b 20 65 6d 61 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 -strip-link.email)).............
b180 20 20 20 20 20 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 63 68 65 63 6b 2d 6d 61 69 6c 2d 61 ......(org-contacts-check-mail-a
b1a0 64 64 72 65 73 73 20 65 6d 61 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ddress.email)...................
b1c0 28 63 6f 6d 70 6f 73 65 2d 6d 61 69 6c 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 6f 72 6d (compose-mail.(org-contacts-form
b1e0 61 74 2d 65 6d 61 69 6c 20 28 6f 72 67 2d 67 65 74 2d 68 65 61 64 69 6e 67 20 74 29 20 65 6d 61 at-email.(org-get-heading.t).ema
b200 69 6c 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 28 66 6f 72 6d 61 74 il)))))...........(error.(format
b220 20 22 54 68 69 73 20 63 6f 6e 74 61 63 74 20 68 61 73 20 6e 6f 20 6d 61 69 6c 20 61 64 64 72 65 ."This.contact.has.no.mail.addre
b240 73 73 20 73 65 74 20 28 6e 6f 20 25 73 20 70 72 6f 70 65 72 74 79 29 22 0a 20 20 20 20 20 20 20 ss.set.(no.%s.property)"........
b260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 65 ..................org-contacts-e
b280 6d 61 69 6c 2d 70 72 6f 70 65 72 74 79 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 mail-property)))))))..(defun.org
b2a0 2d 63 6f 6e 74 61 63 74 73 2d 67 65 74 2d 69 63 6f 6e 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 6f -contacts-get-icon.(&optional.po
b2c0 6d 29 0a 20 20 22 47 65 74 20 69 63 6f 6e 20 66 6f 72 20 63 6f 6e 74 61 63 74 20 61 74 20 50 4f m)..."Get.icon.for.contact.at.PO
b2e0 4d 2e 22 0a 20 20 28 73 65 74 71 20 70 6f 6d 20 28 6f 72 20 70 6f 6d 20 28 70 6f 69 6e 74 29 29 M."...(setq.pom.(or.pom.(point))
b300 29 0a 20 20 28 63 61 74 63 68 20 27 69 63 6f 6e 0a 20 20 20 20 3b 3b 20 55 73 65 20 60 6f 72 67 )...(catch.'icon.....;;.Use.`org
b320 2d 63 6f 6e 74 61 63 74 73 2d 69 63 6f 6e 2d 70 72 6f 70 65 72 74 79 27 0a 20 20 20 20 28 6c 65 -contacts-icon-property'.....(le
b340 74 2a 20 28 28 6c 69 6e 6b 2d 6d 61 74 63 68 65 72 2d 72 65 67 65 78 70 0a 20 20 20 20 20 20 20 t*.((link-matcher-regexp........
b360 20 20 20 20 20 22 5c 5c 5b 5c 5c 5b 5c 5c 28 5b 5e 5d 5d 2a 5c 5c 29 5c 5c 5d 5c 5c 28 5c 5c 5b ....."\\[\\[\\([^]]*\\)\\]\\(\\[
b380 5c 5c 28 2e 2a 5c 5c 29 5c 5c 5d 5c 5c 29 3f 5c 5c 5d 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 \\(.*\\)\\]\\)?\\]")............
b3a0 28 63 6f 6e 74 61 63 74 73 2d 64 69 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f (contacts-dir.(file-name-directo
b3c0 72 79 20 28 63 61 72 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 65 73 29 29 29 29 0a ry.(car.(org-contacts-files)))).
b3e0 20 20 20 20 20 20 20 20 20 20 20 28 69 6d 61 67 65 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 ...........(image-path..........
b400 20 20 20 28 69 66 2d 6c 65 74 20 28 28 61 76 61 74 61 72 20 28 6f 72 67 2d 65 6e 74 72 79 2d 67 ...(if-let.((avatar.(org-entry-g
b420 65 74 20 70 6f 6d 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 69 63 6f 6e 2d 70 72 6f 70 65 72 74 et.pom.org-contacts-icon-propert
b440 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 y))).................(cond......
b460 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 5b 5b 66 69 6c 65 3a 64 69 72 2f 66 69 6c 65 6e 61 ............;;.[[file:dir/filena
b480 6d 65 2e 70 6e 67 5d 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 me.png]]..................((stri
b4a0 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5c 5c 5b 5c 5c 5b 2e 2a 5c 5c 5d 5c 5c 5d 22 20 61 76 61 74 ng-match-p."\\[\\[.*\\]\\]".avat
b4c0 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 46 49 58 4d 45 3a 20 ar)...................;;.FIXME:.
b4e0 57 68 61 74 20 69 66 20 61 76 61 74 61 72 20 6d 61 74 63 68 65 73 20 74 68 65 20 61 62 6f 76 65 What.if.avatar.matches.the.above
b500 20 72 65 67 65 78 70 20 62 75 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .regexp.but.the.................
b520 20 20 3b 3b 20 6f 6e 65 20 62 65 6c 6f 77 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..;;.one.below?.................
b540 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 6c 69 6e 6b 2d 6d 61 74 63 68 ..(when.(string-match.link-match
b560 65 72 2d 72 65 67 65 78 70 20 61 76 61 74 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 er-regexp.avatar)...............
b580 20 20 20 20 20 20 3b 3b 20 46 49 58 4d 45 3a 20 35 20 73 65 65 6d 73 20 74 6f 20 62 65 20 74 68 ......;;.FIXME:.5.seems.to.be.th
b5a0 65 20 6c 65 6e 67 74 68 20 6f 66 20 60 66 69 6c 65 3a 27 20 62 75 74 20 49 20 63 61 6e 27 74 0a e.length.of.`file:'.but.I.can't.
b5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 65 65 20 61 6e 79 74 68 ....................;;.see.anyth
b5e0 69 6e 67 20 74 68 61 74 20 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 74 68 65 20 73 75 62 ing.that.guarantees.that.the.sub
b600 6d 61 74 63 68 20 31 20 73 74 61 72 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 match.1.starts..................
b620 20 20 20 3b 3b 20 77 69 74 68 20 60 66 69 6c 65 3a 27 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...;;.with.`file:'..............
b640 20 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 73 75 62 73 74 ........(expand-file-name.(subst
b660 72 69 6e 67 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 ring.(match-string-no-properties
b680 20 31 20 61 76 61 74 61 72 29 20 35 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .1.avatar).5.nil)...............
b6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 61 63 74 73 ........................contacts
b6c0 2d 64 69 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 22 22 20 28 -dir)))..................;;."".(
b6e0 65 6d 70 74 79 20 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 empty.string)..................(
b700 28 73 74 72 69 6e 67 2d 65 6d 70 74 79 2d 70 20 61 76 61 74 61 72 29 20 6e 69 6c 29 0a 20 20 20 (string-empty-p.avatar).nil)....
b720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 ..............(t.(expand-file-na
b740 6d 65 20 61 76 61 74 61 72 20 63 6f 6e 74 61 63 74 73 2d 64 69 72 29 29 29 29 29 29 0a 20 20 20 me.avatar.contacts-dir))))))....
b760 20 20 20 28 77 68 65 6e 20 69 6d 61 67 65 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20 28 74 68 72 ...(when.image-path.........(thr
b780 6f 77 20 27 69 63 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 65 61 ow.'icon................(if.(fea
b7a0 74 75 72 65 70 20 27 69 6d 61 67 65 6d 61 67 69 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 turep.'imagemagick).............
b7c0 20 20 20 20 20 20 20 28 63 72 65 61 74 65 2d 69 6d 61 67 65 20 69 6d 61 67 65 2d 70 61 74 68 20 .......(create-image.image-path.
b7e0 27 69 6d 61 67 65 6d 61 67 69 63 6b 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 'imagemagick.nil................
b800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 68 65 69 67 68 74 20 6f 72 67 2d 63 6f ..................:height.org-co
b820 6e 74 61 63 74 73 2d 69 63 6f 6e 2d 73 69 7a 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ntacts-icon-size)...............
b840 20 20 20 28 63 72 65 61 74 65 2d 69 6d 61 67 65 20 69 6d 61 67 65 2d 70 61 74 68 20 6e 69 6c 20 ...(create-image.image-path.nil.
b860 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nil.............................
b880 20 20 20 3a 68 65 69 67 68 74 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 69 63 6f 6e 2d 73 69 7a ...:height.org-contacts-icon-siz
b8a0 65 29 29 29 29 29 0a 20 20 20 20 3b 3b 20 4e 65 78 74 2c 20 74 72 79 20 47 72 61 76 61 74 61 72 e))))).....;;.Next,.try.Gravatar
b8c0 0a 20 20 20 20 28 77 68 65 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 69 63 6f 6e 2d 75 73 65 .....(when.org-contacts-icon-use
b8e0 2d 67 72 61 76 61 74 61 72 0a 20 20 20 20 20 20 28 64 65 66 76 61 72 20 67 72 61 76 61 74 61 72 -gravatar.......(defvar.gravatar
b900 2d 73 69 7a 65 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 67 72 61 76 61 74 61 72 2d 73 69 -size).......(let*.((gravatar-si
b920 7a 65 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 69 63 6f 6e 2d 73 69 7a 65 29 0a 20 20 20 20 20 ze.org-contacts-icon-size)......
b940 20 20 20 20 20 20 20 20 28 65 6d 61 69 6c 2d 6c 69 73 74 20 28 6f 72 67 2d 65 6e 74 72 79 2d 67 ........(email-list.(org-entry-g
b960 65 74 20 70 6f 6d 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 65 6d 61 69 6c 2d 70 72 6f 70 65 72 et.pom.org-contacts-email-proper
b980 74 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 72 61 76 61 74 61 72 0a 20 20 20 20 ty))..............(gravatar.....
b9a0 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 65 6d 61 69 6c 2d 6c 69 73 74 0a 20 20 20 20 20 ..........(when.email-list......
b9c0 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 65 6d 61 69 6c 20 69 6e ...........(cl-loop.for.email.in
b9e0 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 70 6c 69 74 2d 70 72 6f 70 65 72 74 79 20 65 6d .(org-contacts-split-property.em
ba00 61 69 6c 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ail-list).......................
ba20 20 20 20 66 6f 72 20 67 72 61 76 61 74 61 72 20 3d 20 28 67 72 61 76 61 74 61 72 2d 72 65 74 72 ...for.gravatar.=.(gravatar-retr
ba40 69 65 76 65 2d 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 ieve-synchronously.(org-contacts
ba60 2d 73 74 72 69 70 2d 6c 69 6e 6b 20 65 6d 61 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 -strip-link.email)).............
ba80 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 6e 64 20 67 72 61 76 61 74 61 72 0a 20 20 .............if.(and.gravatar...
baa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
bac0 6e 6f 74 20 28 65 71 20 67 72 61 76 61 74 61 72 20 27 65 72 72 6f 72 29 29 29 0a 20 20 20 20 20 not.(eq.gravatar.'error)))......
bae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 67 72 61 76 61 ....................return.grava
bb00 74 61 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 67 72 61 76 61 74 61 72 20 28 tar)))).........(when.gravatar.(
bb20 74 68 72 6f 77 20 27 69 63 6f 6e 20 67 72 61 76 61 74 61 72 29 29 29 29 29 29 0a 0a 28 64 65 66 throw.'icon.gravatar))))))..(def
bb40 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 69 72 63 2d 62 75 66 66 65 72 20 28 26 6f 70 74 un.org-contacts-irc-buffer.(&opt
bb60 69 6f 6e 61 6c 20 70 6f 6d 29 0a 20 20 22 47 65 74 20 74 68 65 20 49 52 43 20 62 75 66 66 65 72 ional.pom)..."Get.the.IRC.buffer
bb80 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 65 6e 74 72 79 20 61 74 20 50 4f .associated.with.the.entry.at.PO
bba0 4d 2e 22 0a 20 20 28 73 65 74 71 20 70 6f 6d 20 28 6f 72 20 70 6f 6d 20 28 70 6f 69 6e 74 29 29 M."...(setq.pom.(or.pom.(point))
bbc0 29 0a 20 20 28 6c 65 74 20 28 28 6e 69 63 6b 20 28 6f 72 67 2d 65 6e 74 72 79 2d 67 65 74 20 70 )...(let.((nick.(org-entry-get.p
bbe0 6f 6d 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6e 69 63 6b 6e 61 6d 65 2d 70 72 6f 70 65 72 74 om.org-contacts-nickname-propert
bc00 79 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 6e 69 63 6b 0a 20 20 20 20 20 20 28 6c 65 74 20 28 y))).....(when.nick.......(let.(
bc20 28 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 20 6e 69 63 6b 29 29 29 0a 20 20 20 20 (buffer.(get-buffer.nick))).....
bc40 20 20 20 20 28 77 68 65 6e 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 ....(when.buffer...........(with
bc60 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 -current-buffer.buffer..........
bc80 20 20 20 28 77 68 65 6e 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 65 72 63 2d 6d 6f 64 ...(when.(eq.major-mode.'erc-mod
bca0 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 29 29 29 29 29 29 29 0a 0a e)...............buffer)))))))..
bcc0 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 69 72 63 2d 6e 75 6d 62 65 72 2d 6f (defun.org-contacts-irc-number-o
bce0 66 2d 75 6e 72 65 61 64 2d 6d 65 73 73 61 67 65 73 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 6f 6d f-unread-messages.(&optional.pom
bd00 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 75 6e 72 65 61 64 )..."Return.the.number.of.unread
bd20 20 6d 65 73 73 61 67 65 73 20 66 6f 72 20 63 6f 6e 74 61 63 74 20 61 74 20 50 4f 4d 2e 22 0a 20 .messages.for.contact.at.POM."..
bd40 20 28 77 68 65 6e 20 28 62 6f 75 6e 64 70 20 27 65 72 63 2d 6d 6f 64 69 66 69 65 64 2d 63 68 61 .(when.(boundp.'erc-modified-cha
bd60 6e 6e 65 6c 73 2d 61 6c 69 73 74 29 0a 20 20 20 20 28 6c 65 74 20 28 28 6e 75 6d 62 65 72 20 28 nnels-alist).....(let.((number.(
bd80 63 61 64 72 20 28 61 73 73 6f 63 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 69 72 63 2d 62 75 cadr.(assoc.(org-contacts-irc-bu
bda0 66 66 65 72 20 70 6f 6d 29 20 65 72 63 2d 6d 6f 64 69 66 69 65 64 2d 63 68 61 6e 6e 65 6c 73 2d ffer.pom).erc-modified-channels-
bdc0 61 6c 69 73 74 29 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 alist)))).......(if.number......
bde0 20 20 20 20 20 28 66 6f 72 6d 61 74 20 28 63 6f 6e 63 61 74 20 22 25 33 64 20 75 6e 72 65 61 64 .....(format.(concat."%3d.unread
be00 20 6d 65 73 73 61 67 65 22 20 28 69 66 20 28 3e 20 6e 75 6d 62 65 72 20 31 29 20 22 73 22 20 22 .message".(if.(>.number.1)."s"."
be20 20 22 29 20 22 20 22 29 20 6e 75 6d 62 65 72 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 73 .").".").number).........(make-s
be40 74 72 69 6e 67 20 32 31 20 3f 20 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e tring.21.?.)))))..(defun.org-con
be60 74 61 63 74 73 2d 76 69 65 77 2d 73 77 69 74 63 68 2d 74 6f 2d 69 72 63 2d 62 75 66 66 65 72 20 tacts-view-switch-to-irc-buffer.
be80 28 29 0a 20 20 22 53 77 69 74 63 68 20 74 6f 20 74 68 65 20 49 52 43 20 62 75 66 66 65 72 20 6f ()..."Switch.to.the.IRC.buffer.o
bea0 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6e 74 61 63 74 20 69 66 20 69 74 20 68 61 73 20 f.the.current.contact.if.it.has.
bec0 6f 6e 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 6d one."...(interactive)...(let.((m
bee0 61 72 6b 65 72 20 28 6f 72 67 2d 67 65 74 2d 61 74 2d 62 6f 6c 20 27 6f 72 67 2d 68 64 2d 6d 61 arker.(org-get-at-bol.'org-hd-ma
bf00 72 6b 65 72 29 29 29 0a 20 20 20 20 28 6f 72 67 2d 77 69 74 68 2d 70 6f 69 6e 74 2d 61 74 20 6d rker))).....(org-with-point-at.m
bf20 61 72 6b 65 72 0a 20 20 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 2d 6f 74 arker.......(switch-to-buffer-ot
bf40 68 65 72 2d 77 69 6e 64 6f 77 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 69 72 63 2d 62 75 66 her-window.(org-contacts-irc-buf
bf60 66 65 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 63 6f fer)))))..(defun.org-contacts-co
bf80 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 2d 6e 69 63 6b 6e 61 6d 65 20 28 70 72 6f 6d 70 74 20 63 mpleting-read-nickname.(prompt.c
bfa0 6f 6c 6c 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ollection.......................
bfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 ...............................&
bfe0 6f 70 74 69 6f 6e 61 6c 20 70 72 65 64 69 63 61 74 65 20 72 65 71 75 69 72 65 2d 6d 61 74 63 68 optional.predicate.require-match
c000 20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .initial-input..................
c020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c040 20 20 20 20 68 69 73 74 20 64 65 66 20 69 6e 68 65 72 69 74 2d 69 6e 70 75 74 2d 6d 65 74 68 6f ....hist.def.inherit-input-metho
c060 64 29 0a 20 20 22 4c 69 6b 65 20 60 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 27 20 62 75 74 d)..."Like.`completing-read'.but
c080 20 72 65 61 64 73 20 61 20 6e 69 63 6b 6e 61 6d 65 2e 22 0a 20 20 28 69 66 20 28 66 65 61 74 75 .reads.a.nickname."...(if.(featu
c0a0 72 65 70 20 27 65 72 63 29 0a 20 20 20 20 20 20 28 6f 72 67 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d rep.'erc).......(org-completing-
c0c0 72 65 61 64 20 70 72 6f 6d 70 74 20 28 61 70 70 65 6e 64 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 28 read.prompt.(append.collection.(
c0e0 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 65 72 63 2d 6e 69 63 6b 6e 61 6d 65 73 2d 6c 69 73 74 29 org-contacts-erc-nicknames-list)
c100 29 20 70 72 65 64 69 63 61 74 65 20 72 65 71 75 69 72 65 2d 6d 61 74 63 68 0a 20 20 20 20 20 20 ).predicate.require-match.......
c120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 2d 69 6e 70 .....................initial-inp
c140 75 74 20 68 69 73 74 20 64 65 66 20 69 6e 68 65 72 69 74 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 ut.hist.def.inherit-input-method
c160 29 0a 20 20 20 20 28 6f 72 67 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 70 72 6f 6d 70 ).....(org-completing-read.promp
c180 74 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 70 72 65 64 69 63 61 74 65 20 72 65 71 75 69 72 65 2d 6d t.collection.predicate.require-m
c1a0 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e atch..........................in
c1c0 69 74 69 61 6c 2d 69 6e 70 75 74 20 68 69 73 74 20 64 65 66 20 69 6e 68 65 72 69 74 2d 69 6e 70 itial-input.hist.def.inherit-inp
c1e0 75 74 2d 6d 65 74 68 6f 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 ut-method)))..(defun.org-contact
c200 73 2d 65 72 63 2d 6e 69 63 6b 6e 61 6d 65 73 2d 6c 69 73 74 20 28 29 0a 20 20 22 52 65 74 75 72 s-erc-nicknames-list.()..."Retur
c220 6e 20 61 6c 6c 20 6e 69 63 6b 6e 61 6d 65 73 20 6f 66 20 61 6c 6c 20 45 52 43 20 62 75 66 66 65 n.all.nicknames.of.all.ERC.buffe
c240 72 73 2e 22 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 62 75 66 66 65 72 20 69 6e 20 28 65 rs."...(cl-loop.for.buffer.in.(e
c260 72 63 2d 62 75 66 66 65 72 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 6e 63 6f 6e 63 rc-buffer-list)............nconc
c280 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 .(with-current-buffer.buffer....
c2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 75 73 65 ................(cl-loop.for.use
c2c0 72 2d 65 6e 74 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r-entry.........................
c2e0 20 20 20 20 69 6e 20 28 6d 61 70 63 61 72 20 23 27 63 61 72 20 28 65 72 63 2d 67 65 74 2d 63 68 ....in.(mapcar.#'car.(erc-get-ch
c300 61 6e 6e 65 6c 2d 75 73 65 72 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 annel-user-list))...............
c320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 28 65 6c 74 20 75 73 65 72 2d ..............collect.(elt.user-
c340 65 6e 74 72 79 20 31 29 29 29 29 29 0a 0a 28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 6f 72 67 2d entry.1)))))..(add-to-list.'org-
c360 70 72 6f 70 65 72 74 79 2d 73 65 74 2d 66 75 6e 63 74 69 6f 6e 73 2d 61 6c 69 73 74 0a 20 20 20 property-set-functions-alist....
c380 20 20 20 20 20 20 20 20 20 20 60 28 2c 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6e 69 63 6b 6e 61 ..........`(,org-contacts-nickna
c3a0 6d 65 2d 70 72 6f 70 65 72 74 79 20 2e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 63 6f 6d 70 6c me-property...org-contacts-compl
c3c0 65 74 69 6e 67 2d 72 65 61 64 2d 6e 69 63 6b 6e 61 6d 65 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 eting-read-nickname))..(defun.or
c3e0 67 2d 63 6f 6e 74 61 63 74 73 2d 76 63 61 72 64 2d 65 73 63 61 70 65 20 28 73 74 72 29 0a 20 20 g-contacts-vcard-escape.(str)...
c400 22 45 73 63 61 70 65 20 3b 20 2c 20 61 6e 64 20 5c 6e 20 69 6e 20 53 54 52 20 66 6f 72 20 74 68 "Escape.;.,.and.\n.in.STR.for.th
c420 65 20 56 43 61 72 64 20 66 6f 72 6d 61 74 2e 22 0a 20 20 3b 3b 20 54 68 61 6e 6b 73 20 74 6f 20 e.VCard.format."...;;.Thanks.to.
c440 74 68 69 73 20 6c 69 62 72 61 72 79 20 66 6f 72 20 74 68 65 20 72 65 67 65 78 70 3a 0a 20 20 3b this.library.for.the.regexp:...;
c460 3b 20 68 74 74 70 73 3a 2f 2f 77 77 77 2e 65 6d 61 63 73 77 69 6b 69 2e 6f 72 67 2f 63 67 69 2d ;.https://www.emacswiki.org/cgi-
c480 62 69 6e 2f 77 69 6b 69 2f 62 62 64 62 2d 76 63 61 72 64 2d 65 78 70 6f 72 74 2e 65 6c 0a 20 20 bin/wiki/bbdb-vcard-export.el...
c4a0 28 77 68 65 6e 20 73 74 72 0a 20 20 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e (when.str.....(replace-regexp-in
c4c0 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 22 5c 6e 22 20 22 5c 5c 5c 5c 6e 22 0a 20 20 20 20 20 28 -string......"\n"."\\\\n"......(
c4e0 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 5c 5c 28 3b 5c 5c replace-regexp-in-string."\\(;\\
c500 7c 2c 5c 5c 7c 5c 5c 5c 5c 5c 5c 29 22 20 22 5c 5c 5c 5c 5c 5c 31 22 20 73 74 72 29 29 29 29 0a |,\\|\\\\\\)"."\\\\\\1".str)))).
c520 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 76 63 61 72 64 2d 65 6e 63 6f 64 .(defun.org-contacts-vcard-encod
c540 65 2d 6e 61 6d 65 20 28 6e 61 6d 65 29 0a 20 20 22 54 72 79 20 74 6f 20 65 6e 63 6f 64 65 20 4e e-name.(name)..."Try.to.encode.N
c560 41 4d 45 20 61 73 20 56 43 61 72 64 27 73 20 4e 20 70 72 6f 70 65 72 74 79 2e 0a 54 68 65 20 4e AME.as.VCard's.N.property..The.N
c580 20 70 72 6f 70 65 72 74 79 20 65 78 70 65 63 74 73 0a 0a 20 20 46 61 6d 69 6c 79 4e 61 6d 65 3b .property.expects....FamilyName;
c5a0 47 69 76 65 6e 4e 61 6d 65 3b 41 64 64 69 74 69 6f 6e 61 6c 4e 61 6d 65 73 3b 50 72 65 66 69 78 GivenName;AdditionalNames;Prefix
c5c0 3b 50 6f 73 74 66 69 78 2e 0a 0a 4f 72 67 2d 63 6f 6e 74 61 63 74 73 20 64 6f 65 73 20 6e 6f 74 ;Postfix...Org-contacts.does.not
c5e0 20 73 70 65 63 69 66 79 20 68 6f 77 20 74 6f 20 65 6e 63 6f 64 65 20 74 68 65 20 6e 61 6d 65 2e .specify.how.to.encode.the.name.
c600 20 20 53 6f 20 77 65 20 74 72 79 0a 74 6f 20 64 6f 20 6f 75 72 20 62 65 73 74 2e 22 0a 20 20 28 ..So.we.try.to.do.our.best."...(
c620 63 6f 6e 63 61 74 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 concat.(replace-regexp-in-string
c640 20 22 5c 5c 28 5c 5c 77 2b 5c 5c 29 20 5c 5c 28 2e 2a 5c 5c 29 22 20 22 5c 5c 32 3b 5c 5c 31 22 ."\\(\\w+\\).\\(.*\\)"."\\2;\\1"
c660 20 6e 61 6d 65 29 20 22 3b 3b 3b 22 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 .name).";;;"))..(defun.org-conta
c680 63 74 73 2d 76 63 61 72 64 2d 66 6f 72 6d 61 74 20 28 63 6f 6e 74 61 63 74 29 0a 20 20 22 46 6f cts-vcard-format.(contact)..."Fo
c6a0 72 6d 61 74 73 20 43 4f 4e 54 41 43 54 20 69 6e 20 56 43 61 72 64 20 33 2e 30 20 66 6f 72 6d 61 rmats.CONTACT.in.VCard.3.0.forma
c6c0 74 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 70 72 6f 70 65 72 74 69 65 73 20 28 6e 74 68 20 32 20 t."...(let*.((properties.(nth.2.
c6e0 63 6f 6e 74 61 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 20 28 6f 72 67 2d 63 6f contact))..........(name.(org-co
c700 6e 74 61 63 74 73 2d 76 63 61 72 64 2d 65 73 63 61 70 65 20 28 63 61 72 20 63 6f 6e 74 61 63 74 ntacts-vcard-escape.(car.contact
c720 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 76 63 )))..........(n.(org-contacts-vc
c740 61 72 64 2d 65 6e 63 6f 64 65 2d 6e 61 6d 65 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 ard-encode-name.name))..........
c760 28 65 6d 61 69 6c 20 28 63 64 72 20 28 61 73 73 6f 63 2d 73 74 72 69 6e 67 20 6f 72 67 2d 63 6f (email.(cdr.(assoc-string.org-co
c780 6e 74 61 63 74 73 2d 65 6d 61 69 6c 2d 70 72 6f 70 65 72 74 79 20 70 72 6f 70 65 72 74 69 65 73 ntacts-email-property.properties
c7a0 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 65 6c 20 28 63 64 72 20 28 61 73 73 6f 63 2d 73 74 )))..........(tel.(cdr.(assoc-st
c7c0 72 69 6e 67 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 74 65 6c 2d 70 72 6f 70 65 72 74 79 20 70 ring.org-contacts-tel-property.p
c7e0 72 6f 70 65 72 74 69 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 6c 69 roperties)))..........(ignore-li
c800 73 74 20 28 63 64 72 20 28 61 73 73 6f 63 2d 73 74 72 69 6e 67 20 6f 72 67 2d 63 6f 6e 74 61 63 st.(cdr.(assoc-string.org-contac
c820 74 73 2d 69 67 6e 6f 72 65 2d 70 72 6f 70 65 72 74 79 20 70 72 6f 70 65 72 74 69 65 73 29 29 29 ts-ignore-property.properties)))
c840 0a 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 6c 69 73 74 20 28 77 68 65 6e 20 69 67 6e ..........(ignore-list.(when.ign
c860 6f 72 65 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ore-list........................
c880 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 70 6c 69 74 2d 70 72 6f 70 65 72 74 79 20 69 67 .(org-contacts-split-property.ig
c8a0 6e 6f 72 65 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 6f 74 65 20 28 63 64 72 nore-list)))..........(note.(cdr
c8c0 20 28 61 73 73 6f 63 2d 73 74 72 69 6e 67 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6e 6f 74 65 .(assoc-string.org-contacts-note
c8e0 2d 70 72 6f 70 65 72 74 79 20 70 72 6f 70 65 72 74 69 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 -property.properties))).........
c900 20 28 62 64 61 79 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 76 63 61 72 64 2d 65 73 63 61 70 .(bday.(org-contacts-vcard-escap
c920 65 20 28 63 64 72 20 28 61 73 73 6f 63 2d 73 74 72 69 6e 67 20 6f 72 67 2d 63 6f 6e 74 61 63 74 e.(cdr.(assoc-string.org-contact
c940 73 2d 62 69 72 74 68 64 61 79 2d 70 72 6f 70 65 72 74 79 20 70 72 6f 70 65 72 74 69 65 73 29 29 s-birthday-property.properties))
c960 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 64 64 72 20 28 63 64 72 20 28 61 73 73 6f 63 2d 73 74 ))..........(addr.(cdr.(assoc-st
c980 72 69 6e 67 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 61 64 64 72 65 73 73 2d 70 72 6f 70 65 72 ring.org-contacts-address-proper
c9a0 74 79 20 70 72 6f 70 65 72 74 69 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 69 63 6b 20 ty.properties)))..........(nick.
c9c0 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 76 63 61 72 64 2d 65 73 63 61 70 65 20 28 63 64 72 20 (org-contacts-vcard-escape.(cdr.
c9e0 28 61 73 73 6f 63 2d 73 74 72 69 6e 67 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6e 69 63 6b 6e (assoc-string.org-contacts-nickn
ca00 61 6d 65 2d 70 72 6f 70 65 72 74 79 20 70 72 6f 70 65 72 74 69 65 73 29 29 29 29 0a 20 20 20 20 ame-property.properties)))).....
ca20 20 20 20 20 20 28 68 65 61 64 20 28 66 6f 72 6d 61 74 20 22 42 45 47 49 4e 3a 56 43 41 52 44 5c .....(head.(format."BEGIN:VCARD\
ca40 6e 56 45 52 53 49 4f 4e 3a 33 2e 30 5c 6e 4e 3a 25 73 5c 6e 46 4e 3a 25 73 5c 6e 22 20 6e 20 6e nVERSION:3.0\nN:%s\nFN:%s\n".n.n
ca60 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 65 6d 61 69 6c 73 2d 6c 69 73 74 20 72 65 73 75 6c ame))..........emails-list.resul
ca80 74 20 70 68 6f 6e 65 73 2d 6c 69 73 74 29 0a 20 20 20 20 28 63 6f 6e 63 61 74 0a 20 20 20 20 20 t.phones-list).....(concat......
caa0 68 65 61 64 0a 20 20 20 20 20 28 77 68 65 6e 20 65 6d 61 69 6c 0a 20 20 20 20 20 20 20 28 70 72 head......(when.email........(pr
cac0 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6d 61 69 6c 73 2d 6c 69 73 74 20 28 ogn..........(setq.emails-list.(
cae0 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 72 65 6d 6f 76 65 2d 69 67 6e 6f 72 65 64 2d 70 72 6f 70 org-contacts-remove-ignored-prop
cb00 65 72 74 79 2d 76 61 6c 75 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 erty-values.....................
cb20 20 20 20 20 20 20 20 20 69 67 6e 6f 72 65 2d 6c 69 73 74 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 ........ignore-list.(org-contact
cb40 73 2d 73 70 6c 69 74 2d 70 72 6f 70 65 72 74 79 20 65 6d 61 69 6c 29 29 29 0a 20 20 20 20 20 20 s-split-property.email))).......
cb60 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 ...(setq.result."")..........(wh
cb80 69 6c 65 20 65 6d 61 69 6c 73 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 ile.emails-list............(setq
cba0 20 72 65 73 75 6c 74 20 28 63 6f 6e 63 61 74 20 72 65 73 75 6c 74 20 20 22 45 4d 41 49 4c 3a 22 .result.(concat.result.."EMAIL:"
cbc0 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 74 72 69 70 2d 6c 69 6e 6b 20 28 63 61 72 20 65 .(org-contacts-strip-link.(car.e
cbe0 6d 61 69 6c 73 2d 6c 69 73 74 29 29 20 22 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 mails-list))."\n"))............(
cc00 73 65 74 71 20 65 6d 61 69 6c 73 2d 6c 69 73 74 20 28 63 64 72 20 65 6d 61 69 6c 73 2d 6c 69 73 setq.emails-list.(cdr.emails-lis
cc20 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 28 77 68 65 t)))..........result))......(whe
cc40 6e 20 61 64 64 72 0a 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 41 44 52 3a 3b 3b 25 73 5c n.addr........(format."ADR:;;%s\
cc60 6e 22 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 5c 5c n".(replace-regexp-in-string."\\
cc80 2c 20 3f 22 20 22 3b 22 20 61 64 64 72 29 29 29 0a 20 20 20 20 20 28 77 68 65 6e 20 74 65 6c 0a ,.?".";".addr)))......(when.tel.
cca0 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 68 6f .......(progn..........(setq.pho
ccc0 6e 65 73 2d 6c 69 73 74 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 72 65 6d 6f 76 65 2d 69 67 nes-list.(org-contacts-remove-ig
cce0 6e 6f 72 65 64 2d 70 72 6f 70 65 72 74 79 2d 76 61 6c 75 65 73 0a 20 20 20 20 20 20 20 20 20 20 nored-property-values...........
cd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 67 6e 6f 72 65 2d 6c 69 73 74 20 28 6f ..................ignore-list.(o
cd20 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 70 6c 69 74 2d 70 72 6f 70 65 72 74 79 20 74 65 6c 29 29 rg-contacts-split-property.tel))
cd40 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 22 22 29 0a 20 20 20 20 )..........(setq.result."").....
cd60 20 20 20 20 20 28 77 68 69 6c 65 20 70 68 6f 6e 65 73 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 .....(while.phones-list.........
cd80 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 28 63 6f 6e 63 61 74 20 72 65 73 75 6c 74 20 20 ...(setq.result.(concat.result..
cda0 22 54 45 4c 3a 22 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 74 72 69 70 2d 6c 69 6e 6b 0a "TEL:".(org-contacts-strip-link.
cdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
cde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 6c 69 6e 6b 2d 75 6e 65 73 63 61 ................(org-link-unesca
ce00 70 65 20 28 63 61 72 20 70 68 6f 6e 65 73 2d 6c 69 73 74 29 29 29 20 22 5c 6e 22 29 29 0a 20 20 pe.(car.phones-list)))."\n"))...
ce20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 68 6f 6e 65 73 2d 6c 69 73 74 20 28 63 64 72 20 .........(setq.phones-list.(cdr.
ce40 70 68 6f 6e 65 73 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 29 29 phones-list)))..........result))
ce60 0a 20 20 20 20 20 28 77 68 65 6e 20 62 64 61 79 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 ......(when.bday........(let.((c
ce80 61 6c 2d 62 64 61 79 20 28 63 61 6c 65 6e 64 61 72 2d 67 72 65 67 6f 72 69 61 6e 2d 66 72 6f 6d al-bday.(calendar-gregorian-from
cea0 2d 61 62 73 6f 6c 75 74 65 20 28 6f 72 67 2d 74 69 6d 65 2d 73 74 72 69 6e 67 2d 74 6f 2d 61 62 -absolute.(org-time-string-to-ab
cec0 73 6f 6c 75 74 65 20 62 64 61 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 solute.bday))))..........(format
cee0 20 22 42 44 41 59 3a 25 30 34 64 2d 25 30 32 64 2d 25 30 32 64 5c 6e 22 0a 20 20 20 20 20 20 20 ."BDAY:%04d-%02d-%02d\n"........
cf00 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 65 6e 64 61 72 2d 65 78 74 72 61 63 74 2d 79 65 61 72 ..........(calendar-extract-year
cf20 20 63 61 6c 2d 62 64 61 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c .cal-bday)..................(cal
cf40 65 6e 64 61 72 2d 65 78 74 72 61 63 74 2d 6d 6f 6e 74 68 20 63 61 6c 2d 62 64 61 79 29 0a 20 20 endar-extract-month.cal-bday)...
cf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 65 6e 64 61 72 2d 65 78 74 72 61 63 74 ...............(calendar-extract
cf80 2d 64 61 79 20 63 61 6c 2d 62 64 61 79 29 29 29 29 0a 20 20 20 20 20 28 77 68 65 6e 20 6e 69 63 -day.cal-bday))))......(when.nic
cfa0 6b 20 28 66 6f 72 6d 61 74 20 22 4e 49 43 4b 4e 41 4d 45 3a 25 73 5c 6e 22 20 6e 69 63 6b 29 29 k.(format."NICKNAME:%s\n".nick))
cfc0 0a 20 20 20 20 20 28 77 68 65 6e 20 6e 6f 74 65 20 28 66 6f 72 6d 61 74 20 22 4e 4f 54 45 3a 25 ......(when.note.(format."NOTE:%
cfe0 73 5c 6e 22 20 6e 6f 74 65 29 29 0a 20 20 20 20 20 22 45 4e 44 3a 56 43 41 52 44 5c 6e 5c 6e 22 s\n".note))......"END:VCARD\n\n"
d000 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 65 78 70 6f 72 74 2d )))..(defun.org-contacts-export-
d020 61 73 2d 76 63 61 72 64 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6e 61 6d 65 20 66 69 6c 65 20 74 6f as-vcard.(&optional.name.file.to
d040 2d 62 75 66 66 65 72 29 0a 20 20 22 45 78 70 6f 72 74 20 6f 72 67 20 63 6f 6e 74 61 63 74 73 20 -buffer)..."Export.org.contacts.
d060 74 6f 20 56 2d 43 61 72 64 20 33 2e 30 2e 0a 0a 42 79 20 64 65 66 61 75 6c 74 2c 20 61 6c 6c 20 to.V-Card.3.0...By.default,.all.
d080 63 6f 6e 74 61 63 74 73 20 61 72 65 20 65 78 70 6f 72 74 65 64 20 74 6f 20 60 6f 72 67 2d 63 6f contacts.are.exported.to.`org-co
d0a0 6e 74 61 63 74 73 2d 76 63 61 72 64 2d 66 69 6c 65 27 2e 0a 0a 57 68 65 6e 20 4e 41 4d 45 20 69 ntacts-vcard-file'...When.NAME.i
d0c0 73 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 2c 20 70 72 6f 6d 70 74 s.\\[universal-argument],.prompt
d0e0 73 20 66 6f 72 20 61 20 63 6f 6e 74 61 63 74 20 6e 61 6d 65 2e 0a 0a 57 68 65 6e 20 4e 41 4d 45 s.for.a.contact.name...When.NAME
d100 20 69 73 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 75 6e .is.\\[universal-argument].\\[un
d120 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 2c 0a 70 72 6f 6d 70 74 73 20 66 6f 72 20 61 iversal-argument],.prompts.for.a
d140 20 63 6f 6e 74 61 63 74 20 6e 61 6d 65 20 61 6e 64 20 61 20 66 69 6c 65 20 6e 61 6d 65 20 77 68 .contact.name.and.a.file.name.wh
d160 65 72 65 20 74 6f 20 65 78 70 6f 72 74 2e 0a 0a 57 68 65 6e 20 4e 41 4d 45 20 69 73 20 5c 5c 5b ere.to.export...When.NAME.is.\\[
d180 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c universal-argument].\\[universal
d1a0 2d 61 72 67 75 6d 65 6e 74 5d 0a 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 -argument].\\[universal-argument
d1c0 5d 2c 20 70 72 6f 6d 70 74 73 20 66 6f 72 20 61 20 63 6f 6e 74 61 63 74 20 6e 61 6d 65 20 61 6e ],.prompts.for.a.contact.name.an
d1e0 64 20 61 20 62 75 66 66 65 72 20 77 68 65 72 65 20 74 6f 20 65 78 70 6f 72 74 2e 0a 0a 49 66 20 d.a.buffer.where.to.export...If.
d200 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 63 61 6c 6c 65 64 20 69 6e 74 65 72 the.function.is.not.called.inter
d220 61 63 74 69 76 65 6c 79 2c 20 61 6c 6c 20 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 0a 70 61 73 actively,.all.parameters.are.pas
d240 73 65 64 20 74 6f 20 60 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 65 78 70 6f 72 74 2d 61 73 2d 76 sed.to.`org-contacts-export-as-v
d260 63 61 72 64 2d 69 6e 74 65 72 6e 61 6c 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 card-internal'."...(interactive.
d280 22 50 22 29 0a 20 20 28 77 68 65 6e 20 28 63 61 6c 6c 65 64 2d 69 6e 74 65 72 61 63 74 69 76 65 "P")...(when.(called-interactive
d2a0 6c 79 2d 70 20 27 61 6e 79 29 0a 20 20 20 20 28 63 6c 2d 70 73 65 74 66 20 6e 61 6d 65 0a 20 20 ly-p.'any).....(cl-psetf.name...
d2c0 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 ............(when.name..........
d2e0 20 20 20 20 20 20 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 22 43 6f 6e 74 61 63 74 20 6e 61 6d .......(read-string."Contact.nam
d300 65 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e:."............................
d320 20 20 28 6e 74 68 20 30 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 61 74 2d 70 6f 69 6e 74 29 ..(nth.0.(org-contacts-at-point)
d340 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 )))...............file..........
d360 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 75 61 6c 20 6e 61 6d 65 20 27 28 31 36 29 29 0a 20 20 .....(when.(equal.name.'(16))...
d380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 46 ..............(read-file-name."F
d3a0 69 6c 65 3a 20 22 20 6e 69 6c 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 76 63 61 72 64 2d 66 69 ile:.".nil.org-contacts-vcard-fi
d3c0 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 2d 62 75 66 66 65 72 0a 20 20 20 le))...............to-buffer....
d3e0 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 75 61 6c 20 6e 61 6d 65 20 27 28 36 ...........(when.(equal.name.'(6
d400 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 62 75 66 66 65 72 4)).................(read-buffer
d420 20 22 42 75 66 66 65 72 3a 20 22 29 29 29 29 0a 20 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d ."Buffer:."))))...(org-contacts-
d440 65 78 70 6f 72 74 2d 61 73 2d 76 63 61 72 64 2d 69 6e 74 65 72 6e 61 6c 20 6e 61 6d 65 20 66 69 export-as-vcard-internal.name.fi
d460 6c 65 20 74 6f 2d 62 75 66 66 65 72 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 le.to-buffer))..(defun.org-conta
d480 63 74 73 2d 65 78 70 6f 72 74 2d 61 73 2d 76 63 61 72 64 2d 69 6e 74 65 72 6e 61 6c 20 28 26 6f cts-export-as-vcard-internal.(&o
d4a0 70 74 69 6f 6e 61 6c 20 6e 61 6d 65 20 66 69 6c 65 20 74 6f 2d 62 75 66 66 65 72 29 0a 20 20 22 ptional.name.file.to-buffer)..."
d4c0 45 78 70 6f 72 74 20 61 6c 6c 20 63 6f 6e 74 61 63 74 73 20 6d 61 74 63 68 69 6e 67 20 4e 41 4d Export.all.contacts.matching.NAM
d4e0 45 20 61 73 20 56 43 61 72 64 20 33 2e 30 2e 0a 49 66 20 54 4f 2d 42 55 46 46 45 52 20 69 73 20 E.as.VCard.3.0..If.TO-BUFFER.is.
d500 6e 69 6c 2c 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 69 73 20 77 72 69 74 74 65 6e 20 74 6f 20 46 nil,.the.content.is.written.to.F
d520 49 4c 45 20 6f 72 0a 60 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 76 63 61 72 64 2d 66 69 6c 65 27 ILE.or.`org-contacts-vcard-file'
d540 2e 20 20 49 66 20 54 4f 2d 42 55 46 46 45 52 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 20 ...If.TO-BUFFER.is.non-nil,.the.
d560 62 75 66 66 65 72 0a 69 73 20 63 72 65 61 74 65 64 20 61 6e 64 20 74 68 65 20 56 43 61 72 64 20 buffer.is.created.and.the.VCard.
d580 69 73 20 77 72 69 74 74 65 6e 20 69 6e 74 6f 20 74 68 61 74 20 62 75 66 66 65 72 2e 22 0a 20 20 is.written.into.that.buffer."...
d5a0 28 6c 65 74 2a 20 28 28 66 69 6c 65 6e 61 6d 65 20 28 6f 72 20 66 69 6c 65 20 6f 72 67 2d 63 6f (let*.((filename.(or.file.org-co
d5c0 6e 74 61 63 74 73 2d 76 63 61 72 64 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 62 75 ntacts-vcard-file))..........(bu
d5e0 66 66 65 72 20 28 69 66 20 74 6f 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ffer.(if.to-buffer..............
d600 20 20 20 20 20 20 20 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 74 6f 2d 62 75 ........(get-buffer-create.to-bu
d620 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6e 64 2d 66 ffer)....................(find-f
d640 69 6c 65 2d 6e 6f 73 65 6c 65 63 74 20 66 69 6c 65 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 28 6d ile-noselect.filename)))).....(m
d660 65 73 73 61 67 65 20 22 45 78 70 6f 72 74 69 6e 67 2e 2e 2e 22 29 0a 20 20 20 20 28 73 65 74 2d essage."Exporting...").....(set-
d680 62 75 66 66 65 72 20 62 75 66 66 65 72 29 0a 20 20 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 buffer.buffer).....(let.((inhibi
d6a0 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 29 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 29 0a t-read-only.t)).(erase-buffer)).
d6c0 20 20 20 20 28 66 75 6e 64 61 6d 65 6e 74 61 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 28 77 68 65 6e ....(fundamental-mode).....(when
d6e0 20 28 66 62 6f 75 6e 64 70 20 27 73 65 74 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d 63 6f 64 69 6e .(fboundp.'set-buffer-file-codin
d700 67 2d 73 79 73 74 65 6d 29 0a 20 20 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 66 69 6c 65 g-system).......(set-buffer-file
d720 2d 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 20 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d 66 6f 72 -coding-system.coding-system-for
d740 2d 77 72 69 74 65 29 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 63 6f 6e 74 61 63 -write)).....(cl-loop.for.contac
d760 74 20 69 6e 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 74 65 72 20 6e 61 6d 65 29 0a t.in.(org-contacts-filter.name).
d780 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 69 6e 73 65 72 74 20 28 6f 72 67 2d 63 6f 6e .............do.(insert.(org-con
d7a0 74 61 63 74 73 2d 76 63 61 72 64 2d 66 6f 72 6d 61 74 20 63 6f 6e 74 61 63 74 29 29 29 0a 20 20 tacts-vcard-format.contact)))...
d7c0 20 20 28 69 66 20 74 6f 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 ..(if.to-buffer.........(current
d7e0 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 20 28 73 61 76 65 2d 62 75 66 66 -buffer).......(progn.(save-buff
d800 65 72 29 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 er).(kill-buffer)))))..(defun.or
d820 67 2d 63 6f 6e 74 61 63 74 73 2d 73 68 6f 77 2d 6d 61 70 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6e g-contacts-show-map.(&optional.n
d840 61 6d 65 29 0a 20 20 22 53 68 6f 77 20 63 6f 6e 74 61 63 74 73 20 6f 6e 20 61 20 6d 61 70 2e 0a ame)..."Show.contacts.on.a.map..
d860 52 65 71 75 69 72 65 73 20 67 6f 6f 67 6c 65 2d 6d 61 70 73 2d 65 6c 2e 22 0a 20 20 28 69 6e 74 Requires.google-maps-el."...(int
d880 65 72 61 63 74 69 76 65 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 66 62 6f 75 6e 64 70 20 27 67 6f eractive)...(unless.(fboundp.'go
d8a0 6f 67 6c 65 2d 6d 61 70 73 2d 73 74 61 74 69 63 2d 73 68 6f 77 29 0a 20 20 20 20 28 65 72 72 6f ogle-maps-static-show).....(erro
d8c0 72 20 22 60 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 68 6f 77 2d 6d 61 70 27 20 72 65 71 75 69 r."`org-contacts-show-map'.requi
d8e0 72 65 73 20 60 67 6f 6f 67 6c 65 2d 6d 61 70 73 2d 65 6c 27 22 29 29 0a 20 20 28 67 6f 6f 67 6c res.`google-maps-el'"))...(googl
d900 65 2d 6d 61 70 73 2d 73 74 61 74 69 63 2d 73 68 6f 77 0a 20 20 20 3a 6d 61 72 6b 65 72 73 0a 20 e-maps-static-show....:markers..
d920 20 20 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 20 66 6f 72 20 63 6f 6e 74 61 63 74 20 69 6e 20 28 6f ..(cl-loop.....for.contact.in.(o
d940 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 74 65 72 20 6e 61 6d 65 29 0a 20 20 20 20 66 6f 72 rg-contacts-filter.name).....for
d960 20 61 64 64 72 20 3d 20 28 63 64 72 20 28 61 73 73 6f 63 2d 73 74 72 69 6e 67 20 6f 72 67 2d 63 .addr.=.(cdr.(assoc-string.org-c
d980 6f 6e 74 61 63 74 73 2d 61 64 64 72 65 73 73 2d 70 72 6f 70 65 72 74 79 20 28 6e 74 68 20 32 20 ontacts-address-property.(nth.2.
d9a0 63 6f 6e 74 61 63 74 29 29 29 0a 20 20 20 20 69 66 20 61 64 64 72 0a 20 20 20 20 63 6f 6c 6c 65 contact))).....if.addr.....colle
d9c0 63 74 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 61 64 64 72 29 20 28 6c 69 73 74 20 3a 6c 61 62 65 ct.(cons.(list.addr).(list.:labe
d9e0 6c 20 28 73 74 72 69 6e 67 2d 74 6f 2d 63 68 61 72 20 28 63 61 72 20 63 6f 6e 74 61 63 74 29 29 l.(string-to-char.(car.contact))
da00 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 74 72 69 70 )))))..(defun.org-contacts-strip
da20 2d 6c 69 6e 6b 20 28 6c 69 6e 6b 29 0a 20 20 22 52 65 6d 6f 76 65 20 62 72 61 63 6b 65 74 73 2c -link.(link)..."Remove.brackets,
da40 20 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 6c 69 6e 6b 20 74 79 70 65 20 61 6e 64 20 63 6f 6c 6f .description,.link.type.and.colo
da60 6e 20 66 72 6f 6d 20 61 6e 20 6f 72 67 0a 6c 69 6e 6b 20 73 74 72 69 6e 67 20 61 6e 64 20 72 65 n.from.an.org.link.string.and.re
da80 74 75 72 6e 20 74 68 65 20 70 75 72 65 20 6c 69 6e 6b 20 74 61 72 67 65 74 2e 22 0a 20 20 28 6c turn.the.pure.link.target."...(l
daa0 65 74 20 28 73 74 61 72 74 70 6f 73 20 63 6f 6c 6f 6e 70 6f 73 20 65 6e 64 70 6f 73 29 0a 20 20 et.(startpos.colonpos.endpos)...
dac0 20 20 28 73 65 74 71 20 73 74 61 72 74 70 6f 73 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 28 ..(setq.startpos.(string-match.(
dae0 72 65 67 65 78 70 2d 6f 70 74 20 27 28 22 5b 5b 74 65 6c 3a 22 20 22 5b 5b 6d 61 69 6c 74 6f 3a regexp-opt.'("[[tel:"."[[mailto:
db00 22 29 29 20 6c 69 6e 6b 29 29 0a 20 20 20 20 28 69 66 20 73 74 61 72 74 70 6f 73 0a 20 20 20 20 ")).link)).....(if.startpos.....
db20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 6f 6c 6f 6e ....(progn...........(setq.colon
db40 70 6f 73 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 3a 22 20 6c 69 6e 6b 29 29 0a 20 20 20 pos.(string-match.":".link))....
db60 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6e 64 70 6f 73 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 .......(setq.endpos.(string-matc
db80 68 20 22 5c 5c 5d 22 20 6c 69 6e 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 65 6e 64 h."\\]".link))...........(if.end
dba0 70 6f 73 20 28 73 75 62 73 74 72 69 6e 67 20 6c 69 6e 6b 20 28 31 2b 20 63 6f 6c 6f 6e 70 6f 73 pos.(substring.link.(1+.colonpos
dbc0 29 20 65 6e 64 70 6f 73 29 20 6c 69 6e 6b 29 29 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 ).endpos).link)).......(progn...
dbe0 20 20 20 20 20 20 28 73 65 74 71 20 73 74 61 72 74 70 6f 73 20 28 73 74 72 69 6e 67 2d 6d 61 74 ......(setq.startpos.(string-mat
dc00 63 68 20 22 6d 61 69 6c 74 6f 3a 22 20 6c 69 6e 6b 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 ch."mailto:".link)).........(set
dc20 71 20 63 6f 6c 6f 6e 70 6f 73 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 3a 22 20 6c 69 6e q.colonpos.(string-match.":".lin
dc40 6b 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 73 74 61 72 74 70 6f 73 20 28 73 75 62 73 74 72 k)).........(if.startpos.(substr
dc60 69 6e 67 20 6c 69 6e 6b 20 28 31 2b 20 63 6f 6c 6f 6e 70 6f 73 29 29 20 6c 69 6e 6b 29 29 29 29 ing.link.(1+.colonpos)).link))))
dc80 29 0a 0a 3b 3b 20 41 64 64 20 74 68 65 20 6c 69 6e 6b 20 74 79 70 65 20 73 75 70 70 6f 72 74 65 )..;;.Add.the.link.type.supporte
dca0 64 20 62 79 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 74 72 69 70 2d 6c 69 6e 6b 0a 3b 3b 20 d.by.org-contacts-strip-link.;;.
dcc0 73 6f 20 65 76 65 72 79 74 68 69 6e 67 20 69 73 20 69 6e 20 6f 72 64 65 72 20 66 6f 72 20 69 74 so.everything.is.in.order.for.it
dce0 73 20 75 73 65 20 69 6e 20 4f 72 67 20 66 69 6c 65 73 0a 28 69 66 20 28 66 62 6f 75 6e 64 70 20 s.use.in.Org.files.(if.(fboundp.
dd00 27 6f 72 67 2d 6c 69 6e 6b 2d 73 65 74 2d 70 61 72 61 6d 65 74 65 72 73 29 0a 20 20 20 20 28 6f 'org-link-set-parameters).....(o
dd20 72 67 2d 6c 69 6e 6b 2d 73 65 74 2d 70 61 72 61 6d 65 74 65 72 73 20 22 74 65 6c 22 29 0a 20 20 rg-link-set-parameters."tel")...
dd40 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6f 72 67 2d 61 64 64 2d 6c 69 6e 6b 2d 74 79 70 65 29 (if.(fboundp.'org-add-link-type)
dd60 0a 20 20 20 20 20 20 28 6f 72 67 2d 61 64 64 2d 6c 69 6e 6b 2d 74 79 70 65 20 22 74 65 6c 22 29 .......(org-add-link-type."tel")
dd80 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 73 70 6c 69 74 2d 70 72 ))..(defun.org-contacts-split-pr
dda0 6f 70 65 72 74 79 20 28 73 74 72 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 73 65 70 61 72 61 74 operty.(string.&optional.separat
ddc0 6f 72 73 20 6f 6d 69 74 2d 6e 75 6c 6c 73 29 0a 20 20 22 43 75 73 74 6f 6d 20 76 65 72 73 69 6f ors.omit-nulls)..."Custom.versio
dde0 6e 20 6f 66 20 60 73 70 6c 69 74 2d 73 74 72 69 6e 67 27 2e 0a 53 70 6c 69 74 20 61 20 70 72 6f n.of.`split-string'..Split.a.pro
de00 70 65 72 74 79 20 53 54 52 49 4e 47 20 69 6e 74 6f 20 73 75 62 2d 73 74 72 69 6e 67 73 20 62 6f perty.STRING.into.sub-strings.bo
de20 75 6e 64 65 64 20 62 79 20 6d 61 74 63 68 65 73 0a 66 6f 72 20 53 45 50 41 52 41 54 4f 52 53 20 unded.by.matches.for.SEPARATORS.
de40 62 75 74 20 6b 65 65 70 20 4f 72 67 20 6c 69 6e 6b 73 20 69 6e 74 61 63 74 2e 0a 0a 54 68 65 20 but.keep.Org.links.intact...The.
de60 62 65 67 69 6e 6e 69 6e 67 20 61 6e 64 20 65 6e 64 20 6f 66 20 53 54 52 49 4e 47 2c 20 61 6e 64 beginning.and.end.of.STRING,.and
de80 20 65 61 63 68 20 6d 61 74 63 68 20 66 6f 72 20 53 45 50 41 52 41 54 4f 52 53 2c 20 61 72 65 0a .each.match.for.SEPARATORS,.are.
dea0 73 70 6c 69 74 74 69 6e 67 20 70 6f 69 6e 74 73 2e 20 20 54 68 65 20 73 75 62 73 74 72 69 6e 67 splitting.points...The.substring
dec0 73 20 6d 61 74 63 68 69 6e 67 20 53 45 50 41 52 41 54 4f 52 53 20 61 72 65 20 72 65 6d 6f 76 65 s.matching.SEPARATORS.are.remove
dee0 64 2c 20 61 6e 64 0a 74 68 65 20 73 75 62 73 74 72 69 6e 67 73 20 62 65 74 77 65 65 6e 20 74 68 d,.and.the.substrings.between.th
df00 65 20 73 70 6c 69 74 74 69 6e 67 20 70 6f 69 6e 74 73 20 61 72 65 20 63 6f 6c 6c 65 63 74 65 64 e.splitting.points.are.collected
df20 20 61 73 20 61 20 6c 69 73 74 2c 0a 77 68 69 63 68 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 0a .as.a.list,.which.is.returned...
df40 49 66 20 53 45 50 41 52 41 54 4f 52 53 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 69 74 20 73 68 6f If.SEPARATORS.is.non-nil,.it.sho
df60 75 6c 64 20 62 65 20 61 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 0a 6d 61 74 63 uld.be.a.regular.expression.matc
df80 68 69 6e 67 20 74 65 78 74 20 77 68 69 63 68 20 73 65 70 61 72 61 74 65 73 2c 20 62 75 74 20 69 hing.text.which.separates,.but.i
dfa0 73 20 6e 6f 74 20 70 61 72 74 20 6f 66 2c 20 74 68 65 0a 73 75 62 73 74 72 69 6e 67 73 2e 20 20 s.not.part.of,.the.substrings...
dfc0 49 66 20 6e 69 6c 20 69 74 20 64 65 66 61 75 6c 74 73 20 74 6f 20 60 6f 72 67 2d 63 6f 6e 74 61 If.nil.it.defaults.to.`org-conta
dfe0 63 74 73 2d 70 72 6f 70 65 72 74 79 2d 76 61 6c 75 65 73 2d 73 65 70 61 72 61 74 6f 72 73 27 2c cts-property-values-separators',
e000 0a 6e 6f 72 6d 61 6c 6c 79 20 5c 22 5b 2c 3b 20 5c 66 5c 74 5c 6e 5c 72 5c 76 5d 2b 5c 22 2c 20 .normally.\"[,;.\f\t\n\r\v]+\",.
e020 61 6e 64 20 4f 4d 49 54 2d 4e 55 4c 4c 53 20 69 73 20 66 6f 72 63 65 64 20 74 6f 20 74 2e 0a 0a and.OMIT-NULLS.is.forced.to.t...
e040 49 66 20 4f 4d 49 54 2d 4e 55 4c 4c 53 20 69 73 20 74 2c 20 7a 65 72 6f 2d 6c 65 6e 67 74 68 20 If.OMIT-NULLS.is.t,.zero-length.
e060 73 75 62 73 74 72 69 6e 67 73 20 61 72 65 20 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 74 68 65 20 substrings.are.omitted.from.the.
e080 6c 69 73 74 20 5c 28 73 6f 0a 74 68 61 74 20 66 6f 72 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 list.\(so.that.for.the.default.v
e0a0 61 6c 75 65 20 6f 66 20 53 45 50 41 52 41 54 4f 52 53 20 6c 65 61 64 69 6e 67 20 61 6e 64 20 74 alue.of.SEPARATORS.leading.and.t
e0c0 72 61 69 6c 69 6e 67 20 77 68 69 74 65 73 70 61 63 65 0a 61 72 65 20 65 66 66 65 63 74 69 76 65 railing.whitespace.are.effective
e0e0 6c 79 20 74 72 69 6d 6d 65 64 29 2e 20 20 49 66 20 6e 69 6c 2c 20 61 6c 6c 20 7a 65 72 6f 2d 6c ly.trimmed)...If.nil,.all.zero-l
e100 65 6e 67 74 68 20 73 75 62 73 74 72 69 6e 67 73 20 61 72 65 20 72 65 74 61 69 6e 65 64 2e 22 0a ength.substrings.are.retained.".
e120 20 20 28 6c 65 74 2a 20 28 28 6f 6d 69 74 2d 6e 75 6c 6c 73 20 28 69 66 20 73 65 70 61 72 61 74 ..(let*.((omit-nulls.(if.separat
e140 6f 72 73 20 6f 6d 69 74 2d 6e 75 6c 6c 73 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 78 ors.omit-nulls.t))..........(rex
e160 70 20 28 6f 72 20 73 65 70 61 72 61 74 6f 72 73 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 70 72 p.(or.separators.org-contacts-pr
e180 6f 70 65 72 74 79 2d 76 61 6c 75 65 73 2d 73 65 70 61 72 61 74 6f 72 73 29 29 0a 20 20 20 20 20 operty-values-separators))......
e1a0 20 20 20 20 28 69 6e 70 75 74 6c 69 73 74 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 73 74 72 ....(inputlist.(split-string.str
e1c0 69 6e 67 20 72 65 78 70 20 6f 6d 69 74 2d 6e 75 6c 6c 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 ing.rexp.omit-nulls))..........(
e1e0 6c 69 6e 6b 73 74 72 69 6e 67 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 73 linkstring."")..........(buffers
e200 74 72 69 6e 67 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 6c 69 73 74 20 28 6c 69 tring."")..........(proplist.(li
e220 73 74 20 22 22 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 69 6e 70 75 74 6c 69 73 74 0a 20 20 st.""))).....(while.inputlist...
e240 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65 72 73 74 72 69 6e 67 20 28 70 6f 70 20 69 6e 70 75 ....(setq.bufferstring.(pop.inpu
e260 74 6c 69 73 74 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 tlist)).......(if.(string-match.
e280 22 5c 5c 5b 5c 5c 5b 22 20 62 75 66 66 65 72 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 "\\[\\[".bufferstring)..........
e2a0 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 69 6e 6b 73 74 .(progn.............(setq.linkst
e2c0 72 69 6e 67 20 28 63 6f 6e 63 61 74 20 62 75 66 66 65 72 73 74 72 69 6e 67 20 22 20 22 29 29 0a ring.(concat.bufferstring.".")).
e2e0 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d ............(while.(not.(string-
e300 6d 61 74 63 68 20 22 5c 5c 5d 5c 5c 5d 22 20 62 75 66 66 65 72 73 74 72 69 6e 67 29 29 0a 20 20 match."\\]\\]".bufferstring))...
e320 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65 72 73 74 72 69 6e 67 20 28 ............(setq.bufferstring.(
e340 70 6f 70 20 69 6e 70 75 74 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 pop.inputlist))...............(s
e360 65 74 71 20 6c 69 6e 6b 73 74 72 69 6e 67 20 28 63 6f 6e 63 61 74 20 20 6c 69 6e 6b 73 74 72 69 etq.linkstring.(concat..linkstri
e380 6e 67 20 62 75 66 66 65 72 73 74 72 69 6e 67 20 22 20 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 ng.bufferstring.".")))..........
e3a0 20 20 20 28 73 65 74 71 20 70 72 6f 70 6c 69 73 74 20 28 63 6f 6e 73 20 28 6f 72 67 2d 74 72 69 ...(setq.proplist.(cons.(org-tri
e3c0 6d 20 6c 69 6e 6b 73 74 72 69 6e 67 29 20 70 72 6f 70 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 m.linkstring).proplist))).......
e3e0 20 20 28 73 65 74 71 20 70 72 6f 70 6c 69 73 74 20 28 63 6f 6e 73 20 62 75 66 66 65 72 73 74 72 ..(setq.proplist.(cons.bufferstr
e400 69 6e 67 20 70 72 6f 70 6c 69 73 74 29 29 29 29 0a 20 20 20 20 28 63 64 72 20 28 72 65 76 65 72 ing.proplist)))).....(cdr.(rever
e420 73 65 20 70 72 6f 70 6c 69 73 74 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a se.proplist))))..;;;###autoload.
e440 3b 3b 20 41 64 64 20 61 6e 20 4f 72 67 20 6c 69 6e 6b 20 74 79 70 65 20 60 6f 72 67 2d 63 6f 6e ;;.Add.an.Org.link.type.`org-con
e460 74 61 63 74 3a 27 20 66 6f 72 20 65 61 73 79 20 6a 75 6d 70 20 74 6f 20 6f 72 20 73 65 61 72 63 tact:'.for.easy.jump.to.or.searc
e480 68 69 6e 67 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 20 68 65 61 64 6c 69 6e 65 2e 0a 3b 3b 20 6c hing.org-contacts.headline..;;.l
e4a0 69 6e 6b 20 73 70 65 63 3a 20 5b 5b 6f 72 67 2d 63 6f 6e 74 61 63 74 3a 71 75 65 72 79 5d 5b 64 ink.spec:.[[org-contact:query][d
e4c0 65 73 63 5d 5d 0a 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6f 72 67 2d 6c 69 6e 6b 2d 73 65 74 esc]].(if.(fboundp.'org-link-set
e4e0 2d 70 61 72 61 6d 65 74 65 72 73 29 0a 20 20 20 20 28 6f 72 67 2d 6c 69 6e 6b 2d 73 65 74 2d 70 -parameters).....(org-link-set-p
e500 61 72 61 6d 65 74 65 72 73 20 22 6f 72 67 2d 63 6f 6e 74 61 63 74 22 0a 20 20 20 20 20 20 20 20 arameters."org-contact".........
e520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 6f 6c 6c 6f 77 20 23 27 6f .....................:follow.#'o
e540 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6c 69 6e 6b 2d 6f 70 65 6e 0a 20 20 20 20 20 20 20 20 20 20 rg-contacts-link-open...........
e560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 70 6c 65 74 65 20 23 27 6f ...................:complete.#'o
e580 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6c 69 6e 6b 2d 63 6f 6d 70 6c 65 74 65 0a 20 20 20 20 20 20 rg-contacts-link-complete.......
e5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 74 6f 72 65 20 23 27 .......................:store.#'
e5c0 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6c 69 6e 6b 2d 73 74 6f 72 65 0a 20 20 20 20 20 20 20 20 org-contacts-link-store.........
e5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 61 63 65 20 27 6f 72 67 2d .....................:face.'org-
e600 63 6f 6e 74 61 63 74 73 2d 6c 69 6e 6b 2d 66 61 63 65 29 0a 20 20 28 69 66 20 28 66 62 6f 75 6e contacts-link-face)...(if.(fboun
e620 64 70 20 27 6f 72 67 2d 61 64 64 2d 6c 69 6e 6b 2d 74 79 70 65 29 0a 20 20 20 20 20 20 28 6f 72 dp.'org-add-link-type).......(or
e640 67 2d 61 64 64 2d 6c 69 6e 6b 2d 74 79 70 65 20 22 6f 72 67 2d 63 6f 6e 74 61 63 74 22 20 27 6f g-add-link-type."org-contact".'o
e660 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6c 69 6e 6b 2d 6f 70 65 6e 29 29 29 0a 0a 3b 3b 3b 23 23 23 rg-contacts-link-open)))..;;;###
e680 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6c 69 6e autoload.(defun.org-contacts-lin
e6a0 6b 2d 73 74 6f 72 65 20 28 29 0a 20 20 22 53 74 6f 72 65 20 74 68 65 20 63 6f 6e 74 61 63 74 20 k-store.()..."Store.the.contact.
e6c0 69 6e 20 60 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 65 73 27 20 77 69 74 68 20 61 20 6c in.`org-contacts-files'.with.a.l
e6e0 69 6e 6b 2e 22 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 ink."...(when.(and.(eq.major-mod
e700 65 20 27 6f 72 67 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d 62 65 e.'org-mode)..............(membe
e720 72 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 r.(buffer-file-name)............
e740 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 23 27 65 78 70 61 6e 64 2d 66 69 6c 65 2d ..........(mapcar.#'expand-file-
e760 6e 61 6d 65 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 65 73 29 29 29 29 0a 20 20 20 name.(org-contacts-files))))....
e780 20 28 69 66 20 28 62 6f 75 6e 64 2d 61 6e 64 2d 74 72 75 65 2d 70 20 6f 72 67 2d 69 64 2d 6c 69 .(if.(bound-and-true-p.org-id-li
e7a0 6e 6b 2d 74 6f 2d 6f 72 67 2d 75 73 65 2d 69 64 29 0a 20 20 20 20 20 20 20 20 28 6f 72 67 2d 69 nk-to-org-use-id).........(org-i
e7c0 64 2d 73 74 6f 72 65 2d 6c 69 6e 6b 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 68 65 61 64 6c d-store-link).......(let.((headl
e7e0 69 6e 65 2d 73 74 72 20 28 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 ine-str.(substring-no-properties
e800 20 28 6f 72 67 2d 67 65 74 2d 68 65 61 64 69 6e 67 20 74 20 74 20 74 20 74 29 29 29 29 0a 20 20 .(org-get-heading.t.t.t.t))))...
e820 20 20 20 20 20 20 28 6f 72 67 2d 6c 69 6e 6b 2d 73 74 6f 72 65 2d 70 72 6f 70 73 0a 20 20 20 20 ......(org-link-store-props.....
e840 20 20 20 20 20 3a 74 79 70 65 20 22 6f 72 67 2d 63 6f 6e 74 61 63 74 22 0a 20 20 20 20 20 20 20 .....:type."org-contact"........
e860 20 20 3a 6c 69 6e 6b 20 68 65 61 64 6c 69 6e 65 2d 73 74 72 0a 20 20 20 20 20 20 20 20 20 3a 64 ..:link.headline-str..........:d
e880 65 73 63 72 69 70 74 69 6f 6e 20 68 65 61 64 6c 69 6e 65 2d 73 74 72 29 0a 20 20 20 20 20 20 20 escription.headline-str)........
e8a0 20 28 6c 65 74 20 28 28 6c 69 6e 6b 20 28 63 6f 6e 63 61 74 20 22 6f 72 67 2d 63 6f 6e 74 61 63 .(let.((link.(concat."org-contac
e8c0 74 3a 22 20 68 65 61 64 6c 69 6e 65 2d 73 74 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6f t:".headline-str)))...........(o
e8e0 72 67 2d 6c 69 6e 6b 2d 61 64 64 2d 70 72 6f 70 73 20 3a 6c 69 6e 6b 20 6c 69 6e 6b 20 3a 64 65 rg-link-add-props.:link.link.:de
e900 73 63 72 69 70 74 69 6f 6e 20 68 65 61 64 6c 69 6e 65 2d 73 74 72 29 0a 20 20 20 20 20 20 20 20 scription.headline-str).........
e920 20 20 6c 69 6e 6b 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 ..link)))))..(defun.org-contacts
e940 2d 2d 61 6c 6c 2d 63 6f 6e 74 61 63 74 73 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 --all-contacts.()..."Return.a.li
e960 73 74 20 6f 66 20 61 6c 6c 20 63 6f 6e 74 61 63 74 73 20 69 6e 20 60 6f 72 67 2d 63 6f 6e 74 61 st.of.all.contacts.in.`org-conta
e980 63 74 73 2d 66 69 6c 65 73 27 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 68 61 73 20 74 68 65 cts-files'..Each.element.has.the
e9a0 20 66 6f 72 6d 20 28 4e 41 4d 45 20 2e 20 28 46 49 4c 45 20 2e 20 50 4f 53 49 54 49 4f 4e 29 29 .form.(NAME...(FILE...POSITION))
e9c0 2e 22 0a 20 20 28 63 61 72 20 28 6d 61 70 63 61 72 0a 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 ."...(car.(mapcar.........(lambd
e9e0 61 20 28 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 62 75 66 66 a.(file)...........(unless.(buff
ea00 65 72 2d 6c 69 76 65 2d 70 20 28 67 65 74 2d 62 75 66 66 65 72 20 28 66 69 6c 65 2d 6e 61 6d 65 er-live-p.(get-buffer.(file-name
ea20 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 -nondirectory.file)))...........
ea40 20 20 28 66 69 6e 64 2d 66 69 6c 65 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 ..(find-file.file))...........(w
ea60 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 20 28 ith-current-buffer.(get-buffer.(
ea80 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 29 0a 20 20 file-name-nondirectory.file))...
eaa0 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 6d 61 70 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20 ..........(org-map-entries......
eac0 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ........(lambda.()..............
eae0 20 20 28 6c 65 74 20 28 28 6e 61 6d 65 20 28 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 ..(let.((name.(substring-no-prop
eb00 65 72 74 69 65 73 20 28 6f 72 67 2d 67 65 74 2d 68 65 61 64 69 6e 67 20 74 20 74 20 74 20 74 29 erties.(org-get-heading.t.t.t.t)
eb20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 20 28 62 ))......................(file.(b
eb40 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uffer-file-name))...............
eb60 20 20 20 20 20 20 20 28 70 6f 73 69 74 69 6f 6e 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 .......(position.(point)))......
eb80 20 20 20 20 20 20 20 20 20 20 20 20 60 28 3a 6e 61 6d 65 20 2c 6e 61 6d 65 20 3a 66 69 6c 65 20 ............`(:name.,name.:file.
eba0 2c 66 69 6c 65 20 3a 70 6f 73 69 74 69 6f 6e 20 2c 70 6f 73 69 74 69 6f 6e 29 29 29 29 29 29 0a ,file.:position.,position)))))).
ebc0 20 20 20 20 20 20 20 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 65 73 29 29 29 29 0a ........(org-contacts-files)))).
ebe0 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 .;;;###autoload.(defun.org-conta
ec00 63 74 73 2d 6c 69 6e 6b 2d 6f 70 65 6e 20 28 70 61 74 68 29 0a 20 20 22 4f 70 65 6e 20 63 6f 6e cts-link-open.(path)..."Open.con
ec20 74 61 63 74 73 3a 20 6c 69 6e 6b 20 74 79 70 65 20 77 69 74 68 20 6a 75 6d 70 69 6e 67 20 6f 72 tacts:.link.type.with.jumping.or
ec40 20 73 65 61 72 63 68 69 6e 67 2e 22 0a 20 20 28 6c 65 74 20 28 28 71 75 65 72 79 20 70 61 74 68 .searching."...(let.((query.path
ec60 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 3b 3b 20 2f 71 75 65 72 79 2f 20 66 6f 72 )).....(cond......;;./query/.for
ec80 6d 61 74 20 73 65 61 72 63 68 69 6e 67 0a 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 mat.searching......((string-matc
eca0 68 20 22 2f 2e 2a 2f 22 20 71 75 65 72 79 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 66 20 h."/.*/".query).......(let*.((f.
ecc0 28 63 61 72 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 65 73 29 29 29 0a 20 20 20 20 (car.(org-contacts-files))).....
ece0 20 20 20 20 20 20 20 20 20 28 62 75 66 20 28 67 65 74 2d 62 75 66 66 65 72 20 28 66 69 6c 65 2d .........(buf.(get-buffer.(file-
ed00 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 66 29 29 29 29 0a 20 20 20 20 20 20 20 20 name-nondirectory.f)))).........
ed20 28 75 6e 6c 65 73 73 20 28 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 20 62 75 66 29 20 28 66 69 6e (unless.(buffer-live-p.buf).(fin
ed40 64 2d 66 69 6c 65 20 66 29 29 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 d-file.f)).........(with-current
ed60 2d 62 75 66 66 65 72 20 62 75 66 0a 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 -buffer.buf...........(string-ma
ed80 74 63 68 20 22 2f 5c 5c 28 2e 2a 5c 5c 29 2f 22 20 71 75 65 72 79 29 0a 20 20 20 20 20 20 20 20 tch."/\\(.*\\)/".query).........
eda0 20 20 28 6f 63 63 75 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 71 75 65 72 79 29 29 ..(occur.(match-string.1.query))
edc0 29 29 29 0a 20 20 20 20 20 3b 3b 20 6a 75 6d 70 20 74 6f 20 65 78 61 63 74 20 63 6f 6e 74 61 63 )))......;;.jump.to.exact.contac
ede0 74 20 68 65 61 64 6c 69 6e 65 20 64 69 72 65 63 74 6c 79 0a 20 20 20 20 20 28 74 0a 20 20 20 20 t.headline.directly......(t.....
ee00 20 20 28 6c 65 74 2a 20 28 28 66 20 28 63 61 72 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 ..(let*.((f.(car.(org-contacts-f
ee20 69 6c 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 5f 20 28 66 69 6e 64 2d 66 69 iles)))..............(_.(find-fi
ee40 6c 65 20 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 20 28 67 65 74 2d 62 75 le.f))..............(buf.(get-bu
ee60 66 66 65 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 66 29 29 ffer.(file-name-nondirectory.f))
ee80 29 29 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 )).........(with-current-buffer.
eea0 62 75 66 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 6d 61 72 6b 65 72 buf...........(goto-char.(marker
eec0 2d 70 6f 73 69 74 69 6f 6e 20 28 6f 72 67 2d 66 69 6e 64 2d 65 78 61 63 74 2d 68 65 61 64 6c 69 -position.(org-find-exact-headli
eee0 6e 65 2d 69 6e 2d 62 75 66 66 65 72 20 71 75 65 72 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 ne-in-buffer.query)))).........(
ef00 64 69 73 70 6c 61 79 2d 62 75 66 66 65 72 20 62 75 66 20 27 28 64 69 73 70 6c 61 79 2d 62 75 66 display-buffer.buf.'(display-buf
ef20 66 65 72 2d 62 65 6c 6f 77 2d 73 65 6c 65 63 74 65 64 29 29 29 0a 0a 20 20 20 20 20 20 3b 3b 20 fer-below-selected)))........;;.
ef40 28 6c 65 74 2a 20 28 28 66 20 28 63 61 72 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c (let*.((f.(car.(org-contacts-fil
ef60 65 73 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 20 20 20 20 20 20 20 28 5f 20 28 66 69 6e 64 2d 66 es))).......;;........(_.(find-f
ef80 69 6c 65 20 66 29 29 0a 20 20 20 20 20 20 3b 3b 20 20 20 20 20 20 20 20 3b 3b 20 46 49 58 4d 45 ile.f)).......;;........;;.FIXME
efa0 3a 0a 20 20 20 20 20 20 3b 3b 20 20 20 20 20 20 20 20 28 63 6f 6e 74 61 63 74 2d 65 6e 74 72 79 :.......;;........(contact-entry
efc0 20 28 6d 61 70 2d 66 69 6c 74 65 72 0a 20 20 20 20 20 20 3b 3b 20 20 20 20 20 20 20 20 20 20 20 .(map-filter.......;;...........
efe0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 63 6f 6e 74 61 63 74 2d 70 6c .............(lambda.(contact-pl
f000 69 73 74 29 0a 20 20 20 20 20 20 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ist).......;;...................
f020 20 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 65 71 75 61 6c 20 28 70 6c 69 73 74 2d .......(if.(string-equal.(plist-
f040 67 65 74 20 63 6f 6e 74 61 63 74 2d 70 6c 69 73 74 20 3a 6e 61 6d 65 29 20 71 75 65 72 79 29 0a get.contact-plist.:name).query).
f060 20 20 20 20 20 20 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......;;........................
f080 20 20 20 20 20 20 63 6f 6e 74 61 63 74 2d 70 6c 69 73 74 29 29 0a 20 20 20 20 20 20 3b 3b 20 20 ......contact-plist)).......;;..
f0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 63 6f 6e 74 61 ......................(org-conta
f0c0 63 74 73 2d 2d 61 6c 6c 2d 63 6f 6e 74 61 63 74 73 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 20 20 cts--all-contacts))).......;;...
f0e0 20 20 20 20 20 28 63 6f 6e 74 61 63 74 2d 6e 61 6d 65 20 28 70 6c 69 73 74 2d 67 65 74 20 63 6f .....(contact-name.(plist-get.co
f100 6e 74 61 63 74 2d 65 6e 74 72 79 20 3a 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 3b 3b 20 20 20 20 ntact-entry.:name)).......;;....
f120 20 20 20 20 28 66 69 6c 65 20 28 70 6c 69 73 74 2d 67 65 74 20 63 6f 6e 74 61 63 74 2d 65 6e 74 ....(file.(plist-get.contact-ent
f140 72 79 20 3a 66 69 6c 65 29 29 0a 20 20 20 20 20 20 3b 3b 20 20 20 20 20 20 20 20 28 70 6f 73 69 ry.:file)).......;;........(posi
f160 74 69 6f 6e 20 28 70 6c 69 73 74 2d 67 65 74 20 63 6f 6e 74 61 63 74 2d 65 6e 74 72 79 20 3a 70 tion.(plist-get.contact-entry.:p
f180 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 3b 3b 20 20 20 20 20 20 20 20 28 62 75 66 20 28 osition)).......;;........(buf.(
f1a0 67 65 74 2d 62 75 66 66 65 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f get-buffer.(file-name-nondirecto
f1c0 72 79 20 66 69 6c 65 29 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 20 20 28 77 69 74 68 2d 63 75 72 ry.file)))).......;;...(with-cur
f1e0 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 73 69 74 rent-buffer.buf.(goto-char.posit
f200 69 6f 6e 29 29 0a 20 20 20 20 20 20 3b 3b 20 20 20 28 64 69 73 70 6c 61 79 2d 62 75 66 66 65 72 ion)).......;;...(display-buffer
f220 20 62 75 66 20 27 28 64 69 73 70 6c 61 79 2d 62 75 66 66 65 72 2d 62 65 6c 6f 77 2d 73 65 6c 65 .buf.'(display-buffer-below-sele
f240 63 74 65 64 29 29 29 0a 20 20 20 20 20 20 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f cted))).......))))..;;;###autolo
f260 61 64 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6c 69 6e 6b 2d 63 6f 6d 70 ad.(defun.org-contacts-link-comp
f280 6c 65 74 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 5f 61 72 67 29 0a 20 20 22 43 72 65 61 74 65 20 lete.(&optional._arg)..."Create.
f2a0 61 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 20 6c 69 6e 6b 20 75 73 69 6e 67 20 63 6f 6d 70 6c 65 a.org-contacts.link.using.comple
f2c0 74 69 6f 6e 2e 22 0a 20 20 28 6c 65 74 20 28 28 6e 61 6d 65 20 28 63 6f 6d 70 6c 65 74 69 6e 67 tion."...(let.((name.(completing
f2e0 2d 72 65 61 64 20 22 6f 72 67 2d 63 6f 6e 74 61 63 74 73 20 4e 41 4d 45 3a 20 22 0a 20 20 20 20 -read."org-contacts.NAME:.".....
f300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 ...........................(mapc
f320 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ar..............................
f340 20 20 20 28 6c 61 6d 62 64 61 20 28 70 6c 69 73 74 29 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c ...(lambda.(plist).(plist-get.pl
f360 69 73 74 20 3a 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ist.:name)).....................
f380 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 2d 61 6c 6c 2d 63 ............(org-contacts--all-c
f3a0 6f 6e 74 61 63 74 73 29 29 29 29 29 0a 20 20 20 20 28 63 6f 6e 63 61 74 20 22 6f 72 67 2d 63 6f ontacts))))).....(concat."org-co
f3c0 6e 74 61 63 74 3a 22 20 6e 61 6d 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 ntact:".name)))..(defun.org-cont
f3e0 61 63 74 73 2d 6c 69 6e 6b 2d 66 61 63 65 20 28 70 61 74 68 29 0a 20 20 22 44 69 66 66 65 72 65 acts-link-face.(path)..."Differe
f400 6e 74 20 66 61 63 65 20 63 6f 6c 6f 72 20 66 6f 72 20 64 69 66 66 65 72 65 6e 74 20 6f 72 67 2d nt.face.color.for.different.org-
f420 63 6f 6e 74 61 63 74 73 20 6c 69 6e 6b 20 71 75 65 72 79 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 contacts.link.query."...(cond...
f440 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 2f 2e 2a 2f 22 20 70 61 74 68 29 0a 20 20 20 .((string-match."/.*/".path)....
f460 20 27 28 3a 62 61 63 6b 67 72 6f 75 6e 64 20 22 73 6b 79 20 62 6c 75 65 22 20 3a 6f 76 65 72 6c .'(:background."sky.blue".:overl
f480 69 6e 65 20 74 20 3a 73 6c 61 6e 74 20 27 69 74 61 6c 69 63 29 29 0a 20 20 20 28 74 20 27 28 3a ine.t.:slant.'italic))....(t.'(:
f4a0 69 6e 68 65 72 69 74 20 6f 72 67 2d 6c 69 6e 6b 29 29 29 29 0a 0a 0a 3b 3b 3b 20 6f 72 67 2d 6d inherit.org-link))))...;;;.org-m
f4c0 6f 64 65 20 6c 69 6e 6b 20 22 6d 61 69 6c 74 6f 3a 22 20 65 6d 61 69 6c 20 63 6f 6d 70 6c 65 74 ode.link."mailto:".email.complet
f4e0 69 6f 6e 2e 0a 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6f 72 67 2d 6c 69 6e 6b 2d 73 65 74 2d ion..(if.(fboundp.'org-link-set-
f500 70 61 72 61 6d 65 74 65 72 73 29 0a 20 20 20 20 28 6f 72 67 2d 6c 69 6e 6b 2d 73 65 74 2d 70 61 parameters).....(org-link-set-pa
f520 72 61 6d 65 74 65 72 73 20 22 6d 61 69 6c 74 6f 22 20 3a 63 6f 6d 70 6c 65 74 65 20 23 27 6f 72 rameters."mailto".:complete.#'or
f540 67 2d 63 6f 6e 74 61 63 74 73 2d 6d 61 69 6c 74 6f 2d 6c 69 6e 6b 2d 63 6f 6d 70 6c 65 74 69 6f g-contacts-mailto-link-completio
f560 6e 29 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6f 72 67 2d 61 64 64 2d 6c 69 6e 6b 2d n)...(if.(fboundp.'org-add-link-
f580 74 79 70 65 29 0a 20 20 20 20 20 20 28 6f 72 67 2d 61 64 64 2d 6c 69 6e 6b 2d 74 79 70 65 20 22 type).......(org-add-link-type."
f5a0 6d 61 69 6c 74 6f 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d mailto")))..(defun.org-contacts-
f5c0 6d 61 69 6c 74 6f 2d 6c 69 6e 6b 2d 2d 67 65 74 2d 61 6c 6c 2d 65 6d 61 69 6c 73 20 28 29 0a 20 mailto-link--get-all-emails.()..
f5e0 20 22 52 65 74 72 69 65 76 65 20 61 6c 6c 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 20 45 4d 41 49 ."Retrieve.all.org-contacts.EMAI
f600 4c 20 70 72 6f 70 65 72 74 79 20 76 61 6c 75 65 73 2e 22 0a 20 20 28 6d 61 70 63 61 72 0a 20 20 L.property.values."...(mapcar...
f620 20 28 6c 61 6d 62 64 61 20 28 63 6f 6e 74 61 63 74 29 0a 20 20 20 20 20 28 6c 65 74 2a 20 28 28 .(lambda.(contact)......(let*.((
f640 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 62 75 66 66 65 72 20 28 66 69 6e 64 2d 66 69 6c 65 2d 6e org-contacts-buffer.(find-file-n
f660 6f 73 65 6c 65 63 74 20 28 63 61 72 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 66 69 6c 65 73 oselect.(car.(org-contacts-files
f680 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 20 28 70 6c 69 73 74 2d 67 65 )))).............(name.(plist-ge
f6a0 74 20 63 6f 6e 74 61 63 74 20 3a 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 t.contact.:name)).............(p
f6c0 6f 73 69 74 69 6f 6e 20 28 70 6c 69 73 74 2d 67 65 74 20 63 6f 6e 74 61 63 74 20 3a 70 6f 73 69 osition.(plist-get.contact.:posi
f6e0 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 69 6c 20 28 73 61 76 65 2d tion)).............(email.(save-
f700 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 excursion......................(
f720 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 with-current-buffer.org-contacts
f740 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 -buffer........................(
f760 67 6f 74 6f 2d 63 68 61 72 20 70 6f 73 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 goto-char.position).............
f780 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 6f 72 67 2d ...........;;.(symbol-name.(org-
f7a0 70 72 6f 70 65 72 74 79 2d 6f 72 2d 76 61 72 69 61 62 6c 65 2d 76 61 6c 75 65 20 27 45 4d 41 49 property-or-variable-value.'EMAI
f7c0 4c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d L))........................(org-
f7e0 65 6e 74 72 79 2d 67 65 74 20 28 70 6f 69 6e 74 29 20 22 45 4d 41 49 4c 22 29 29 29 29 29 0a 20 entry-get.(point)."EMAIL")))))..
f800 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 3b 3b 20 28 63 ......(ignore.name)........;;.(c
f820 6f 6e 73 20 6e 61 6d 65 20 65 6d 61 69 6c 29 0a 20 20 20 20 20 20 20 65 6d 61 69 6c 29 29 0a 20 ons.name.email)........email))..
f840 20 20 28 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 2d 61 6c 6c 2d 63 6f 6e 74 61 63 74 73 29 29 29 ..(org-contacts--all-contacts)))
f860 0a 0a 28 64 65 66 75 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 6d 61 69 6c 74 6f 2d 6c 69 6e ..(defun.org-contacts-mailto-lin
f880 6b 2d 63 6f 6d 70 6c 65 74 69 6f 6e 20 28 26 6f 70 74 69 6f 6e 61 6c 20 5f 61 72 67 29 0a 20 20 k-completion.(&optional._arg)...
f8a0 22 4f 72 67 20 6d 6f 64 65 20 6c 69 6e 6b 20 60 6d 61 69 6c 74 6f 3a 27 20 63 6f 6d 70 6c 65 74 "Org.mode.link.`mailto:'.complet
f8c0 69 6f 6e 20 77 69 74 68 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 20 65 6d 61 69 6c 73 2e 22 0a 20 ion.with.org-contacts.emails."..
f8e0 20 28 6c 65 74 20 28 28 65 6d 61 69 6c 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 .(let.((email.(completing-read."
f900 6f 72 67 2d 63 6f 6e 74 61 63 74 73 20 45 4d 41 49 4c 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 org-contacts.EMAIL:."...........
f920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 63 6f 6e 74 61 ......................(org-conta
f940 63 74 73 2d 6d 61 69 6c 74 6f 2d 6c 69 6e 6b 2d 2d 67 65 74 2d 61 6c 6c 2d 65 6d 61 69 6c 73 29 cts-mailto-link--get-all-emails)
f960 29 29 29 0a 20 20 20 20 28 63 6f 6e 63 61 74 20 22 6d 61 69 6c 74 6f 3a 22 20 65 6d 61 69 6c 29 ))).....(concat."mailto:".email)
f980 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 6f 72 67 2d 63 6f 6e 74 61 63 74 73 29 0a 0a 3b 3b 3b ))..(provide.'org-contacts)..;;;
f9a0 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 .org-contacts.el.ends.here......
f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fa00 6f 72 67 2d 63 6f 6e 74 61 63 74 73 2d 31 2e 31 2f 52 45 41 44 4d 45 2d 65 6c 70 61 00 00 00 00 org-contacts-1.1/README-elpa....
fa20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fa40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fa60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
fa80 30 30 30 32 37 32 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 32 32 34 00 20 30 00 00 00 0002727.00000000000.014224..0...
faa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fb00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
fb20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
fb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc00 54 61 62 6c 65 20 6f 66 20 43 6f 6e 74 65 6e 74 73 0a e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 Table.of.Contents...............
fc20 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 ................................
fc40 94 80 e2 94 80 0a 0a 31 2e 20 49 6e 74 72 6f 0a 32 2e 20 53 63 72 65 65 6e 73 68 6f 74 73 0a 33 .......1..Intro.2..Screenshots.3
fc60 2e 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 34 2e 20 55 73 61 67 65 0a 2e 2e 20 31 2e 20 46 69 ..Installation.4..Usage....1..Fi
fc80 6e 64 20 63 6f 6e 74 61 63 74 20 69 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 20 64 61 74 61 62 nd.contact.in.org-contacts.datab
fca0 73 65 0a 2e 2e 20 32 2e 20 43 6f 6d 70 6c 65 74 65 20 63 6f 6e 74 61 63 74 20 70 72 6f 70 65 72 se....2..Complete.contact.proper
fcc0 74 79 20 77 69 74 68 20 73 6f 6d 65 20 66 75 6e 63 74 69 6f 6e 73 20 73 75 70 70 6f 72 74 0a 2e ty.with.some.functions.support..
fce0 2e 2e 2e 2e 20 31 2e 20 4e 41 4d 45 0a 2e 2e 2e 2e 2e 20 32 2e 20 4e 49 43 4b 0a 2e 2e 2e 2e 2e .....1..NAME.......2..NICK......
fd00 20 33 2e 20 45 4d 41 49 4c 0a 2e 2e 2e 2e 2e 20 34 2e 20 42 49 52 54 48 44 41 59 0a 0a 0a 31 20 .3..EMAIL.......4..BIRTHDAY...1.
fd20 49 6e 74 72 6f 0a e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 0a 0a 20 20 43 Intro..........................C
fd40 6f 6e 74 61 63 74 73 20 6d 61 6e 61 67 65 6d 65 6e 74 20 73 79 73 74 65 6d 20 66 6f 72 20 4f 72 ontacts.management.system.for.Or
fd60 67 20 4d 6f 64 65 2e 0a 0a 20 20 28 54 68 65 20 70 75 62 6c 69 63 20 72 65 70 6f 20 6f 66 20 6f g.Mode.....(The.public.repo.of.o
fd80 72 69 67 69 6e 61 6c 20 60 6f 72 67 2d 6d 6f 64 65 2f 63 6f 6e 74 72 69 62 2f 6c 69 73 70 2f 6f riginal.`org-mode/contrib/lisp/o
fda0 72 67 2d 63 6f 6e 74 61 63 74 73 2e 65 6c 27 2e 29 0a 0a 20 20 4d 61 6e 61 67 65 20 79 6f 75 72 rg-contacts.el'.)....Manage.your
fdc0 20 63 6f 6e 74 61 63 74 73 20 66 72 6f 6d 20 4f 72 67 20 6d 6f 64 65 20 61 6e 64 20 69 6e 20 4f .contacts.from.Org.mode.and.in.O
fde0 72 67 20 6d 6f 64 65 20 63 6f 6e 76 65 6e 69 65 6e 74 20 77 61 79 2e 20 59 6f 75 0a 20 20 63 61 rg.mode.convenient.way..You...ca
fe00 6e 20 61 75 74 6f 20 63 6f 6d 70 6c 65 74 65 20 65 6d 61 69 6c 20 61 64 64 72 65 73 73 65 73 2c n.auto.complete.email.addresses,
fe20 20 65 78 70 6f 72 74 20 63 6f 6e 74 61 63 74 73 20 74 6f 20 61 20 76 43 61 72 64 20 66 69 6c 65 .export.contacts.to.a.vCard.file
fe40 2c 0a 20 20 70 75 74 20 62 69 72 74 68 64 61 79 73 20 69 6e 20 79 6f 75 72 20 4f 72 67 20 41 67 ,...put.birthdays.in.your.Org.Ag
fe60 65 6e 64 61 2c 20 61 6e 64 20 6d 6f 72 65 2e 0a 0a 0a 32 20 53 63 72 65 65 6e 73 68 6f 74 73 0a enda,.and.more....2.Screenshots.
fe80 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 ................................
fea0 90 e2 95 90 e2 95 90 0a 0a 0a 33 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a e2 95 90 e2 95 90 e2 ..........3.Installation........
fec0 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 ................................
fee0 e2 95 90 0a 0a 20 20 50 61 63 6b 61 67 65 20 77 69 6c 6c 20 62 65 20 73 75 62 6d 69 74 74 65 64 .......Package.will.be.submitted
ff00 20 74 6f 20 4e 6f 6e 47 4e 55 20 6f 72 20 4d 45 4c 50 41 2e 20 57 61 69 74 20 6d 65 20 68 61 76 .to.NonGNU.or.MELPA..Wait.me.hav
ff20 65 20 74 69 6d 65 20 74 6f 20 64 6f 0a 20 20 74 68 69 73 20 77 6f 72 6b 2e 0a 0a 0a 34 20 55 73 e.time.to.do...this.work....4.Us
ff40 61 67 65 0a e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 0a 0a 34 2e 31 20 46 age........................4.1.F
ff60 69 6e 64 20 63 6f 6e 74 61 63 74 20 69 6e 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 20 64 61 74 61 ind.contact.in.org-contacts.data
ff80 62 73 65 0a e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 bse.............................
ffa0 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 ................................
ffc0 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 ................................
ffe0 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 0a 0a 20 20 ................................
10000 55 73 65 20 63 6f 6d 6d 61 6e 64 20 60 5b 4d 2d 78 20 6f 72 67 2d 63 6f 6e 74 61 63 74 73 5d 27 Use.command.`[M-x.org-contacts]'
10020 20 74 6f 20 73 65 61 72 63 68 2e 0a 0a 0a 34 2e 32 20 43 6f 6d 70 6c 65 74 65 20 63 6f 6e 74 61 .to.search....4.2.Complete.conta
10040 63 74 20 70 72 6f 70 65 72 74 79 20 77 69 74 68 20 73 6f 6d 65 20 66 75 6e 63 74 69 6f 6e 73 20 ct.property.with.some.functions.
10060 73 75 70 70 6f 72 74 0a e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 support.........................
10080 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 ................................
100a0 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 ................................
100c0 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 ................................
100e0 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 ................................
10100 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 0a 0a 34 2e 32 2e 31 20 4e 41 4d 45 0a .....................4.2.1.NAME.
10120 e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c 0a 0a ................................
10140 0a 34 2e 32 2e 32 20 4e 49 43 4b 0a e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 .4.2.2.NICK.....................
10160 8c e2 95 8c e2 95 8c e2 95 8c 0a 0a 0a 34 2e 32 2e 33 20 45 4d 41 49 4c 0a e2 95 8c e2 95 8c e2 .............4.2.3.EMAIL........
10180 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c 0a 0a 0a 34 2e 32 .............................4.2
101a0 2e 34 20 42 49 52 54 48 44 41 59 0a e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 .4.BIRTHDAY.....................
101c0 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c e2 95 8c 0a 00 00 00 00 00 00 00 00 00 ................................
101e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
104a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
104c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
104e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
106a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
106c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
106e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
108a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
108c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
108e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
110a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
110c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
110e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
111a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
111c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
111e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
112a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
112c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
112e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
113a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
113c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
113e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
114a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
114c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
114e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
115a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
115c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
115e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
116a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
116c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
116e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
117a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
117c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
117e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................