DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ m

⟦f6505947e⟧

    Length: 2851 (0xb23)
    Names: »mail-utils.elc«

Derivation

└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
    └─ ⟦this⟧ »EUUGD11/gnu-31mar87/emacs/lisp/mail-utils.elc« 

Hex Dump

0x000…020 0a 28 70 72 6f 76 69 64 65 20 28 71 75 6f 74 65 20 6d 61 69 6c 2d 75 74 69 6c 73 29 29 0a 0a 28   ┆ (provide (quote mail-utils))  (┆
0x020…040 64 65 66 76 61 72 20 6d 61 69 6c 2d 75 73 65 2d 72 66 63 38 32 32 20 6e 69 6c 20 22 5c 0a 2a 49   ┆defvar mail-use-rfc822 nil "\ *I┆
0x040…060 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 75 73 65 20 61 20 66 75 6c 6c 2c 20 68 61 69 72 79 20 52 46 43   ┆f non-nil, use a full, hairy RFC┆
0x060…080 38 32 32 20 70 61 72 73 65 72 20 6f 6e 20 6d 61 69 6c 20 61 64 64 72 65 73 73 65 73 2e 0a 4f 74   ┆822 parser on mail addresses. Ot┆
0x080…0a0 68 65 72 77 69 73 65 2c 20 28 74 68 65 20 64 65 66 61 75 6c 74 29 20 75 73 65 20 61 20 73 6d 61   ┆herwise, (the default) use a sma┆
0x0a0…0c0 6c 6c 65 72 2c 20 73 6f 6d 65 77 68 61 74 20 66 61 73 74 65 72 20 61 6e 64 0a 6f 66 74 65 6e 2d   ┆ller, somewhat faster and often-┆
0x0c0…0e0 63 6f 72 72 65 63 74 20 70 61 72 73 65 72 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 69 6c 2d 73   ┆correct parser.")  (defun mail-s┆
0x0e0…100 74 72 69 6e 67 2d 64 65 6c 65 74 65 20 28 73 74 72 69 6e 67 20 73 74 61 72 74 20 65 6e 64 29 20   ┆tring-delete (string start end) ┆
0x100…120 22 5c 0a 52 65 74 75 72 6e 73 20 61 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61   ┆"\ Returns a string containing a┆
0x120…140 6c 6c 20 6f 66 20 53 54 52 49 4e 47 20 65 78 63 65 70 74 20 74 68 65 20 70 61 72 74 0a 66 72 6f   ┆ll of STRING except the part fro┆
0x140…160 6d 20 53 54 41 52 54 20 28 69 6e 63 6c 75 73 69 76 65 29 20 74 6f 20 45 4e 44 20 28 65 78 63 6c   ┆m START (inclusive) to END (excl┆
0x160…180 75 73 69 76 65 29 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 08 3f 83 0c 00 09 c4 0a 4f 82 15   ┆usive)." (byte-code " ?      O  ┆
0x180…1a0 00 09 c4 0a 4f 09 08 c3 4f 50 87 22 20 5b 65 6e 64 20 73 74 72 69 6e 67 20 73 74 61 72 74 20 6e   ┆    O   OP " [end string start n┆
0x1a0…1c0 69 6c 20 30 5d 20 34 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 69 6c 2d 73 74 72 69 70 2d 71 75 6f   ┆il 0] 4))  (defun mail-strip-quo┆
0x1c0…1e0 74 65 64 2d 6e 61 6d 65 73 20 28 61 64 64 72 65 73 73 29 20 22 5c 0a 44 65 6c 65 74 65 20 63 6f   ┆ted-names (address) "\ Delete co┆
0x1e0…200 6d 6d 65 6e 74 73 20 61 6e 64 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67 73 20 69 6e 20 61 6e 20   ┆mments and quoted strings in an ┆
0x200…220 61 64 64 72 65 73 73 20 6c 69 73 74 20 41 44 44 52 45 53 53 2e 0a 41 6c 73 6f 20 64 65 6c 65 74   ┆address list ADDRESS. Also delet┆
0x220…240 65 20 6c 65 61 64 69 6e 67 2f 74 72 61 69 6c 69 6e 67 20 77 68 69 74 65 73 70 61 63 65 20 61 6e   ┆e leading/trailing whitespace an┆
0x240…260 64 20 72 65 70 6c 61 63 65 20 46 4f 4f 20 3c 42 41 52 3e 20 77 69 74 68 20 6a 75 73 74 20 42 41   ┆d replace FOO <BAR> with just BA┆
0x260…280 52 2e 0a 52 65 74 75 72 6e 20 61 20 6d 6f 64 69 66 69 65 64 20 61 64 64 72 65 73 73 20 6c 69 73   ┆R. Return a modified address lis┆
0x280…2a0 74 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 08 83 12 00 c6 c7 21 88 c8 c9 ca 09 21 cb 23 82   ┆t." (byte-code "      !     ! # ┆
0x2a0…2c0 a3 00 cc 1a cd ce 09 5c 22 88 09 cf d0 21 cd d1 09 cf d0 21 23 4f 89 11 88 cd d2 09 5c 22 89 12   ┆       \"    !     !#O      \"  ┆
0x2c0…2e0 85 3e 00 d3 09 0a cf d0 21 23 89 11 88 82 28 00 88 d0 89 12 88 cd d4 09 0a 23 89 12 85 75 00 09   ┆ >      !#    (          #   u  ┆
0x2e0…300 47 cf d0 21 56 85 5d 00 09 cf d0 21 48 d5 55 83 68 00 cf d0 21 89 12 82 71 00 d3 09 0a cf d0 21   ┆G  !V ]    !H U h   !   q      !┆
0x300…320 23 89 11 88 82 43 00 88 cd d6 09 5c 22 89 12 85 a0 00 cf d7 21 d8 d9 21 cf d0 21 1d 1c 1b d3 09   ┆#    C     \"       !  !  !     ┆
0x320…340 0d 53 0d 23 89 11 88 d3 09 0b 0c 23 89 11 2b 88 82 76 00 88 09 29 87 22 20 5b 6d 61 69 6c 2d 75   ┆ S #       #  +  v   ) " [mail-u┆
0x340…360 73 65 2d 72 66 63 38 32 32 20 61 64 64 72 65 73 73 20 70 6f 73 20 6a 75 6e 6b 2d 62 65 67 20 6a   ┆se-rfc822 address pos junk-beg j┆
0x360…380 75 6e 6b 2d 65 6e 64 20 63 6c 6f 73 65 20 72 65 71 75 69 72 65 20 72 66 63 38 32 32 20 6d 61 70   ┆unk-end close require rfc822 map┆
0x380…3a0 63 6f 6e 63 61 74 20 69 64 65 6e 74 69 74 79 20 72 66 63 38 32 32 2d 61 64 64 72 65 73 73 65 73   ┆concat identity rfc822-addresses┆
0x3a0…3c0 20 22 2c 20 22 20 6e 69 6c 20 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 5b 20 09 0a 5d   ┆ ", " nil string-match "\\`[   ]┆
0x3c0…3e0 2a 22 20 6d 61 74 63 68 2d 65 6e 64 20 30 20 22 5b 20 09 0a 5d 2a 5c 5c 27 22 20 22 5b 20 09 5d   ┆*" match-end 0 "[   ]*\\'" "[  ]┆
0x3e0…400 2a 28 5c 5c 28 5b 5e 29 5c 22 5c 5c 5d 5c 5c 7c 5c 5c 5c 5c 2e 5c 5c 7c 5c 5c 5c 5c 0a 5c 5c 29   ┆*(\\([^)\"\\]\\|\\\\.\\|\\\\ \\)┆
0x400…420 2a 29 22 20 6d 61 69 6c 2d 73 74 72 69 6e 67 2d 64 65 6c 65 74 65 20 22 5b 20 09 5d 2a 5c 22 5c   ┆*)" mail-string-delete "[  ]*\"\┆
0x420…440 5c 28 5b 5e 5c 22 5c 5c 5d 5c 5c 7c 5c 5c 5c 5c 2e 5c 5c 7c 5c 5c 5c 5c 0a 5c 5c 29 2a 5c 22 5b   ┆\([^\"\\]\\|\\\\.\\|\\\\ \\)*\"[┆
0x440…460 20 09 0a 5d 2a 22 20 36 34 20 22 5c 5c 28 2c 5c 5c 7c 5c 5c 60 5c 5c 29 5b 5e 2c 5d 2a 3c 5c 5c   ┆   ]*" 64 "\\(,\\|\\`\\)[^,]*<\\┆
0x460…480 28 5b 5e 3e 2c 5d 2a 3e 5c 5c 29 22 20 31 20 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 32   ┆([^>,]*>\\)" 1 match-beginning 2┆
0x480…4a0 5d 20 32 36 29 29 0a 0a 28 64 65 66 75 6e 20 72 6d 61 69 6c 2d 64 6f 6e 74 2d 72 65 70 6c 79 2d   ┆] 26))  (defun rmail-dont-reply-┆
0x4a0…4c0 74 6f 20 28 75 73 65 72 69 64 73 29 20 22 5c 0a 52 65 74 75 72 6e 73 20 73 74 72 69 6e 67 20 6f   ┆to (userids) "\ Returns string o┆
0x4c0…4e0 66 20 6d 61 69 6c 20 61 64 64 72 65 73 73 65 73 20 55 53 45 52 49 44 53 20 73 61 6e 73 20 61 6e   ┆f mail addresses USERIDS sans an┆
0x4e0…500 79 20 72 65 63 69 70 69 65 6e 74 73 0a 74 68 61 74 20 73 74 61 72 74 20 77 69 74 68 20 6d 61 74   ┆y recipients that start with mat┆
0x500…520 63 68 65 73 20 66 6f 72 20 20 72 6d 61 69 6c 2d 64 6f 6e 74 2d 72 65 70 6c 79 2d 74 6f 2d 6e 61   ┆ches for  rmail-dont-reply-to-na┆
0x520…540 6d 65 73 2e 0a 55 73 65 6e 65 74 20 70 61 74 68 73 20 65 6e 64 69 6e 67 20 69 6e 20 61 6e 20 65   ┆mes. Usenet paths ending in an e┆
0x540…560 6c 65 6d 65 6e 74 20 74 68 61 74 20 6d 61 74 63 68 65 73 20 61 72 65 20 72 65 6d 6f 76 65 64 20   ┆lement that matches are removed ┆
0x560…580 61 6c 73 6f 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 08 3f 85 15 00 c7 c8 c9 ca 21 86 10 00   ┆also." (byte-code " ?       !   ┆
0x580…5a0 c9 cb 21 21 cc 51 89 10 88 cd 08 ce 51 c3 cf cf 1d 1c 1a 19 d0 09 0e 06 5c 22 89 14 85 5a 00 0c   ┆  !! Q      Q           \"   Z  ┆
0x5a0…5c0 d1 56 85 35 00 0c 54 89 14 88 d0 d2 0e 06 d3 d1 21 23 83 47 00 d3 d1 21 82 4a 00 0e 06 47 89 15   ┆ V 5  T         !# G   ! J   G  ┆
0x5c0…5e0 88 d4 0e 06 0c 0d 23 89 16 06 88 82 21 00 88 d0 d5 0e 06 5c 22 89 14 85 6d 00 0e 06 d1 0c 4f 89   ┆      #     !      \"   m     O ┆
0x5e0…600 16 06 88 d0 d6 0e 06 5c 22 83 80 00 0e 06 d3 d1 21 cf 4f 82 82 00 0e 06 2c 87 22 20 5b 72 6d 61   ┆       \"       ! O     , " [rma┆
0x600…620 69 6c 2d 64 6f 6e 74 2d 72 65 70 6c 79 2d 74 6f 2d 6e 61 6d 65 73 20 6d 61 74 63 68 20 63 61 73   ┆il-dont-reply-to-names match cas┆
0x620…640 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68 20 74 20 70 6f 73 20 65 70 6f 73 20 75 73 65 72 69 64 73   ┆e-fold-search t pos epos userids┆
0x640…660 20 22 69 6e 66 6f 2d 5c 5c 7c 22 20 72 65 67 65 78 70 2d 71 75 6f 74 65 20 67 65 74 65 6e 76 20   ┆ "info-\\|" regexp-quote getenv ┆
0x660…680 22 55 53 45 52 22 20 22 4c 4f 47 4e 41 4d 45 22 20 22 5c 5c 3e 22 20 22 5c 5c 28 5e 5c 5c 7c 2c   ┆"USER" "LOGNAME" "\\>" "\\(^\\|,┆
0x680…6a0 5c 5c 29 5b 20 09 0a 5d 2a 5c 5c 28 5b 5e 2c 0a 5d 2a 21 5c 5c 7c 5c 5c 29 5c 5c 28 22 20 22 5c   ┆\\)[   ]*\\([^, ]*!\\|\\)\\(" "\┆
0x6a0…6c0 5c 29 22 20 6e 69 6c 20 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 30 20 22 5b 20 09 0a 2c 5d 2b 22   ┆\)" nil string-match 0 "[   ,]+"┆
0x6c0…6e0 20 6d 61 74 63 68 2d 65 6e 64 20 6d 61 69 6c 2d 73 74 72 69 6e 67 2d 64 65 6c 65 74 65 20 22 5b   ┆ match-end mail-string-delete "[┆
0x6e0…700 20 2c 09 0a 5d 2a 5c 5c 27 22 20 22 5c 5c 73 20 2a 22 5d 20 31 34 29 29 0a 0a 28 64 65 66 75 6e   ┆ ,  ]*\\'" "\\s *"] 14))  (defun┆
0x700…720 20 6d 61 69 6c 2d 66 65 74 63 68 2d 66 69 65 6c 64 20 28 66 69 65 6c 64 2d 6e 61 6d 65 20 26 6f   ┆ mail-fetch-field (field-name &o┆
0x720…740 70 74 69 6f 6e 61 6c 20 6c 61 73 74 20 61 6c 6c 29 20 22 5c 0a 52 65 74 75 72 6e 20 74 68 65 20   ┆ptional last all) "\ Return the ┆
0x740…760 76 61 6c 75 65 20 6f 66 20 74 68 65 20 68 65 61 64 65 72 20 66 69 65 6c 64 20 46 49 45 4c 44 2e   ┆value of the header field FIELD.┆
0x760…780 0a 54 68 65 20 62 75 66 66 65 72 20 69 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 6e 61   ┆ The buffer is expected to be na┆
0x780…7a0 72 72 6f 77 65 64 20 74 6f 20 6a 75 73 74 20 74 68 65 20 68 65 61 64 65 72 73 20 6f 66 20 74 68   ┆rrowed to just the headers of th┆
0x7a0…7c0 65 20 6d 65 73 73 61 67 65 2e 0a 49 66 20 32 6e 64 20 61 72 67 20 4c 41 53 54 20 69 73 20 6e 6f   ┆e message. If 2nd arg LAST is no┆
0x7c0…7e0 6e 2d 6e 69 6c 2c 20 75 73 65 20 74 68 65 20 6c 61 73 74 20 73 75 63 68 20 66 69 65 6c 64 20 69   ┆n-nil, use the last such field i┆
0x7e0…800 66 20 74 68 65 72 65 20 61 72 65 20 73 65 76 65 72 61 6c 2e 0a 49 66 20 33 72 64 20 61 72 67 20   ┆f there are several. If 3rd arg ┆
0x800…820 41 4c 4c 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 63 6f 6e 63 61 74 65 6e 61 74 65 20 61 6c 6c 20   ┆ALL is non-nil, concatenate all ┆
0x820…840 73 75 63 68 20 66 69 65 6c 64 73 2c 20 77 69 74 68 20 63 6f 6d 6d 61 73 20 62 65 74 77 65 65 6e   ┆such fields, with commas between┆
0x840…860 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 8a 65 62 88 c1 c9 ca 0b 21 cb 51 1a 18 65 62 88 0c   ┆." (byte-code " eb     ! Q  eb  ┆
0x860…880 83 5a 00 cc 1d cd 0a c6 c1 23 85 4c 00 60 1e 07 ce cf 21 88 d0 d1 21 85 30 00 c6 88 82 21 00 88   ┆ Z       # L `    !   ! 0    !  ┆
0x880…8a0 0d d2 0d cc 5c 22 83 3d 00 cc 82 3e 00 d3 d4 0e 07 60 53 5c 22 51 89 15 29 88 82 16 00 88 d2 0d   ┆    \" =   >     `S\"Q  )       ┆
0x8a0…8c0 cc 5c 22 3f 85 56 00 0d 29 82 8f 00 cd 0a c6 c1 23 85 8f 00 0e 08 85 74 00 cd 0a c6 c1 23 85 74   ┆ \"? V  )       #      t     # t┆
0x8c0…8e0 00 c6 88 82 67 00 88 60 1e 07 ce cf 21 88 d0 d1 21 85 87 00 c6 88 82 78 00 88 d4 0e 07 60 53 5c   ┆    g  `    !   !      x     `S\┆
0x8e0…900 22 29 2a 29 87 22 20 5b 63 61 73 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68 20 74 20 6e 61 6d 65 20   ┆")*) " [case-fold-search t name ┆
0x900…920 66 69 65 6c 64 2d 6e 61 6d 65 20 61 6c 6c 20 76 61 6c 75 65 20 6e 69 6c 20 6f 70 6f 69 6e 74 20   ┆field-name all value nil opoint ┆
0x920…940 6c 61 73 74 20 22 5e 22 20 72 65 67 65 78 70 2d 71 75 6f 74 65 20 22 5b 20 09 5d 2a 3a 5b 20 09   ┆last "^" regexp-quote "[  ]*:[  ┆
0x940…960 5d 2a 22 20 22 22 20 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 66 6f 72 77 61 72 64   ┆]*" "" re-search-forward forward┆
0x960…980 2d 6c 69 6e 65 20 31 20 6c 6f 6f 6b 69 6e 67 2d 61 74 20 22 5b 20 09 5d 22 20 73 74 72 69 6e 67   ┆-line 1 looking-at "[  ]" string┆
0x980…9a0 3d 20 22 2c 20 22 20 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 5d 20 31 34 29 29 0a 0a 28   ┆= ", " buffer-substring] 14))  (┆
0x9a0…9c0 64 65 66 75 6e 20 6d 61 69 6c 2d 70 61 72 73 65 2d 63 6f 6d 6d 61 2d 6c 69 73 74 20 6e 69 6c 20   ┆defun mail-parse-comma-list nil ┆
0x9c0…9e0 28 62 79 74 65 2d 63 6f 64 65 20 22 c2 c2 19 18 c3 c4 21 88 6d 3f 85 2d 00 60 89 11 88 c3 c5 21   ┆(byte-code "      ! m? - `     !┆
0x9e0…a00 88 c6 c4 21 88 c7 09 60 5c 22 08 42 89 10 88 c3 c5 21 88 c3 c8 21 88 82 08 00 88 08 2a 87 22 20   ┆   !   `\" B     !   !      * " ┆
0xa00…a20 5b 61 63 63 75 6d 75 6c 61 74 65 64 20 62 65 67 20 6e 69 6c 20 73 6b 69 70 2d 63 68 61 72 73 2d   ┆[accumulated beg nil skip-chars-┆
0xa20…a40 66 6f 72 77 61 72 64 20 22 20 22 20 22 5e 2c 22 20 73 6b 69 70 2d 63 68 61 72 73 2d 62 61 63 6b   ┆forward " " "^," skip-chars-back┆
0xa40…a60 77 61 72 64 20 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20 22 2c 20 22 5d 20 38 29 29 0a   ┆ward buffer-substring ", "] 8)) ┆
0xa60…a80 0a 28 64 65 66 75 6e 20 6d 61 69 6c 2d 63 6f 6d 6d 61 2d 6c 69 73 74 2d 72 65 67 65 78 70 20 28   ┆ (defun mail-comma-list-regexp (┆
0xa80…aa0 6c 61 62 65 6c 73 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c2 18 c3 c4 09 5c 22 86 0a 00 c5 89   ┆labels) (byte-code "     \"     ┆
0xaa0…ac0 10 88 09 08 c3 c6 09 08 23 4f 89 11 88 c3 c7 09 5c 22 89 10 85 33 00 09 c5 08 4f c8 09 c9 c5 21   ┆        #O      \"   3    O    !┆
0xac0…ae0 c2 4f 51 89 11 88 82 18 00 29 88 09 87 22 20 5b 70 6f 73 20 6c 61 62 65 6c 73 20 6e 69 6c 20 73   ┆ OQ      )   " [pos labels nil s┆
0xae0…b00 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5b 5e 20 09 5d 22 20 30 20 22 5b 20 09 5d 2a 24 22 20 22   ┆tring-match "[^  ]" 0 "[  ]*$" "┆
0xb00…b20 5b 20 09 5d 2a 2c 5b 20 09 5d 2a 22 20 22 5c 5c 7c 22 20 6d 61 74 63 68 2d 65 6e 64 5d 20 31 30   ┆[  ]*,[  ]*" "\\|" match-end] 10┆
0xb20…b23 29 29 0a   ┆)) ┆