| ofs | hex dump | ascii | 
|---|
| 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 32 37 31 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 34 32 31 36 00 20 30 00 00 00  | 0002271.00000000000.014216..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 |  31 20 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  | 1.Intro......................... | 
| fc20 |  20 43 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  | .Contacts.management.system.for. | 
| fc40 |  4f 72 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  | Org.Mode.....(The.public.repo.of | 
| fc60 |  20 6f 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  | .original.`org-mode/contrib/lisp | 
| fc80 |  2f 6f 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  | /org-contacts.el'.)....Manage.yo | 
| fca0 |  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 64 20 69 6e  | ur.contacts.from.Org.mode.and.in | 
| fcc0 |  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 75 0a 20 20  | .Org.mode.convenient.way..You... | 
| fce0 |  63 61 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  | can.auto.complete.email.addresse | 
| fd00 |  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 66 69  | s,.export.contacts.to.a.vCard.fi | 
| fd20 |  6c 65 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  | le,...put.birthdays.in.your.Org. | 
| fd40 |  41 67 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  | Agenda,.and.more....2.Screenshot | 
| fd60 |  73 0a 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  | s............................... | 
| fd80 |  e2 95 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  | ............3.Installation...... | 
| fda0 |  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 e2  | ................................ | 
| fdc0 |  95 90 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  | .........Package.will.be.submitt | 
| fde0 |  65 64 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  | ed.to.NonGNU.or.MELPA..Wait.me.h | 
| fe00 |  61 76 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  | ave.time.to.do...this.work....4. | 
| fe20 |  55 73 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  | Usage........................4.1 | 
| fe40 |  20 46 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  | .Find.contact.in.org-contacts.da | 
| fe60 |  74 61 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  | tabse........................... | 
| fe80 |  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  | ................................ | 
| fea0 |  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  | ................................ | 
| fec0 |  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 0a 0a  | ................................ | 
| fee0 |  20 20 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  | ..Use.command.`[M-x.org-contacts | 
| ff00 |  5d 27 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  | ]'.to.search....4.2.Complete.con | 
| ff20 |  74 61 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  | tact.property.with.some.function | 
| ff40 |  73 20 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  | s.support....................... | 
| ff60 |  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  | ................................ | 
| ff80 |  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  | ................................ | 
| ffa0 |  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  | ................................ | 
| ffc0 |  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  | ................................ | 
| ffe0 |  e2 94 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  | .......................4.2.1.NAM | 
| 10000 |  45 0a 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  | E............................... | 
| 10020 |  0a 0a 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  | ...4.2.2.NICK................... | 
| 10040 |  e2 95 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  | ...............4.2.3.EMAIL...... | 
| 10060 |  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 0a 34  | ...............................4 | 
| 10080 |  2e 32 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  | .2.4.BIRTHDAY................... | 
| 100a0 |  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 00 00 00 00 00 00 00  | ................................ | 
| 100c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 100e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10100 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10120 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 101a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 101c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 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  | ................................ |