summaryrefslogtreecommitdiff
path: root/localrepo/elfeed-20240331.1348.tar
blob: a03a07d9980bb352b6796a49c378dbe35021a9a9 (plain)
ofshex dumpascii
0000 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 00 00 00 00 00 00 00 00 00 00 00 elfeed-20240331.1348/...........
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 32 33 33 00 20 35 00 00 00 0000000.00000000000.012233..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 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2d 6c 69 6e 6b elfeed-20240331.1348/elfeed-link
0220 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 00 .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 35 36 35 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 37 34 36 00 20 30 00 00 00 0005654.00000000000.014746..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 3b 20 65 6c 66 65 65 64 2d 6c 69 6e 6b 2e 65 6c 20 2d 2d 2d 20 6d 69 73 63 20 66 75 6e 63 ;;;.elfeed-link.el.---.misc.func
0420 74 69 6f 6e 73 20 66 6f 72 20 65 6c 66 65 65 64 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e tions.for.elfeed.-*-.lexical-bin
0440 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 66 72 65 65 20 61 6e ding:.t;.-*-..;;.This.is.free.an
0460 64 20 75 6e 65 6e 63 75 6d 62 65 72 65 64 20 73 6f 66 74 77 61 72 65 20 72 65 6c 65 61 73 65 64 d.unencumbered.software.released
0480 20 69 6e 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2e 0a 0a 3b 3b 3b 20 43 6f .into.the.public.domain...;;;.Co
04a0 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 43 6f 64 65 20 66 6f 72 20 69 6e 74 65 67 72 61 74 69 mmentary:..;;.Code.for.integrati
04c0 6f 6e 20 77 69 74 68 20 6f 72 67 2d 6d 6f 64 65 2e 0a 0a 3b 3b 20 54 6f 20 75 73 65 2c 20 61 64 on.with.org-mode...;;.To.use,.ad
04e0 64 20 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 64 2d 6c 69 6e 6b 29 20 73 6f 6d 65 77 68 65 d.(require.'elfeed-link).somewhe
0500 72 65 20 69 6e 20 79 6f 75 72 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 0a 0a 3b 3b 3b 20 43 re.in.your.configuration...;;;.C
0520 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 6f 72 67 29 0a 28 72 65 71 75 69 72 65 20 27 63 ode:..(require.'org).(require.'c
0540 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 64 2d 64 62 29 0a 28 72 65 71 l-lib).(require.'elfeed-db).(req
0560 75 69 72 65 20 27 65 6c 66 65 65 64 2d 73 68 6f 77 29 0a 28 72 65 71 75 69 72 65 20 27 65 6c 66 uire.'elfeed-show).(require.'elf
0580 65 65 64 2d 73 65 61 72 63 68 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 eed-search)..;;;###autoload.(def
05a0 75 6e 20 65 6c 66 65 65 64 2d 6c 69 6e 6b 2d 73 74 6f 72 65 2d 6c 69 6e 6b 20 28 29 0a 20 20 22 un.elfeed-link-store-link.()..."
05c0 53 74 6f 72 65 20 61 20 6c 69 6e 6b 20 74 6f 20 61 6e 20 65 6c 66 65 65 64 20 73 65 61 72 63 68 Store.a.link.to.an.elfeed.search
05e0 20 6f 72 20 65 6e 74 72 79 20 62 75 66 66 65 72 2e 0a 0a 57 68 65 6e 20 73 74 6f 72 69 6e 67 20 .or.entry.buffer...When.storing.
0600 61 20 6c 69 6e 6b 20 74 6f 20 61 6e 20 65 6e 74 72 79 2c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c a.link.to.an.entry,.automaticall
0620 79 20 65 78 74 72 61 63 74 20 61 6c 6c 20 74 68 65 0a 65 6e 74 72 79 20 6d 65 74 61 64 61 74 61 y.extract.all.the.entry.metadata
0640 2e 20 20 54 68 65 73 65 20 63 61 6e 20 62 65 20 75 73 65 64 20 69 6e 20 74 68 65 20 63 61 70 74 ...These.can.be.used.in.the.capt
0660 75 72 65 20 74 65 6d 70 6c 61 74 65 73 20 61 73 0a 25 3a 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d ure.templates.as.%:elfeed-entry-
0680 3c 70 72 6f 70 3e 2e 20 20 53 65 65 20 60 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 2d 63 72 65 61 <prop>...See.`elfeed-entry--crea
06a0 74 65 27 20 66 6f 72 20 74 68 65 20 6c 69 73 74 0a 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 70 72 te'.for.the.list.of.available.pr
06c0 6f 70 73 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d 70 20 27 ops."...(cond.((derived-mode-p.'
06e0 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 28 66 75 elfeed-search-mode)..........(fu
0700 6e 63 61 6c 6c 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6f 72 67 2d 6c 69 6e 6b 2d 73 74 6f ncall.(if.(fboundp.'org-link-sto
0720 72 65 2d 70 72 6f 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 re-props).......................
0740 23 27 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 20 20 20 20 20 #'org-link-store-props..........
0760 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 20 23 27 6f ...........(with-no-warnings.#'o
0780 72 67 2d 73 74 6f 72 65 2d 6c 69 6e 6b 2d 70 72 6f 70 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 rg-store-link-props))...........
07a0 3a 74 79 70 65 20 22 65 6c 66 65 65 64 22 0a 20 20 20 20 20 20 20 20 20 20 3a 6c 69 6e 6b 20 28 :type."elfeed"...........:link.(
07c0 66 6f 72 6d 61 74 20 22 65 6c 66 65 65 64 3a 25 73 22 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 format."elfeed:%s".elfeed-search
07e0 2d 66 69 6c 74 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 3a 64 65 73 63 72 69 70 74 69 6f 6e 20 -filter)...........:description.
0800 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 elfeed-search-filter)).........(
0820 28 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d 70 20 27 65 6c 66 65 65 64 2d 73 68 6f 77 2d 6d 6f 64 (derived-mode-p.'elfeed-show-mod
0840 65 29 0a 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 0a 20 20 20 20 20 20 20 20 20 20 27 6f 72 e)..........(apply...........'or
0860 67 2d 73 74 6f 72 65 2d 6c 69 6e 6b 2d 70 72 6f 70 73 0a 20 20 20 20 20 20 20 20 20 20 3a 74 79 g-store-link-props...........:ty
0880 70 65 20 22 65 6c 66 65 65 64 22 0a 20 20 20 20 20 20 20 20 20 20 3a 6c 69 6e 6b 20 28 66 6f 72 pe."elfeed"...........:link.(for
08a0 6d 61 74 20 22 65 6c 66 65 65 64 3a 25 73 23 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 mat."elfeed:%s#%s"..............
08c0 20 20 20 20 20 20 20 20 20 20 20 28 63 61 72 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 69 64 ...........(car.(elfeed-entry-id
08e0 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .elfeed-show-entry))............
0900 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d .............(cdr.(elfeed-entry-
0920 69 64 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 id.elfeed-show-entry))).........
0940 20 20 3a 64 65 73 63 72 69 70 74 69 6f 6e 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 69 74 ..:description.(elfeed-entry-tit
0960 6c 65 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 le.elfeed-show-entry)...........
0980 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 70 72 6f 70 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 .(cl-loop.for.prop.in...........
09a0 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 69 64 20 27 74 69 74 6c 65 20 27 6c 69 6e 6b ..........(list.'id.'title.'link
09c0 20 27 64 61 74 65 20 27 63 6f 6e 74 65 6e 74 20 27 63 6f 6e 74 65 6e 74 2d 74 79 70 65 20 27 65 .'date.'content.'content-type.'e
09e0 6e 63 6c 6f 73 75 72 65 73 20 27 74 61 67 73 20 27 66 65 65 64 2d 69 64 20 27 6d 65 74 61 29 0a nclosures.'tags.'feed-id.'meta).
0a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 63 6f 6e 63 20 28 6c 69 73 74 0a ....................nconc.(list.
0a20 20 20 20 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 69 6e 74 65 ...........................(inte
0a40 72 6e 20 28 63 6f 6e 63 61 74 20 22 3a 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 22 20 28 73 79 6d rn.(concat.":elfeed-entry-".(sym
0a60 62 6f 6c 2d 6e 61 6d 65 20 70 72 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bol-name.prop)))................
0a80 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 ............(funcall............
0aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 6e 20 28 63 6f 6e 63 61 74 .................(intern.(concat
0ac0 20 22 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 70 72 ."elfeed-entry-".(symbol-name.pr
0ae0 6f 70 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 20 op)))...........................
0b00 20 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 29 29 29 29 29 0a 0a 3b 3b 3b 23 ..elfeed-show-entry)))))))..;;;#
0b20 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 6c 69 6e 6b 2d 6f 70 ##autoload.(defun.elfeed-link-op
0b40 65 6e 20 28 66 69 6c 74 65 72 2d 6f 72 2d 69 64 29 0a 20 20 22 4a 75 6d 70 20 74 6f 20 61 6e 20 en.(filter-or-id)..."Jump.to.an.
0b60 65 6c 66 65 65 64 20 65 6e 74 72 79 20 6f 72 20 73 65 61 72 63 68 2e 0a 0a 44 65 70 65 6e 64 69 elfeed.entry.or.search...Dependi
0b80 6e 67 20 6f 6e 20 77 68 61 74 20 46 49 4c 54 45 52 2d 4f 52 2d 49 44 20 6c 6f 6f 6b 73 20 6c 69 ng.on.what.FILTER-OR-ID.looks.li
0ba0 6b 65 2c 20 77 65 20 6a 75 6d 70 20 74 6f 20 65 69 74 68 65 72 0a 73 65 61 72 63 68 20 62 75 66 ke,.we.jump.to.either.search.buf
0bc0 66 65 72 20 6f 72 20 73 68 6f 77 20 61 20 63 6f 6e 63 72 65 74 65 20 65 6e 74 72 79 2e 22 0a 20 fer.or.show.a.concrete.entry."..
0be0 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 28 5b 5e 23 5d 2b 5c 5c 29 23 .(if.(string-match."\\([^#]+\\)#
0c00 5c 5c 28 2e 2b 5c 5c 29 22 20 66 69 6c 74 65 72 2d 6f 72 2d 69 64 29 0a 20 20 20 20 20 20 28 65 \\(.+\\)".filter-or-id).......(e
0c20 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d lfeed-show-entry.(elfeed-db-get-
0c40 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 20 20 entry...........................
0c60 28 63 6f 6e 73 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 66 69 6c 74 65 72 2d 6f 72 2d (cons.(match-string.1.filter-or-
0c80 69 64 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 id).............................
0ca0 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 20 66 69 6c 74 65 72 2d 6f 72 2d 69 64 ....(match-string.2.filter-or-id
0cc0 29 29 29 29 0a 20 20 20 20 28 65 6c 66 65 65 64 29 0a 20 20 20 20 28 65 6c 66 65 65 64 2d 73 65 )))).....(elfeed).....(elfeed-se
0ce0 61 72 63 68 2d 73 65 74 2d 66 69 6c 74 65 72 20 66 69 6c 74 65 72 2d 6f 72 2d 69 64 29 29 29 0a arch-set-filter.filter-or-id))).
0d00 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 .;;;###autoload.(eval-after-load
0d20 20 27 6f 72 67 0a 20 20 60 28 66 75 6e 63 61 6c 6c 0a 20 20 20 20 3b 3b 20 54 68 65 20 65 78 74 .'org...`(funcall.....;;.The.ext
0d40 72 61 20 71 75 6f 74 65 20 62 65 6c 6f 77 20 69 73 20 6e 65 63 65 73 73 61 72 79 20 62 65 63 61 ra.quote.below.is.necessary.beca
0d60 75 73 65 20 75 6e 63 6f 6d 70 69 6c 65 64 20 63 6c 6f 73 75 72 65 73 0a 20 20 20 20 3b 3b 20 64 use.uncompiled.closures.....;;.d
0d80 6f 20 6e 6f 74 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 68 65 6d 73 65 6c 76 65 73 2e 20 54 68 o.not.evaluate.to.themselves..Th
0da0 65 20 71 75 6f 74 65 20 69 73 20 68 61 72 6d 6c 65 73 73 20 66 6f 72 0a 20 20 20 20 3b 3b 20 62 e.quote.is.harmless.for.....;;.b
0dc0 79 74 65 2d 63 6f 6d 70 69 6c 65 64 20 66 75 6e 63 74 69 6f 6e 20 6f 62 6a 65 63 74 73 2e 0a 20 yte-compiled.function.objects...
0de0 20 20 20 27 2c 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 76 65 72 ...',(lambda.().........(if.(ver
0e00 73 69 6f 6e 3c 20 28 6f 72 67 2d 76 65 72 73 69 6f 6e 29 20 22 39 2e 30 22 29 0a 20 20 20 20 20 sion<.(org-version)."9.0")......
0e20 20 20 20 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 0a 20 20 20 20 20 20 20 .......(with-no-warnings........
0e40 20 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 65 6c 66 65 65 .......(org-add-link-type."elfee
0e60 64 22 20 23 27 65 6c 66 65 65 64 2d 6c 69 6e 6b 2d 6f 70 65 6e 29 0a 20 20 20 20 20 20 20 20 20 d".#'elfeed-link-open)..........
0e80 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6f 72 67 2d 73 74 6f 72 65 2d 6c 69 6e 6b 2d 66 .....(add-hook.'org-store-link-f
0ea0 75 6e 63 74 69 6f 6e 73 20 23 27 65 6c 66 65 65 64 2d 6c 69 6e 6b 2d 73 74 6f 72 65 2d 6c 69 6e unctions.#'elfeed-link-store-lin
0ec0 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 0a k))...........(with-no-warnings.
0ee0 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 6c 69 6e 6b 2d 73 65 74 2d 70 61 72 61 6d 65 ............(org-link-set-parame
0f00 74 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 6c 66 65 65 64 22 0a 20 20 20 20 20 ters.............."elfeed"......
0f20 20 20 20 20 20 20 20 20 3a 66 6f 6c 6c 6f 77 20 23 27 65 6c 66 65 65 64 2d 6c 69 6e 6b 2d 6f 70 ........:follow.#'elfeed-link-op
0f40 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 74 6f 72 65 20 23 27 65 6c 66 65 65 64 2d en..............:store.#'elfeed-
0f60 6c 69 6e 6b 2d 73 74 6f 72 65 2d 6c 69 6e 6b 29 29 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 link-store-link))))))..(provide.
0f80 27 65 6c 66 65 65 64 2d 6c 69 6e 6b 29 0a 0a 3b 3b 3b 20 65 6c 66 65 65 64 2d 6c 69 6e 6b 2e 65 'elfeed-link)..;;;.elfeed-link.e
0fa0 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 l.ends.here.....................
0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1000 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 78 6d 6c 2d 71 75 65 72 79 2e 65 elfeed-20240331.1348/xml-query.e
1020 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 00 00 00 l...............................
1040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1060 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
1080 30 30 32 30 31 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 31 31 00 20 30 00 00 00 0020100.00000000000.014511..0...
10a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1100 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...................
1120 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...................
1140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1200 3b 3b 3b 20 78 6d 6c 2d 71 75 65 72 79 2e 65 6c 20 2d 2d 2d 20 71 75 65 72 79 20 65 6e 67 69 6e ;;;.xml-query.el.---.query.engin
1220 65 20 63 6f 6d 70 6c 69 6d 65 6e 74 69 6e 67 20 74 68 65 20 78 6d 6c 20 70 61 63 6b 61 67 65 0a e.complimenting.the.xml.package.
1240 0a 3b 3b 20 54 68 69 73 20 69 73 20 66 72 65 65 20 61 6e 64 20 75 6e 65 6e 63 75 6d 62 65 72 65 .;;.This.is.free.and.unencumbere
1260 64 20 73 6f 66 74 77 61 72 65 20 72 65 6c 65 61 73 65 64 20 69 6e 74 6f 20 74 68 65 20 70 75 62 d.software.released.into.the.pub
1280 6c 69 63 20 64 6f 6d 61 69 6e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b lic.domain...;;;.Commentary:..;;
12a0 20 54 68 69 73 20 70 72 6f 76 69 64 65 73 20 61 20 76 65 72 79 20 72 75 64 69 6d 65 6e 74 61 72 .This.provides.a.very.rudimentar
12c0 79 2c 20 6a 51 75 65 72 79 2d 6c 69 6b 65 2c 20 58 4d 4c 20 73 65 6c 65 63 74 6f 72 0a 3b 3b 20 y,.jQuery-like,.XML.selector.;;.
12e0 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 6c 61 6e 67 75 61 67 65 2e 20 49 74 20 6f 70 65 72 61 74 s-expression.language..It.operat
1300 65 73 20 6f 6e 20 74 68 65 20 6f 75 74 70 75 74 20 6f 66 20 74 68 65 20 78 6d 6c 0a 3b 3b 20 70 es.on.the.output.of.the.xml.;;.p
1320 61 63 6b 61 67 65 2c 20 73 75 63 68 20 61 73 20 60 78 6d 6c 2d 70 61 72 73 65 2d 72 65 67 69 6f ackage,.such.as.`xml-parse-regio
1340 6e 27 20 61 6e 64 20 60 78 6d 6c 2d 70 61 72 73 65 2d 66 69 6c 65 27 2e 20 49 74 20 77 61 73 0a n'.and.`xml-parse-file'..It.was.
1360 3b 3b 20 77 72 69 74 74 65 6e 20 74 6f 20 73 75 70 70 6f 72 74 20 45 6c 66 65 65 64 2e 0a 0a 3b ;;.written.to.support.Elfeed...;
1380 3b 20 53 65 65 20 74 68 65 20 64 6f 63 73 74 72 69 6e 67 20 66 6f 72 20 60 78 6d 6c 2d 71 75 65 ;.See.the.docstring.for.`xml-que
13a0 72 79 2d 61 6c 6c 27 2e 0a 0a 3b 3b 20 54 68 65 20 6d 61 63 72 6f 20 66 6f 72 6d 73 2c 20 60 78 ry-all'...;;.The.macro.forms,.`x
13c0 6d 6c 2d 71 75 65 72 79 2a 27 20 61 6e 64 20 60 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 27 2c ml-query*'.and.`xml-query-all*',
13e0 20 61 72 65 20 61 6e 20 6f 72 64 65 72 20 6f 66 0a 3b 3b 20 6d 61 67 6e 69 74 75 64 65 20 66 61 .are.an.order.of.;;.magnitude.fa
1400 73 74 65 72 2c 20 62 75 74 20 6f 6e 6c 79 20 77 6f 72 6b 20 6f 6e 20 73 74 61 74 69 63 20 73 65 ster,.but.only.work.on.static.se
1420 6c 65 63 74 6f 72 73 20 61 6e 64 20 6e 65 65 64 20 74 68 65 0a 3b 3b 20 6e 61 6d 65 73 70 61 63 lectors.and.need.the.;;.namespac
1440 65 73 20 74 6f 20 62 65 20 70 72 65 2d 73 74 72 69 70 70 65 64 2e 0a 0a 3b 3b 20 45 78 61 6d 70 es.to.be.pre-stripped...;;.Examp
1460 6c 65 73 3a 0a 0a 3b 3b 20 54 68 69 73 20 71 75 65 72 79 20 67 72 61 62 73 20 74 68 65 20 74 6f les:..;;.This.query.grabs.the.to
1480 70 2d 6c 65 76 65 6c 20 70 61 72 61 67 72 61 70 68 20 63 6f 6e 74 65 6e 74 20 66 72 6f 6d 20 58 p-level.paragraph.content.from.X
14a0 48 54 4d 4c 2e 0a 0a 3b 3b 20 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 27 28 68 74 6d 6c HTML...;;..(xml-query-all.'(html
14c0 20 62 6f 64 79 20 70 20 2a 29 20 78 68 74 6d 6c 29 0a 0a 3b 3b 20 54 68 69 73 20 71 75 65 72 79 .body.p.*).xhtml)..;;.This.query
14e0 20 65 78 74 72 61 63 74 73 20 61 6c 6c 20 74 68 65 20 6c 69 6e 6b 73 20 66 72 6f 6d 20 61 6e 20 .extracts.all.the.links.from.an.
1500 41 74 6f 6d 20 66 65 65 64 2e 0a 0a 3b 3b 20 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 27 Atom.feed...;;..(xml-query-all.'
1520 28 66 65 65 64 20 65 6e 74 72 79 20 6c 69 6e 6b 20 5b 72 65 6c 20 22 61 6c 74 65 72 6e 61 74 65 (feed.entry.link.[rel."alternate
1540 22 5d 20 3a 68 72 65 66 29 20 78 6d 6c 29 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 "].:href).xml)..;;;.Code:..(requ
1560 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 0a 28 64 65 66 75 6e 20 78 6d 6c 2d 71 75 65 72 79 2d 73 ire.'cl-lib)..(defun.xml-query-s
1580 74 72 69 70 2d 6e 73 20 28 74 61 67 29 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 6e 61 6d 65 trip-ns.(tag)..."Remove.the.name
15a0 73 70 61 63 65 2c 20 69 66 20 61 6e 79 2c 20 66 72 6f 6d 20 54 41 47 2e 22 0a 20 20 28 77 68 65 space,.if.any,.from.TAG."...(whe
15c0 6e 20 28 73 79 6d 62 6f 6c 70 20 74 61 67 29 0a 20 20 20 20 28 6c 65 74 20 28 28 6e 61 6d 65 20 n.(symbolp.tag).....(let.((name.
15e0 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 74 61 67 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 63 (symbol-name.tag))).......(if.(c
1600 6c 2d 66 69 6e 64 20 3f 5c 3a 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 l-find.?\:.name)...........(inte
1620 72 6e 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 5e 2e rn.(replace-regexp-in-string."^.
1640 2b 3a 22 20 22 22 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 74 61 67 29 29 29 29 0a 0a 28 +:"."".name)).........tag))))..(
1660 64 65 66 75 6e 20 78 6d 6c 2d 71 75 65 72 79 2d 2d 74 61 67 2d 61 6c 6c 20 28 6d 61 74 63 68 20 defun.xml-query--tag-all.(match.
1680 78 6d 6c 29 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 74 61 67 20 61 74 74 72 69 62 73 xml)...(cl-loop.for.(tag.attribs
16a0 20 2e 20 63 6f 6e 74 65 6e 74 29 20 69 6e 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e 6f 74 ...content).in.(cl-remove-if-not
16c0 20 23 27 6c 69 73 74 70 20 78 6d 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 28 6f .#'listp.xml)............when.(o
16e0 72 20 28 65 71 20 74 61 67 20 6d 61 74 63 68 29 20 28 65 71 20 28 78 6d 6c 2d 71 75 65 72 79 2d r.(eq.tag.match).(eq.(xml-query-
1700 73 74 72 69 70 2d 6e 73 20 74 61 67 29 20 6d 61 74 63 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 strip-ns.tag).match))...........
1720 20 63 6f 6c 6c 65 63 74 20 28 63 6f 6e 73 20 74 61 67 20 28 63 6f 6e 73 20 61 74 74 72 69 62 73 .collect.(cons.tag.(cons.attribs
1740 20 63 6f 6e 74 65 6e 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 78 6d 6c 2d 71 75 65 72 79 2d 2d .content))))..(defun.xml-query--
1760 61 74 74 72 69 62 2d 61 6c 6c 20 28 61 74 74 72 69 62 20 76 61 6c 75 65 20 78 6d 6c 29 0a 20 20 attrib-all.(attrib.value.xml)...
1780 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 74 61 67 20 61 74 74 72 69 62 73 20 2e 20 63 6f 6e 74 (cl-loop.for.(tag.attribs...cont
17a0 65 6e 74 29 20 69 6e 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e 6f 74 20 23 27 6c 69 73 74 ent).in.(cl-remove-if-not.#'list
17c0 70 20 78 6d 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 28 65 71 75 61 6c 20 28 63 p.xml)............when.(equal.(c
17e0 64 72 20 28 61 73 73 6f 63 20 61 74 74 72 69 62 20 61 74 74 72 69 62 73 29 29 20 76 61 6c 75 65 dr.(assoc.attrib.attribs)).value
1800 29 0a 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 28 63 6f 6e 73 20 74 61 67 20 28 )............collect.(cons.tag.(
1820 63 6f 6e 73 20 61 74 74 72 69 62 73 20 63 6f 6e 74 65 6e 74 29 29 29 29 0a 0a 28 64 65 66 75 6e cons.attribs.content))))..(defun
1840 20 78 6d 6c 2d 71 75 65 72 79 2d 2d 6b 65 79 77 6f 72 64 20 28 6d 61 74 63 68 65 72 20 78 6d 6c .xml-query--keyword.(matcher.xml
1860 29 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 77 69 74 68 20 6d 61 74 63 68 20 3d 20 28 69 6e 74 65 72 )...(cl-loop.with.match.=.(inter
1880 6e 20 28 73 75 62 73 74 72 69 6e 67 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 6d 61 74 63 68 65 n.(substring.(symbol-name.matche
18a0 72 29 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 74 61 67 20 61 74 74 72 69 r).1))............for.(tag.attri
18c0 62 73 20 2e 20 63 6f 6e 74 65 6e 74 29 20 69 6e 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e bs...content).in.(cl-remove-if-n
18e0 6f 74 20 23 27 6c 69 73 74 70 20 78 6d 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 ot.#'listp.xml)............when.
1900 28 63 64 72 20 28 61 73 73 6f 63 20 6d 61 74 63 68 20 61 74 74 72 69 62 73 29 29 0a 20 20 20 20 (cdr.(assoc.match.attribs)).....
1920 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 69 74 29 29 0a 0a 28 64 65 66 75 6e 20 78 6d 6c 2d .......collect.it))..(defun.xml-
1940 71 75 65 72 79 2d 2d 73 79 6d 62 6f 6c 20 28 6d 61 74 63 68 65 72 20 78 6d 6c 29 0a 20 20 28 78 query--symbol.(matcher.xml)...(x
1960 6d 6c 2d 71 75 65 72 79 2d 2d 74 61 67 2d 61 6c 6c 20 6d 61 74 63 68 65 72 20 78 6d 6c 29 29 0a ml-query--tag-all.matcher.xml)).
1980 0a 28 64 65 66 75 6e 20 78 6d 6c 2d 71 75 65 72 79 2d 2d 76 65 63 74 6f 72 20 28 6d 61 74 63 68 .(defun.xml-query--vector.(match
19a0 65 72 20 78 6d 6c 29 0a 20 20 28 6c 65 74 20 28 28 61 74 74 72 69 62 20 28 61 72 65 66 20 6d 61 er.xml)...(let.((attrib.(aref.ma
19c0 74 63 68 65 72 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 20 28 61 72 65 66 20 6d tcher.0)).........(value.(aref.m
19e0 61 74 63 68 65 72 20 31 29 29 29 0a 20 20 20 20 28 78 6d 6c 2d 71 75 65 72 79 2d 2d 61 74 74 72 atcher.1))).....(xml-query--attr
1a00 69 62 2d 61 6c 6c 20 61 74 74 72 69 62 20 76 61 6c 75 65 20 78 6d 6c 29 29 29 0a 0a 28 64 65 66 ib-all.attrib.value.xml)))..(def
1a20 75 6e 20 78 6d 6c 2d 71 75 65 72 79 2d 2d 6c 69 73 74 20 28 6d 61 74 63 68 65 72 73 20 78 6d 6c un.xml-query--list.(matchers.xml
1a40 29 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 6d 61 74 63 68 65 72 20 69 6e 20 6d 61 74 63 )...(cl-loop.for.matcher.in.matc
1a60 68 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 61 70 70 65 6e 64 20 28 78 6d 6c 2d 71 75 65 72 hers............append.(xml-quer
1a80 79 2d 61 6c 6c 20 28 69 66 20 28 6c 69 73 74 70 20 6d 61 74 63 68 65 72 29 0a 20 20 20 20 20 20 y-all.(if.(listp.matcher).......
1aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d ...............................m
1ac0 61 74 63 68 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 atcher..........................
1ae0 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 6d 61 74 63 68 65 72 29 29 20 78 6d 6c 29 29 29 ..........(list.matcher)).xml)))
1b00 0a 0a 28 64 65 66 75 6e 20 78 6d 6c 2d 71 75 65 72 79 2d 2d 61 70 70 65 6e 64 20 28 78 6d 6c 29 ..(defun.xml-query--append.(xml)
1b20 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 74 61 67 20 61 74 74 72 69 62 73 20 2e 20 63 ...(cl-loop.for.(tag.attribs...c
1b40 6f 6e 74 65 6e 74 29 20 69 6e 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e 6f 74 20 23 27 6c ontent).in.(cl-remove-if-not.#'l
1b60 69 73 74 70 20 78 6d 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 61 70 70 65 6e 64 20 63 6f 6e 74 istp.xml)............append.cont
1b80 65 6e 74 29 29 0a 0a 28 64 65 66 75 6e 20 78 6d 6c 2d 71 75 65 72 79 2d 2d 73 74 72 69 6e 67 70 ent))..(defun.xml-query--stringp
1ba0 20 28 74 68 69 6e 67 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 6f 66 20 54 48 .(thing)..."Return.non-nil.of.TH
1bc0 49 4e 47 20 69 73 20 61 20 6e 6f 6e 2d 62 6c 61 6e 6b 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 61 ING.is.a.non-blank.string."...(a
1be0 6e 64 20 28 73 74 72 69 6e 67 70 20 74 68 69 6e 67 29 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 nd.(stringp.thing).(string-match
1c00 20 22 5b 5e 20 5c 74 5c 72 5c 6e 5d 22 20 74 68 69 6e 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 78 ."[^.\t\r\n]".thing)))..(defun.x
1c20 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 28 71 75 65 72 79 20 78 6d 6c 29 0a 20 20 22 47 69 76 65 ml-query-all.(query.xml)..."Give
1c40 6e 20 61 20 6c 69 73 74 20 6f 66 20 74 61 67 73 2c 20 58 4d 4c 2c 20 61 70 70 6c 79 20 51 55 45 n.a.list.of.tags,.XML,.apply.QUE
1c60 52 59 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 0a 6d 61 74 63 68 69 6e 67 RY.and.return.a.list.of.matching
1c80 20 74 61 67 73 2e 0a 0a 41 20 71 75 65 72 79 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6d 61 74 .tags...A.query.is.a.list.of.mat
1ca0 63 68 65 72 73 2e 0a 20 2d 20 53 59 4d 42 4f 4c 3a 20 66 69 6c 74 65 72 73 20 74 6f 20 6d 61 74 chers...-.SYMBOL:.filters.to.mat
1cc0 63 68 69 6e 67 20 74 61 67 73 0a 20 2d 20 4c 49 53 54 3a 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 ching.tags..-.LIST:.each.element
1ce0 20 69 73 20 61 20 66 75 6c 6c 20 73 75 62 2d 71 75 65 72 79 2c 20 77 68 6f 73 65 20 72 65 73 75 .is.a.full.sub-query,.whose.resu
1d00 6c 74 73 20 61 72 65 20 63 6f 6e 63 61 74 65 6e 61 74 65 64 0a 20 2d 20 56 45 43 54 4f 52 3a 20 lts.are.concatenated..-.VECTOR:.
1d20 66 69 6c 74 65 72 73 20 74 6f 20 74 61 67 73 20 77 69 74 68 20 6d 61 74 63 68 69 6e 67 20 61 74 filters.to.tags.with.matching.at
1d40 74 72 69 62 75 74 65 2c 20 5b 74 61 67 20 61 74 74 72 69 62 20 76 61 6c 75 65 5d 0a 20 2d 20 4b tribute,.[tag.attrib.value]..-.K
1d60 45 59 57 4f 52 44 3a 20 66 69 6c 74 65 72 73 20 74 6f 20 61 6e 20 61 74 74 72 69 62 75 74 65 20 EYWORD:.filters.to.an.attribute.
1d80 76 61 6c 75 65 20 28 6d 75 73 74 20 62 65 20 6c 61 73 74 29 0a 20 2d 20 2a 20 28 61 6e 20 61 73 value.(must.be.last)..-.*.(an.as
1da0 74 65 72 69 73 6b 20 73 79 6d 62 6f 6c 29 3a 20 66 69 6c 74 65 72 73 20 74 6f 20 63 6f 6e 74 65 terisk.symbol):.filters.to.conte
1dc0 6e 74 20 73 74 72 69 6e 67 73 20 28 6d 75 73 74 20 62 65 20 6c 61 73 74 29 0a 0a 46 6f 72 20 65 nt.strings.(must.be.last)..For.e
1de0 78 61 6d 70 6c 65 2c 20 74 6f 20 66 69 6e 64 20 61 6c 6c 20 74 68 65 20 5c 22 61 6c 74 65 72 6e xample,.to.find.all.the.\"altern
1e00 61 74 65 5c 22 20 6c 69 6e 6b 20 55 52 4c 20 69 6e 20 61 20 74 79 70 69 63 61 6c 0a 41 74 6f 6d ate\".link.URL.in.a.typical.Atom
1e20 20 66 65 65 64 3a 0a 0a 20 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 5c 5c 3d 27 28 66 65 .feed:....(xml-query-all.\\='(fe
1e40 65 64 20 65 6e 74 72 79 20 6c 69 6e 6b 20 5b 72 65 6c 20 5c 22 61 6c 74 65 72 6e 61 74 65 5c 22 ed.entry.link.[rel.\"alternate\"
1e60 5d 20 3a 68 72 65 66 29 20 78 6d 6c 29 22 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 71 75 65 72 79 ].:href).xml)"...(if.(null.query
1e80 29 0a 20 20 20 20 20 20 78 6d 6c 0a 20 20 20 20 28 63 6c 2d 64 65 73 74 72 75 63 74 75 72 69 6e ).......xml.....(cl-destructurin
1ea0 67 2d 62 69 6e 64 20 28 6d 61 74 63 68 65 72 20 2e 20 72 65 73 74 29 20 71 75 65 72 79 0a 20 20 g-bind.(matcher...rest).query...
1ec0 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 28 28 6b 65 79 77 6f 72 64 70 20 6d 61 74 63 ....(cond........((keywordp.matc
1ee0 68 65 72 29 20 28 78 6d 6c 2d 71 75 65 72 79 2d 2d 6b 65 79 77 6f 72 64 20 6d 61 74 63 68 65 72 her).(xml-query--keyword.matcher
1f00 20 78 6d 6c 29 29 0a 20 20 20 20 20 20 20 28 28 65 71 20 6d 61 74 63 68 65 72 20 27 2a 29 0a 20 .xml))........((eq.matcher.'*)..
1f20 20 20 20 20 20 20 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e 6f 74 20 23 27 78 6d 6c 2d 71 .......(cl-remove-if-not.#'xml-q
1f40 75 65 72 79 2d 2d 73 74 72 69 6e 67 70 20 28 78 6d 6c 2d 71 75 65 72 79 2d 2d 61 70 70 65 6e 64 uery--stringp.(xml-query--append
1f60 20 78 6d 6c 29 29 29 0a 20 20 20 20 20 20 20 28 3a 65 6c 73 65 0a 20 20 20 20 20 20 20 20 28 6c .xml)))........(:else.........(l
1f80 65 74 20 28 28 6d 61 74 63 68 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d et.((matches................(cl-
1fa0 65 74 79 70 65 63 61 73 65 20 6d 61 74 63 68 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 etypecase.matcher...............
1fc0 20 20 20 28 73 79 6d 62 6f 6c 20 28 78 6d 6c 2d 71 75 65 72 79 2d 2d 73 79 6d 62 6f 6c 20 6d 61 ...(symbol.(xml-query--symbol.ma
1fe0 74 63 68 65 72 20 78 6d 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 tcher.xml))..................(ve
2000 63 74 6f 72 20 28 78 6d 6c 2d 71 75 65 72 79 2d 2d 76 65 63 74 6f 72 20 6d 61 74 63 68 65 72 20 ctor.(xml-query--vector.matcher.
2020 78 6d 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 20 20 28 xml))..................(list...(
2040 78 6d 6c 2d 71 75 65 72 79 2d 2d 6c 69 73 74 20 20 20 6d 61 74 63 68 65 72 20 78 6d 6c 29 29 29 xml-query--list...matcher.xml)))
2060 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 28 28 ))...........(cond............((
2080 6e 75 6c 6c 20 72 65 73 74 29 20 6d 61 74 63 68 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 null.rest).matches)............(
20a0 28 61 6e 64 20 28 6f 72 20 28 73 79 6d 62 6f 6c 70 20 28 63 61 72 20 72 65 73 74 29 29 0a 20 20 (and.(or.(symbolp.(car.rest))...
20c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 70 20 28 63 61 72 20 72 ...................(listp.(car.r
20e0 65 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 6b 65 est)))..................(not.(ke
2100 79 77 6f 72 64 70 20 28 63 61 72 20 72 65 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ywordp.(car.rest))).............
2120 20 20 20 20 20 28 6e 6f 74 20 28 65 71 20 27 2a 20 28 63 61 72 20 72 65 73 74 29 29 29 29 0a 20 .....(not.(eq.'*.(car.rest))))..
2140 20 20 20 20 20 20 20 20 20 20 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 28 63 64 72 20 71 ...........(xml-query-all.(cdr.q
2160 75 65 72 79 29 20 28 78 6d 6c 2d 71 75 65 72 79 2d 2d 61 70 70 65 6e 64 20 6d 61 74 63 68 65 73 uery).(xml-query--append.matches
2180 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 3a 65 6c 73 65 20 28 78 6d 6c 2d 71 75 65 72 79 )))............(:else.(xml-query
21a0 2d 61 6c 6c 20 72 65 73 74 20 6d 61 74 63 68 65 73 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 -all.rest.matches)))))))))..(def
21c0 75 6e 20 78 6d 6c 2d 71 75 65 72 79 20 28 71 75 65 72 79 20 78 6d 6c 29 0a 20 20 22 4c 69 6b 65 un.xml-query.(query.xml)..."Like
21e0 20 60 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 27 20 62 75 74 20 6f 6e 6c 79 20 72 65 74 75 72 6e .`xml-query-all'.but.only.return
2200 20 74 68 65 20 66 69 72 73 74 20 72 65 73 75 6c 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 65 73 .the.first.result."...(let.((res
2220 75 6c 74 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 71 75 65 72 79 20 78 6d 6c 29 29 29 0a ult.(xml-query-all.query.xml))).
2240 20 20 20 20 28 69 66 20 28 78 6d 6c 2d 71 75 65 72 79 2d 2d 73 74 72 69 6e 67 70 20 72 65 73 75 ....(if.(xml-query--stringp.resu
2260 6c 74 29 0a 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 0a 20 20 20 20 20 20 28 63 61 72 20 28 78 lt).........result.......(car.(x
2280 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 71 75 65 72 79 20 78 6d 6c 29 29 29 29 29 0a 0a 3b 3b 20 ml-query-all.query.xml)))))..;;.
22a0 4d 61 63 72 6f 20 61 6c 74 65 72 6e 61 74 69 76 65 73 3a 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 Macro.alternatives:..;;.This.is.
22c0 61 20 73 6c 69 67 68 74 6c 79 20 6c 65 73 73 20 63 61 70 61 62 6c 65 20 61 6c 74 65 72 6e 61 74 a.slightly.less.capable.alternat
22e0 69 76 65 20 77 69 74 68 20 73 69 67 6e 69 66 69 63 61 6e 74 6c 79 0a 3b 3b 20 62 65 74 74 65 72 ive.with.significantly.;;.better
2300 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 28 78 31 30 20 73 70 65 65 64 75 70 29 20 74 68 61 74 20 .performance.(x10.speedup).that.
2320 72 65 71 75 69 72 65 73 20 61 20 73 74 61 74 69 63 20 73 65 6c 65 63 74 6f 72 2e 0a 3b 3b 20 54 requires.a.static.selector..;;.T
2340 68 65 20 73 65 6c 65 63 74 6f 72 20 69 73 20 63 6f 6d 70 69 6c 65 64 20 69 6e 74 6f 20 4c 69 73 he.selector.is.compiled.into.Lis
2360 70 20 63 6f 64 65 20 76 69 61 20 6d 61 63 72 6f 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 p.code.via.macro.at.compile-time
2380 2c 0a 3b 3b 20 77 68 69 63 68 20 69 73 20 74 68 65 6e 20 63 61 72 72 69 65 64 20 74 68 72 6f 75 ,.;;.which.is.then.carried.throu
23a0 67 68 20 74 6f 20 62 79 74 65 2d 63 6f 64 65 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 2e gh.to.byte-code.by.the.compiler.
23c0 20 49 6e 0a 3b 3b 20 62 79 74 65 2d 63 6f 64 65 20 66 6f 72 6d 2c 20 74 68 65 20 6d 61 63 72 6f .In.;;.byte-code.form,.the.macro
23e0 20 70 65 72 66 6f 72 6d 73 20 6e 6f 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 20 6f 74 68 65 .performs.no.function.calls.othe
2400 72 20 74 68 61 6e 0a 3b 3b 20 60 74 68 72 6f 77 27 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 r.than.;;.`throw'.in.the.case.of
2420 20 60 78 6d 6c 2d 71 75 65 72 79 2a 27 2c 20 77 68 65 72 65 20 69 74 27 73 20 69 6e 76 6f 6b 65 .`xml-query*',.where.it's.invoke
2440 64 20 6c 65 73 73 20 74 68 61 6e 0a 3b 3b 20 6f 6e 63 65 20 70 65 72 20 65 76 61 6c 75 61 74 69 d.less.than.;;.once.per.evaluati
2460 6f 6e 20 28 6f 6e 6c 79 20 6f 6e 20 73 75 63 63 65 73 73 29 2e 0a 0a 3b 3b 20 51 75 65 72 69 65 on.(only.on.success)...;;.Querie
2480 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 74 61 69 6c 2d 74 6f 2d 68 65 61 64 20 77 69 74 68 s.are.compiled.tail-to-head.with
24a0 20 61 20 72 65 73 75 6c 74 20 68 61 6e 64 6c 65 72 20 61 74 20 74 68 65 0a 3b 3b 20 64 65 65 70 .a.result.handler.at.the.;;.deep
24c0 65 73 74 20 6c 65 76 65 6c 2e 20 54 68 65 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 6d 61 est.level..The.generated.code.ma
24e0 6b 65 73 20 6d 75 6c 74 69 70 6c 65 20 62 69 6e 64 69 6e 67 73 20 6f 66 20 74 68 65 0a 3b 3b 20 kes.multiple.bindings.of.the.;;.
2500 76 61 72 69 61 62 6c 65 20 22 76 22 20 61 73 20 69 74 20 64 69 76 65 73 20 64 65 65 70 65 72 20 variable."v".as.it.dives.deeper.
2520 69 6e 74 6f 20 74 68 65 20 71 75 65 72 79 2c 20 75 73 69 6e 67 20 74 68 65 20 6c 61 79 65 72 73 into.the.query,.using.the.layers
2540 20 6f 66 0a 3b 3b 20 62 69 6e 64 69 6e 67 73 20 61 73 20 61 20 62 72 65 61 64 63 72 75 6d 62 20 .of.;;.bindings.as.a.breadcrumb.
2560 73 74 61 63 6b 2e 0a 0a 3b 3b 20 46 6f 72 20 60 78 6d 6c 2d 71 75 65 72 79 2a 27 2c 20 77 68 69 stack...;;.For.`xml-query*',.whi
2580 63 68 20 68 61 73 20 61 20 73 69 6e 67 6c 65 20 72 65 73 75 6c 74 2c 20 74 68 65 20 77 68 6f 6c ch.has.a.single.result,.the.whol
25a0 65 20 65 78 70 72 65 73 73 69 6f 6e 0a 3b 3b 20 69 73 20 77 72 61 70 70 65 64 20 69 6e 20 61 20 e.expression.;;.is.wrapped.in.a.
25c0 63 61 74 63 68 2c 20 61 6e 64 20 74 68 65 20 66 69 72 73 74 20 73 75 63 63 65 73 73 66 75 6c 20 catch,.and.the.first.successful.
25e0 6d 61 74 63 68 20 69 73 20 74 68 72 6f 77 6e 20 74 6f 0a 3b 3b 20 69 74 20 66 72 6f 6d 20 74 68 match.is.thrown.to.;;.it.from.th
2600 65 20 72 65 73 75 6c 74 20 68 61 6e 64 6c 65 72 2e 0a 0a 3b 3b 20 46 6f 72 20 60 78 6d 6c 2d 71 e.result.handler...;;.For.`xml-q
2620 75 65 72 79 2d 61 6c 6c 2a 27 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 70 75 73 68 65 64 uery-all*',.the.result.is.pushed
2640 20 69 6e 74 6f 20 61 6e 20 6f 75 74 70 75 74 20 6c 69 73 74 2e 0a 0a 28 64 65 66 75 6e 20 78 6d .into.an.output.list...(defun.xm
2660 6c 2d 71 75 65 72 79 2d 2d 63 6f 6d 70 69 6c 65 2d 74 61 67 20 28 74 61 67 20 73 75 62 65 78 70 l-query--compile-tag.(tag.subexp
2680 20 73 75 62 6c 6f 6f 70 2d 70 29 0a 20 20 60 28 77 68 65 6e 20 28 61 6e 64 20 28 63 6f 6e 73 70 .subloop-p)...`(when.(and.(consp
26a0 20 76 29 20 28 65 71 20 28 63 61 72 20 76 29 20 27 2c 74 61 67 29 29 0a 20 20 20 20 20 2c 28 69 .v).(eq.(car.v).',tag))......,(i
26c0 66 20 73 75 62 6c 6f 6f 70 2d 70 0a 20 20 20 20 20 20 20 20 20 20 60 28 64 6f 6c 69 73 74 20 28 f.subloop-p...........`(dolist.(
26e0 76 20 28 63 64 64 72 20 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 73 75 62 65 78 70 v.(cddr.v))..............,subexp
2700 29 0a 20 20 20 20 20 20 20 20 73 75 62 65 78 70 29 29 29 0a 0a 28 64 65 66 75 6e 20 78 6d 6c 2d ).........subexp)))..(defun.xml-
2720 71 75 65 72 79 2d 2d 63 6f 6d 70 69 6c 65 2d 61 74 74 72 69 62 20 28 70 61 69 72 20 73 75 62 65 query--compile-attrib.(pair.sube
2740 78 70 20 73 75 62 6c 6f 6f 70 2d 70 29 0a 20 20 60 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 63 xp.subloop-p)...`(let.((value.(c
2760 64 72 20 28 61 73 73 71 20 27 2c 28 61 72 65 66 20 70 61 69 72 20 30 29 20 28 63 61 64 72 20 76 dr.(assq.',(aref.pair.0).(cadr.v
2780 29 29 29 29 29 0a 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 75 61 6c 20 76 61 6c 75 65 20 2c 28 )))))......(when.(equal.value.,(
27a0 61 72 65 66 20 70 61 69 72 20 31 29 29 0a 20 20 20 20 20 20 20 2c 28 69 66 20 73 75 62 6c 6f 6f aref.pair.1))........,(if.subloo
27c0 70 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 60 28 64 6f 6c 69 73 74 20 28 76 20 28 63 64 64 p-p.............`(dolist.(v.(cdd
27e0 72 20 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 73 75 62 65 78 70 29 0a 20 20 r.v))................,subexp)...
2800 20 20 20 20 20 20 20 20 73 75 62 65 78 70 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 78 6d 6c 2d 71 ........subexp))))..(defun.xml-q
2820 75 65 72 79 2d 2d 63 6f 6d 70 69 6c 65 2d 6b 65 79 77 6f 72 64 20 28 6b 65 79 77 6f 72 64 20 73 uery--compile-keyword.(keyword.s
2840 75 62 65 78 70 29 0a 20 20 28 6c 65 74 20 28 28 61 74 74 72 69 62 20 28 69 6e 74 65 72 6e 20 28 ubexp)...(let.((attrib.(intern.(
2860 73 75 62 73 74 72 69 6e 67 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 6b 65 79 77 6f 72 64 29 20 substring.(symbol-name.keyword).
2880 31 29 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 76 20 28 63 64 72 20 28 61 73 73 71 20 27 1)))).....`(let.((v.(cdr.(assq.'
28a0 2c 61 74 74 72 69 62 20 28 63 61 64 72 20 76 29 29 29 29 29 0a 20 20 20 20 20 20 20 28 77 68 65 ,attrib.(cadr.v)))))........(whe
28c0 6e 20 76 0a 20 20 20 20 20 20 20 20 20 2c 73 75 62 65 78 70 29 29 29 29 0a 0a 28 64 65 66 75 6e n.v..........,subexp))))..(defun
28e0 20 78 6d 6c 2d 71 75 65 72 79 2d 2d 63 6f 6d 70 69 6c 65 2d 73 74 61 72 20 28 73 75 62 65 78 70 .xml-query--compile-star.(subexp
2900 29 0a 20 20 60 28 77 68 65 6e 20 28 61 6e 64 20 28 73 74 72 69 6e 67 70 20 76 29 20 28 73 74 72 )...`(when.(and.(stringp.v).(str
2920 69 6e 67 2d 6d 61 74 63 68 20 22 5b 5e 20 5c 74 5c 72 5c 6e 5d 22 20 76 29 29 0a 20 20 20 20 20 ing-match."[^.\t\r\n]".v))......
2940 2c 73 75 62 65 78 70 29 29 0a 0a 28 64 65 66 75 6e 20 78 6d 6c 2d 71 75 65 72 79 2d 2d 63 6f 6d ,subexp))..(defun.xml-query--com
2960 70 69 6c 65 2d 74 6f 70 20 28 71 75 65 72 79 20 69 6e 70 75 74 20 73 75 62 65 78 70 29 0a 20 20 pile-top.(query.input.subexp)...
2980 28 6c 65 74 2a 20 28 28 72 71 75 65 72 79 20 28 72 65 76 65 72 73 65 20 71 75 65 72 79 29 29 0a (let*.((rquery.(reverse.query)).
29a0 20 20 20 20 20 20 20 20 20 28 70 72 65 76 20 6e 69 6c 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 .........(prev.nil)).....(while.
29c0 72 71 75 65 72 79 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 61 74 63 68 65 72 20 28 70 6f 70 rquery.......(let.((matcher.(pop
29e0 20 72 71 75 65 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 68 6f 75 6c 64 20 .rquery)).............;;.Should.
2a00 74 68 65 20 6e 65 78 74 20 69 74 65 6d 20 6c 6f 6f 70 20 6f 76 65 72 20 69 74 73 20 63 68 69 6c the.next.item.loop.over.its.chil
2a20 64 72 65 6e 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 6c 6f 6f 70 2d 70 20 28 61 6e dren?.............(subloop-p.(an
2a40 64 20 28 6e 6f 74 20 28 6e 75 6c 6c 20 70 72 65 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 d.(not.(null.prev)).............
2a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 6b 65 79 77 6f 72 64 70 20 70 ................(not.(keywordp.p
2a80 72 65 76 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 rev))...........................
2aa0 20 20 28 73 79 6d 62 6f 6c 70 20 70 72 65 76 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e ..(symbolp.prev)))).........(con
2ac0 64 0a 20 20 20 20 20 20 20 20 20 28 28 65 71 20 27 2a 20 6d 61 74 63 68 65 72 29 0a 20 20 20 20 d..........((eq.'*.matcher).....
2ae0 20 20 20 20 20 20 28 73 65 74 66 20 73 75 62 65 78 70 20 28 78 6d 6c 2d 71 75 65 72 79 2d 2d 63 ......(setf.subexp.(xml-query--c
2b00 6f 6d 70 69 6c 65 2d 73 74 61 72 20 73 75 62 65 78 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 ompile-star.subexp)))..........(
2b20 28 6b 65 79 77 6f 72 64 70 20 6d 61 74 63 68 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 (keywordp.matcher)...........(se
2b40 74 66 20 73 75 62 65 78 70 20 28 78 6d 6c 2d 71 75 65 72 79 2d 2d 63 6f 6d 70 69 6c 65 2d 6b 65 tf.subexp.(xml-query--compile-ke
2b60 79 77 6f 72 64 20 6d 61 74 63 68 65 72 20 73 75 62 65 78 70 29 29 29 0a 20 20 20 20 20 20 20 20 yword.matcher.subexp))).........
2b80 20 28 28 73 79 6d 62 6f 6c 70 20 6d 61 74 63 68 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 .((symbolp.matcher)...........(s
2ba0 65 74 66 20 73 75 62 65 78 70 20 28 78 6d 6c 2d 71 75 65 72 79 2d 2d 63 6f 6d 70 69 6c 65 2d 74 etf.subexp.(xml-query--compile-t
2bc0 61 67 20 6d 61 74 63 68 65 72 20 73 75 62 65 78 70 20 73 75 62 6c 6f 6f 70 2d 70 29 29 29 0a 20 ag.matcher.subexp.subloop-p)))..
2be0 20 20 20 20 20 20 20 20 28 28 76 65 63 74 6f 72 70 20 6d 61 74 63 68 65 72 29 0a 20 20 20 20 20 ........((vectorp.matcher)......
2c00 20 20 20 20 20 28 73 65 74 66 20 73 75 62 65 78 70 20 28 78 6d 6c 2d 71 75 65 72 79 2d 2d 63 6f .....(setf.subexp.(xml-query--co
2c20 6d 70 69 6c 65 2d 61 74 74 72 69 62 20 6d 61 74 63 68 65 72 20 73 75 62 65 78 70 20 73 75 62 6c mpile-attrib.matcher.subexp.subl
2c40 6f 6f 70 2d 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 28 65 72 72 6f 72 20 22 42 61 64 20 71 oop-p)))..........((error."Bad.q
2c60 75 65 72 79 3a 20 25 53 22 20 71 75 65 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 66 uery:.%S".query))).........(setf
2c80 20 70 72 65 76 20 6d 61 74 63 68 65 72 29 29 29 0a 20 20 20 20 60 28 64 6f 6c 69 73 74 20 28 76 .prev.matcher))).....`(dolist.(v
2ca0 20 2c 69 6e 70 75 74 29 0a 20 20 20 20 20 20 20 2c 73 75 62 65 78 70 29 29 29 0a 0a 28 64 65 66 .,input)........,subexp)))..(def
2cc0 75 6e 20 78 6d 6c 2d 71 75 65 72 79 2d 2d 63 6f 6d 70 69 6c 65 20 28 71 75 65 72 79 20 69 6e 70 un.xml-query--compile.(query.inp
2ce0 75 74 29 0a 20 20 28 6c 65 74 20 28 28 74 61 67 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 64 ut)...(let.((tag.(make-symbol."d
2d00 6f 6e 65 22 29 29 29 0a 20 20 20 20 60 28 63 61 74 63 68 20 27 2c 74 61 67 0a 20 20 20 20 20 20 one"))).....`(catch.',tag.......
2d20 20 2c 28 78 6d 6c 2d 71 75 65 72 79 2d 2d 63 6f 6d 70 69 6c 65 2d 74 6f 70 20 71 75 65 72 79 20 .,(xml-query--compile-top.query.
2d40 69 6e 70 75 74 20 60 28 74 68 72 6f 77 20 27 2c 74 61 67 20 76 29 29 29 29 29 0a 0a 28 64 65 66 input.`(throw.',tag.v)))))..(def
2d60 6d 61 63 72 6f 20 78 6d 6c 2d 71 75 65 72 79 2a 20 28 71 75 65 72 79 20 73 65 78 70 29 0a 20 20 macro.xml-query*.(query.sexp)...
2d80 22 4c 69 6b 65 20 60 78 6d 6c 2d 71 75 65 72 79 27 20 62 75 74 20 67 65 6e 65 72 61 74 65 20 63 "Like.`xml-query'.but.generate.c
2da0 6f 64 65 20 74 6f 20 65 78 65 63 75 74 65 20 51 55 45 52 59 20 6f 6e 20 53 45 58 50 2e 0a 0a 55 ode.to.execute.QUERY.on.SEXP...U
2dc0 6e 6c 69 6b 65 20 60 78 6d 6c 2d 71 75 65 72 79 27 2c 20 51 55 45 52 59 20 6d 75 73 74 20 62 65 nlike.`xml-query',.QUERY.must.be
2de0 20 61 20 73 74 61 74 69 63 2c 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 0a 73 2d 65 78 70 72 65 73 .a.static,.compile-time.s-expres
2e00 73 69 6f 6e 2e 20 53 65 65 20 60 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 27 20 66 6f 72 20 6d sion..See.`xml-query-all*'.for.m
2e20 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 0a 51 55 45 52 59 20 69 73 20 2a 6e 6f 74 2a ore.information...QUERY.is.*not*
2e40 20 65 76 61 6c 75 61 74 65 64 2c 20 73 6f 20 69 74 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 .evaluated,.so.it.should.not.be.
2e60 71 75 6f 74 65 64 2e 22 0a 20 20 28 78 6d 6c 2d 71 75 65 72 79 2d 2d 63 6f 6d 70 69 6c 65 20 71 quoted."...(xml-query--compile.q
2e80 75 65 72 79 20 73 65 78 70 29 29 0a 0a 28 64 65 66 75 6e 20 78 6d 6c 2d 71 75 65 72 79 2d 61 6c uery.sexp))..(defun.xml-query-al
2ea0 6c 2d 2d 63 6f 6d 70 69 6c 65 20 28 71 75 65 72 79 20 69 6e 70 75 74 29 0a 20 20 28 6c 65 74 20 l--compile.(query.input)...(let.
2ec0 28 28 6f 75 74 70 75 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6f 75 74 70 75 74 22 29 29 ((output.(make-symbol."output"))
2ee0 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6f 75 74 70 75 74 20 28 29 29 29 0a 20 20 20 20 20 ).....`(let.((,output.()))......
2f00 20 20 2c 28 78 6d 6c 2d 71 75 65 72 79 2d 2d 63 6f 6d 70 69 6c 65 2d 74 6f 70 20 71 75 65 72 79 ..,(xml-query--compile-top.query
2f20 20 69 6e 70 75 74 20 60 28 70 75 73 68 20 76 20 2c 6f 75 74 70 75 74 29 29 0a 20 20 20 20 20 20 .input.`(push.v.,output)).......
2f40 20 28 6e 72 65 76 65 72 73 65 20 2c 6f 75 74 70 75 74 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 .(nreverse.,output))))..(defmacr
2f60 6f 20 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 71 75 65 72 79 20 73 65 78 70 29 0a 20 20 o.xml-query-all*.(query.sexp)...
2f80 22 4c 69 6b 65 20 60 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 27 20 62 75 74 20 67 65 6e 65 72 61 "Like.`xml-query-all'.but.genera
2fa0 74 65 20 63 6f 64 65 20 74 6f 20 65 78 65 63 75 74 65 20 51 55 45 52 59 20 6f 6e 20 53 45 58 50 te.code.to.execute.QUERY.on.SEXP
2fc0 2e 0a 0a 55 6e 6c 69 6b 65 20 60 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 27 2c 20 51 55 45 52 59 ...Unlike.`xml-query-all',.QUERY
2fe0 20 6d 75 73 74 20 62 65 20 61 20 73 74 61 74 69 63 2c 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 0a .must.be.a.static,.compile-time.
3000 73 2d 65 78 70 72 65 73 73 69 6f 6e 2e 20 54 68 69 73 20 6d 61 63 72 6f 20 63 6f 6d 70 69 6c 65 s-expression..This.macro.compile
3020 73 20 74 68 65 20 71 75 65 72 79 20 69 6e 74 6f 20 61 63 74 75 61 6c 20 63 6f 64 65 2e 20 54 68 s.the.query.into.actual.code..Th
3040 65 0a 72 65 73 75 6c 74 20 69 73 20 66 61 73 74 65 72 20 73 69 6e 63 65 20 74 68 65 20 71 75 65 e.result.is.faster.since.the.que
3060 72 79 20 77 69 6c 6c 20 62 65 20 63 6f 6d 70 69 6c 65 64 20 69 6e 74 6f 20 62 79 74 65 2d 63 6f ry.will.be.compiled.into.byte-co
3080 64 65 0a 72 61 74 68 65 72 20 74 68 61 6e 20 5c 22 69 6e 74 65 72 70 72 65 74 65 64 5c 22 20 61 de.rather.than.\"interpreted\".a
30a0 74 20 72 75 6e 20 74 69 6d 65 2e 0a 0a 41 6c 73 6f 20 75 6e 6c 69 6b 65 20 60 78 6d 6c 2d 71 75 t.run.time...Also.unlike.`xml-qu
30c0 65 72 79 2d 61 6c 6c 27 2c 20 74 68 65 20 70 61 72 73 65 64 20 58 4d 4c 20 73 2d 65 78 70 72 65 ery-all',.the.parsed.XML.s-expre
30e0 73 73 69 6f 6e 20 6d 75 73 74 0a 61 6c 73 6f 20 68 61 76 65 20 69 74 73 20 6e 61 6d 65 73 70 61 ssion.must.also.have.its.namespa
3100 63 65 20 70 72 65 2d 73 74 72 69 70 70 65 64 2e 20 54 68 69 73 20 69 73 20 61 63 63 6f 6d 70 6c ce.pre-stripped..This.is.accompl
3120 69 73 68 65 64 20 62 79 0a 73 65 74 74 69 6e 67 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 50 41 ished.by.setting.the.optional.PA
3140 52 53 45 2d 4e 53 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 60 78 6d 6c 2d 70 61 72 73 65 2d 72 65 RSE-NS.argument.of.`xml-parse-re
3160 67 69 6f 6e 27 20 74 6f 0a 73 79 6d 62 6f 6c 2d 71 6e 61 6d 65 73 2e 0a 0a 53 75 62 2d 65 78 70 gion'.to.symbol-qnames...Sub-exp
3180 72 65 73 73 69 6f 6e 20 6c 69 73 74 73 20 61 72 65 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 ression.lists.are.not.supported.
31a0 62 79 20 74 68 69 73 20 6d 61 63 72 6f 2e 0a 0a 51 55 45 52 59 20 69 73 20 2a 6e 6f 74 2a 20 65 by.this.macro...QUERY.is.*not*.e
31c0 76 61 6c 75 61 74 65 64 2c 20 73 6f 20 69 74 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 71 75 valuated,.so.it.should.not.be.qu
31e0 6f 74 65 64 2e 22 0a 20 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2d 2d 63 6f 6d 70 69 6c 65 oted."...(xml-query-all--compile
3200 20 71 75 65 72 79 20 73 65 78 70 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 78 6d 6c 2d 71 75 65 .query.sexp))..(provide.'xml-que
3220 72 79 29 0a 0a 3b 3b 3b 20 78 6d 6c 2d 71 75 65 72 79 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a ry)..;;;.xml-query.el.ends.here.
3240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3400 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2d 6c 69 62 2e elfeed-20240331.1348/elfeed-lib.
3420 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 00 00 el..............................
3440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3460 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
3480 30 30 33 34 32 33 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 35 34 00 20 30 00 00 00 0034235.00000000000.014554..0...
34a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
34c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
34e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3500 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...................
3520 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...................
3540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
35a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
35c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
35e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3600 3b 3b 3b 20 65 6c 66 65 65 64 2d 6c 69 62 2e 65 6c 20 2d 2d 2d 20 6d 69 73 63 20 66 75 6e 63 74 ;;;.elfeed-lib.el.---.misc.funct
3620 69 6f 6e 73 20 66 6f 72 20 65 6c 66 65 65 64 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 ions.for.elfeed.-*-.lexical-bind
3640 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 66 72 65 65 20 61 6e 64 ing:.t;.-*-..;;.This.is.free.and
3660 20 75 6e 65 6e 63 75 6d 62 65 72 65 64 20 73 6f 66 74 77 61 72 65 20 72 65 6c 65 61 73 65 64 20 .unencumbered.software.released.
3680 69 6e 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2e 0a 0a 3b 3b 3b 20 43 6f 6d into.the.public.domain...;;;.Com
36a0 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 65 73 65 20 61 72 65 20 67 65 6e 65 72 61 6c 20 66 mentary:..;;.These.are.general.f
36c0 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 61 72 65 6e 27 74 20 73 70 65 63 69 66 69 63 20 74 6f unctions.that.aren't.specific.to
36e0 20 77 65 62 20 66 65 65 64 73 2e 20 49 74 27 73 0a 3b 3b 20 61 20 6c 69 62 72 61 72 79 20 6f 66 .web.feeds..It's.;;.a.library.of
3700 20 75 73 65 66 75 6c 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 45 6c 66 65 65 64 2e 0a 0a 3b 3b .useful.functions.to.Elfeed...;;
3720 3b 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 ;.Code:..(require.'cl-lib).(requ
3740 69 72 65 20 27 74 68 69 6e 67 61 74 70 74 29 0a 28 72 65 71 75 69 72 65 20 27 74 69 6d 65 2d 64 ire.'thingatpt).(require.'time-d
3760 61 74 65 29 0a 28 72 65 71 75 69 72 65 20 27 75 72 6c 2d 70 61 72 73 65 29 0a 28 72 65 71 75 69 ate).(require.'url-parse).(requi
3780 72 65 20 27 75 72 6c 2d 75 74 69 6c 29 0a 28 72 65 71 75 69 72 65 20 27 78 6d 6c 29 0a 0a 28 64 re.'url-util).(require.'xml)..(d
37a0 65 66 75 6e 20 65 6c 66 65 65 64 2d 65 78 70 6f 73 65 20 28 66 75 6e 63 74 69 6f 6e 20 26 72 65 efun.elfeed-expose.(function.&re
37c0 73 74 20 61 72 67 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 st.args)..."Return.an.interactiv
37e0 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 46 55 4e 43 54 49 4f 4e 2c 20 5c 22 65 78 70 6f 73 69 6e e.version.of.FUNCTION,.\"exposin
3800 67 5c 22 20 69 74 20 74 6f 20 74 68 65 20 75 73 65 72 2e 22 0a 20 20 28 6c 61 6d 62 64 61 20 28 g\".it.to.the.user."...(lambda.(
3820 29 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 20 28 61 70 70 6c 79 20 66 75 6e 63 74 69 6f 6e 20 ).(interactive).(apply.function.
3840 61 72 67 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 67 6f 74 6f 2d 6c 69 6e 65 args)))..(defun.elfeed-goto-line
3860 20 28 6e 29 0a 20 20 22 4c 69 6b 65 20 60 67 6f 74 6f 2d 6c 69 6e 65 27 20 62 75 74 20 66 6f 72 .(n)..."Like.`goto-line'.but.for
3880 20 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 20 75 73 65 2e 22 0a 20 20 28 67 6f 74 6f 2d 63 .non-interactive.use."...(goto-c
38a0 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 har.(point-min))...(forward-line
38c0 20 28 31 2d 20 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 6b 69 6c 6c 2d 62 75 .(1-.n)))..(defun.elfeed-kill-bu
38e0 66 66 65 72 20 28 29 0a 20 20 22 4b 69 6c 6c 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 ffer.()..."Kill.the.current.buff
3900 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6b 69 6c 6c 2d 62 75 66 er."...(interactive)...(kill-buf
3920 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 fer.(current-buffer)))..(defun.e
3940 6c 66 65 65 64 2d 6b 69 6c 6c 2d 6c 69 6e 65 20 28 29 0a 20 20 22 43 6c 65 61 72 20 6f 75 74 20 lfeed-kill-line.()..."Clear.out.
3960 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 6e 65 20 77 69 74 68 6f 75 74 20 74 6f 75 63 68 69 6e the.current.line.without.touchin
3980 67 20 61 6e 79 74 68 69 6e 67 20 65 6c 73 65 2e 22 0a 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f g.anything.else."...(beginning-o
39a0 66 2d 6c 69 6e 65 29 0a 20 20 28 6c 65 74 20 28 28 73 74 61 72 74 20 28 70 6f 69 6e 74 29 29 29 f-line)...(let.((start.(point)))
39c0 0a 20 20 20 20 28 65 6e 64 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 28 64 65 6c 65 74 65 2d 72 .....(end-of-line).....(delete-r
39e0 65 67 69 6f 6e 20 73 74 61 72 74 20 28 70 6f 69 6e 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 egion.start.(point))))..(defun.e
3a00 6c 66 65 65 64 2d 74 69 6d 65 2d 64 75 72 61 74 69 6f 6e 20 28 74 69 6d 65 20 26 6f 70 74 69 6f lfeed-time-duration.(time.&optio
3a20 6e 61 6c 20 6e 6f 77 29 0a 20 20 22 54 75 72 6e 20 61 20 74 69 6d 65 20 65 78 70 72 65 73 73 69 nal.now)..."Turn.a.time.expressi
3a40 6f 6e 20 69 6e 74 6f 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 6f 6e 64 73 2e 20 55 73 65 on.into.a.number.of.seconds..Use
3a60 73 0a 60 74 69 6d 65 72 2d 64 75 72 61 74 69 6f 6e 27 20 62 75 74 20 61 6c 6c 6f 77 73 20 61 20 s.`timer-duration'.but.allows.a.
3a80 62 69 74 20 6d 6f 72 65 20 66 6c 61 69 72 2e 0a 0a 49 66 20 60 6e 6f 77 27 20 69 73 20 6e 6f 6e bit.more.flair...If.`now'.is.non
3aa0 2d 6e 69 6c 2c 20 75 73 65 20 69 74 20 61 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 69 6d 65 -nil,.use.it.as.the.current.time
3ac0 20 28 60 66 6c 6f 61 74 2d 74 69 6d 65 27 29 2e 20 54 68 69 73 0a 69 73 20 6d 6f 73 74 6c 79 20 .(`float-time')..This.is.mostly.
3ae0 75 73 65 66 75 6c 20 66 6f 72 20 74 65 73 74 69 6e 67 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 useful.for.testing."...(cond....
3b00 28 28 6e 75 6d 62 65 72 70 20 74 69 6d 65 29 20 74 69 6d 65 29 0a 20 20 20 28 28 6c 65 74 20 28 ((numberp.time).time)....((let.(
3b20 28 69 73 6f 2d 74 69 6d 65 20 28 65 6c 66 65 65 64 2d 70 61 72 73 65 2d 73 69 6d 70 6c 65 2d 69 (iso-time.(elfeed-parse-simple-i
3b40 73 6f 2d 38 36 30 31 20 74 69 6d 65 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 69 73 6f 2d so-8601.time))).......(when.iso-
3b60 74 69 6d 65 20 28 2d 20 28 6f 72 20 6e 6f 77 20 28 66 6c 6f 61 74 2d 74 69 6d 65 29 29 20 69 73 time.(-.(or.now.(float-time)).is
3b80 6f 2d 74 69 6d 65 29 29 29 29 0a 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 o-time))))....((string-match-p."
3ba0 5b 5b 3a 61 6c 70 68 61 3a 5d 5d 22 20 74 69 6d 65 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 63 [[:alpha:]]".time).....(let*.((c
3bc0 6c 65 61 6e 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 lean.(replace-regexp-in-string."
3be0 5c 5c 28 61 67 6f 5c 5c 7c 6f 6c 64 5c 5c 7c 2d 5c 5c 29 22 20 22 20 22 20 74 69 6d 65 29 29 0a \\(ago\\|old\\|-\\)".".".time)).
3c00 20 20 20 20 20 20 20 20 20 20 20 28 64 75 72 61 74 69 6f 6e 20 28 74 69 6d 65 72 2d 64 75 72 61 ...........(duration.(timer-dura
3c20 74 69 6f 6e 20 63 6c 65 61 6e 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 63 6f 6e 76 65 72 74 20 74 tion.clean))).......;;.convert.t
3c40 6f 20 66 6c 6f 61 74 20 73 69 6e 63 65 20 66 6c 6f 61 74 2d 74 69 6d 65 20 69 73 20 75 73 65 64 o.float.since.float-time.is.used
3c60 20 65 6c 73 65 77 68 65 72 65 0a 20 20 20 20 20 20 28 77 68 65 6e 20 64 75 72 61 74 69 6f 6e 20 .elsewhere.......(when.duration.
3c80 28 66 6c 6f 61 74 20 64 75 72 61 74 69 6f 6e 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c (float.duration))))))..(defun.el
3ca0 66 65 65 64 2d 6c 6f 6f 6b 73 2d 6c 69 6b 65 2d 75 72 6c 2d 70 20 28 73 74 72 69 6e 67 29 0a 20 feed-looks-like-url-p.(string)..
3cc0 20 22 52 65 74 75 72 6e 20 74 72 75 65 20 69 66 20 53 54 52 49 4e 47 20 6c 6f 6f 6b 73 20 6c 69 ."Return.true.if.STRING.looks.li
3ce0 6b 65 20 69 74 20 63 6f 75 6c 64 20 62 65 20 61 20 55 52 4c 2e 22 0a 20 20 28 61 6e 64 20 28 73 ke.it.could.be.a.URL."...(and.(s
3d00 74 72 69 6e 67 70 20 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 28 6e 6f 74 20 28 73 74 72 69 tringp.string)........(not.(stri
3d20 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5b 20 5c 6e 5c 74 5c 72 5d 22 20 73 74 72 69 6e 67 29 29 0a ng-match-p."[.\n\t\r]".string)).
3d40 20 20 20 20 20 20 20 28 6e 6f 74 20 28 6e 75 6c 6c 20 28 75 72 6c 2d 74 79 70 65 20 28 75 72 6c .......(not.(null.(url-type.(url
3d60 2d 67 65 6e 65 72 69 63 2d 70 61 72 73 65 2d 75 72 6c 20 73 74 72 69 6e 67 29 29 29 29 29 29 0a -generic-parse-url.string)))))).
3d80 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 66 6f 72 6d 61 74 2d 63 6f 6c 75 6d 6e 20 28 73 74 .(defun.elfeed-format-column.(st
3da0 72 69 6e 67 20 77 69 64 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 61 6c 69 67 6e 29 0a 20 20 22 52 ring.width.&optional.align)..."R
3dc0 65 74 75 72 6e 20 53 54 52 49 4e 47 20 74 72 75 6e 63 61 74 65 64 20 6f 72 20 70 61 64 64 65 64 eturn.STRING.truncated.or.padded
3de0 20 74 6f 20 57 49 44 54 48 20 66 6f 6c 6c 6f 77 69 6e 67 20 41 4c 49 47 4e 6d 65 6e 74 2e 0a 41 .to.WIDTH.following.ALIGNment..A
3e00 6c 69 67 6e 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6b 65 79 77 6f 72 64 20 3a 6c 65 66 74 20 6f lign.should.be.a.keyword.:left.o
3e20 72 20 3a 72 69 67 68 74 2e 22 0a 20 20 28 69 66 20 28 3c 3d 20 77 69 64 74 68 20 30 29 0a 20 20 r.:right."...(if.(<=.width.0)...
3e40 20 20 20 20 22 22 0a 20 20 20 20 28 66 6f 72 6d 61 74 20 28 66 6f 72 6d 61 74 20 22 25 25 25 73 ...."".....(format.(format."%%%s
3e60 25 64 2e 25 64 73 22 20 28 69 66 20 28 65 71 20 61 6c 69 67 6e 20 3a 6c 65 66 74 29 20 22 2d 22 %d.%ds".(if.(eq.align.:left)."-"
3e80 20 22 22 29 20 77 69 64 74 68 20 77 69 64 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 ."").width.width).............st
3ea0 72 69 6e 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 63 6c 61 6d 70 20 28 6d 69 ring)))..(defun.elfeed-clamp.(mi
3ec0 6e 20 76 61 6c 75 65 20 6d 61 78 29 0a 20 20 22 43 6c 61 6d 70 20 61 20 76 61 6c 75 65 20 62 65 n.value.max)..."Clamp.a.value.be
3ee0 74 77 65 65 6e 20 74 77 6f 20 76 61 6c 75 65 73 2e 22 0a 20 20 28 6d 69 6e 20 6d 61 78 20 28 6d tween.two.values."...(min.max.(m
3f00 61 78 20 6d 69 6e 20 76 61 6c 75 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 76 ax.min.value)))..(defun.elfeed-v
3f20 61 6c 69 64 2d 72 65 67 65 78 70 2d 70 20 28 72 65 67 65 78 70 29 0a 20 20 22 52 65 74 75 72 6e alid-regexp-p.(regexp)..."Return
3f40 20 74 20 69 66 20 52 45 47 45 58 50 20 69 73 20 61 20 76 61 6c 69 64 20 52 45 47 45 58 50 2e 22 .t.if.REGEXP.is.a.valid.REGEXP."
3f60 0a 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 28 70 72 6f 67 31 20 74 0a 20 ...(ignore-errors.....(prog1.t..
3f80 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 72 65 67 65 78 70 20 22 22 29 29 .....(string-match-p.regexp.""))
3fa0 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 70 20 28 6e 61 6d 65 29 ))..(defun.elfeed-cleanup.(name)
3fc0 0a 20 20 22 54 72 69 6d 20 74 72 61 69 6c 69 6e 67 20 61 6e 64 20 6c 65 61 64 69 6e 67 20 73 70 ..."Trim.trailing.and.leading.sp
3fe0 61 63 65 73 20 61 6e 64 20 63 6f 6c 6c 61 70 73 65 20 6d 75 6c 74 69 70 6c 65 20 73 70 61 63 65 aces.and.collapse.multiple.space
4000 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 74 72 69 6d 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 s."...(let.((trim.(replace-regex
4020 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 5b 5c 66 5c 6e 5c 72 5c 74 5c 76 20 5d 2b 22 20 22 20 22 p-in-string."[\f\n\r\t\v.]+"."."
4040 20 28 6f 72 20 6e 61 6d 65 20 22 22 29 29 29 29 0a 20 20 20 20 28 72 65 70 6c 61 63 65 2d 72 65 .(or.name."")))).....(replace-re
4060 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 5e 20 2b 5c 5c 7c 20 2b 24 22 20 22 22 20 74 72 gexp-in-string."^.+\\|.+$"."".tr
4080 69 6d 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 70 61 72 73 65 2d 73 69 6d 70 6c im)))..(defun.elfeed-parse-simpl
40a0 65 2d 69 73 6f 2d 38 36 30 31 20 28 73 74 72 69 6e 67 29 0a 20 20 22 41 74 74 65 6d 70 74 20 74 e-iso-8601.(string)..."Attempt.t
40c0 6f 20 70 61 72 73 65 20 53 54 52 49 4e 47 20 61 73 20 61 20 73 69 6d 70 6c 79 20 66 6f 72 6d 61 o.parse.STRING.as.a.simply.forma
40e0 74 74 65 64 20 49 53 4f 20 38 36 30 31 20 64 61 74 65 2e 0a 45 78 61 6d 70 6c 65 73 3a 20 32 30 tted.ISO.8601.date..Examples:.20
4100 31 35 2d 30 32 2d 32 32 2c 20 32 30 31 35 2d 30 32 2c 20 32 30 31 35 30 32 32 32 22 0a 20 20 28 15-02-22,.2015-02,.20150222"...(
4120 6c 65 74 2a 20 28 28 72 65 20 28 63 6c 2d 66 6c 65 74 20 28 28 72 65 2d 6e 75 6d 62 65 72 73 20 let*.((re.(cl-flet.((re-numbers.
4140 28 6e 75 6d 29 20 28 66 6f 72 6d 61 74 20 22 5c 5c 28 5b 30 2d 39 5d 5c 5c 7b 25 73 5c 5c 7d 5c (num).(format."\\([0-9]\\{%s\\}\
4160 5c 29 22 20 6e 75 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 \)".num)))................(forma
4180 74 20 22 5e 25 73 2d 3f 25 73 2d 3f 25 73 3f 5c 5c 28 54 25 73 3a 25 73 3a 3f 25 73 3f 5c 5c 29 t."^%s-?%s-?%s?\\(T%s:%s:?%s?\\)
41a0 3f 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 28 72 65 2d 6e 75 ?"........................(re-nu
41c0 6d 62 65 72 73 20 34 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 mbers.4)........................
41e0 28 72 65 2d 6e 75 6d 62 65 72 73 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (re-numbers.2)..................
4200 20 20 20 20 20 20 28 72 65 2d 6e 75 6d 62 65 72 73 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 ......(re-numbers.2)............
4220 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 2d 6e 75 6d 62 65 72 73 20 32 29 0a 20 20 20 20 20 ............(re-numbers.2)......
4240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 2d 6e 75 6d 62 65 72 73 20 32 29 ..................(re-numbers.2)
4260 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 72 65 2d 6e 75 6d 62 ........................(re-numb
4280 65 72 73 20 32 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 65 73 20 28 73 61 76 ers.2))))..........(matches.(sav
42a0 65 2d 6d 61 74 63 68 2d 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-match-data....................
42c0 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 72 65 20 73 74 72 69 6e 67 29 0a .(when.(string-match.re.string).
42e0 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 6f 6f 70 20 66 ......................(cl-loop.f
4300 6f 72 20 69 20 66 72 6f 6d 20 31 20 74 6f 20 37 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 or.i.from.1.to.7................
4320 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 6c 65 74 20 28 28 6d ................collect.(let.((m
4340 61 74 63 68 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 69 20 73 74 72 69 6e 67 29 29 29 0a 20 atch.(match-string.i.string)))..
4360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4380 20 20 20 20 20 20 20 20 28 61 6e 64 20 6d 61 74 63 68 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 ........(and.match.(string-to-nu
43a0 6d 62 65 72 20 6d 61 74 63 68 29 29 29 29 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 6d 61 74 mber.match)))))))).....(when.mat
43c0 63 68 65 73 0a 20 20 20 20 20 20 28 63 6c 2d 6d 75 6c 74 69 70 6c 65 2d 76 61 6c 75 65 2d 62 69 ches.......(cl-multiple-value-bi
43e0 6e 64 20 28 79 65 61 72 20 6d 6f 6e 74 68 20 64 61 79 20 5f 20 68 6f 75 72 20 6d 69 6e 20 73 65 nd.(year.month.day._.hour.min.se
4400 63 29 20 6d 61 74 63 68 65 73 0a 20 20 20 20 20 20 20 20 28 66 6c 6f 61 74 2d 74 69 6d 65 20 28 c).matches.........(float-time.(
4420 65 6e 63 6f 64 65 2d 74 69 6d 65 20 28 6f 72 20 73 65 63 20 30 29 20 28 6f 72 20 6d 69 6e 20 30 encode-time.(or.sec.0).(or.min.0
4440 29 20 28 6f 72 20 68 6f 75 72 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).(or.hour.0)...................
4460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 64 61 79 20 31 29 20 6d 6f 6e 74 68 20 ...............(or.day.1).month.
4480 79 65 61 72 20 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 6e 65 77 2d year.t))))))..(defun.elfeed-new-
44a0 64 61 74 65 2d 66 6f 72 2d 65 6e 74 72 79 20 28 6f 6c 64 2d 64 61 74 65 20 6e 65 77 2d 64 61 74 date-for-entry.(old-date.new-dat
44c0 65 29 0a 20 20 22 44 65 63 69 64 65 20 65 6e 74 72 79 20 64 61 74 65 2c 20 67 69 76 65 6e 20 61 e)..."Decide.entry.date,.given.a
44e0 6e 20 65 78 69 73 74 69 6e 67 20 64 61 74 65 20 28 6e 69 6c 20 66 6f 72 20 6e 65 77 29 20 61 6e n.existing.date.(nil.for.new).an
4500 64 20 61 20 6e 65 77 20 64 61 74 65 2e 0a 45 78 69 73 74 69 6e 67 20 65 6e 74 72 69 65 73 27 20 d.a.new.date..Existing.entries'.
4520 64 61 74 65 73 20 61 72 65 20 75 6e 63 68 61 6e 67 65 64 20 69 66 20 74 68 65 20 6e 65 77 20 64 dates.are.unchanged.if.the.new.d
4540 61 74 65 20 69 73 20 6e 6f 74 0a 70 61 72 73 65 61 62 6c 65 2e 20 4e 65 77 20 65 6e 74 72 69 65 ate.is.not.parseable..New.entrie
4560 73 20 77 69 74 68 20 75 6e 70 61 72 73 65 61 62 6c 65 20 64 61 74 65 73 20 64 65 66 61 75 6c 74 s.with.unparseable.dates.default
4580 20 74 6f 20 74 68 65 0a 63 75 72 72 65 6e 74 20 74 69 6d 65 2e 22 0a 20 20 28 6f 72 20 28 65 6c .to.the.current.time."...(or.(el
45a0 66 65 65 64 2d 66 6c 6f 61 74 2d 74 69 6d 65 20 6e 65 77 2d 64 61 74 65 29 0a 20 20 20 20 20 20 feed-float-time.new-date).......
45c0 6f 6c 64 2d 64 61 74 65 0a 20 20 20 20 20 20 28 66 6c 6f 61 74 2d 74 69 6d 65 29 29 29 0a 0a 28 old-date.......(float-time)))..(
45e0 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 66 6c 6f 61 74 2d 74 69 6d 65 20 28 64 61 74 65 29 0a 20 defun.elfeed-float-time.(date)..
4600 20 22 4c 69 6b 65 20 60 66 6c 6f 61 74 2d 74 69 6d 65 27 20 62 75 74 20 61 63 63 65 70 74 20 61 ."Like.`float-time'.but.accept.a
4620 6e 79 74 68 69 6e 67 20 72 65 61 73 6f 6e 61 62 6c 65 20 66 6f 72 20 44 41 54 45 2e 0a 44 65 66 nything.reasonable.for.DATE..Def
4640 61 75 6c 74 73 20 74 6f 20 6e 69 6c 20 69 66 20 44 41 54 45 20 63 6f 75 6c 64 20 6e 6f 74 20 62 aults.to.nil.if.DATE.could.not.b
4660 65 20 70 61 72 73 65 64 2e 20 44 61 74 65 20 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f 0a 62 65 20 e.parsed..Date.is.allowed.to.be.
4680 72 65 6c 61 74 69 76 65 20 74 6f 20 6e 6f 77 20 28 60 65 6c 66 65 65 64 2d 74 69 6d 65 2d 64 75 relative.to.now.(`elfeed-time-du
46a0 72 61 74 69 6f 6e 27 29 2e 22 0a 20 20 28 63 6c 2d 74 79 70 65 63 61 73 65 20 64 61 74 65 0a 20 ration')."...(cl-typecase.date..
46c0 20 20 20 28 73 74 72 69 6e 67 0a 20 20 20 20 20 28 6c 65 74 20 28 28 69 73 6f 2d 38 36 30 31 20 ...(string......(let.((iso-8601.
46e0 28 65 6c 66 65 65 64 2d 70 61 72 73 65 2d 73 69 6d 70 6c 65 2d 69 73 6f 2d 38 36 30 31 20 64 61 (elfeed-parse-simple-iso-8601.da
4700 74 65 29 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 69 73 6f 2d 38 36 30 31 0a 20 20 20 20 20 20 te)))........(if.iso-8601.......
4720 20 20 20 20 20 69 73 6f 2d 38 36 30 31 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 75 .....iso-8601..........(let.((du
4740 72 61 74 69 6f 6e 20 28 65 6c 66 65 65 64 2d 74 69 6d 65 2d 64 75 72 61 74 69 6f 6e 20 64 61 74 ration.(elfeed-time-duration.dat
4760 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 64 75 72 61 74 69 6f 6e 0a 20 20 20 e)))............(if.duration....
4780 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 28 66 6c 6f 61 74 2d 74 69 6d 65 29 20 64 75 72 61 ............(-.(float-time).dura
47a0 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 69 6d 65 20 28 tion)..............(let.((time.(
47c0 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 28 64 61 74 65 2d 74 6f 2d 74 69 6d 65 20 64 61 74 65 ignore-errors.(date-to-time.date
47e0 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 68 65 63 6b 20 69 66 20 ))))................;;.check.if.
4800 64 61 74 65 2d 74 6f 2d 74 69 6d 65 20 66 61 69 6c 65 64 2c 20 73 69 6c 65 6e 74 6c 79 20 6f 72 date-to-time.failed,.silently.or
4820 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 .otherwise................(unles
4840 73 20 28 6f 72 20 28 6e 75 6c 6c 20 74 69 6d 65 29 20 28 65 71 75 61 6c 20 74 69 6d 65 20 27 28 s.(or.(null.time).(equal.time.'(
4860 31 34 34 34 35 20 31 37 32 38 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14445.17280)))..................
4880 28 66 6c 6f 61 74 2d 74 69 6d 65 20 74 69 6d 65 29 29 29 29 29 29 29 29 0a 20 20 20 20 28 69 6e (float-time.time)))))))).....(in
48a0 74 65 67 65 72 20 64 61 74 65 29 0a 20 20 20 20 28 6f 74 68 65 72 77 69 73 65 20 6e 69 6c 29 29 teger.date).....(otherwise.nil))
48c0 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 78 6d 6c 2d 70 61 72 73 65 2d 72 65 67 69 6f )..(defun.elfeed-xml-parse-regio
48e0 6e 20 28 26 6f 70 74 69 6f 6e 61 6c 20 62 65 67 20 65 6e 64 20 62 75 66 66 65 72 20 70 61 72 73 n.(&optional.beg.end.buffer.pars
4900 65 2d 64 74 64 20 5f 70 61 72 73 65 2d 6e 73 29 0a 20 20 22 44 65 63 6f 64 65 20 28 69 66 20 6e e-dtd._parse-ns)..."Decode.(if.n
4920 65 65 64 65 64 29 20 61 6e 64 20 70 61 72 73 65 20 58 4d 4c 20 66 69 6c 65 2e 20 55 73 65 73 20 eeded).and.parse.XML.file..Uses.
4940 63 6f 64 69 6e 67 20 73 79 73 74 65 6d 20 66 72 6f 6d 0a 58 4d 4c 20 65 6e 63 6f 64 69 6e 67 20 coding.system.from.XML.encoding.
4960 64 65 63 6c 61 72 61 74 69 6f 6e 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 62 65 67 20 28 73 65 74 declaration."...(unless.beg.(set
4980 71 20 62 65 67 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 65 6e q.beg.(point-min)))...(unless.en
49a0 64 20 28 73 65 74 71 20 65 6e 64 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 28 67 6f 74 d.(setq.end.(point-max)))...(got
49c0 6f 2d 63 68 61 72 20 62 65 67 29 0a 20 20 28 77 68 65 6e 20 28 72 65 2d 73 65 61 72 63 68 2d 66 o-char.beg)...(when.(re-search-f
49e0 6f 72 77 61 72 64 0a 20 20 20 20 20 20 20 20 20 22 3c 5c 5c 3f 78 6d 6c 2e 2a 3f 65 6e 63 6f 64 orward.........."<\\?xml.*?encod
4a00 69 6e 67 3d 5b 5c 22 27 5d 5c 5c 28 5b 5e 5c 22 27 5d 2b 5c 5c 29 5b 5c 22 27 5d 2e 2a 3f 5c 5c ing=[\"']\\([^\"']+\\)[\"'].*?\\
4a20 3f 3e 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 28 6c 65 74 20 28 28 63 6f 64 69 6e 67 2d 73 79 73 ?>".nil.t).....(let.((coding-sys
4a40 74 65 6d 20 28 69 6e 74 65 72 6e 2d 73 6f 66 74 20 28 64 6f 77 6e 63 61 73 65 20 28 6d 61 74 63 tem.(intern-soft.(downcase.(matc
4a60 68 2d 73 74 72 69 6e 67 20 31 29 29 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 69 67 6e h-string.1))))).......(when.(ign
4a80 6f 72 65 2d 65 72 72 6f 72 73 20 28 63 68 65 63 6b 2d 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 20 ore-errors.(check-coding-system.
4aa0 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d coding-system)).........(let.((m
4ac0 61 72 6b 2d 62 65 67 20 28 6d 61 6b 65 2d 6d 61 72 6b 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 ark-beg.(make-marker))..........
4ae0 20 20 20 20 20 28 6d 61 72 6b 2d 65 6e 64 20 28 6d 61 6b 65 2d 6d 61 72 6b 65 72 29 29 29 0a 20 .....(mark-end.(make-marker)))..
4b00 20 20 20 20 20 20 20 20 20 3b 3b 20 52 65 67 69 6f 6e 20 63 68 61 6e 67 65 73 20 77 69 74 68 20 .........;;.Region.changes.with.
4b20 65 6e 63 6f 64 69 6e 67 2c 20 73 6f 20 75 73 65 20 6d 61 72 6b 65 72 73 20 74 6f 20 74 72 61 63 encoding,.so.use.markers.to.trac
4b40 6b 20 69 74 2e 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 6d 61 72 6b 65 72 20 6d 61 72 6b k.it............(set-marker.mark
4b60 2d 62 65 67 20 62 65 67 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 6d 61 72 6b 65 72 20 -beg.beg)...........(set-marker.
4b80 6d 61 72 6b 2d 65 6e 64 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 62 75 66 mark-end.end)...........(set-buf
4ba0 66 65 72 2d 6d 75 6c 74 69 62 79 74 65 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 72 65 63 6f fer-multibyte.t)...........(reco
4bc0 64 65 2d 72 65 67 69 6f 6e 20 6d 61 72 6b 2d 62 65 67 20 6d 61 72 6b 2d 65 6e 64 20 63 6f 64 69 de-region.mark-beg.mark-end.codi
4be0 6e 67 2d 73 79 73 74 65 6d 20 27 72 61 77 2d 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 ng-system.'raw-text)...........(
4c00 73 65 74 66 20 62 65 67 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 69 6f 6e 20 6d 61 72 6b 2d 62 setf.beg.(marker-position.mark-b
4c20 65 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 20 28 6d 61 72 6b 65 72 2d eg).................end.(marker-
4c40 70 6f 73 69 74 69 6f 6e 20 6d 61 72 6b 2d 65 6e 64 29 29 29 29 29 29 0a 20 20 28 6c 65 74 20 28 position.mark-end))))))...(let.(
4c60 28 78 6d 6c 2d 64 65 66 61 75 6c 74 2d 6e 73 20 28 29 29 29 0a 20 20 20 20 28 78 6d 6c 2d 70 61 (xml-default-ns.())).....(xml-pa
4c80 72 73 65 2d 72 65 67 69 6f 6e 20 62 65 67 20 65 6e 64 20 62 75 66 66 65 72 20 70 61 72 73 65 2d rse-region.beg.end.buffer.parse-
4ca0 64 74 64 20 27 73 79 6d 62 6f 6c 2d 71 6e 61 6d 65 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c dtd.'symbol-qnames)))..(defun.el
4cc0 66 65 65 64 2d 78 6d 6c 2d 75 6e 70 61 72 73 65 20 28 65 6c 65 6d 65 6e 74 29 0a 20 20 22 49 6e feed-xml-unparse.(element)..."In
4ce0 76 65 72 73 65 20 6f 66 20 60 65 6c 66 65 65 64 2d 78 6d 6c 2d 70 61 72 73 65 2d 72 65 67 69 6f verse.of.`elfeed-xml-parse-regio
4d00 6e 27 2c 20 77 72 69 74 69 6e 67 20 58 4d 4c 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 2e 22 0a n',.writing.XML.to.the.buffer.".
4d20 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 74 61 67 20 61 74 ..(cl-destructuring-bind.(tag.at
4d40 74 72 73 20 2e 20 62 6f 64 79 29 20 65 6c 65 6d 65 6e 74 0a 20 20 20 20 28 69 6e 73 65 72 74 20 trs...body).element.....(insert.
4d60 28 66 6f 72 6d 61 74 20 22 3c 25 73 22 20 74 61 67 29 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 (format."<%s".tag)).....(dolist.
4d80 28 61 74 74 72 20 61 74 74 72 73 29 0a 20 20 20 20 20 20 28 63 6c 2d 64 65 73 74 72 75 63 74 75 (attr.attrs).......(cl-destructu
4da0 72 69 6e 67 2d 62 69 6e 64 20 28 6b 65 79 20 2e 20 76 61 6c 75 65 29 20 61 74 74 72 0a 20 20 20 ring-bind.(key...value).attr....
4dc0 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 20 25 73 3d 27 25 73 27 22 20 .....(insert.(format.".%s='%s'".
4de0 6b 65 79 20 28 78 6d 6c 2d 65 73 63 61 70 65 2d 73 74 72 69 6e 67 20 76 61 6c 75 65 29 29 29 29 key.(xml-escape-string.value))))
4e00 29 0a 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 28 69 ).....(if.(null.body).........(i
4e20 6e 73 65 72 74 20 22 2f 3e 22 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 3e 22 29 0a 20 nsert."/>").......(insert.">")..
4e40 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 73 75 62 20 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 .....(dolist.(sub.body).........
4e60 28 69 66 20 28 73 74 72 69 6e 67 70 20 73 75 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 (if.(stringp.sub).............(i
4e80 6e 73 65 72 74 20 28 78 6d 6c 2d 65 73 63 61 70 65 2d 73 74 72 69 6e 67 20 73 75 62 29 29 0a 20 nsert.(xml-escape-string.sub))..
4ea0 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 78 6d 6c 2d 75 6e 70 61 72 73 65 20 73 75 62 .........(elfeed-xml-unparse.sub
4ec0 29 29 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 3c 2f 25 73 3e ))).......(insert.(format."</%s>
4ee0 22 20 74 61 67 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 64 69 72 65 63 74 ".tag)))))..(defun.elfeed-direct
4f00 6f 72 79 2d 65 6d 70 74 79 2d 70 20 28 64 69 72 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d ory-empty-p.(dir)..."Return.non-
4f20 6e 69 6c 20 69 66 20 44 49 52 20 69 73 20 65 6d 70 74 79 2e 22 0a 20 20 28 6e 75 6c 6c 20 28 63 nil.if.DIR.is.empty."...(null.(c
4f40 64 64 72 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 64 69 72 29 29 29 29 0a 0a 28 64 ddr.(directory-files.dir))))..(d
4f60 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 6c 75 72 70 20 28 66 69 6c 65 20 26 6f 70 74 69 6f 6e 61 efun.elfeed-slurp.(file.&optiona
4f80 6c 20 6c 69 74 65 72 61 6c 6c 79 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 74 65 l.literally)..."Return.the.conte
4fa0 6e 74 73 20 6f 66 20 46 49 4c 45 20 61 73 20 61 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 77 69 74 nts.of.FILE.as.a.string."...(wit
4fc0 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 28 69 66 20 6c 69 74 65 72 61 6c 6c 79 0a h-temp-buffer.....(if.literally.
4fe0 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 2d 6c 69 ........(insert-file-contents-li
5000 74 65 72 61 6c 6c 79 20 66 69 6c 65 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 terally.file).......(insert-file
5020 2d 63 6f 6e 74 65 6e 74 73 20 66 69 6c 65 29 29 0a 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 72 -contents.file)).....(buffer-str
5040 69 6e 67 29 29 29 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 70 69 74 20 28 66 ing)))..(cl-defun.elfeed-spit.(f
5060 69 6c 65 20 73 74 72 69 6e 67 20 26 6b 65 79 20 66 73 79 6e 63 20 61 70 70 65 6e 64 20 28 65 6e ile.string.&key.fsync.append.(en
5080 63 6f 64 69 6e 67 20 27 75 74 66 2d 38 29 29 0a 20 20 22 57 72 69 74 65 20 53 54 52 49 4e 47 20 coding.'utf-8))..."Write.STRING.
50a0 74 6f 20 46 49 4c 45 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d to.FILE."...(let.((coding-system
50c0 2d 66 6f 72 2d 77 72 69 74 65 20 65 6e 63 6f 64 69 6e 67 29 0a 20 20 20 20 20 20 20 20 28 77 72 -for-write.encoding).........(wr
50e0 69 74 65 2d 72 65 67 69 6f 6e 2d 69 6e 68 69 62 69 74 2d 66 73 79 6e 63 20 28 6e 6f 74 20 66 73 ite-region-inhibit-fsync.(not.fs
5100 79 6e 63 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 ync))).....(with-temp-buffer....
5120 20 20 20 28 69 6e 73 65 72 74 20 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 28 77 72 69 74 65 2d ...(insert.string).......(write-
5140 72 65 67 69 6f 6e 20 6e 69 6c 20 6e 69 6c 20 66 69 6c 65 20 61 70 70 65 6e 64 20 30 29 29 29 29 region.nil.nil.file.append.0))))
5160 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 67 7a 69 70 2d 73 75 70 70 6f 72 74 65 64 2d ..(defvar.elfeed-gzip-supported-
5180 70 2d 2d 63 61 63 68 65 20 3a 75 6e 6b 6e 6f 77 6e 0a 20 20 22 54 6f 20 61 76 6f 69 64 20 72 75 p--cache.:unknown..."To.avoid.ru
51a0 6e 6e 69 6e 67 20 74 68 65 20 72 65 6c 61 74 69 76 65 6c 79 20 65 78 70 65 6e 73 69 76 65 20 74 nning.the.relatively.expensive.t
51c0 65 73 74 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 65 2e 22 29 0a 0a 28 64 65 66 75 6e 20 65 6c est.more.than.once.")..(defun.el
51e0 66 65 65 64 2d 67 7a 69 70 2d 73 75 70 70 6f 72 74 65 64 2d 70 20 28 29 0a 20 20 22 52 65 74 75 feed-gzip-supported-p.()..."Retu
5200 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 60 61 75 74 6f 2d 63 6f 6d 70 72 65 73 73 69 6f 6e 2d rn.non-nil.if.`auto-compression-
5220 6d 6f 64 65 27 20 63 61 6e 20 68 61 6e 64 6c 65 20 67 7a 69 70 2e 22 0a 20 20 28 69 66 20 28 6e mode'.can.handle.gzip."...(if.(n
5240 6f 74 20 28 65 71 20 65 6c 66 65 65 64 2d 67 7a 69 70 2d 73 75 70 70 6f 72 74 65 64 2d 70 2d 2d ot.(eq.elfeed-gzip-supported-p--
5260 63 61 63 68 65 20 3a 75 6e 6b 6e 6f 77 6e 29 29 0a 20 20 20 20 20 20 65 6c 66 65 65 64 2d 67 7a cache.:unknown)).......elfeed-gz
5280 69 70 2d 73 75 70 70 6f 72 74 65 64 2d 70 2d 2d 63 61 63 68 65 0a 20 20 20 20 28 73 65 74 66 20 ip-supported-p--cache.....(setf.
52a0 65 6c 66 65 65 64 2d 67 7a 69 70 2d 73 75 70 70 6f 72 74 65 64 2d 70 2d 2d 63 61 63 68 65 0a 20 elfeed-gzip-supported-p--cache..
52c0 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 20 22 .........(and.(executable-find."
52e0 67 7a 69 70 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 gzip")................(ignore-er
5300 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 77 69 6e 64 rors..................(save-wind
5320 6f 77 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 20 20 20 20 20 ow-excursion....................
5340 28 6c 65 74 20 28 28 66 69 6c 65 20 28 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 20 22 67 7a 69 (let.((file.(make-temp-file."gzi
5360 70 74 65 73 74 22 20 6e 69 6c 20 22 2e 67 7a 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ptest".nil.".gz"))..............
5380 20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 74 61 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 69 ............(data.(cl-loop.for.i
53a0 20 66 72 6f 6d 20 33 32 20 74 6f 20 33 32 30 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .from.32.to.3200................
53c0 20 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 6c 6c 65 63 74 .........................collect
53e0 20 69 20 69 6e 74 6f 20 63 68 61 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .i.into.chars...................
5400 20 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 6c 6c 79 0a 20 20 ......................finally...
5420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5440 20 20 20 20 20 20 28 72 65 74 75 72 6e 20 28 61 70 70 6c 79 20 23 27 73 74 72 69 6e 67 20 63 68 ......(return.(apply.#'string.ch
5460 61 72 73 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 28 75 ars)))))......................(u
5480 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nwind-protect...................
54a0 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(progn...................
54c0 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 73 70 69 74 20 66 69 6c 65 20 64 61 74 61 29 .........(elfeed-spit.file.data)
54e0 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 61 6e 64 ............................(and
5500 20 28 73 74 72 69 6e 67 3d 20 64 61 74 61 20 28 65 6c 66 65 65 64 2d 73 6c 75 72 70 20 66 69 6c .(string=.data.(elfeed-slurp.fil
5520 65 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 e)).............................
5540 20 20 20 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 3d 20 64 61 74 61 20 28 65 6c 66 65 65 64 2d 73 ....(not.(string=.data.(elfeed-s
5560 6c 75 72 70 20 66 69 6c 65 20 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lurp.file.t)))))................
5580 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 66 69 6c 65 20 66 69 6c 65 29 29 29 29 29 29 29 ........(delete-file.file)))))))
55a0 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 6c 69 62 78 6d 6c 2d 73 75 70 70 6f 72 74 ))..(defun.elfeed-libxml-support
55c0 65 64 2d 70 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 60 6c 69 ed-p.()..."Return.non-nil.if.`li
55e0 62 78 6d 6c 2d 70 61 72 73 65 2d 68 74 6d 6c 2d 72 65 67 69 6f 6e 27 20 69 73 20 61 76 61 69 6c bxml-parse-html-region'.is.avail
5600 61 62 6c 65 2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 28 able."...(with-temp-buffer.....(
5620 69 6e 73 65 72 74 20 22 3c 68 74 6d 6c 3e 3c 2f 68 74 6d 6c 3e 22 29 0a 20 20 20 20 28 61 6e 64 insert."<html></html>").....(and
5640 20 28 66 62 6f 75 6e 64 70 20 27 6c 69 62 78 6d 6c 2d 70 61 72 73 65 2d 68 74 6d 6c 2d 72 65 67 .(fboundp.'libxml-parse-html-reg
5660 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 6e 75 6c 6c 20 28 6c 69 62 78 6d 6c ion)..........(not.(null.(libxml
5680 2d 70 61 72 73 65 2d 68 74 6d 6c 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 -parse-html-region.(point-min).(
56a0 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d point-max)))))))..(defun.elfeed-
56c0 6b 65 79 77 6f 72 64 2d 3e 73 79 6d 62 6f 6c 20 28 6b 65 79 77 6f 72 64 29 0a 20 20 22 49 66 20 keyword->symbol.(keyword)..."If.
56e0 61 20 6b 65 79 77 6f 72 64 2c 20 63 6f 6e 76 65 72 74 20 4b 45 59 57 4f 52 44 20 69 6e 74 6f 20 a.keyword,.convert.KEYWORD.into.
5700 61 20 70 6c 61 69 6e 20 73 79 6d 62 6f 6c 20 28 72 65 6d 6f 76 65 20 74 68 65 20 63 6f 6c 6f 6e a.plain.symbol.(remove.the.colon
5720 29 2e 22 0a 20 20 28 69 66 20 28 6b 65 79 77 6f 72 64 70 20 6b 65 79 77 6f 72 64 29 0a 20 20 20 )."...(if.(keywordp.keyword)....
5740 20 20 20 28 69 6e 74 65 72 6e 20 28 73 75 62 73 74 72 69 6e 67 20 28 73 79 6d 62 6f 6c 2d 6e 61 ...(intern.(substring.(symbol-na
5760 6d 65 20 6b 65 79 77 6f 72 64 29 20 31 29 29 0a 20 20 20 20 6b 65 79 77 6f 72 64 29 29 0a 0a 28 me.keyword).1)).....keyword))..(
5780 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 72 65 73 69 7a 65 2d 76 65 63 74 6f 72 20 28 76 65 63 74 defun.elfeed-resize-vector.(vect
57a0 6f 72 20 6c 65 6e 67 74 68 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 56 or.length)..."Return.a.copy.of.V
57c0 45 43 54 4f 52 20 73 65 74 20 74 6f 20 73 69 7a 65 20 4c 45 4e 47 54 48 2e 22 0a 20 20 28 6c 65 ECTOR.set.to.size.LENGTH."...(le
57e0 74 20 28 28 6e 65 77 2d 76 65 63 74 6f 72 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 6c 65 6e 67 t.((new-vector.(make-vector.leng
5800 74 68 20 6e 69 6c 29 29 29 0a 20 20 20 20 28 70 72 6f 67 31 20 6e 65 77 2d 76 65 63 74 6f 72 20 th.nil))).....(prog1.new-vector.
5820 3b 20 64 6f 6e 27 74 20 75 73 65 20 64 6f 74 69 6d 65 73 20 72 65 73 75 6c 74 20 28 62 75 67 23 ;.don't.use.dotimes.result.(bug#
5840 31 36 32 30 36 29 0a 20 20 20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 69 20 28 6d 69 6e 20 28 6c 16206).......(dotimes.(i.(min.(l
5860 65 6e 67 74 68 20 6e 65 77 2d 76 65 63 74 6f 72 29 20 28 6c 65 6e 67 74 68 20 76 65 63 74 6f 72 ength.new-vector).(length.vector
5880 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 61 72 65 66 20 6e 65 77 2d 76 65 63 74 ))).........(setf.(aref.new-vect
58a0 6f 72 20 69 29 20 28 61 72 65 66 20 76 65 63 74 6f 72 20 69 29 29 29 29 29 29 0a 0a 28 64 65 66 or.i).(aref.vector.i))))))..(def
58c0 75 6e 20 65 6c 66 65 65 64 2d 72 65 61 64 61 62 6c 65 2d 70 20 28 76 61 6c 75 65 29 0a 20 20 22 un.elfeed-readable-p.(value)..."
58e0 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 56 41 4c 55 45 20 63 61 6e 20 62 65 20 73 Return.non-nil.if.VALUE.can.be.s
5900 65 72 69 61 6c 69 7a 65 64 2e 22 0a 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 5f 0a erialized."...(condition-case._.
5920 20 20 20 20 20 20 28 70 72 6f 67 31 20 74 20 28 72 65 61 64 20 28 70 72 69 6e 31 2d 74 6f 2d 73 ......(prog1.t.(read.(prin1-to-s
5940 74 72 69 6e 67 20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 28 65 72 72 6f 72 20 6e 69 6c 29 29 29 tring.value))).....(error.nil)))
5960 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 74 72 69 70 2d 70 72 6f 70 65 72 74 69 65 73 ..(defun.elfeed-strip-properties
5980 20 28 73 74 72 69 6e 67 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 53 54 .(string)..."Return.a.copy.of.ST
59a0 52 49 4e 47 20 77 69 74 68 20 61 6c 6c 20 70 72 6f 70 65 72 74 69 65 73 20 72 65 6d 6f 76 65 64 RING.with.all.properties.removed
59c0 2e 0a 49 66 20 53 54 52 49 4e 47 20 69 73 20 6e 69 6c 2c 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e ..If.STRING.is.nil,.returns.nil.
59e0 22 0a 20 20 28 77 68 65 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 28 6c 65 74 20 28 28 63 6f 70 79 "...(when.string.....(let.((copy
5a00 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 .(copy-sequence.string))).......
5a20 28 70 72 6f 67 31 20 63 6f 70 79 0a 20 20 20 20 20 20 20 20 28 73 65 74 2d 74 65 78 74 2d 70 72 (prog1.copy.........(set-text-pr
5a40 6f 70 65 72 74 69 65 73 20 30 20 28 6c 65 6e 67 74 68 20 63 6f 70 79 29 20 6e 69 6c 20 63 6f 70 operties.0.(length.copy).nil.cop
5a60 79 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 63 6c 69 70 62 6f 61 72 64 2d y)))))..(defun.elfeed-clipboard-
5a80 67 65 74 20 28 29 0a 20 20 22 54 72 79 20 74 6f 20 67 65 74 20 61 20 73 65 6e 73 69 62 6c 65 20 get.()..."Try.to.get.a.sensible.
5aa0 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 73 79 73 74 65 6d 20 63 6c 69 70 62 6f 61 72 64 2e value.from.the.system.clipboard.
5ac0 0a 4f 6e 20 73 79 73 74 65 6d 73 20 72 75 6e 6e 69 6e 67 20 58 2c 20 69 74 20 77 69 6c 6c 20 74 .On.systems.running.X,.it.will.t
5ae0 72 79 20 74 6f 20 75 73 65 20 74 68 65 20 50 52 49 4d 41 52 59 20 73 65 6c 65 63 74 69 6f 6e 0a ry.to.use.the.PRIMARY.selection.
5b00 66 69 72 73 74 2c 20 74 68 65 6e 20 66 61 6c 6c 20 62 61 63 6b 20 6f 6e 74 6f 20 74 68 65 20 73 first,.then.fall.back.onto.the.s
5b20 74 61 6e 64 61 72 64 20 63 6c 69 70 62 6f 61 72 64 20 6c 69 6b 65 20 6f 74 68 65 72 0a 73 79 73 tandard.clipboard.like.other.sys
5b40 74 65 6d 73 2e 22 0a 20 20 28 65 6c 66 65 65 64 2d 73 74 72 69 70 2d 70 72 6f 70 65 72 74 69 65 tems."...(elfeed-strip-propertie
5b60 73 0a 20 20 20 28 6f 72 20 28 61 6e 64 20 28 66 62 6f 75 6e 64 70 20 27 78 2d 67 65 74 2d 73 65 s....(or.(and.(fboundp.'x-get-se
5b80 6c 65 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 27 78 lection).............(funcall.'x
5ba0 2d 67 65 74 2d 73 65 6c 65 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 28 61 6e 64 20 28 66 75 -get-selection))........(and.(fu
5bc0 6e 63 74 69 6f 6e 70 20 69 6e 74 65 72 70 72 6f 67 72 61 6d 2d 70 61 73 74 65 2d 66 75 6e 63 74 nctionp.interprogram-paste-funct
5be0 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 69 6e 74 65 72 70 ion).............(funcall.interp
5c00 72 6f 67 72 61 6d 2d 70 61 73 74 65 2d 66 75 6e 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 28 rogram-paste-function))........(
5c20 61 6e 64 20 28 66 62 6f 75 6e 64 70 20 27 77 33 32 2d 67 65 74 2d 63 6c 69 70 62 6f 61 72 64 2d and.(fboundp.'w32-get-clipboard-
5c40 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 27 77 33 32 2d data).............(funcall.'w32-
5c60 67 65 74 2d 63 6c 69 70 62 6f 61 72 64 2d 64 61 74 61 29 29 0a 20 20 20 20 20 20 20 28 69 67 6e get-clipboard-data))........(ign
5c80 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 6b 69 6c ore-errors..........(current-kil
5ca0 6c 20 30 20 3a 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 6c 79 29 29 29 29 29 0a 0a 28 64 65 l.0.:non-destructively)))))..(de
5cc0 66 75 6e 20 65 6c 66 65 65 64 2d 67 65 74 2d 6c 69 6e 6b 2d 61 74 2d 70 6f 69 6e 74 20 28 29 0a fun.elfeed-get-link-at-point.().
5ce0 20 20 22 54 72 79 20 74 6f 20 61 20 6c 69 6e 6b 20 61 74 20 70 6f 69 6e 74 20 61 6e 64 20 72 65 .."Try.to.a.link.at.point.and.re
5d00 74 75 72 6e 20 69 74 73 20 55 52 4c 2e 22 0a 20 20 28 6f 72 20 28 67 65 74 2d 74 65 78 74 2d 70 turn.its.URL."...(or.(get-text-p
5d20 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 73 68 72 2d 75 72 6c 29 0a 20 20 20 20 20 20 roperty.(point).'shr-url).......
5d40 28 61 6e 64 20 28 66 62 6f 75 6e 64 70 20 27 65 77 77 2d 63 75 72 72 65 6e 74 2d 75 72 6c 29 0a (and.(fboundp.'eww-current-url).
5d60 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 27 65 77 77 2d 63 75 72 72 65 6e 74 ...........(funcall.'eww-current
5d80 2d 75 72 6c 29 29 0a 20 20 20 20 20 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 -url)).......(get-text-property.
5da0 28 70 6f 69 6e 74 29 20 3a 6e 74 2d 6c 69 6e 6b 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 (point).:nt-link)))..(defun.elfe
5dc0 65 64 2d 67 65 74 2d 75 72 6c 2d 61 74 2d 70 6f 69 6e 74 20 28 29 0a 20 20 22 54 72 79 20 74 6f ed-get-url-at-point.()..."Try.to
5de0 20 67 65 74 20 61 20 70 6c 61 69 6e 20 55 52 4c 20 61 74 20 70 6f 69 6e 74 2e 22 0a 20 20 28 6f .get.a.plain.URL.at.point."...(o
5e00 72 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 2d 75 r.(if.(fboundp.'thing-at-point-u
5e20 72 6c 2d 61 74 2d 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 68 69 6e 67 2d 61 74 rl-at-point)...........(thing-at
5e40 2d 70 6f 69 6e 74 2d 75 72 6c 2d 61 74 2d 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 28 77 69 -point-url-at-point).........(wi
5e60 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 20 28 75 72 6c 2d 67 65 74 2d 75 72 6c 2d 61 74 2d 70 th-no-warnings.(url-get-url-at-p
5e80 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 28 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 20 27 75 oint))).......(thing-at-point.'u
5ea0 72 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 6d 6f 76 65 2d 74 6f 2d 66 69 72 rl)))..(defun.elfeed-move-to-fir
5ec0 73 74 2d 65 6d 70 74 79 2d 6c 69 6e 65 20 28 29 0a 20 20 22 50 6c 61 63 65 20 70 6f 69 6e 74 20 st-empty-line.()..."Place.point.
5ee0 61 66 74 65 72 20 66 69 72 73 74 20 62 6c 61 6e 6b 20 6c 69 6e 65 2c 20 66 6f 72 20 75 73 65 20 after.first.blank.line,.for.use.
5f00 77 69 74 68 20 60 75 72 6c 2d 72 65 74 72 69 65 76 65 27 2e 0a 49 66 20 6e 6f 20 73 75 63 68 20 with.`url-retrieve'..If.no.such.
5f20 6c 69 6e 65 20 65 78 69 73 74 73 2c 20 70 6f 69 6e 74 20 69 73 20 6c 65 66 74 20 69 6e 20 70 6c line.exists,.point.is.left.in.pl
5f40 61 63 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 74 61 72 74 20 28 70 6f 69 6e 74 29 29 29 0a 20 ace."...(let.((start.(point)))..
5f60 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 28 ...(goto-char.(point-min)).....(
5f80 75 6e 6c 65 73 73 20 28 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 2d 72 65 67 65 78 70 20 22 5e unless.(search-forward-regexp."^
5fa0 24 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 73 74 61 72 74 $".nil.t).......(goto-char.start
5fc0 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 2d 73 68 75 66 66 6c 65 20 28 73 65 ))))..(defun.elfeed--shuffle.(se
5fe0 71 29 0a 20 20 22 44 65 73 74 72 75 63 74 69 76 65 6c 79 20 73 68 75 66 66 6c 65 20 53 45 51 2e q)..."Destructively.shuffle.SEQ.
6000 22 0a 20 20 28 6c 65 74 20 28 28 6e 20 28 6c 65 6e 67 74 68 20 73 65 71 29 29 29 0a 20 20 20 20 "...(let.((n.(length.seq))).....
6020 28 70 72 6f 67 31 20 73 65 71 20 20 3b 20 64 6f 6e 27 74 20 75 73 65 20 64 6f 74 69 6d 65 73 20 (prog1.seq..;.don't.use.dotimes.
6040 72 65 73 75 6c 74 20 28 62 75 67 23 31 36 32 30 36 29 0a 20 20 20 20 20 20 28 64 6f 74 69 6d 65 result.(bug#16206).......(dotime
6060 73 20 28 69 20 6e 29 0a 20 20 20 20 20 20 20 20 28 63 6c 2d 72 6f 74 61 74 65 66 20 28 65 6c 74 s.(i.n).........(cl-rotatef.(elt
6080 20 73 65 71 20 69 29 20 28 65 6c 74 20 73 65 71 20 28 2b 20 69 20 28 63 6c 2d 72 61 6e 64 6f 6d .seq.i).(elt.seq.(+.i.(cl-random
60a0 20 28 2d 20 6e 20 69 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d .(-.n.i)))))))))..(defun.elfeed-
60c0 73 70 6c 69 74 2d 72 61 6e 67 65 73 2d 74 6f 2d 6e 75 6d 62 65 72 73 20 28 73 74 72 20 6e 29 0a split-ranges-to-numbers.(str.n).
60e0 20 20 22 43 6f 6e 76 65 72 74 20 53 54 52 20 63 6f 6e 74 61 69 6e 69 6e 67 20 65 6e 63 6c 6f 73 .."Convert.STR.containing.enclos
6100 75 72 65 20 6e 75 6d 62 65 72 73 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 6e 75 6d 62 65 ure.numbers.into.a.list.of.numbe
6120 72 73 2e 0a 53 54 52 20 69 73 20 61 20 73 74 72 69 6e 67 3b 20 4e 20 69 73 20 74 68 65 20 68 69 rs..STR.is.a.string;.N.is.the.hi
6140 67 68 65 73 74 20 70 6f 73 73 69 62 6c 65 20 6e 75 6d 62 65 72 20 69 6e 20 74 68 65 20 6c 69 73 ghest.possible.number.in.the.lis
6160 74 2e 0a 54 68 69 73 20 69 6e 63 6c 75 64 65 73 20 65 78 70 61 6e 64 69 6e 67 20 65 2e 67 2e 20 t..This.includes.expanding.e.g..
6180 33 2d 35 20 69 6e 74 6f 20 33 2c 34 2c 35 2e 20 20 49 66 20 74 68 65 20 6c 65 74 74 65 72 0a 5c 3-5.into.3,4,5...If.the.letter.\
61a0 22 61 5c 22 20 28 27 61 6c 6c 27 29 29 20 69 73 20 67 69 76 65 6e 2c 20 74 68 61 74 20 69 73 20 "a\".('all')).is.given,.that.is.
61c0 65 78 70 61 6e 64 65 64 20 74 6f 20 61 20 6c 69 73 74 20 77 69 74 68 20 6e 75 6d 62 65 72 73 20 expanded.to.a.list.with.numbers.
61e0 5b 31 2e 2e 6e 5d 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 74 72 2d 73 70 6c 69 74 20 28 73 70 6c [1..n]."...(let.((str-split.(spl
6200 69 74 2d 73 74 72 69 6e 67 20 73 74 72 29 29 0a 20 20 20 20 20 20 20 20 62 65 67 20 65 6e 64 20 it-string.str)).........beg.end.
6220 6c 69 73 74 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6c 65 6d 20 73 74 72 2d 73 70 6c 69 list).....(dolist.(elem.str-spli
6240 74 20 6c 69 73 74 29 0a 20 20 20 20 20 20 3b 3b 20 73 70 65 63 69 61 6c 20 6e 75 6d 62 65 72 20 t.list).......;;.special.number.
6260 22 61 22 20 63 6f 6e 76 65 72 74 73 20 69 6e 74 6f 20 61 6c 6c 20 65 6e 63 6c 6f 73 75 72 65 73 "a".converts.into.all.enclosures
6280 20 31 2d 4e 2e 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 75 61 6c 20 65 6c 65 6d 20 22 61 .1-N........(when.(equal.elem."a
62a0 22 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 66 20 65 6c 65 6d 20 28 63 6f 6e 63 61 74 20 22 31 ").........(setf.elem.(concat."1
62c0 2d 22 20 28 69 6e 74 2d 74 6f 2d 73 74 72 69 6e 67 20 6e 29 29 29 29 0a 20 20 20 20 20 20 28 69 -".(int-to-string.n)))).......(i
62e0 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 2d 5c 5c f.(string-match."\\([0-9]+\\)-\\
6300 28 5b 30 2d 39 5d 2b 5c 5c 29 22 20 65 6c 65 6d 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 ([0-9]+\\)".elem)...........;;.w
6320 65 20 68 61 76 65 20 66 6f 75 6e 64 20 61 20 72 61 6e 67 65 20 41 2d 42 2c 20 77 68 69 63 68 20 e.have.found.a.range.A-B,.which.
6340 6e 65 65 64 73 20 63 6f 6e 76 65 72 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 6e needs.converting...........;;.in
6360 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 73 20 41 2c 20 41 2b 31 2c 20 41 2b 32 2c 20 2e 2e 2e 20 to.the.numbers.A,.A+1,.A+2,.....
6380 42 2e 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 B............(progn.............
63a0 28 73 65 74 66 20 62 65 67 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6d 61 74 (setf.beg.(string-to-number.(mat
63c0 63 68 2d 73 74 72 69 6e 67 20 31 20 65 6c 65 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ch-string.1.elem))..............
63e0 20 20 20 20 20 65 6e 64 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6d 61 74 63 .....end.(string-to-number.(matc
6400 68 2d 73 74 72 69 6e 67 20 32 20 65 6c 65 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 h-string.2.elem))).............(
6420 77 68 69 6c 65 20 28 3c 3d 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 while.(<=.beg.end)..............
6440 20 28 73 65 74 66 20 6c 69 73 74 20 28 6e 63 6f 6e 63 20 6c 69 73 74 20 28 6c 69 73 74 20 62 65 .(setf.list.(nconc.list.(list.be
6460 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 67 20 28 31 2b 20 g)).....................beg.(1+.
6480 62 65 67 29 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 65 6c 73 65 20 6a 75 73 74 20 61 20 6e beg)))).........;;.else.just.a.n
64a0 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e umber.........(push.(string-to-n
64c0 75 6d 62 65 72 20 65 6c 65 6d 29 20 6c 69 73 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c umber.elem).list)))))..(defun.el
64e0 66 65 65 64 2d 72 65 6d 6f 76 65 2d 64 6f 74 2d 73 65 67 6d 65 6e 74 73 20 28 69 6e 70 75 74 29 feed-remove-dot-segments.(input)
6500 0a 20 20 22 52 65 6c 61 74 69 76 65 20 55 52 4c 20 61 6c 67 6f 72 69 74 68 6d 20 61 73 20 64 65 ..."Relative.URL.algorithm.as.de
6520 73 63 72 69 62 65 64 20 69 6e 20 52 46 43 20 33 39 38 36 20 c2 a7 35 2e 32 2e 34 2e 22 0a 20 20 scribed.in.RFC.3986...5.2.4."...
6540 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 77 69 74 68 20 6f 75 74 70 75 74 20 3d 20 22 22 0a 20 20 20 (cl-loop....with.output.=.""....
6560 66 6f 72 20 73 20 3d 20 69 6e 70 75 74 0a 20 20 20 74 68 65 6e 20 28 63 6f 6e 64 0a 20 20 20 20 for.s.=.input....then.(cond.....
6580 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 5c 5c 2e 5c 5c 2e 2f 22 .....((string-match-p."^\\.\\./"
65a0 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 73 20 33 29 29 0a 20 .s)...........(substring.s.3))..
65c0 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 5c 5c 2e 2f 22 ........((string-match-p."^\\./"
65e0 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 73 20 32 29 29 0a 20 .s)...........(substring.s.2))..
6600 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 2f 5c 5c 2e 2f ........((string-match-p."^/\\./
6620 22 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 73 20 32 29 29 0a ".s)...........(substring.s.2)).
6640 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 2f 5c 5c 2e .........((string-match-p."^/\\.
6660 24 22 20 73 29 20 22 2f 22 29 0a 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 $".s)."/")..........((string-mat
6680 63 68 2d 70 20 22 5e 2f 5c 5c 2e 5c 5c 2e 2f 22 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 ch-p."^/\\.\\./".s)...........(s
66a0 65 74 66 20 6f 75 74 70 75 74 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 etf.output.(replace-regexp-in-st
66c0 72 69 6e 67 20 22 2f 3f 5b 5e 2f 5d 2a 24 22 20 22 22 20 6f 75 74 70 75 74 29 29 0a 20 20 20 20 ring."/?[^/]*$"."".output)).....
66e0 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 73 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 ......(substring.s.3))..........
6700 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 2f 5c 5c 2e 5c 5c 2e 24 22 20 73 29 0a ((string-match-p."^/\\.\\.$".s).
6720 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 6f 75 74 70 75 74 20 28 72 65 70 6c 61 63 65 2d ..........(setf.output.(replace-
6740 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 2f 3f 5b 5e 2f 5d 2a 24 22 20 22 22 20 6f regexp-in-string."/?[^/]*$"."".o
6760 75 74 70 75 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 22 2f 22 29 0a 20 20 20 20 20 20 20 20 20 utput))..........."/")..........
6780 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 5c 5c 2e 5c 5c 2e 3f 24 22 20 73 29 0a ((string-match-p."^\\.\\.?$".s).
67a0 20 20 20 20 20 20 20 20 20 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d .........."")..........((string-
67c0 6d 61 74 63 68 20 22 5e 2f 3f 5b 5e 2f 5d 2a 22 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 match."^/?[^/]*".s)...........(s
67e0 65 74 66 20 6f 75 74 70 75 74 20 28 63 6f 6e 63 61 74 20 6f 75 74 70 75 74 20 28 6d 61 74 63 68 etf.output.(concat.output.(match
6800 2d 73 74 72 69 6e 67 20 30 20 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 -string.0.s)))...........(replac
6820 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 5e 2f 3f 5b 5e 2f 5d 2a 22 20 22 22 e-regexp-in-string."^/?[^/]*".""
6840 20 73 29 29 29 0a 20 20 20 75 6e 74 69 6c 20 28 7a 65 72 6f 70 20 28 6c 65 6e 67 74 68 20 73 29 .s)))....until.(zerop.(length.s)
6860 29 0a 20 20 20 66 69 6e 61 6c 6c 79 20 72 65 74 75 72 6e 20 6f 75 74 70 75 74 29 29 0a 0a 28 64 )....finally.return.output))..(d
6880 65 66 75 6e 20 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 6c 6f 63 61 74 69 6f 6e 20 28 6f 6c 64 efun.elfeed-update-location.(old
68a0 2d 75 72 6c 20 6e 65 77 2d 75 72 6c 29 0a 20 20 22 52 65 74 75 72 6e 20 66 75 6c 6c 20 55 52 4c -url.new-url)..."Return.full.URL
68c0 20 66 6f 72 20 6d 61 79 62 65 2d 72 65 6c 61 74 69 76 65 20 4e 45 57 2d 55 52 4c 20 62 61 73 65 .for.maybe-relative.NEW-URL.base
68e0 64 20 6f 6e 20 66 75 6c 6c 20 4f 4c 44 2d 55 52 4c 2e 22 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 d.on.full.OLD-URL."...(if.(null.
6900 6e 65 77 2d 75 72 6c 29 0a 20 20 20 20 20 20 6f 6c 64 2d 75 72 6c 0a 20 20 20 20 28 6c 65 74 20 new-url).......old-url.....(let.
6920 28 28 6f 6c 64 20 28 75 72 6c 2d 67 65 6e 65 72 69 63 2d 70 61 72 73 65 2d 75 72 6c 20 6f 6c 64 ((old.(url-generic-parse-url.old
6940 2d 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 20 28 75 72 6c 2d 67 65 6e 65 72 -url))...........(new.(url-gener
6960 69 63 2d 70 61 72 73 65 2d 75 72 6c 20 6e 65 77 2d 75 72 6c 29 29 29 0a 20 20 20 20 20 20 28 63 ic-parse-url.new-url))).......(c
6980 6f 6e 64 0a 20 20 20 20 20 20 20 3b 3b 20 49 73 20 6e 65 77 20 55 52 4c 20 61 62 73 6f 6c 75 74 ond........;;.Is.new.URL.absolut
69a0 65 20 61 6c 72 65 61 64 79 3f 0a 20 20 20 20 20 20 20 28 28 75 72 6c 2d 74 79 70 65 20 6e 65 77 e.already?........((url-type.new
69c0 29 20 6e 65 77 2d 75 72 6c 29 0a 20 20 20 20 20 20 20 3b 3b 20 45 6d 70 74 79 20 69 73 20 61 20 ).new-url)........;;.Empty.is.a.
69e0 73 70 65 63 69 61 6c 20 63 61 73 65 20 28 63 6c 65 61 72 20 66 72 61 67 6d 65 6e 74 29 0a 20 20 special.case.(clear.fragment)...
6a00 20 20 20 20 20 28 28 65 71 75 61 6c 20 6e 65 77 2d 75 72 6c 20 22 22 29 0a 20 20 20 20 20 20 20 .....((equal.new-url."")........
6a20 20 28 73 65 74 66 20 28 75 72 6c 2d 74 61 72 67 65 74 20 6f 6c 64 29 20 6e 69 6c 29 0a 20 20 20 .(setf.(url-target.old).nil)....
6a40 20 20 20 20 20 28 75 72 6c 2d 72 65 63 72 65 61 74 65 2d 75 72 6c 20 6f 6c 64 29 29 0a 20 20 20 .....(url-recreate-url.old))....
6a60 20 20 20 20 3b 3b 20 44 6f 65 73 20 69 74 20 73 74 61 72 74 20 77 69 74 68 20 2f 2f 3f 20 41 70 ....;;.Does.it.start.with.//?.Ap
6a80 70 65 6e 64 20 74 68 65 20 6f 6c 64 20 70 72 6f 74 6f 63 6f 6c 2e 0a 20 20 20 20 20 20 20 28 28 pend.the.old.protocol.........((
6aa0 75 72 6c 2d 66 75 6c 6c 6e 65 73 73 20 6e 65 77 29 20 28 63 6f 6e 63 61 74 20 28 75 72 6c 2d 74 url-fullness.new).(concat.(url-t
6ac0 79 70 65 20 6f 6c 64 29 20 22 3a 22 20 6e 65 77 2d 75 72 6c 29 29 0a 20 20 20 20 20 20 20 3b 3b ype.old).":".new-url))........;;
6ae0 20 49 73 20 69 74 20 61 20 72 65 6c 61 74 69 76 65 20 70 61 74 68 3f 0a 20 20 20 20 20 20 20 28 .Is.it.a.relative.path?........(
6b00 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 2f 22 20 6e 65 77 2d 75 72 (not.(string-match-p."^/".new-ur
6b20 6c 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6f 6c 64 2d 64 69 72 20 28 6f 72 20 l)).........(let*.((old-dir.(or.
6b40 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 28 75 72 6c 2d 66 69 6c 65 6e 61 (file-name-directory.(url-filena
6b60 6d 65 20 6f 6c 64 29 29 20 22 2f 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 me.old))."/"))................(c
6b80 6f 6e 63 61 74 20 28 63 6f 6e 63 61 74 20 6f 6c 64 2d 64 69 72 20 6e 65 77 2d 75 72 6c 29 29 0a oncat.(concat.old-dir.new-url)).
6ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 2d 66 69 6c 65 20 28 65 6c 66 65 65 64 ...............(new-file.(elfeed
6bc0 2d 72 65 6d 6f 76 65 2d 64 6f 74 2d 73 65 67 6d 65 6e 74 73 20 63 6f 6e 63 61 74 29 29 29 0a 20 -remove-dot-segments.concat)))..
6be0 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 75 72 6c 2d 66 69 6c 65 6e 61 6d 65 20 6f 6c 64 .........(setf.(url-filename.old
6c00 29 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 72 6c 2d 74 61 72 67 65 ).nil.................(url-targe
6c20 74 20 6f 6c 64 29 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 72 6c 2d t.old).nil.................(url-
6c40 61 74 74 72 69 62 75 74 65 73 20 6f 6c 64 29 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 attributes.old).nil.............
6c60 20 20 20 20 28 75 72 6c 2d 66 69 6c 65 6e 61 6d 65 20 6f 6c 64 29 20 6e 65 77 2d 66 69 6c 65 29 ....(url-filename.old).new-file)
6c80 0a 20 20 20 20 20 20 20 20 20 20 28 75 72 6c 2d 72 65 63 72 65 61 74 65 2d 75 72 6c 20 6f 6c 64 ...........(url-recreate-url.old
6ca0 29 29 29 0a 20 20 20 20 20 20 20 3b 3b 20 52 65 70 6c 61 63 65 20 74 68 65 20 72 65 6c 61 74 69 )))........;;.Replace.the.relati
6cc0 76 65 20 70 61 72 74 2e 0a 20 20 20 20 20 20 20 28 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 ve.part.........((progn.........
6ce0 20 20 28 73 65 74 66 20 28 75 72 6c 2d 66 69 6c 65 6e 61 6d 65 20 6f 6c 64 29 20 28 65 6c 66 65 ..(setf.(url-filename.old).(elfe
6d00 65 64 2d 72 65 6d 6f 76 65 2d 64 6f 74 2d 73 65 67 6d 65 6e 74 73 20 6e 65 77 2d 75 72 6c 29 0a ed-remove-dot-segments.new-url).
6d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 72 6c 2d 74 61 72 67 65 74 20 6f 6c 64 29 ................(url-target.old)
6d40 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 72 6c 2d 61 74 74 72 69 62 .nil.................(url-attrib
6d60 75 74 65 73 20 6f 6c 64 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 75 72 6c 2d 72 65 utes.old).nil)...........(url-re
6d80 63 72 65 61 74 65 2d 75 72 6c 20 6f 6c 64 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c create-url.old)))))))..(defun.el
6da0 66 65 65 64 2d 75 72 6c 2d 74 6f 2d 6e 61 6d 65 73 70 61 63 65 20 28 75 72 6c 29 0a 20 20 22 43 feed-url-to-namespace.(url)..."C
6dc0 6f 6d 70 75 74 65 20 61 6e 20 49 44 20 6e 61 6d 65 73 70 61 63 65 20 66 72 6f 6d 20 55 52 4c 2e ompute.an.ID.namespace.from.URL.
6de0 22 0a 20 20 28 6c 65 74 2a 20 28 28 75 72 6c 6f 62 6a 20 28 75 72 6c 2d 67 65 6e 65 72 69 63 2d "...(let*.((urlobj.(url-generic-
6e00 70 61 72 73 65 2d 75 72 6c 20 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 68 6f 73 74 20 28 parse-url.url))..........(host.(
6e20 75 72 6c 2d 68 6f 73 74 20 75 72 6c 6f 62 6a 29 29 29 0a 20 20 20 20 28 69 66 20 28 3d 20 30 20 url-host.urlobj))).....(if.(=.0.
6e40 28 6c 65 6e 67 74 68 20 68 6f 73 74 29 29 0a 20 20 20 20 20 20 20 20 75 72 6c 0a 20 20 20 20 20 (length.host)).........url......
6e60 20 68 6f 73 74 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 65 6c 66 65 65 64 2d 6c 69 62 29 0a .host)))..(provide.'elfeed-lib).
6e80 0a 3b 3b 3b 20 65 6c 66 65 65 64 2d 6c 69 62 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 .;;;.elfeed-lib.el.ends.here....
6ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7000 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2d 6c 6f 67 2e elfeed-20240331.1348/elfeed-log.
7020 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 00 00 el..............................
7040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7060 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
7080 30 30 30 35 31 33 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 36 36 00 20 30 00 00 00 0005137.00000000000.014566..0...
70a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7100 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...................
7120 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...................
7140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
71a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
71c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
71e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7200 3b 3b 3b 20 65 6c 66 65 65 64 2d 6c 6f 67 2e 65 6c 20 2d 2d 2d 20 45 6c 66 65 65 64 27 73 20 6c ;;;.elfeed-log.el.---.Elfeed's.l
7220 6f 67 67 69 6e 67 20 73 79 73 74 65 6d 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e ogging.system.-*-.lexical-bindin
7240 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 3b 20 g:.t;.-*-..;;;.Commentary:..;;;.
7260 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 0a 28 64 65 66 66 61 Code:..(require.'cl-lib)..(deffa
7280 63 65 20 65 6c 66 65 65 64 2d 6c 6f 67 2d 64 61 74 65 2d 66 61 63 65 0a 20 20 27 28 28 74 20 3a ce.elfeed-log-date-face...'((t.:
72a0 69 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 74 79 70 65 2d 66 61 63 65 29 29 0a 20 20 inherit.font-lock-type-face))...
72c0 22 46 61 63 65 20 66 6f 72 20 73 68 6f 77 69 6e 67 20 74 68 65 20 64 61 74 65 20 69 6e 20 74 68 "Face.for.showing.the.date.in.th
72e0 65 20 65 6c 66 65 65 64 20 6c 6f 67 20 62 75 66 66 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 e.elfeed.log.buffer."...:group.'
7300 65 6c 66 65 65 64 29 0a 0a 28 64 65 66 66 61 63 65 20 65 6c 66 65 65 64 2d 6c 6f 67 2d 65 72 72 elfeed)..(defface.elfeed-log-err
7320 6f 72 2d 6c 65 76 65 6c 2d 66 61 63 65 0a 20 20 27 28 28 74 20 3a 66 6f 72 65 67 72 6f 75 6e 64 or-level-face...'((t.:foreground
7340 20 22 72 65 64 22 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 73 68 6f 77 69 6e 67 20 74 68 65 ."red"))..."Face.for.showing.the
7360 20 60 65 72 72 6f 72 27 20 6c 6f 67 20 6c 65 76 65 6c 20 69 6e 20 74 68 65 20 65 6c 66 65 65 64 .`error'.log.level.in.the.elfeed
7380 20 6c 6f 67 20 62 75 66 66 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 29 0a .log.buffer."...:group.'elfeed).
73a0 0a 28 64 65 66 66 61 63 65 20 65 6c 66 65 65 64 2d 6c 6f 67 2d 77 61 72 6e 2d 6c 65 76 65 6c 2d .(defface.elfeed-log-warn-level-
73c0 66 61 63 65 0a 20 20 27 28 28 74 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 67 6f 6c 64 65 6e 72 face...'((t.:foreground."goldenr
73e0 6f 64 22 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 73 68 6f 77 69 6e 67 20 74 68 65 20 60 77 od"))..."Face.for.showing.the.`w
7400 61 72 6e 27 20 6c 6f 67 20 6c 65 76 65 6c 20 69 6e 20 74 68 65 20 65 6c 66 65 65 64 20 6c 6f 67 arn'.log.level.in.the.elfeed.log
7420 20 62 75 66 66 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 29 0a 0a 28 64 65 .buffer."...:group.'elfeed)..(de
7440 66 66 61 63 65 20 65 6c 66 65 65 64 2d 6c 6f 67 2d 69 6e 66 6f 2d 6c 65 76 65 6c 2d 66 61 63 65 fface.elfeed-log-info-level-face
7460 0a 20 20 27 28 28 74 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 64 65 65 70 20 73 6b 79 20 62 6c ...'((t.:foreground."deep.sky.bl
7480 75 65 22 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 73 68 6f 77 69 6e 67 20 74 68 65 20 60 69 ue"))..."Face.for.showing.the.`i
74a0 6e 66 6f 27 20 6c 6f 67 20 6c 65 76 65 6c 20 69 6e 20 74 68 65 20 65 6c 66 65 65 64 20 6c 6f 67 nfo'.log.level.in.the.elfeed.log
74c0 20 62 75 66 66 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 29 0a 0a 28 64 65 .buffer."...:group.'elfeed)..(de
74e0 66 66 61 63 65 20 65 6c 66 65 65 64 2d 6c 6f 67 2d 64 65 62 75 67 2d 6c 65 76 65 6c 2d 66 61 63 fface.elfeed-log-debug-level-fac
7500 65 0a 20 20 27 28 28 74 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 6d 61 67 65 6e 74 61 32 22 29 e...'((t.:foreground."magenta2")
7520 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 73 68 6f 77 69 6e 67 20 74 68 65 20 60 64 65 62 75 67 )..."Face.for.showing.the.`debug
7540 27 20 6c 6f 67 20 6c 65 76 65 6c 20 69 6e 20 74 68 65 20 65 6c 66 65 65 64 20 6c 6f 67 20 62 75 '.log.level.in.the.elfeed.log.bu
7560 66 66 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 29 0a 0a 28 64 65 66 76 61 ffer."...:group.'elfeed)..(defva
7580 72 20 65 6c 66 65 65 64 2d 6c 6f 67 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 22 2a 65 6c 66 65 65 r.elfeed-log-buffer-name."*elfee
75a0 64 2d 6c 6f 67 2a 22 0a 20 20 22 4e 61 6d 65 20 6f 66 20 62 75 66 66 65 72 20 75 73 65 64 20 66 d-log*"..."Name.of.buffer.used.f
75c0 6f 72 20 6c 6f 67 67 69 6e 67 20 45 6c 66 65 65 64 20 65 76 65 6e 74 73 2e 22 29 0a 0a 28 64 65 or.logging.Elfeed.events.")..(de
75e0 66 76 61 72 20 65 6c 66 65 65 64 2d 6c 6f 67 2d 6c 65 76 65 6c 20 27 69 6e 66 6f 0a 20 20 22 4c fvar.elfeed-log-level.'info..."L
7600 6f 77 65 73 74 20 74 79 70 65 20 6f 66 20 6d 65 73 73 61 67 65 73 20 74 6f 20 62 65 20 6c 6f 67 owest.type.of.messages.to.be.log
7620 67 65 64 2e 22 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 6c 6f 67 2d 62 75 66 66 65 72 ged.")..(defun.elfeed-log-buffer
7640 20 28 29 0a 20 20 22 52 65 74 75 72 6e 73 20 74 68 65 20 62 75 66 66 65 72 20 66 6f 72 20 60 65 .()..."Returns.the.buffer.for.`e
7660 6c 66 65 65 64 2d 6c 6f 67 27 2c 20 63 72 65 61 74 69 6e 67 20 69 74 20 61 73 20 6e 65 65 64 65 lfeed-log',.creating.it.as.neede
7680 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 20 d."...(let.((buffer.(get-buffer.
76a0 65 6c 66 65 65 64 2d 6c 6f 67 2d 62 75 66 66 65 72 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 69 elfeed-log-buffer-name))).....(i
76c0 66 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 77 f.buffer.........buffer.......(w
76e0 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 67 65 6e 65 72 61 74 65 2d 6e 65 77 ith-current-buffer.(generate-new
7700 2d 62 75 66 66 65 72 20 65 6c 66 65 65 64 2d 6c 6f 67 2d 62 75 66 66 65 72 2d 6e 61 6d 65 29 0a -buffer.elfeed-log-buffer-name).
7720 20 20 20 20 20 20 20 20 28 73 70 65 63 69 61 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 28 ........(special-mode).........(
7740 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 current-buffer)))))..(defun.elfe
7760 65 64 2d 6c 6f 67 2d 2d 6c 65 76 65 6c 2d 6e 75 6d 62 65 72 20 28 6c 65 76 65 6c 29 0a 20 20 22 ed-log--level-number.(level)..."
7780 52 65 74 75 72 6e 20 61 20 72 65 6c 61 74 69 76 65 20 6c 65 76 65 6c 20 6e 75 6d 62 65 72 20 66 Return.a.relative.level.number.f
77a0 6f 72 20 4c 45 56 45 4c 2e 22 0a 20 20 28 63 6c 2d 63 61 73 65 20 6c 65 76 65 6c 0a 20 20 20 20 or.LEVEL."...(cl-case.level.....
77c0 28 64 65 62 75 67 20 2d 31 30 29 0a 20 20 20 20 28 69 6e 66 6f 20 30 29 0a 20 20 20 20 28 77 61 (debug.-10).....(info.0).....(wa
77e0 72 6e 20 31 30 29 0a 20 20 20 20 28 65 72 72 6f 72 20 32 30 29 0a 20 20 20 20 28 6f 74 68 65 72 rn.10).....(error.20).....(other
7800 77 69 73 65 20 2d 31 30 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 6c 6f 67 20 28 wise.-10)))..(defun.elfeed-log.(
7820 6c 65 76 65 6c 20 66 6d 74 20 26 72 65 73 74 20 6f 62 6a 65 63 74 73 29 0a 20 20 22 57 72 69 74 level.fmt.&rest.objects)..."Writ
7840 65 20 6c 6f 67 20 6d 65 73 73 61 67 65 20 46 4d 54 20 61 74 20 4c 45 56 45 4c 20 74 6f 20 45 6c e.log.message.FMT.at.LEVEL.to.El
7860 66 65 65 64 27 73 20 6c 6f 67 20 62 75 66 66 65 72 2e 0a 0a 4c 45 56 45 4c 20 73 68 6f 75 6c 64 feed's.log.buffer...LEVEL.should
7880 20 62 65 20 61 20 73 79 6d 62 6f 6c 3a 20 64 65 62 75 67 2c 20 69 6e 66 6f 2c 20 77 61 72 6e 2c .be.a.symbol:.debug,.info,.warn,
78a0 20 65 72 72 6f 72 2e 0a 46 4d 54 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 20 73 75 69 .error..FMT.must.be.a.string.sui
78c0 74 61 62 6c 65 20 66 6f 72 20 60 66 6f 72 6d 61 74 27 20 67 69 76 65 6e 20 4f 42 4a 45 43 54 53 table.for.`format'.given.OBJECTS
78e0 20 61 73 20 61 72 67 75 6d 65 6e 74 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 6f 67 2d 62 75 66 .as.arguments."...(let.((log-buf
7900 66 65 72 20 28 65 6c 66 65 65 64 2d 6c 6f 67 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 fer.(elfeed-log-buffer))........
7920 20 28 6c 6f 67 2d 6c 65 76 65 6c 2d 66 61 63 65 20 28 63 6c 2d 63 61 73 65 20 6c 65 76 65 6c 0a .(log-level-face.(cl-case.level.
7940 20 20 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 62 75 67 ..........................(debug
7960 20 27 65 6c 66 65 65 64 2d 6c 6f 67 2d 64 65 62 75 67 2d 6c 65 76 65 6c 2d 66 61 63 65 29 0a 20 .'elfeed-log-debug-level-face)..
7980 20 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 69 6e 66 6f 20 27 .........................(info.'
79a0 65 6c 66 65 65 64 2d 6c 6f 67 2d 69 6e 66 6f 2d 6c 65 76 65 6c 2d 66 61 63 65 29 0a 20 20 20 20 elfeed-log-info-level-face).....
79c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 61 72 6e 20 27 65 6c 66 ......................(warn.'elf
79e0 65 65 64 2d 6c 6f 67 2d 77 61 72 6e 2d 6c 65 76 65 6c 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20 eed-log-warn-level-face)........
7a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 27 65 6c 66 65 65 ...................(error.'elfee
7a20 64 2d 6c 6f 67 2d 65 72 72 6f 72 2d 6c 65 76 65 6c 2d 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 d-log-error-level-face))).......
7a40 20 20 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 29 0a 20 20 20 20 28 77 68 ..(inhibit-read-only.t)).....(wh
7a60 65 6e 20 28 3e 3d 20 28 65 6c 66 65 65 64 2d 6c 6f 67 2d 2d 6c 65 76 65 6c 2d 6e 75 6d 62 65 72 en.(>=.(elfeed-log--level-number
7a80 20 6c 65 76 65 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 6c 6f .level)...............(elfeed-lo
7aa0 67 2d 2d 6c 65 76 65 6c 2d 6e 75 6d 62 65 72 20 65 6c 66 65 65 64 2d 6c 6f 67 2d 6c 65 76 65 6c g--level-number.elfeed-log-level
7ac0 29 29 0a 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 6c 6f )).......(with-current-buffer.lo
7ae0 67 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 g-buffer.........(goto-char.(poi
7b00 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 0a 20 20 20 20 20 20 20 nt-max)).........(insert........
7b20 20 20 28 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 5b 22 20 ..(format...........(concat."[".
7b40 28 70 72 6f 70 65 72 74 69 7a 65 20 22 25 73 22 20 27 66 61 63 65 20 27 65 6c 66 65 65 64 2d 6c (propertize."%s".'face.'elfeed-l
7b60 6f 67 2d 64 61 74 65 2d 66 61 63 65 29 20 22 5d 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 og-date-face)."]."..............
7b80 20 20 20 20 20 22 5b 22 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 25 73 22 20 27 66 61 63 65 20 ....."[".(propertize."%s".'face.
7ba0 6c 6f 67 2d 6c 65 76 65 6c 2d 66 61 63 65 29 20 22 5d 3a 20 25 73 5c 6e 22 29 0a 20 20 20 20 20 log-level-face)."]:.%s\n")......
7bc0 20 20 20 20 20 28 66 6f 72 6d 61 74 2d 74 69 6d 65 2d 73 74 72 69 6e 67 20 22 25 59 2d 25 6d 2d .....(format-time-string."%Y-%m-
7be0 25 64 20 25 48 3a 25 4d 3a 25 53 22 29 0a 20 20 20 20 20 20 20 20 20 20 6c 65 76 65 6c 0a 20 20 %d.%H:%M:%S")...........level...
7c00 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 66 6f 72 6d 61 74 20 66 6d 74 20 6f 62 6a 65 ........(apply.#'format.fmt.obje
7c20 63 74 73 29 29 29 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 65 6c 66 65 65 64 2d 6c 6f 67 cts)))))))..(provide.'elfeed-log
7c40 29 0a 0a 3b 3b 3b 20 65 6c 66 65 65 64 2d 6c 6f 67 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 )..;;;.elfeed-log.el.ends.here..
7c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e00 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2d 70 6b 67 2e elfeed-20240331.1348/elfeed-pkg.
7e20 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 00 00 el..............................
7e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e60 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
7e80 30 30 30 30 35 36 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 36 37 00 20 30 00 00 00 0000566.00000000000.014567..0...
7ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7f00 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...................
7f20 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...................
7f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8000 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 65 6c 66 65 65 64 22 20 22 32 30 32 34 30 33 (define-package."elfeed"."202403
8020 33 31 2e 31 33 34 38 22 20 22 61 6e 20 45 6d 61 63 73 20 41 74 6f 6d 2f 52 53 53 20 66 65 65 64 31.1348"."an.Emacs.Atom/RSS.feed
8040 20 72 65 61 64 65 72 22 0a 20 20 27 28 28 65 6d 61 63 73 20 22 32 34 2e 33 22 29 29 0a 20 20 3a .reader"...'((emacs."24.3"))...:
8060 63 6f 6d 6d 69 74 20 22 35 63 30 35 61 31 65 61 62 33 37 62 63 31 31 33 65 63 62 31 35 38 61 34 commit."5c05a1eab37bc113ecb158a4
8080 64 35 37 66 65 30 35 33 35 32 66 61 32 63 36 61 22 20 3a 61 75 74 68 6f 72 73 0a 20 20 27 28 28 d57fe05352fa2c6a".:authors...'((
80a0 22 43 68 72 69 73 74 6f 70 68 65 72 20 57 65 6c 6c 6f 6e 73 22 20 2e 20 22 77 65 6c 6c 6f 6e 73 "Christopher.Wellons"..."wellons
80c0 40 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 @nullprogram.com"))...:maintaine
80e0 72 0a 20 20 27 28 22 43 68 72 69 73 74 6f 70 68 65 72 20 57 65 6c 6c 6f 6e 73 22 20 2e 20 22 77 r...'("Christopher.Wellons"..."w
8100 65 6c 6c 6f 6e 73 40 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d 22 29 0a 20 20 3a 75 72 6c 20 ellons@nullprogram.com")...:url.
8120 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 6b 65 65 74 6f 2f 65 6c 66 65 65 "https://github.com/skeeto/elfee
8140 64 22 29 0a 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 3b 3b 20 6e 6f 2d 62 79 d").;;.Local.Variables:.;;.no-by
8160 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 0a 3b 3b 20 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 te-compile:.t.;;.End:...........
8180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
81a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
81c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
81e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8200 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2d 73 65 61 72 elfeed-20240331.1348/elfeed-sear
8220 63 68 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 ch.el...........................
8240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8260 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
8280 30 31 31 32 30 30 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 32 34 34 00 20 30 00 00 00 0112006.00000000000.015244..0...
82a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
82c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
82e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8300 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...................
8320 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...................
8340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
83a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
83c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
83e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8400 3b 3b 3b 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2e 65 6c 20 2d 2d 2d 20 6c 69 73 74 20 66 65 ;;;.elfeed-search.el.---.list.fe
8420 65 64 20 65 6e 74 72 69 65 73 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 ed.entries.-*-.lexical-binding:.
8440 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 66 72 65 65 20 61 6e 64 20 75 6e 65 6e t;.-*-..;;.This.is.free.and.unen
8460 63 75 6d 62 65 72 65 64 20 73 6f 66 74 77 61 72 65 20 72 65 6c 65 61 73 65 64 20 69 6e 74 6f 20 cumbered.software.released.into.
8480 74 68 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 the.public.domain...;;;.Code:..(
84a0 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 62 72 6f 77 73 require.'cl-lib).(require.'brows
84c0 65 2d 75 72 6c 29 0a 28 72 65 71 75 69 72 65 20 27 77 69 64 2d 65 64 69 74 29 20 3b 20 77 69 64 e-url).(require.'wid-edit).;.wid
84e0 67 65 74 2d 69 6e 61 63 74 69 76 65 20 66 61 63 65 0a 28 72 65 71 75 69 72 65 20 27 62 6f 6f 6b get-inactive.face.(require.'book
8500 6d 61 72 6b 29 0a 28 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 79 62 65 2d 6c 6f 61 64 2d 64 65 66 61 75 mark).(bookmark-maybe-load-defau
8520 6c 74 2d 66 69 6c 65 29 0a 0a 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 64 29 0a 28 72 65 71 lt-file)..(require.'elfeed).(req
8540 75 69 72 65 20 27 65 6c 66 65 65 64 2d 64 62 29 0a 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 uire.'elfeed-db).(require.'elfee
8560 64 2d 6c 69 62 29 0a 0a 3b 3b 20 49 6e 74 65 72 66 61 63 65 20 74 6f 20 65 6c 66 65 65 64 2d 73 d-lib)..;;.Interface.to.elfeed-s
8580 68 6f 77 20 28 6c 61 7a 79 20 72 65 71 75 69 72 65 64 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e how.(lazy.required).(declare-fun
85a0 63 74 69 6f 6e 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 20 27 65 6c 66 65 65 64 2d ction.elfeed-show-entry.'elfeed-
85c0 73 68 6f 77 20 28 65 6e 74 72 79 29 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 73 65 show.(entry))..(defvar.elfeed-se
85e0 61 72 63 68 2d 65 6e 74 72 69 65 73 20 28 29 0a 20 20 22 4c 69 73 74 20 6f 66 20 74 68 65 20 65 arch-entries.()..."List.of.the.e
8600 6e 74 72 69 65 73 20 63 75 72 72 65 6e 74 6c 79 20 6f 6e 20 64 69 73 70 6c 61 79 2e 22 29 0a 0a ntries.currently.on.display.")..
8620 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 2d 68 69 73 (defvar.elfeed-search-filter-his
8640 74 6f 72 79 20 6e 69 6c 0a 20 20 22 46 69 6c 74 65 72 20 68 69 73 74 6f 72 79 20 66 6f 72 20 60 tory.nil..."Filter.history.for.`
8660 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 27 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 completing-read'.")..(defvar.elf
8680 65 65 64 2d 73 65 61 72 63 68 2d 6c 61 73 74 2d 75 70 64 61 74 65 20 30 0a 20 20 22 54 68 65 20 eed-search-last-update.0..."The.
86a0 6c 61 73 74 20 74 69 6d 65 20 74 68 65 20 62 75 66 66 65 72 20 77 61 73 20 72 65 64 72 61 77 6e last.time.the.buffer.was.redrawn
86c0 20 69 6e 20 65 70 6f 63 68 20 73 65 63 6f 6e 64 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c .in.epoch.seconds.")..(defvar.el
86e0 66 65 65 64 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 68 6f 6f 6b 20 28 29 0a 20 20 22 4c 69 feed-search-update-hook.()..."Li
8700 73 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 72 75 6e 20 69 6d 6d 65 64 69 61 74 65 st.of.functions.to.run.immediate
8720 6c 79 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 20 73 65 61 72 63 68 20 62 75 66 66 65 72 20 75 70 64 ly.following.a.search.buffer.upd
8740 61 74 65 2e 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 ate.")..(defcustom.elfeed-search
8760 2d 66 69 6c 74 65 72 20 22 40 36 2d 6d 6f 6e 74 68 73 2d 61 67 6f 20 2b 75 6e 72 65 61 64 22 0a -filter."@6-months-ago.+unread".
8780 20 20 22 51 75 65 72 79 20 73 74 72 69 6e 67 20 66 69 6c 74 65 72 69 6e 67 20 73 68 6f 77 6e 20 .."Query.string.filtering.shown.
87a0 65 6e 74 72 69 65 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 entries."...:group.'elfeed...:ty
87c0 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 73 pe.'string)..(defcustom.elfeed-s
87e0 6f 72 74 2d 6f 72 64 65 72 20 27 64 65 73 63 65 6e 64 69 6e 67 0a 20 20 22 54 68 65 20 6f 72 64 ort-order.'descending..."The.ord
8800 65 72 20 69 6e 20 77 68 69 63 68 20 65 6e 74 72 69 65 73 20 73 68 6f 75 6c 64 20 62 65 20 64 69 er.in.which.entries.should.be.di
8820 73 70 6c 61 79 65 64 2e 0a 0a 43 68 61 6e 67 69 6e 67 20 74 68 69 73 20 66 72 6f 6d 20 74 68 65 splayed...Changing.this.from.the
8840 20 64 65 66 61 75 6c 74 20 77 69 6c 6c 20 6c 65 61 64 20 74 6f 20 6d 69 73 6c 65 61 64 69 6e 67 .default.will.lead.to.misleading
8860 20 72 65 73 75 6c 74 73 0a 64 75 72 69 6e 67 20 6c 69 76 65 20 66 69 6c 74 65 72 20 65 64 69 74 .results.during.live.filter.edit
8880 69 6e 67 2c 20 62 75 74 20 74 68 65 20 72 65 73 75 6c 74 73 20 62 65 20 77 69 6c 6c 20 63 6f 72 ing,.but.the.results.be.will.cor
88a0 72 65 63 74 20 77 68 65 6e 0a 6c 69 76 65 20 66 69 6c 74 65 72 20 65 64 69 74 69 6e 67 20 69 73 rect.when.live.filter.editing.is
88c0 20 65 78 69 74 65 64 2e 20 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 .exited.."...:group.'elfeed...:t
88e0 79 70 65 20 27 28 63 68 6f 69 63 65 20 28 63 6f 6e 73 74 20 64 65 73 63 65 6e 64 69 6e 67 29 20 ype.'(choice.(const.descending).
8900 28 63 6f 6e 73 74 20 61 73 63 65 6e 64 69 6e 67 29 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 (const.ascending)))..(defcustom.
8920 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 73 6f 72 74 2d 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 0a elfeed-search-sort-function.nil.
8940 20 20 22 53 6f 72 74 20 70 72 65 64 69 63 61 74 65 20 61 70 70 6c 69 65 64 20 74 6f 20 74 68 65 .."Sort.predicate.applied.to.the
8960 20 6c 69 73 74 20 6f 66 20 65 6e 74 72 69 65 73 20 62 65 66 6f 72 65 20 64 69 73 70 6c 61 79 2e .list.of.entries.before.display.
8980 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 74 61 6b 65 20 74 77 6f 20 65 6e ..This.function.must.take.two.en
89a0 74 72 69 65 73 20 61 73 20 61 72 67 75 6d 65 6e 74 73 2c 20 61 6e 20 69 6e 74 65 72 66 61 63 65 tries.as.arguments,.an.interface
89c0 0a 73 75 69 74 61 62 6c 65 20 61 73 20 74 68 65 20 70 72 65 64 69 63 61 74 65 20 66 6f 72 20 60 .suitable.as.the.predicate.for.`
89e0 73 6f 72 74 27 2e 0a 0a 43 68 61 6e 67 69 6e 67 20 74 68 69 73 20 66 72 6f 6d 20 74 68 65 20 64 sort'...Changing.this.from.the.d
8a00 65 66 61 75 6c 74 20 77 69 6c 6c 20 6c 65 61 64 20 74 6f 20 6d 69 73 6c 65 61 64 69 6e 67 20 72 efault.will.lead.to.misleading.r
8a20 65 73 75 6c 74 73 0a 64 75 72 69 6e 67 20 6c 69 76 65 20 66 69 6c 74 65 72 20 65 64 69 74 69 6e esults.during.live.filter.editin
8a40 67 2c 20 62 75 74 20 74 68 65 20 72 65 73 75 6c 74 73 20 62 65 20 77 69 6c 6c 20 63 6f 72 72 65 g,.but.the.results.be.will.corre
8a60 63 74 20 77 68 65 6e 0a 6c 69 76 65 20 66 69 6c 74 65 72 20 65 64 69 74 69 6e 67 20 69 73 20 65 ct.when.live.filter.editing.is.e
8a80 78 69 74 65 64 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 xited."...:group.'elfeed...:type
8aa0 20 27 28 63 68 6f 69 63 65 20 66 75 6e 63 74 69 6f 6e 20 28 63 6f 6e 73 74 20 6e 69 6c 29 29 29 .'(choice.function.(const.nil)))
8ac0 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 72 65 6d 61 69 ..(defcustom.elfeed-search-remai
8ae0 6e 2d 6f 6e 2d 65 6e 74 72 79 20 6e 69 6c 0a 20 20 22 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 n-on-entry.nil..."When.non-nil,.
8b00 6b 65 65 70 20 70 6f 69 6e 74 20 61 74 20 65 6e 74 72 79 20 61 66 74 65 72 20 70 65 72 66 6f 72 keep.point.at.entry.after.perfor
8b20 6d 69 6e 67 20 61 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 57 68 65 6e 20 6e 69 6c 2c 20 6d 6f 76 65 20 ming.a.command...When.nil,.move.
8b40 74 6f 20 6e 65 78 74 20 65 6e 74 72 79 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 to.next.entry."...:group.'elfeed
8b60 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 6f 6d 20 65 ...:type.'boolean)..(defcustom.e
8b80 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 63 6c 69 70 62 6f 61 72 64 2d 74 79 70 65 20 27 50 52 49 lfeed-search-clipboard-type.'PRI
8ba0 4d 41 52 59 0a 20 20 22 53 65 6c 65 63 74 73 20 74 68 65 20 63 6c 69 70 62 6f 61 72 64 20 60 65 MARY..."Selects.the.clipboard.`e
8bc0 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 79 61 6e 6b 27 20 73 68 6f 75 6c 64 20 75 73 65 2e 0a 43 lfeed-search-yank'.should.use..C
8be0 68 6f 69 63 65 73 20 61 72 65 20 74 68 65 20 73 79 6d 62 6f 6c 73 20 50 52 49 4d 41 52 59 2c 20 hoices.are.the.symbols.PRIMARY,.
8c00 53 45 43 4f 4e 44 41 52 59 2c 20 6f 72 20 43 4c 49 50 42 4f 41 52 44 2e 22 0a 20 20 3a 67 72 6f SECONDARY,.or.CLIPBOARD."...:gro
8c20 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 28 63 6f 6e up.'elfeed...:type.'(choice.(con
8c40 73 74 20 50 52 49 4d 41 52 59 29 20 28 63 6f 6e 73 74 20 53 45 43 4f 4e 44 41 52 59 29 20 28 63 st.PRIMARY).(const.SECONDARY).(c
8c60 6f 6e 73 74 20 43 4c 49 50 42 4f 41 52 44 29 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c onst.CLIPBOARD)))..(defcustom.el
8c80 66 65 65 64 2d 73 65 61 72 63 68 2d 64 61 74 65 2d 66 6f 72 6d 61 74 20 27 28 22 25 59 2d 25 6d feed-search-date-format.'("%Y-%m
8ca0 2d 25 64 22 20 31 30 20 3a 6c 65 66 74 29 0a 20 20 22 54 68 65 20 60 66 6f 72 6d 61 74 2d 74 69 -%d".10.:left)..."The.`format-ti
8cc0 6d 65 2d 73 74 72 69 6e 67 27 20 66 6f 72 6d 61 74 2c 20 74 61 72 67 65 74 20 77 69 64 74 68 2c me-string'.format,.target.width,
8ce0 20 61 6e 64 20 61 6c 69 67 6e 6d 65 6e 74 20 66 6f 72 20 64 61 74 65 73 2e 0a 0a 54 68 69 73 20 .and.alignment.for.dates...This.
8d00 73 68 6f 75 6c 64 20 62 65 20 28 73 74 72 69 6e 67 20 69 6e 74 65 67 65 72 20 6b 65 79 77 6f 72 should.be.(string.integer.keywor
8d20 64 29 20 66 6f 72 20 28 66 6f 72 6d 61 74 20 77 69 64 74 68 20 61 6c 69 67 6e 6d 65 6e 74 29 2e d).for.(format.width.alignment).
8d40 0a 50 6f 73 73 69 62 6c 65 20 61 6c 69 67 6e 6d 65 6e 74 73 20 61 72 65 20 3a 6c 65 66 74 20 61 .Possible.alignments.are.:left.a
8d60 6e 64 20 3a 72 69 67 68 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a nd.:right."...:group.'elfeed...:
8d80 74 79 70 65 20 27 28 6c 69 73 74 20 73 74 72 69 6e 67 20 69 6e 74 65 67 65 72 20 28 63 68 6f 69 type.'(list.string.integer.(choi
8da0 63 65 20 28 63 6f 6e 73 74 20 3a 6c 65 66 74 29 20 28 63 6f 6e 73 74 20 3a 72 69 67 68 74 29 29 ce.(const.:left).(const.:right))
8dc0 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 63 6f 6d ))..(defcustom.elfeed-search-com
8de0 70 69 6c 65 2d 66 69 6c 74 65 72 20 74 0a 20 20 22 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 63 6f 6d pile-filter.t..."If.non-nil,.com
8e00 70 69 6c 65 20 73 65 61 72 63 68 20 66 69 6c 74 65 72 73 20 69 6e 74 6f 20 62 79 74 65 63 6f 64 pile.search.filters.into.bytecod
8e20 65 20 6f 6e 20 74 68 65 20 66 6c 79 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a e.on.the.fly."...:group.'elfeed.
8e40 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 ..:type.'boolean)..(defvar.elfee
8e60 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 2d 61 63 74 69 76 65 20 6e 69 6c 0a 20 20 22 57 68 d-search-filter-active.nil..."Wh
8e80 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 45 6c 66 65 65 64 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 en.non-nil,.Elfeed.is.currently.
8ea0 72 65 61 64 69 6e 67 20 61 20 66 69 6c 74 65 72 20 66 72 6f 6d 20 74 68 65 20 6d 69 6e 69 62 75 reading.a.filter.from.the.minibu
8ec0 66 66 65 72 2e 0a 57 68 65 6e 20 6c 69 76 65 20 65 64 69 74 69 6e 67 20 74 68 65 20 66 69 6c 74 ffer..When.live.editing.the.filt
8ee0 65 72 2c 20 69 74 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 3a 6c 69 76 65 2e 22 29 0a 0a 28 64 65 er,.it.is.bound.to.:live.")..(de
8f00 66 76 61 72 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 2d 6f 76 65 72 66 6c fvar.elfeed-search-filter-overfl
8f20 6f 77 69 6e 67 20 6e 69 6c 0a 20 20 22 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 20 63 owing.nil..."When.non-nil,.the.c
8f40 75 72 72 65 6e 74 20 6c 69 76 65 20 66 69 6c 74 65 72 20 6f 76 65 72 66 6c 6f 77 73 20 74 68 65 urrent.live.filter.overflows.the
8f60 20 77 69 6e 64 6f 77 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 73 65 61 72 63 .window.")..(defvar.elfeed-searc
8f80 68 2d 2d 6f 66 66 73 65 74 20 31 0a 20 20 22 4f 66 66 73 65 74 20 62 65 74 77 65 65 6e 20 6c 69 h--offset.1..."Offset.between.li
8fa0 6e 65 20 6e 75 6d 62 65 72 73 20 61 6e 64 20 65 6e 74 72 79 20 6c 69 73 74 20 70 6f 73 69 74 69 ne.numbers.and.entry.list.positi
8fc0 6f 6e 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 68 65 61 on.")..(defvar.elfeed-search-hea
8fe0 64 65 72 2d 66 75 6e 63 74 69 6f 6e 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 2d 68 65 der-function.#'elfeed-search--he
9000 61 64 65 72 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 ader..."Function.that.returns.th
9020 65 20 73 74 72 69 6e 67 20 74 6f 20 62 65 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 45 6c 66 65 e.string.to.be.used.for.the.Elfe
9040 65 64 20 73 65 61 72 63 68 20 68 65 61 64 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 ed.search.header.")..(defvar.elf
9060 65 65 64 2d 73 65 61 72 63 68 2d 70 72 69 6e 74 2d 65 6e 74 72 79 2d 66 75 6e 63 74 69 6f 6e 20 eed-search-print-entry-function.
9080 23 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 70 72 69 6e 74 2d 65 6e 74 72 79 2d 2d 64 65 66 #'elfeed-search-print-entry--def
90a0 61 75 6c 74 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 74 6f 20 70 72 69 6e 74 20 65 6e 74 72 69 65 ault..."Function.to.print.entrie
90c0 73 20 69 6e 74 6f 20 74 68 65 20 2a 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2a 20 62 75 66 66 65 s.into.the.*elfeed-search*.buffe
90e0 72 2e 22 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 74 r.")..(defalias.'elfeed-search-t
9100 61 67 2d 61 6c 6c 2d 75 6e 72 65 61 64 0a 20 20 28 65 6c 66 65 65 64 2d 65 78 70 6f 73 65 20 23 ag-all-unread...(elfeed-expose.#
9120 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 74 61 67 2d 61 6c 6c 20 27 75 6e 72 65 61 64 29 0a 'elfeed-search-tag-all.'unread).
9140 20 20 22 41 64 64 20 74 68 65 20 60 75 6e 72 65 61 64 27 20 74 61 67 20 74 6f 20 61 6c 6c 20 73 .."Add.the.`unread'.tag.to.all.s
9160 65 6c 65 63 74 65 64 20 65 6e 74 72 69 65 73 2e 22 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 65 elected.entries.")..(defalias.'e
9180 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 75 6e 74 61 67 2d 61 6c 6c 2d 75 6e 72 65 61 64 0a 20 20 lfeed-search-untag-all-unread...
91a0 28 65 6c 66 65 65 64 2d 65 78 70 6f 73 65 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 75 (elfeed-expose.#'elfeed-search-u
91c0 6e 74 61 67 2d 61 6c 6c 20 27 75 6e 72 65 61 64 29 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 ntag-all.'unread)..."Remove.the.
91e0 60 75 6e 72 65 61 64 27 20 74 61 67 20 66 72 6f 6d 20 61 6c 6c 20 73 65 6c 65 63 74 65 64 20 65 `unread'.tag.from.all.selected.e
9200 6e 74 72 69 65 73 2e 22 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 65 6c 66 65 65 64 2d 73 65 61 ntries.")..(defalias.'elfeed-sea
9220 72 63 68 2d 75 70 64 61 74 65 2d 2d 66 6f 72 63 65 0a 20 20 28 65 6c 66 65 65 64 2d 65 78 70 6f rch-update--force...(elfeed-expo
9240 73 65 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 20 3a 66 6f 72 63 65 se.#'elfeed-search-update.:force
9260 29 0a 20 20 22 46 6f 72 63 65 20 72 65 66 72 65 73 68 20 76 69 65 77 20 6f 66 20 74 68 65 20 66 )..."Force.refresh.view.of.the.f
9280 65 65 64 20 6c 69 73 74 69 6e 67 2e 22 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 eed.listing.")..(defun.elfeed-se
92a0 61 72 63 68 2d 71 75 69 74 2d 77 69 6e 64 6f 77 20 28 29 0a 20 20 22 53 61 76 65 20 74 68 65 20 arch-quit-window.()..."Save.the.
92c0 64 61 74 61 62 61 73 65 2c 20 74 68 65 6e 20 60 71 75 69 74 2d 77 69 6e 64 6f 77 27 2e 22 0a 20 database,.then.`quit-window'."..
92e0 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 65 6c 66 65 65 64 2d 64 62 2d 73 61 76 65 .(interactive)...(elfeed-db-save
9300 29 0a 20 20 28 71 75 69 74 2d 77 69 6e 64 6f 77 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 )...(quit-window))..(defun.elfee
9320 64 2d 73 65 61 72 63 68 2d 6c 61 73 74 2d 65 6e 74 72 79 20 28 29 0a 20 20 22 50 6c 61 63 65 20 d-search-last-entry.()..."Place.
9340 70 6f 69 6e 74 20 6f 6e 20 6c 61 73 74 20 65 6e 74 72 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 point.on.last.entry."...(interac
9360 74 69 76 65 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a tive)...(goto-char.(point-max)).
9380 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 2d 31 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 ..(forward-line.-1))..(defun.elf
93a0 65 65 64 2d 73 65 61 72 63 68 2d 66 69 72 73 74 2d 65 6e 74 72 79 20 28 29 0a 20 20 22 50 6c 61 eed-search-first-entry.()..."Pla
93c0 63 65 20 70 6f 69 6e 74 20 6f 6e 20 66 69 72 73 74 20 65 6e 74 72 79 2e 22 0a 20 20 28 69 6e 74 ce.point.on.first.entry."...(int
93e0 65 72 61 63 74 69 76 65 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 eractive)...(goto-char.(point-mi
9400 6e 29 29 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 6d 6f 64 65 n)))..(defvar.elfeed-search-mode
9420 2d 6d 61 70 0a 20 20 28 6c 65 74 20 28 28 6d 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b -map...(let.((map.(make-sparse-k
9440 65 79 6d 61 70 29 29 29 0a 20 20 20 20 28 70 72 6f 67 31 20 6d 61 70 0a 20 20 20 20 20 20 28 73 eymap))).....(prog1.map.......(s
9460 75 70 70 72 65 73 73 2d 6b 65 79 6d 61 70 20 6d 61 70 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e uppress-keymap.map).......(defin
9480 65 2d 6b 65 79 20 6d 61 70 20 22 68 22 20 23 27 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 29 0a 20 e-key.map."h".#'describe-mode)..
94a0 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 71 22 20 23 27 65 6c 66 65 65 .....(define-key.map."q".#'elfee
94c0 64 2d 73 65 61 72 63 68 2d 71 75 69 74 2d 77 69 6e 64 6f 77 29 0a 20 20 20 20 20 20 28 64 65 66 d-search-quit-window).......(def
94e0 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 67 22 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d ine-key.map."g".#'elfeed-search-
9500 75 70 64 61 74 65 2d 2d 66 6f 72 63 65 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 update--force).......(define-key
9520 20 6d 61 70 20 22 47 22 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 65 74 63 68 29 0a .map."G".#'elfeed-search-fetch).
9540 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 52 45 54 22 ......(define-key.map.(kbd."RET"
9560 29 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 73 68 6f 77 2d 65 6e 74 72 79 29 0a 20 20 ).#'elfeed-search-show-entry)...
9580 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 73 22 20 23 27 65 6c 66 65 65 64 ....(define-key.map."s".#'elfeed
95a0 2d 73 65 61 72 63 68 2d 6c 69 76 65 2d 66 69 6c 74 65 72 29 0a 20 20 20 20 20 20 28 64 65 66 69 -search-live-filter).......(defi
95c0 6e 65 2d 6b 65 79 20 6d 61 70 20 22 53 22 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 73 ne-key.map."S".#'elfeed-search-s
95e0 65 74 2d 66 69 6c 74 65 72 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 et-filter).......(define-key.map
9600 20 22 63 22 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 63 6c 65 61 72 2d 66 69 6c 74 65 ."c".#'elfeed-search-clear-filte
9620 72 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 62 22 20 23 27 65 r).......(define-key.map."b".#'e
9640 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 62 72 6f 77 73 65 2d 75 72 6c 29 0a 20 20 20 20 20 20 28 lfeed-search-browse-url).......(
9660 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 79 22 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 define-key.map."y".#'elfeed-sear
9680 63 68 2d 79 61 6e 6b 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 ch-yank).......(define-key.map."
96a0 75 22 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 74 61 67 2d 61 6c 6c 2d 75 6e 72 65 61 u".#'elfeed-search-tag-all-unrea
96c0 64 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 72 22 20 23 27 65 d).......(define-key.map."r".#'e
96e0 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 75 6e 74 61 67 2d 61 6c 6c 2d 75 6e 72 65 61 64 29 0a 20 lfeed-search-untag-all-unread)..
9700 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 6e 22 20 23 27 6e 65 78 74 2d .....(define-key.map."n".#'next-
9720 6c 69 6e 65 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 70 22 20 line).......(define-key.map."p".
9740 23 27 70 72 65 76 69 6f 75 73 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b #'previous-line).......(define-k
9760 65 79 20 6d 61 70 20 22 2b 22 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 74 61 67 2d 61 ey.map."+".#'elfeed-search-tag-a
9780 6c 6c 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 2d 22 20 23 27 ll).......(define-key.map."-".#'
97a0 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 75 6e 74 61 67 2d 61 6c 6c 29 0a 20 20 20 20 20 20 28 elfeed-search-untag-all).......(
97c0 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 3c 22 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 define-key.map."<".#'elfeed-sear
97e0 63 68 2d 66 69 72 73 74 2d 65 6e 74 72 79 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 ch-first-entry).......(define-ke
9800 79 20 6d 61 70 20 22 3e 22 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 6c 61 73 74 2d 65 y.map.">".#'elfeed-search-last-e
9820 6e 74 72 79 29 29 29 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 65 6c 66 65 65 64 2d 73 65 61 ntry)))..."Keymap.for.elfeed-sea
9840 72 63 68 2d 6d 6f 64 65 2e 22 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 rch-mode.")..(defun.elfeed-searc
9860 68 2d 2d 69 6e 74 72 6f 2d 68 65 61 64 65 72 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 h--intro-header.()..."Return.the
9880 20 68 65 61 64 65 72 20 73 68 6f 77 6e 20 74 6f 20 6e 65 77 20 75 73 65 72 73 2e 22 0a 20 20 28 .header.shown.to.new.users."...(
98a0 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 28 63 6c 2d 66 6c 65 74 20 28 28 with-temp-buffer.....(cl-flet.((
98c0 62 75 74 74 6f 6e 20 28 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 button.(f).................(inse
98e0 72 74 2d 62 75 74 74 6f 6e 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 66 29 0a 20 20 20 20 20 20 rt-button.(symbol-name.f).......
9900 20 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 6f 6c 6c 6f 77 .........................'follow
9920 2d 6c 69 6e 6b 20 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 -link.t.........................
9940 20 20 20 20 20 20 20 27 61 63 74 69 6f 6e 20 28 6c 61 6d 62 64 61 20 28 5f 29 20 28 63 61 6c 6c .......'action.(lambda.(_).(call
9960 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 66 29 29 29 29 29 0a 20 20 20 20 20 20 28 69 6e 73 -interactively.f))))).......(ins
9980 65 72 74 20 22 44 61 74 61 62 61 73 65 20 65 6d 70 74 79 2e 20 55 73 65 20 22 29 0a 20 20 20 20 ert."Database.empty..Use.").....
99a0 20 20 28 62 75 74 74 6f 6e 20 27 65 6c 66 65 65 64 2d 61 64 64 2d 66 65 65 64 29 0a 20 20 20 20 ..(button.'elfeed-add-feed).....
99c0 20 20 28 69 6e 73 65 72 74 20 22 2c 20 6f 72 20 22 29 0a 20 20 20 20 20 20 28 62 75 74 74 6f 6e ..(insert.",.or.").......(button
99e0 20 27 65 6c 66 65 65 64 2d 6c 6f 61 64 2d 6f 70 6d 6c 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 .'elfeed-load-opml).......(inser
9a00 74 20 22 2c 20 6f 72 20 22 29 0a 20 20 20 20 20 20 28 62 75 74 74 6f 6e 20 27 65 6c 66 65 65 64 t.",.or.").......(button.'elfeed
9a20 2d 75 70 64 61 74 65 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 2e 22 29 0a 20 20 20 20 -update).......(insert.".").....
9a40 20 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 ..(buffer-string))))..(defun.elf
9a60 65 65 64 2d 73 65 61 72 63 68 2d 2d 63 6f 75 6e 74 2d 75 6e 72 65 61 64 20 28 29 0a 20 20 22 43 eed-search--count-unread.()..."C
9a80 6f 75 6e 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 65 6e 74 72 69 65 73 20 61 6e 64 20 66 ount.the.number.of.entries.and.f
9aa0 65 65 64 73 20 62 65 69 6e 67 20 63 75 72 72 65 6e 74 6c 79 20 64 69 73 70 6c 61 79 65 64 2e 22 eeds.being.currently.displayed."
9ac0 0a 20 20 28 69 66 20 28 61 6e 64 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 ...(if.(and.elfeed-search-filter
9ae0 2d 61 63 74 69 76 65 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 2d 6f 76 65 -active.elfeed-search-filter-ove
9b00 72 66 6c 6f 77 69 6e 67 29 0a 20 20 20 20 20 20 22 3f 2f 3f 3a 3f 22 0a 20 20 20 20 28 63 6c 2d rflowing)......."?/?:?".....(cl-
9b20 6c 6f 6f 70 20 77 69 74 68 20 66 65 65 64 73 20 3d 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 loop.with.feeds.=.(make-hash-tab
9b40 6c 65 20 3a 74 65 73 74 20 27 65 71 75 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f le.:test.'equal)..............fo
9b60 72 20 65 6e 74 72 79 20 69 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 65 6e 74 72 69 65 73 r.entry.in.elfeed-search-entries
9b80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 66 65 65 64 20 3d 20 28 65 6c 66 65 65 64 ..............for.feed.=.(elfeed
9ba0 2d 65 6e 74 72 79 2d 66 65 65 64 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -entry-feed.entry)..............
9bc0 66 6f 72 20 75 72 6c 20 3d 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 75 72 6c 20 66 65 65 64 29 for.url.=.(elfeed-feed-url.feed)
9be0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 65 6e 74 72 79 20 69 6e 74 6f 20 65 ..............count.entry.into.e
9c00 6e 74 72 79 2d 63 6f 75 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 28 65 ntry-count..............count.(e
9c20 6c 66 65 65 64 2d 74 61 67 67 65 64 2d 70 20 27 75 6e 72 65 61 64 20 65 6e 74 72 79 29 20 69 6e lfeed-tagged-p.'unread.entry).in
9c40 74 6f 20 75 6e 72 65 61 64 2d 63 6f 75 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 to.unread-count..............do.
9c60 28 70 75 74 68 61 73 68 20 75 72 6c 20 74 20 66 65 65 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 (puthash.url.t.feeds)...........
9c80 20 20 20 66 69 6e 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 72 65 74 75 ...finally..............(cl-retu
9ca0 72 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 64 2f 25 64 3a rn...............(format."%d/%d:
9cc0 25 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 72 65 61 64 %d".......................unread
9ce0 2d 63 6f 75 6e 74 20 65 6e 74 72 79 2d 63 6f 75 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -count.entry-count..............
9d00 20 20 20 20 20 20 20 20 20 28 68 61 73 68 2d 74 61 62 6c 65 2d 63 6f 75 6e 74 20 66 65 65 64 73 .........(hash-table-count.feeds
9d20 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 2d 68 65 ))))))..(defun.elfeed-search--he
9d40 61 64 65 72 20 28 29 0a 20 20 22 43 6f 6d 70 75 74 65 73 20 74 68 65 20 73 74 72 69 6e 67 20 74 ader.()..."Computes.the.string.t
9d60 6f 20 62 65 20 75 73 65 64 20 61 73 20 74 68 65 20 45 6c 66 65 65 64 20 68 65 61 64 65 72 2e 22 o.be.used.as.the.Elfeed.header."
9d80 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 7a 65 72 6f 70 20 28 65 6c 66 65 65 64 2d 64 62 2d 6c ...(cond....((zerop.(elfeed-db-l
9da0 61 73 74 2d 75 70 64 61 74 65 29 29 0a 20 20 20 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d ast-update)).....(elfeed-search-
9dc0 2d 69 6e 74 72 6f 2d 68 65 61 64 65 72 29 29 0a 20 20 20 28 28 3e 20 28 65 6c 66 65 65 64 2d 71 -intro-header))....((>.(elfeed-q
9de0 75 65 75 65 2d 63 6f 75 6e 74 2d 74 6f 74 61 6c 29 20 30 29 0a 20 20 20 20 28 6c 65 74 20 28 28 ueue-count-total).0).....(let.((
9e00 74 6f 74 61 6c 20 28 65 6c 66 65 65 64 2d 71 75 65 75 65 2d 63 6f 75 6e 74 2d 74 6f 74 61 6c 29 total.(elfeed-queue-count-total)
9e20 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 2d 70 72 6f 63 65 73 73 20 28 65 6c 66 65 65 64 2d )...........(in-process.(elfeed-
9e40 71 75 65 75 65 2d 63 6f 75 6e 74 2d 61 63 74 69 76 65 29 29 29 0a 20 20 20 20 20 20 28 66 6f 72 queue-count-active))).......(for
9e60 6d 61 74 20 22 25 64 20 6a 6f 62 73 20 70 65 6e 64 69 6e 67 2c 20 25 64 20 61 63 74 69 76 65 2e mat."%d.jobs.pending,.%d.active.
9e80 2e 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 74 6f 74 61 6c 20 69 6e 2d 70 72 .."...............(-.total.in-pr
9ea0 6f 63 65 73 73 29 20 69 6e 2d 70 72 6f 63 65 73 73 29 29 29 0a 20 20 20 28 28 6c 65 74 2a 20 28 ocess).in-process)))....((let*.(
9ec0 28 64 62 2d 74 69 6d 65 20 28 73 65 63 6f 6e 64 73 2d 74 6f 2d 74 69 6d 65 20 28 65 6c 66 65 65 (db-time.(seconds-to-time.(elfee
9ee0 64 2d 64 62 2d 6c 61 73 74 2d 75 70 64 61 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 d-db-last-update)))............(
9f00 75 70 64 61 74 65 20 28 66 6f 72 6d 61 74 2d 74 69 6d 65 2d 73 74 72 69 6e 67 20 22 25 59 2d 25 update.(format-time-string."%Y-%
9f20 6d 2d 25 64 20 25 48 3a 25 4d 22 20 64 62 2d 74 69 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 m-%d.%H:%M".db-time))...........
9f40 20 28 75 6e 72 65 61 64 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 2d 63 6f 75 6e 74 2d 75 .(unread.(elfeed-search--count-u
9f60 6e 72 65 61 64 29 29 29 0a 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 55 70 64 61 74 65 64 20 nread))).......(format."Updated.
9f80 25 73 2c 20 25 73 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 %s,.%s%s"...............(propert
9fa0 69 7a 65 20 75 70 64 61 74 65 20 27 66 61 63 65 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d ize.update.'face.'elfeed-search-
9fc0 6c 61 73 74 2d 75 70 64 61 74 65 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 last-update-face)...............
9fe0 28 70 72 6f 70 65 72 74 69 7a 65 20 75 6e 72 65 61 64 20 27 66 61 63 65 20 27 65 6c 66 65 65 64 (propertize.unread.'face.'elfeed
a000 2d 73 65 61 72 63 68 2d 75 6e 72 65 61 64 2d 63 6f 75 6e 74 2d 66 61 63 65 29 0a 20 20 20 20 20 -search-unread-count-face)......
a020 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 .........(cond................(e
a040 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 2d 61 63 74 69 76 65 20 22 22 29 0a 20 lfeed-search-filter-active."")..
a060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 ..............((string-match-p."
a080 5b 5e 20 5d 22 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 29 0a 20 20 20 20 [^.]".elfeed-search-filter).....
a0a0 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 2c 20 22 20 28 70 72 6f 70 65 72 ............(concat.",.".(proper
a0c0 74 69 7a 65 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 0a 20 20 20 20 20 20 tize.elfeed-search-filter.......
a0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a100 20 20 20 27 66 61 63 65 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 2d 66 ...'face.'elfeed-search-filter-f
a120 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 22 29 29 29 29 29 29 29 ace)))................("")))))))
a140 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 6d 6f 64 65 20 28 29 0a 20 ..(defun.elfeed-search-mode.()..
a160 20 22 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 6c 69 73 74 69 6e 67 20 65 6c 66 65 65 64 20 ."Major.mode.for.listing.elfeed.
a180 66 65 65 64 20 65 6e 74 72 69 65 73 2e 0a 5c 5c 7b 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 6d feed.entries..\\{elfeed-search-m
a1a0 6f 64 65 2d 6d 61 70 7d 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6b 69 6c ode-map}"...(interactive)...(kil
a1c0 6c 2d 61 6c 6c 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 73 29 0a 20 20 28 75 73 65 2d 6c 6f l-all-local-variables)...(use-lo
a1e0 63 61 6c 2d 6d 61 70 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 6d 6f 64 65 2d 6d 61 70 29 0a cal-map.elfeed-search-mode-map).
a200 20 20 28 73 65 74 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 ..(setq.major-mode.'elfeed-searc
a220 68 2d 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 6d 6f 64 65 2d 6e 61 6d 65 20 22 65 6c 66 65 65 64 h-mode.........mode-name."elfeed
a240 2d 73 65 61 72 63 68 22 0a 20 20 20 20 20 20 20 20 74 72 75 6e 63 61 74 65 2d 6c 69 6e 65 73 20 -search".........truncate-lines.
a260 74 0a 20 20 20 20 20 20 20 20 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 0a 20 20 20 t.........buffer-read-only.t....
a280 20 20 20 20 20 64 65 73 6b 74 6f 70 2d 73 61 76 65 2d 62 75 66 66 65 72 20 23 27 65 6c 66 65 65 .....desktop-save-buffer.#'elfee
a2a0 64 2d 73 65 61 72 63 68 2d 64 65 73 6b 74 6f 70 2d 73 61 76 65 0a 20 20 20 20 20 20 20 20 3b 3b d-search-desktop-save.........;;
a2c0 20 50 72 6f 76 69 64 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 76 69 61 20 73 79 6d 62 6f .Provide.format.string.via.symbo
a2e0 6c 20 76 61 6c 75 65 20 73 6c 6f 74 20 73 6f 20 74 68 61 74 20 69 74 20 77 69 6c 6c 0a 20 20 20 l.value.slot.so.that.it.will....
a300 20 20 20 20 20 3b 3b 20 6e 6f 74 20 62 65 20 25 2d 63 6f 6e 73 74 72 75 63 74 20 69 6e 74 65 72 .....;;.not.be.%-construct.inter
a320 70 6f 6c 61 74 65 64 2e 20 54 68 65 20 73 79 6d 62 6f 6c 20 69 73 20 75 6e 69 6e 74 65 72 6e 65 polated..The.symbol.is.uninterne
a340 64 0a 20 20 20 20 20 20 20 20 3b 3b 20 73 6f 20 74 68 61 74 20 69 74 27 73 20 6e 6f 74 20 2a 72 d.........;;.so.that.it's.not.*r
a360 65 61 6c 6c 79 2a 20 61 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 2e 0a 20 20 20 20 20 20 eally*.a.global.variable........
a380 20 20 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 28 6c 65 ..header-line-format.........(le
a3a0 74 20 28 28 73 79 6d 62 6f 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 64 75 6d 6d 79 22 29 t.((symbol.(make-symbol."dummy")
a3c0 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 74 20 73 79 6d 62 6f 6c 20 27 72 69 73 6b 79 2d ))...........(put.symbol.'risky-
a3e0 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 60 28 3a 65 local-variable.t)...........`(:e
a400 76 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 31 20 27 2c 73 79 6d 62 6f 6c 0a val.............(prog1.',symbol.
a420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 20 27 2c 73 79 6d 62 6f 6c 20 28 66 75 6e ..............(set.',symbol.(fun
a440 63 61 6c 6c 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 68 65 61 64 65 72 2d 66 75 6e 63 74 69 call.elfeed-search-header-functi
a460 6f 6e 29 29 29 29 29 29 0a 20 20 28 73 65 74 20 28 6d 61 6b 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 on))))))...(set.(make-local-vari
a480 61 62 6c 65 20 27 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 2d 66 75 6e 63 74 able.'bookmark-make-record-funct
a4a0 69 6f 6e 29 0a 20 20 20 20 20 20 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 62 6f 6f 6b ion)........#'elfeed-search-book
a4c0 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 29 0a 20 20 28 62 75 66 66 65 72 2d 64 69 73 61 mark-make-record)...(buffer-disa
a4e0 62 6c 65 2d 75 6e 64 6f 29 0a 20 20 28 68 6c 2d 6c 69 6e 65 2d 6d 6f 64 65 29 0a 20 20 28 6d 61 ble-undo)...(hl-line-mode)...(ma
a500 6b 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 ke-local-variable.'elfeed-search
a520 2d 65 6e 74 72 69 65 73 29 0a 20 20 28 6d 61 6b 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 -entries)...(make-local-variable
a540 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 29 0a 20 20 28 61 64 64 2d 68 .'elfeed-search-filter)...(add-h
a560 6f 6f 6b 20 27 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 68 6f 6f 6b 73 20 23 27 65 6c 66 65 65 ook.'elfeed-update-hooks.#'elfee
a580 64 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 65 6c d-search-update)...(add-hook.'el
a5a0 66 65 65 64 2d 75 70 64 61 74 65 2d 69 6e 69 74 2d 68 6f 6f 6b 73 20 23 27 65 6c 66 65 65 64 2d feed-update-init-hooks.#'elfeed-
a5c0 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 2d 66 6f 72 63 65 29 0a 20 20 28 61 64 64 2d 68 6f 6f search-update--force)...(add-hoo
a5e0 6b 20 27 6b 69 6c 6c 2d 62 75 66 66 65 72 2d 68 6f 6f 6b 20 23 27 65 6c 66 65 65 64 2d 64 62 2d k.'kill-buffer-hook.#'elfeed-db-
a600 73 61 76 65 20 74 20 74 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 65 6c 66 65 65 64 2d 64 62 save.t.t)...(add-hook.'elfeed-db
a620 2d 75 6e 6c 6f 61 64 2d 68 6f 6f 6b 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 2d 75 6e -unload-hook.#'elfeed-search--un
a640 6c 6f 61 64 29 0a 20 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 20 3a 66 load)...(elfeed-search-update.:f
a660 6f 72 63 65 29 0a 20 20 28 72 75 6e 2d 6d 6f 64 65 2d 68 6f 6f 6b 73 20 27 65 6c 66 65 65 64 2d orce)...(run-mode-hooks.'elfeed-
a680 73 65 61 72 63 68 2d 6d 6f 64 65 2d 68 6f 6f 6b 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 search-mode-hook))..(defun.elfee
a6a0 64 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 20 28 29 0a 20 20 28 67 65 74 2d 62 75 66 66 65 72 d-search-buffer.()...(get-buffer
a6c0 2d 63 72 65 61 74 65 20 22 2a 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2a 22 29 29 0a 0a 28 64 65 -create."*elfeed-search*"))..(de
a6e0 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 2d 75 6e 6c 6f 61 64 20 28 29 0a 20 20 22 fun.elfeed-search--unload.()..."
a700 48 6f 6f 6b 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 60 65 6c 66 65 65 64 2d 64 62 2d 75 6e 6c Hook.function.for.`elfeed-db-unl
a720 6f 61 64 2d 68 6f 6f 6b 27 2e 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 oad-hook'."...(with-current-buff
a740 65 72 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 29 0a 20 20 20 20 3b 3b er.(elfeed-search-buffer).....;;
a760 20 64 6f 6e 27 74 20 74 72 79 20 74 6f 20 73 61 76 65 20 74 68 65 20 64 61 74 61 62 61 73 65 20 .don't.try.to.save.the.database.
a780 69 6e 20 74 68 69 73 20 63 61 73 65 0a 20 20 20 20 28 72 65 6d 6f 76 65 2d 68 6f 6f 6b 20 27 6b in.this.case.....(remove-hook.'k
a7a0 69 6c 6c 2d 62 75 66 66 65 72 2d 68 6f 6f 6b 20 23 27 65 6c 66 65 65 64 2d 64 62 2d 73 61 76 65 ill-buffer-hook.#'elfeed-db-save
a7c0 20 74 29 0a 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 29 29 29 0a 0a 28 64 65 66 75 6e .t).....(kill-buffer.)))..(defun
a7e0 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 6f 72 6d 61 74 2d 64 61 74 65 20 28 64 61 74 65 .elfeed-search-format-date.(date
a800 29 0a 20 20 22 46 6f 72 6d 61 74 20 61 20 64 61 74 65 20 66 6f 72 20 70 72 69 6e 74 69 6e 67 20 )..."Format.a.date.for.printing.
a820 69 6e 20 60 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 6d 6f 64 65 27 2e 0a 54 68 65 20 63 75 73 in.`elfeed-search-mode'..The.cus
a840 74 6f 6d 69 7a 61 74 69 6f 6e 20 60 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 64 61 74 65 2d 66 tomization.`elfeed-search-date-f
a860 6f 72 6d 61 74 27 20 73 65 74 73 20 74 68 65 20 66 6f 72 6d 61 74 74 69 6e 67 2e 22 0a 20 20 28 ormat'.sets.the.formatting."...(
a880 63 6c 2d 64 65 73 74 72 75 63 74 75 72 69 6e 67 2d 62 69 6e 64 20 28 66 6f 72 6d 61 74 20 74 61 cl-destructuring-bind.(format.ta
a8a0 72 67 65 74 20 61 6c 69 67 6e 6d 65 6e 74 29 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 64 61 rget.alignment).elfeed-search-da
a8c0 74 65 2d 66 6f 72 6d 61 74 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 73 74 72 69 6e 67 20 28 66 6f te-format.....(let*.((string.(fo
a8e0 72 6d 61 74 2d 74 69 6d 65 2d 73 74 72 69 6e 67 20 66 6f 72 6d 61 74 20 28 73 65 63 6f 6e 64 73 rmat-time-string.format.(seconds
a900 2d 74 6f 2d 74 69 6d 65 20 64 61 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 69 64 -to-time.date)))............(wid
a920 74 68 20 28 73 74 72 69 6e 67 2d 77 69 64 74 68 20 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 th.(string-width.string)))......
a940 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 28 28 3e 20 77 69 64 74 68 20 74 61 72 67 65 74 29 0a .(cond........((>.width.target).
a960 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 20 61 6c 69 67 6e 6d 65 6e 74 20 3a 6c 65 66 74 29 ........(if.(eq.alignment.:left)
a980 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 30 .............(substring.string.0
a9a0 20 74 61 72 67 65 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 .target)...........(substring.st
a9c0 72 69 6e 67 20 28 2d 20 77 69 64 74 68 20 74 61 72 67 65 74 29 20 77 69 64 74 68 29 29 29 0a 20 ring.(-.width.target).width)))..
a9e0 20 20 20 20 20 20 28 28 3c 20 77 69 64 74 68 20 74 61 72 67 65 74 29 0a 20 20 20 20 20 20 20 20 ......((<.width.target).........
aa00 28 6c 65 74 20 28 28 70 61 64 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 28 2d 20 74 61 72 67 65 (let.((pad.(make-string.(-.targe
aa20 74 20 77 69 64 74 68 29 20 3f 5c 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 t.width).?\s)))...........(if.(e
aa40 71 20 61 6c 69 67 6e 6d 65 6e 74 20 3a 6c 65 66 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 q.alignment.:left)..............
aa60 20 28 63 6f 6e 63 61 74 20 73 74 72 69 6e 67 20 70 61 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 .(concat.string.pad)............
aa80 20 28 63 6f 6e 63 61 74 20 70 61 64 20 73 74 72 69 6e 67 29 29 29 29 0a 20 20 20 20 20 20 20 28 .(concat.pad.string))))........(
aaa0 73 74 72 69 6e 67 29 29 29 29 29 0a 0a 28 64 65 66 66 61 63 65 20 65 6c 66 65 65 64 2d 73 65 61 string)))))..(defface.elfeed-sea
aac0 72 63 68 2d 64 61 74 65 2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 rch-date-face...'((((class.color
aae0 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 20 28 3a 66 6f 72 65 67 72 6f 75 ).(background.light)).(:foregrou
ab00 6e 64 20 22 23 61 61 61 22 29 29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 nd."#aaa")).....(((class.color).
ab20 28 62 61 63 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29 20 20 28 3a 66 6f 72 65 67 72 6f 75 6e 64 (background.dark))..(:foreground
ab40 20 22 23 37 37 61 22 29 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20 69 6e 20 73 65 61 72 63 ."#77a")))..."Face.used.in.searc
ab60 68 20 6d 6f 64 65 20 66 6f 72 20 64 61 74 65 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 h.mode.for.dates."...:group.'elf
ab80 65 65 64 29 0a 0a 28 64 65 66 66 61 63 65 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 74 69 74 eed)..(defface.elfeed-search-tit
aba0 6c 65 2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 le-face...'((((class.color).(bac
abc0 6b 67 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 20 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 30 kground.light)).(:foreground."#0
abe0 30 30 22 29 29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 00")).....(((class.color).(backg
ac00 72 6f 75 6e 64 20 64 61 72 6b 29 29 20 20 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 66 66 66 round.dark))..(:foreground."#fff
ac20 22 29 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20 69 6e 20 73 65 61 72 63 68 20 6d 6f 64 65 ")))..."Face.used.in.search.mode
ac40 20 66 6f 72 20 74 69 74 6c 65 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 29 0a .for.titles."...:group.'elfeed).
ac60 0a 28 64 65 66 66 61 63 65 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 75 6e 72 65 61 64 2d 74 .(defface.elfeed-search-unread-t
ac80 69 74 6c 65 2d 66 61 63 65 0a 20 20 27 28 28 74 20 3a 77 65 69 67 68 74 20 62 6f 6c 64 29 29 0a itle-face...'((t.:weight.bold)).
aca0 20 20 22 46 61 63 65 20 75 73 65 64 20 69 6e 20 73 65 61 72 63 68 20 6d 6f 64 65 20 66 6f 72 20 .."Face.used.in.search.mode.for.
acc0 75 6e 72 65 61 64 20 65 6e 74 72 79 20 74 69 74 6c 65 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 unread.entry.titles."...:group.'
ace0 65 6c 66 65 65 64 29 0a 0a 28 64 65 66 66 61 63 65 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d elfeed)..(defface.elfeed-search-
ad00 66 65 65 64 2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 feed-face...'((((class.color).(b
ad20 61 63 6b 67 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 20 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 ackground.light)).(:foreground."
ad40 23 61 61 30 22 29 29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 #aa0")).....(((class.color).(bac
ad60 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29 20 20 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 66 kground.dark))..(:foreground."#f
ad80 66 30 22 29 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20 69 6e 20 73 65 61 72 63 68 20 6d 6f f0")))..."Face.used.in.search.mo
ada0 64 65 20 66 6f 72 20 66 65 65 64 20 74 69 74 6c 65 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 de.for.feed.titles."...:group.'e
adc0 6c 66 65 65 64 29 0a 0a 28 64 65 66 66 61 63 65 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 74 lfeed)..(defface.elfeed-search-t
ade0 61 67 2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 ag-face...'((((class.color).(bac
ae00 6b 67 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 20 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 30 kground.light)).(:foreground."#0
ae20 37 30 22 29 29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 70")).....(((class.color).(backg
ae40 72 6f 75 6e 64 20 64 61 72 6b 29 29 20 20 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 30 66 30 round.dark))..(:foreground."#0f0
ae60 22 29 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20 69 6e 20 73 65 61 72 63 68 20 6d 6f 64 65 ")))..."Face.used.in.search.mode
ae80 20 66 6f 72 20 74 61 67 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 29 0a 0a 28 .for.tags."...:group.'elfeed)..(
aea0 64 65 66 66 61 63 65 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 6c 61 73 74 2d 75 70 64 61 74 defface.elfeed-search-last-updat
aec0 65 2d 66 61 63 65 0a 20 20 27 28 28 74 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 73 68 6f 77 e-face...'((t))..."Face.for.show
aee0 69 6e 67 20 74 68 65 20 64 61 74 65 20 61 6e 64 20 74 69 6d 65 20 74 68 65 20 64 61 74 61 62 61 ing.the.date.and.time.the.databa
af00 73 65 20 77 61 73 20 6c 61 73 74 20 75 70 64 61 74 65 64 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 se.was.last.updated."...:group.'
af20 65 6c 66 65 65 64 29 0a 0a 28 64 65 66 66 61 63 65 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d elfeed)..(defface.elfeed-search-
af40 75 6e 72 65 61 64 2d 63 6f 75 6e 74 2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 63 unread-count-face...'((((class.c
af60 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 20 28 3a 66 6f 72 65 olor).(background.light)).(:fore
af80 67 72 6f 75 6e 64 20 22 23 30 30 30 22 29 29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63 6f 6c ground."#000")).....(((class.col
afa0 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29 20 20 28 3a 66 6f 72 65 67 72 or).(background.dark))..(:foregr
afc0 6f 75 6e 64 20 22 23 66 66 66 22 29 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20 69 6e 20 73 ound."#fff")))..."Face.used.in.s
afe0 65 61 72 63 68 20 6d 6f 64 65 20 66 6f 72 20 75 6e 72 65 61 64 20 65 6e 74 72 79 20 74 69 74 6c earch.mode.for.unread.entry.titl
b000 65 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 29 0a 0a 28 64 65 66 66 61 63 65 es."...:group.'elfeed)..(defface
b020 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 2d 66 61 63 65 0a 20 20 27 28 28 .elfeed-search-filter-face...'((
b040 74 20 3a 69 6e 68 65 72 69 74 20 6d 6f 64 65 2d 6c 69 6e 65 2d 62 75 66 66 65 72 2d 69 64 29 29 t.:inherit.mode-line-buffer-id))
b060 0a 20 20 22 46 61 63 65 20 66 6f 72 20 73 68 6f 77 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74 ..."Face.for.showing.the.current
b080 20 45 6c 66 65 65 64 20 73 65 61 72 63 68 20 66 69 6c 74 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 .Elfeed.search.filter."...:group
b0a0 20 27 65 6c 66 65 65 64 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 73 65 61 .'elfeed)..(defcustom.elfeed-sea
b0c0 72 63 68 2d 74 69 74 6c 65 2d 6d 61 78 2d 77 69 64 74 68 20 37 30 0a 20 20 22 4d 61 78 69 6d 75 rch-title-max-width.70..."Maximu
b0e0 6d 20 63 6f 6c 75 6d 6e 20 77 69 64 74 68 20 66 6f 72 20 74 69 74 6c 65 73 20 69 6e 20 74 68 65 m.column.width.for.titles.in.the
b100 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 20 62 75 66 66 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 .elfeed-search.buffer."...:group
b120 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64 65 66 .'elfeed...:type.'integer)..(def
b140 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 74 69 74 6c 65 2d 6d 69 6e 2d 77 custom.elfeed-search-title-min-w
b160 69 64 74 68 20 31 36 0a 20 20 22 4d 69 6e 69 6d 75 6d 20 63 6f 6c 75 6d 6e 20 77 69 64 74 68 20 idth.16..."Minimum.column.width.
b180 66 6f 72 20 74 69 74 6c 65 73 20 69 6e 20 74 68 65 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 20 for.titles.in.the.elfeed-search.
b1a0 62 75 66 66 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 buffer."...:group.'elfeed...:typ
b1c0 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 73 e.'integer)..(defcustom.elfeed-s
b1e0 65 61 72 63 68 2d 74 72 61 69 6c 69 6e 67 2d 77 69 64 74 68 20 33 30 0a 20 20 22 53 70 61 63 65 earch-trailing-width.30..."Space
b200 20 72 65 73 65 72 76 65 64 20 66 6f 72 20 64 69 73 70 6c 61 79 69 6e 67 20 74 68 65 20 66 65 65 .reserved.for.displaying.the.fee
b220 64 20 61 6e 64 20 74 61 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 22 0a 20 20 3a 67 72 6f 75 70 d.and.tag.information."...:group
b240 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64 65 66 .'elfeed...:type.'integer)..(def
b260 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 61 63 65 2d 61 6c 69 73 74 0a custom.elfeed-search-face-alist.
b280 20 20 27 28 28 75 6e 72 65 61 64 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 75 6e 72 65 61 64 ..'((unread.elfeed-search-unread
b2a0 2d 74 69 74 6c 65 2d 66 61 63 65 29 29 0a 20 20 22 4d 61 70 70 69 6e 67 20 6f 66 20 74 61 67 73 -title-face))..."Mapping.of.tags
b2c0 20 74 6f 20 66 61 63 65 73 20 69 6e 20 74 68 65 20 45 6c 66 65 65 64 20 65 6e 74 72 79 20 6c 69 .to.faces.in.the.Elfeed.entry.li
b2e0 73 74 69 6e 67 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 sting."...:group.'elfeed...:type
b300 20 27 28 61 6c 69 73 74 20 3a 6b 65 79 2d 74 79 70 65 20 73 79 6d 62 6f 6c 20 3a 76 61 6c 75 65 .'(alist.:key-type.symbol.:value
b320 2d 74 79 70 65 20 28 72 65 70 65 61 74 20 66 61 63 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c -type.(repeat.face)))..(defun.el
b340 66 65 65 64 2d 73 65 61 72 63 68 2d 2d 66 61 63 65 73 20 28 74 61 67 73 29 0a 20 20 22 52 65 74 feed-search--faces.(tags)..."Ret
b360 75 72 6e 20 61 6c 6c 20 74 68 65 20 66 61 63 65 73 20 74 68 61 74 20 61 70 70 6c 79 20 74 6f 20 urn.all.the.faces.that.apply.to.
b380 61 6e 20 65 6e 74 72 79 20 77 69 74 68 20 54 41 47 53 2e 22 0a 20 20 28 6e 63 6f 6e 63 20 28 63 an.entry.with.TAGS."...(nconc.(c
b3a0 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 74 61 67 20 2e 20 66 61 63 65 73 29 20 69 6e 20 65 6c 66 65 l-loop.for.(tag...faces).in.elfe
b3c0 65 64 2d 73 65 61 72 63 68 2d 66 61 63 65 2d 61 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 ed-search-face-alist............
b3e0 20 20 20 20 20 20 20 77 68 65 6e 20 28 6d 65 6d 71 20 74 61 67 20 74 61 67 73 29 0a 20 20 20 20 .......when.(memq.tag.tags).....
b400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 70 70 65 6e 64 20 66 61 63 65 73 29 0a 20 20 20 20 ..............append.faces).....
b420 20 20 20 20 20 28 6c 69 73 74 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 74 69 74 6c 65 2d .....(list.'elfeed-search-title-
b440 66 61 63 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 70 72 face)))..(defun.elfeed-search-pr
b460 69 6e 74 2d 65 6e 74 72 79 2d 2d 64 65 66 61 75 6c 74 20 28 65 6e 74 72 79 29 0a 20 20 22 50 72 int-entry--default.(entry)..."Pr
b480 69 6e 74 20 45 4e 54 52 59 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 2e 22 0a 20 20 28 6c 65 74 int.ENTRY.to.the.buffer."...(let
b4a0 2a 20 28 28 64 61 74 65 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 6f 72 6d 61 74 2d 64 *.((date.(elfeed-search-format-d
b4c0 61 74 65 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 64 61 74 65 20 65 6e 74 72 79 29 29 29 0a ate.(elfeed-entry-date.entry))).
b4e0 20 20 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 6f 72 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 .........(title.(or.(elfeed-meta
b500 20 65 6e 74 72 79 20 3a 74 69 74 6c 65 29 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 69 74 .entry.:title).(elfeed-entry-tit
b520 6c 65 20 65 6e 74 72 79 29 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 69 74 6c 65 2d 66 le.entry).""))..........(title-f
b540 61 63 65 73 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 2d 66 61 63 65 73 20 28 65 6c 66 65 aces.(elfeed-search--faces.(elfe
b560 65 64 2d 65 6e 74 72 79 2d 74 61 67 73 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 ed-entry-tags.entry)))..........
b580 28 66 65 65 64 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 66 65 65 64 20 65 6e 74 72 79 29 29 (feed.(elfeed-entry-feed.entry))
b5a0 0a 20 20 20 20 20 20 20 20 20 28 66 65 65 64 2d 74 69 74 6c 65 0a 20 20 20 20 20 20 20 20 20 20 ..........(feed-title...........
b5c0 28 77 68 65 6e 20 66 65 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 65 6c 66 65 (when.feed.............(or.(elfe
b5e0 65 64 2d 6d 65 74 61 20 66 65 65 64 20 3a 74 69 74 6c 65 29 20 28 65 6c 66 65 65 64 2d 66 65 65 ed-meta.feed.:title).(elfeed-fee
b600 64 2d 74 69 74 6c 65 20 66 65 65 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 61 67 73 20 d-title.feed))))..........(tags.
b620 28 6d 61 70 63 61 72 20 23 27 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 65 6c 66 65 65 64 2d 65 6e (mapcar.#'symbol-name.(elfeed-en
b640 74 72 79 2d 74 61 67 73 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 61 67 73 try-tags.entry)))..........(tags
b660 2d 73 74 72 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -str.(mapconcat.................
b680 20 20 20 20 28 6c 61 6d 62 64 61 20 28 73 29 20 28 70 72 6f 70 65 72 74 69 7a 65 20 73 20 27 66 ....(lambda.(s).(propertize.s.'f
b6a0 61 63 65 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 74 61 67 2d 66 61 63 65 29 29 0a 20 20 ace.'elfeed-search-tag-face))...
b6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 67 73 20 22 2c 22 29 29 0a 20 20 20 ..................tags.","))....
b6e0 20 20 20 20 20 20 28 74 69 74 6c 65 2d 77 69 64 74 68 20 28 2d 20 28 77 69 6e 64 6f 77 2d 77 69 ......(title-width.(-.(window-wi
b700 64 74 68 29 20 31 30 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 74 72 61 69 6c 69 6e 67 2d 77 dth).10.elfeed-search-trailing-w
b720 69 64 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 69 74 6c 65 2d 63 6f 6c 75 6d 6e 20 28 65 idth))..........(title-column.(e
b740 6c 66 65 65 64 2d 66 6f 72 6d 61 74 2d 63 6f 6c 75 6d 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 lfeed-format-column.............
b760 20 20 20 20 20 20 20 20 20 20 20 20 74 69 74 6c 65 20 28 65 6c 66 65 65 64 2d 63 6c 61 6d 70 0a ............title.(elfeed-clamp.
b780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 ...............................e
b7a0 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 74 69 74 6c 65 2d 6d 69 6e 2d 77 69 64 74 68 0a 20 20 20 lfeed-search-title-min-width....
b7c0 20 20 20 20 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 69 74 6c ............................titl
b7e0 65 2d 77 69 64 74 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-width.........................
b800 20 20 20 20 20 20 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 74 69 74 6c 65 2d 6d 61 78 2d 77 .......elfeed-search-title-max-w
b820 69 64 74 68 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 3a 6c idth).........................:l
b840 65 66 74 29 29 29 0a 20 20 20 20 28 69 6e 73 65 72 74 20 28 70 72 6f 70 65 72 74 69 7a 65 20 64 eft))).....(insert.(propertize.d
b860 61 74 65 20 27 66 61 63 65 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 64 61 74 65 2d 66 61 ate.'face.'elfeed-search-date-fa
b880 63 65 29 20 22 20 22 29 0a 20 20 20 20 28 69 6e 73 65 72 74 20 28 70 72 6f 70 65 72 74 69 7a 65 ce).".").....(insert.(propertize
b8a0 20 74 69 74 6c 65 2d 63 6f 6c 75 6d 6e 20 27 66 61 63 65 20 74 69 74 6c 65 2d 66 61 63 65 73 20 .title-column.'face.title-faces.
b8c0 27 6b 62 64 2d 68 65 6c 70 20 74 69 74 6c 65 29 20 22 20 22 29 0a 20 20 20 20 28 77 68 65 6e 20 'kbd-help.title).".").....(when.
b8e0 66 65 65 64 2d 74 69 74 6c 65 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 70 72 6f 70 65 72 feed-title.......(insert.(proper
b900 74 69 7a 65 20 66 65 65 64 2d 74 69 74 6c 65 20 27 66 61 63 65 20 27 65 6c 66 65 65 64 2d 73 65 tize.feed-title.'face.'elfeed-se
b920 61 72 63 68 2d 66 65 65 64 2d 66 61 63 65 29 20 22 20 22 29 29 0a 20 20 20 20 28 77 68 65 6e 20 arch-feed-face).".")).....(when.
b940 74 61 67 73 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 28 22 20 74 61 67 73 2d 73 74 72 20 tags.......(insert."(".tags-str.
b960 22 29 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 70 61 ")"))))..(defun.elfeed-search-pa
b980 72 73 65 2d 66 69 6c 74 65 72 20 28 66 69 6c 74 65 72 29 0a 20 20 22 50 61 72 73 65 20 74 68 65 rse-filter.(filter)..."Parse.the
b9a0 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 61 20 73 65 61 72 63 68 20 66 69 6c 74 65 72 20 69 6e 74 .elements.of.a.search.filter.int
b9c0 6f 20 61 20 70 6c 69 73 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 6d 75 73 74 2d 68 61 76 65 20 28 o.a.plist."...(let.((must-have.(
b9e0 29 29 0a 20 20 20 20 20 20 20 20 28 6d 75 73 74 2d 6e 6f 74 2d 68 61 76 65 20 28 29 29 0a 20 20 )).........(must-not-have.())...
ba00 20 20 20 20 20 20 28 62 65 66 6f 72 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 61 66 74 65 ......(before.nil).........(afte
ba20 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 65 73 20 28 29 29 0a 20 20 20 20 r.nil).........(matches.()).....
ba40 20 20 20 20 28 6e 6f 74 2d 6d 61 74 63 68 65 73 20 28 29 29 0a 20 20 20 20 20 20 20 20 28 6c 69 ....(not-matches.()).........(li
ba60 6d 69 74 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 66 65 65 64 73 20 28 29 29 0a 20 20 20 20 mit.nil).........(feeds.()).....
ba80 20 20 20 20 28 6e 6f 74 2d 66 65 65 64 73 20 28 29 29 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 ....(not-feeds.())).....(cl-loop
baa0 20 66 6f 72 20 65 6c 65 6d 65 6e 74 20 69 6e 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 66 69 .for.element.in.(split-string.fi
bac0 6c 74 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 79 70 65 20 3d 20 28 61 lter)..............for.type.=.(a
bae0 72 65 66 20 65 6c 65 6d 65 6e 74 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 ref.element.0)..............do.(
bb00 63 6c 2d 63 61 73 65 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 cl-case.type...................(
bb20 3f 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 79 6d ?+....................(let.((sym
bb40 62 6f 6c 20 28 69 6e 74 65 72 6e 20 28 73 75 62 73 74 72 69 6e 67 20 65 6c 65 6d 65 6e 74 20 31 bol.(intern.(substring.element.1
bb60 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 28 75 6e 6c 65 73 ))))......................(unles
bb80 73 20 28 65 71 20 27 23 23 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.(eq.'##.symbol)...............
bba0 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 73 79 6d 62 6f 6c 20 6d 75 73 74 2d 68 61 76 65 29 .........(push.symbol.must-have)
bbc0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 2d 0a 20 20 20 20 20 20 )))...................(?-.......
bbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 79 6d 62 6f 6c 20 28 69 6e 74 65 .............(let.((symbol.(inte
bc00 72 6e 20 28 73 75 62 73 74 72 69 6e 67 20 65 6c 65 6d 65 6e 74 20 31 29 29 29 29 0a 20 20 20 20 rn.(substring.element.1)))).....
bc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 27 23 23 .................(unless.(eq.'##
bc40 20 73 79 6d 62 6f 6c 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 .symbol)........................
bc60 28 70 75 73 68 20 73 79 6d 62 6f 6c 20 6d 75 73 74 2d 6e 6f 74 2d 68 61 76 65 29 29 29 29 0a 20 (push.symbol.must-not-have))))..
bc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 40 20 28 63 6c 2d 6d 75 6c 74 69 70 6c .................(?@.(cl-multipl
bca0 65 2d 76 61 6c 75 65 2d 62 69 6e 64 20 28 61 20 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 e-value-bind.(a.b)..............
bcc0 20 20 20 20 20 20 20 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 .............(split-string.(subs
bce0 74 72 69 6e 67 20 65 6c 65 6d 65 6e 74 20 31 29 20 22 2d 2d 22 29 0a 20 20 20 20 20 20 20 20 20 tring.element.1)."--")..........
bd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 75 72 61 74 69 6f 6e 2d 61 ...............(let.((duration-a
bd20 20 28 65 6c 66 65 65 64 2d 74 69 6d 65 2d 64 75 72 61 74 69 6f 6e 20 61 29 29 0a 20 20 20 20 20 .(elfeed-time-duration.a))......
bd40 20 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 75 72 61 74 69 .........................(durati
bd60 6f 6e 2d 62 20 28 61 6e 64 20 62 20 28 65 6c 66 65 65 64 2d 74 69 6d 65 2d 64 75 72 61 74 69 6f on-b.(and.b.(elfeed-time-duratio
bd80 6e 20 62 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 20 n.b)))).........................
bda0 20 20 28 77 68 65 6e 20 28 61 6e 64 20 64 75 72 61 74 69 6f 6e 2d 62 20 28 3e 20 64 75 72 61 74 ..(when.(and.duration-b.(>.durat
bdc0 69 6f 6e 2d 62 20 64 75 72 61 74 69 6f 6e 2d 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ion-b.duration-a))..............
bde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 72 6f 74 61 74 65 66 20 64 75 72 61 74 ...............(cl-rotatef.durat
be00 69 6f 6e 2d 61 20 64 75 72 61 74 69 6f 6e 2d 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ion-a.duration-b))..............
be20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 64 75 72 61 74 69 6f 6e 2d 62 20 28 73 .............(when.duration-b.(s
be40 65 74 66 20 62 65 66 6f 72 65 20 64 75 72 61 74 69 6f 6e 2d 62 29 29 0a 20 20 20 20 20 20 20 20 etf.before.duration-b)).........
be60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 61 66 74 65 72 20 64 75 ..................(setf.after.du
be80 72 61 74 69 6f 6e 2d 61 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ration-a))))...................(
bea0 3f 21 20 28 6c 65 74 20 28 28 72 65 20 28 73 75 62 73 74 72 69 6e 67 20 65 6c 65 6d 65 6e 74 20 ?!.(let.((re.(substring.element.
bec0 31 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 28 77 68 1))).........................(wh
bee0 65 6e 20 28 65 6c 66 65 65 64 2d 76 61 6c 69 64 2d 72 65 67 65 78 70 2d 70 20 72 65 29 0a 20 20 en.(elfeed-valid-regexp-p.re)...
bf00 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 70 75 73 68 20 72 65 ........................(push.re
bf20 20 6e 6f 74 2d 6d 61 74 63 68 65 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .not-matches))))................
bf40 20 20 20 28 3f 23 20 28 73 65 74 66 20 6c 69 6d 69 74 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 ...(?#.(setf.limit.(string-to-nu
bf60 6d 62 65 72 20 28 73 75 62 73 74 72 69 6e 67 20 65 6c 65 6d 65 6e 74 20 31 29 29 29 29 0a 20 20 mber.(substring.element.1))))...
bf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 3d 20 28 6c 65 74 20 28 28 72 65 20 28 73 ................(?=.(let.((re.(s
bfa0 75 62 73 74 72 69 6e 67 20 65 6c 65 6d 65 6e 74 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 ubstring.element.1)))...........
bfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 6c 66 65 65 64 2d 76 61 6c 69 ..............(when.(elfeed-vali
bfe0 64 2d 72 65 67 65 78 70 2d 70 20 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d-regexp-p.re)..................
c000 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 72 65 20 66 65 65 64 73 29 29 29 29 0a 20 20 20 20 .........(push.re.feeds)))).....
c020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 7e 20 28 6c 65 74 20 28 28 72 65 20 28 73 75 62 ..............(?~.(let.((re.(sub
c040 73 74 72 69 6e 67 20 65 6c 65 6d 65 6e 74 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 string.element.1))).............
c060 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 6c 66 65 65 64 2d 76 61 6c 69 64 2d ............(when.(elfeed-valid-
c080 72 65 67 65 78 70 2d 70 20 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 regexp-p.re)....................
c0a0 20 20 20 20 20 20 20 28 70 75 73 68 20 72 65 20 6e 6f 74 2d 66 65 65 64 73 29 29 29 29 0a 20 20 .......(push.re.not-feeds))))...
c0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 74 68 65 72 77 69 73 65 20 28 77 68 65 6e ................(otherwise.(when
c0e0 20 28 65 6c 66 65 65 64 2d 76 61 6c 69 64 2d 72 65 67 65 78 70 2d 70 20 65 6c 65 6d 65 6e 74 29 .(elfeed-valid-regexp-p.element)
c100 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 ................................
c120 28 70 75 73 68 20 65 6c 65 6d 65 6e 74 20 6d 61 74 63 68 65 73 29 29 29 29 29 0a 20 20 20 20 60 (push.element.matches))))).....`
c140 28 2c 40 28 77 68 65 6e 20 62 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 (,@(when.before...........(list.
c160 3a 62 65 66 6f 72 65 20 62 65 66 6f 72 65 29 29 0a 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 61 :before.before)).......,@(when.a
c180 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 61 66 74 65 72 20 61 66 74 65 fter...........(list.:after.afte
c1a0 72 29 29 0a 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 6d 75 73 74 2d 68 61 76 65 0a 20 20 20 20 r)).......,@(when.must-have.....
c1c0 20 20 20 20 20 20 28 6c 69 73 74 20 3a 6d 75 73 74 2d 68 61 76 65 20 6d 75 73 74 2d 68 61 76 65 ......(list.:must-have.must-have
c1e0 29 29 0a 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 6d 75 73 74 2d 6e 6f 74 2d 68 61 76 65 0a 20 )).......,@(when.must-not-have..
c200 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 6d 75 73 74 2d 6e 6f 74 2d 68 61 76 65 20 6d 75 .........(list.:must-not-have.mu
c220 73 74 2d 6e 6f 74 2d 68 61 76 65 29 29 0a 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 6d 61 74 63 st-not-have)).......,@(when.matc
c240 68 65 73 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 6d 61 74 63 68 65 73 20 6d 61 74 hes...........(list.:matches.mat
c260 63 68 65 73 29 29 0a 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 6e 6f 74 2d 6d 61 74 63 68 65 73 ches)).......,@(when.not-matches
c280 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 6e 6f 74 2d 6d 61 74 63 68 65 73 20 6e 6f ...........(list.:not-matches.no
c2a0 74 2d 6d 61 74 63 68 65 73 29 29 0a 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 6c 69 6d 69 74 0a t-matches)).......,@(when.limit.
c2c0 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 6c 69 6d 69 74 20 6c 69 6d 69 74 29 29 0a 20 ..........(list.:limit.limit))..
c2e0 20 20 20 20 20 2c 40 28 77 68 65 6e 20 66 65 65 64 73 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 .....,@(when.feeds...........(li
c300 73 74 20 3a 66 65 65 64 73 20 66 65 65 64 73 29 29 0a 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 st.:feeds.feeds)).......,@(when.
c320 6e 6f 74 2d 66 65 65 64 73 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 6e 6f 74 2d 66 not-feeds...........(list.:not-f
c340 65 65 64 73 20 6e 6f 74 2d 66 65 65 64 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 eeds.not-feeds)))))..(defun.elfe
c360 65 64 2d 73 65 61 72 63 68 2d 2d 72 65 63 6f 76 65 72 2d 74 69 6d 65 20 28 73 65 63 6f 6e 64 73 ed-search--recover-time.(seconds
c380 29 0a 20 20 22 50 69 63 6b 20 61 20 72 65 61 73 6f 6e 61 62 6c 65 20 66 69 6c 74 65 72 20 72 65 )..."Pick.a.reasonable.filter.re
c3a0 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 53 45 43 4f 4e 44 53 2e 22 0a 20 20 28 6c 65 presentation.for.SECONDS."...(le
c3c0 74 20 28 28 75 6e 69 74 73 20 27 28 28 36 30 20 20 20 31 20 22 6d 69 6e 75 74 65 22 29 0a 20 20 t.((units.'((60...1."minute")...
c3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 36 30 20 20 20 31 20 22 68 6f 75 72 22 29 0a 20 ...............(60...1."hour")..
c400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 32 34 20 20 20 31 20 22 64 61 79 22 29 0a 20 ................(24...1."day")..
c420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 37 20 20 20 20 31 20 22 77 65 65 6b 22 29 0a ................(7....1."week").
c440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 33 30 20 20 20 37 20 22 6d 6f 6e 74 68 22 .................(30...7."month"
c460 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 34 36 31 20 31 32 30 20 22 79 65 )..................(1461.120."ye
c480 61 72 22 29 29 29 0a 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 20 28 66 6c 6f 61 74 20 73 65 63 ar"))).........(value.(float.sec
c4a0 6f 6e 64 73 29 29 0a 20 20 20 20 20 20 20 20 28 6e 61 6d 65 20 22 73 65 63 6f 6e 64 22 29 29 0a onds)).........(name."second")).
c4c0 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 6e 20 64 20 75 6e 69 74 29 20 69 6e 20 75 ....(cl-loop.for.(n.d.unit).in.u
c4e0 6e 69 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 6e 65 78 74 2d 76 61 6c 75 65 nits..............for.next-value
c500 20 3d 20 28 2f 20 28 2a 20 76 61 6c 75 65 20 64 29 20 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 .=.(/.(*.value.d).n)............
c520 20 20 77 68 65 6e 20 28 3c 20 6e 65 78 74 2d 76 61 6c 75 65 20 31 2e 30 29 0a 20 20 20 20 20 20 ..when.(<.next-value.1.0).......
c540 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 .......return.t..............do.
c560 28 73 65 74 66 20 6e 61 6d 65 20 75 6e 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (setf.name.unit.................
c580 20 20 20 20 20 20 76 61 6c 75 65 20 6e 65 78 74 2d 76 61 6c 75 65 29 29 0a 20 20 20 20 28 6c 65 ......value.next-value)).....(le
c5a0 74 20 28 28 63 6f 75 6e 74 20 28 66 6f 72 6d 61 74 20 22 25 2e 34 67 22 20 76 61 6c 75 65 29 29 t.((count.(format."%.4g".value))
c5c0 29 0a 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 2d 25 73 25 73 2d 61 67 6f 22 20 63 6f ).......(format."%s-%s%s-ago".co
c5e0 75 6e 74 20 6e 61 6d 65 20 28 69 66 20 28 65 71 75 61 6c 20 63 6f 75 6e 74 20 22 31 22 29 20 22 unt.name.(if.(equal.count."1")."
c600 22 20 22 73 22 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 "."s")))))..(defun.elfeed-search
c620 2d 2d 72 65 63 6f 76 65 72 2d 75 6e 69 74 73 20 28 61 66 74 65 72 2d 73 65 63 6f 6e 64 73 20 26 --recover-units.(after-seconds.&
c640 6f 70 74 69 6f 6e 61 6c 20 62 65 66 6f 72 65 2d 73 65 63 6f 6e 64 73 29 0a 20 20 22 53 74 72 69 optional.before-seconds)..."Stri
c660 6e 67 69 66 79 20 74 68 65 20 61 67 65 20 6f 72 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 74 68 65 20 ngify.the.age.or.optionally.the.
c680 64 61 74 65 20 72 61 6e 67 65 20 73 70 65 63 69 66 69 65 64 20 62 79 0a 41 46 54 45 52 2d 53 45 date.range.specified.by.AFTER-SE
c6a0 43 4f 4e 44 53 20 61 6e 64 20 42 45 46 4f 52 45 2d 53 45 43 4f 4e 44 53 2e 22 0a 20 20 28 61 70 CONDS.and.BEFORE-SECONDS."...(ap
c6c0 70 6c 79 20 27 63 6f 6e 63 61 74 20 22 40 22 0a 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 ply.'concat."@"...........(elfee
c6e0 64 2d 73 65 61 72 63 68 2d 2d 72 65 63 6f 76 65 72 2d 74 69 6d 65 20 61 66 74 65 72 2d 73 65 63 d-search--recover-time.after-sec
c700 6f 6e 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 62 65 66 6f 72 65 2d 73 65 63 onds)...........(when.before-sec
c720 6f 6e 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 22 2d 2d 22 28 65 6c 66 65 onds.............(list."--"(elfe
c740 65 64 2d 73 65 61 72 63 68 2d 2d 72 65 63 6f 76 65 72 2d 74 69 6d 65 20 62 65 66 6f 72 65 2d 73 ed-search--recover-time.before-s
c760 65 63 6f 6e 64 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 econds)))))..(defun.elfeed-searc
c780 68 2d 75 6e 70 61 72 73 65 2d 66 69 6c 74 65 72 20 28 66 69 6c 74 65 72 29 0a 20 20 22 49 6e 76 h-unparse-filter.(filter)..."Inv
c7a0 65 72 73 65 20 6f 66 20 60 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 70 61 72 73 65 2d 66 69 6c erse.of.`elfeed-search-parse-fil
c7c0 74 65 72 27 2c 20 72 65 74 75 72 6e 69 6e 67 20 61 20 73 74 72 69 6e 67 2e 0a 0a 54 68 65 20 74 ter',.returning.a.string...The.t
c7e0 69 6d 65 20 28 40 6e 2d 75 6e 69 74 73 2d 61 67 6f 29 20 66 69 6c 74 65 72 20 6d 61 79 20 6e 6f ime.(@n-units-ago).filter.may.no
c800 74 20 65 78 61 63 74 6c 79 20 6d 61 74 63 68 20 74 68 65 0a 6f 72 69 67 69 6e 61 6c 2c 20 62 75 t.exactly.match.the.original,.bu
c820 74 20 77 69 6c 6c 20 62 65 20 65 71 75 61 6c 20 69 6e 20 69 74 73 20 65 66 66 65 63 74 2e 22 0a t.will.be.equal.in.its.effect.".
c840 20 20 28 6c 65 74 20 28 28 6f 75 74 70 75 74 20 28 29 29 29 0a 20 20 20 20 28 63 6c 2d 64 65 73 ..(let.((output.())).....(cl-des
c860 74 72 75 63 74 75 72 69 6e 67 2d 62 69 6e 64 20 28 26 6b 65 79 20 61 66 74 65 72 20 20 20 20 20 tructuring-bind.(&key.after.....
c880 62 65 66 6f 72 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 before..........................
c8a0 20 20 20 20 20 20 20 20 6d 75 73 74 2d 68 61 76 65 20 6d 75 73 74 2d 6e 6f 74 2d 68 61 76 65 0a ........must-have.must-not-have.
c8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c8e0 20 6d 61 74 63 68 65 73 20 20 20 6e 6f 74 2d 6d 61 74 63 68 65 73 0a 20 20 20 20 20 20 20 20 20 .matches...not-matches..........
c900 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 65 65 64 73 20 20 20 ........................feeds...
c920 20 20 6e 6f 74 2d 66 65 65 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..not-feeds.....................
c940 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 6d 69 74 20 26 61 6c 6c 6f 77 2d 6f 74 68 65 72 2d .............limit.&allow-other-
c960 6b 65 79 73 29 0a 20 20 20 20 20 20 20 20 66 69 6c 74 65 72 0a 20 20 20 20 20 20 28 77 68 65 6e keys).........filter.......(when
c980 20 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 65 6c 66 65 65 64 2d 73 65 61 .after.........(push.(elfeed-sea
c9a0 72 63 68 2d 2d 72 65 63 6f 76 65 72 2d 75 6e 69 74 73 20 61 66 74 65 72 20 62 65 66 6f 72 65 29 rch--recover-units.after.before)
c9c0 20 6f 75 74 70 75 74 29 29 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 74 61 67 20 6d 75 73 .output)).......(dolist.(tag.mus
c9e0 74 2d 68 61 76 65 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 66 6f 72 6d 61 74 20 22 2b t-have).........(push.(format."+
ca00 25 53 22 20 74 61 67 29 20 6f 75 74 70 75 74 29 29 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 %S".tag).output)).......(dolist.
ca20 28 74 61 67 20 6d 75 73 74 2d 6e 6f 74 2d 68 61 76 65 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 (tag.must-not-have).........(pus
ca40 68 20 28 66 6f 72 6d 61 74 20 22 2d 25 53 22 20 74 61 67 29 20 6f 75 74 70 75 74 29 29 0a 20 20 h.(format."-%S".tag).output))...
ca60 20 20 20 20 28 64 6f 6c 69 73 74 20 28 72 65 20 6d 61 74 63 68 65 73 29 0a 20 20 20 20 20 20 20 ....(dolist.(re.matches)........
ca80 20 28 70 75 73 68 20 72 65 20 6f 75 74 70 75 74 29 29 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 .(push.re.output)).......(dolist
caa0 20 28 72 65 20 6e 6f 74 2d 6d 61 74 63 68 65 73 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 .(re.not-matches).........(push.
cac0 28 63 6f 6e 63 61 74 20 22 21 22 20 72 65 29 20 6f 75 74 70 75 74 29 29 0a 20 20 20 20 20 20 28 (concat."!".re).output)).......(
cae0 77 68 65 6e 20 6c 69 6d 69 74 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 66 6f 72 6d 61 74 when.limit.........(push.(format
cb00 20 22 23 25 64 22 20 6c 69 6d 69 74 29 20 6f 75 74 70 75 74 29 29 0a 20 20 20 20 20 20 28 64 6f ."#%d".limit).output)).......(do
cb20 6c 69 73 74 20 28 66 65 65 64 20 66 65 65 64 73 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 list.(feed.feeds).........(push.
cb40 28 66 6f 72 6d 61 74 20 22 3d 25 73 22 20 66 65 65 64 29 20 6f 75 74 70 75 74 29 29 0a 20 20 20 (format."=%s".feed).output))....
cb60 20 20 20 28 64 6f 6c 69 73 74 20 28 66 65 65 64 20 6e 6f 74 2d 66 65 65 64 73 29 0a 20 20 20 20 ...(dolist.(feed.not-feeds).....
cb80 20 20 20 20 28 70 75 73 68 20 28 66 6f 72 6d 61 74 20 22 7e 25 73 22 20 66 65 65 64 29 20 6f 75 ....(push.(format."~%s".feed).ou
cba0 74 70 75 74 29 29 0a 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 tput)).......(mapconcat.#'identi
cbc0 74 79 20 28 6e 72 65 76 65 72 73 65 20 6f 75 74 70 75 74 29 20 22 20 22 29 29 29 29 0a 0a 28 64 ty.(nreverse.output)."."))))..(d
cbe0 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 20 28 66 69 6c 74 65 efun.elfeed-search-filter.(filte
cc00 72 20 65 6e 74 72 79 20 66 65 65 64 20 26 6f 70 74 69 6f 6e 61 6c 20 63 6f 75 6e 74 29 0a 20 20 r.entry.feed.&optional.count)...
cc20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 45 4e 54 52 59 20 61 6e 64 20 46 45 45 "Return.non-nil.if.ENTRY.and.FEE
cc40 44 20 70 61 73 73 20 46 49 4c 54 45 52 2e 0a 0a 43 4f 55 4e 54 20 69 73 20 74 68 65 20 74 6f 74 D.pass.FILTER...COUNT.is.the.tot
cc60 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 65 6e 74 72 69 65 73 20 63 6f 6c 6c 65 63 74 65 64 20 73 al.number.of.entries.collected.s
cc80 6f 20 66 61 72 2c 20 66 6f 72 0a 66 69 6c 74 65 72 69 6e 67 20 61 67 61 69 6e 73 74 20 61 20 6c o.far,.for.filtering.against.a.l
cca0 69 6d 69 74 20 66 69 6c 74 65 72 20 28 65 78 2e 20 23 31 30 29 2e 0a 0a 53 65 65 20 60 65 6c 66 imit.filter.(ex..#10)...See.`elf
ccc0 65 65 64 2d 73 65 61 72 63 68 2d 73 65 74 2d 66 69 6c 74 65 72 27 20 66 6f 72 20 66 6f 72 6d 61 eed-search-set-filter'.for.forma
cce0 74 2f 73 79 6e 74 61 78 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 54 68 69 73 20 66 75 6e t/syntax.documentation..This.fun
cd00 63 74 69 6f 6e 20 6d 75 73 74 20 2a 6f 6e 6c 79 2a 20 62 65 20 63 61 6c 6c 65 64 20 77 69 74 68 ction.must.*only*.be.called.with
cd20 69 6e 20 74 68 65 20 62 6f 64 79 20 6f 66 0a 60 77 69 74 68 2d 65 6c 66 65 65 64 2d 64 62 2d 76 in.the.body.of.`with-elfeed-db-v
cd40 69 73 69 74 27 20 62 65 63 61 75 73 65 20 69 74 20 6d 61 79 20 70 65 72 66 6f 72 6d 20 61 20 6e isit'.because.it.may.perform.a.n
cd60 6f 6e 2d 6c 6f 63 61 6c 20 65 78 69 74 2e 22 0a 20 20 28 63 6c 2d 64 65 73 74 72 75 63 74 75 72 on-local.exit."...(cl-destructur
cd80 69 6e 67 2d 62 69 6e 64 20 28 26 6b 65 79 20 6d 75 73 74 2d 68 61 76 65 20 6d 75 73 74 2d 6e 6f ing-bind.(&key.must-have.must-no
cda0 74 2d 68 61 76 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 t-have..........................
cdc0 20 20 20 20 20 20 6d 61 74 63 68 65 73 20 20 20 6e 6f 74 2d 6d 61 74 63 68 65 73 0a 20 20 20 20 ......matches...not-matches.....
cde0 20 20 20 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 65 65 64 73 ...........................feeds
ce00 20 20 20 20 20 6e 6f 74 2d 66 65 65 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....not-feeds..................
ce20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 66 74 65 72 20 6c 69 6d 69 74 20 26 61 6c 6c 6f 77 ..............after.limit.&allow
ce40 2d 6f 74 68 65 72 2d 6b 65 79 73 29 0a 20 20 20 20 20 20 66 69 6c 74 65 72 0a 20 20 20 20 28 6c -other-keys).......filter.....(l
ce60 65 74 2a 20 28 28 74 61 67 73 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 61 67 73 20 65 6e et*.((tags.(elfeed-entry-tags.en
ce80 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 61 74 65 20 28 65 6c 66 65 65 64 2d 65 try))............(date.(elfeed-e
cea0 6e 74 72 79 2d 64 61 74 65 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 61 67 ntry-date.entry))............(ag
cec0 65 20 28 2d 20 28 66 6c 6f 61 74 2d 74 69 6d 65 29 20 64 61 74 65 29 29 0a 20 20 20 20 20 20 20 e.(-.(float-time).date))........
cee0 20 20 20 20 28 74 69 74 6c 65 20 28 6f 72 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 20 65 6e 74 72 ....(title.(or.(elfeed-meta.entr
cf00 79 20 3a 74 69 74 6c 65 29 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 69 74 6c 65 20 65 6e y.:title).(elfeed-entry-title.en
cf20 74 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 6b 20 28 65 6c 66 65 65 64 2d try)))............(link.(elfeed-
cf40 65 6e 74 72 79 2d 6c 69 6e 6b 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 entry-link.entry))............(f
cf60 65 65 64 2d 74 69 74 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 65 6c 66 65 65 eed-title.............(or.(elfee
cf80 64 2d 6d 65 74 61 20 66 65 65 64 20 3a 74 69 74 6c 65 29 20 28 65 6c 66 65 65 64 2d 66 65 65 64 d-meta.feed.:title).(elfeed-feed
cfa0 2d 74 69 74 6c 65 20 66 65 65 64 29 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 65 -title.feed).""))............(fe
cfc0 65 64 2d 69 64 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 69 64 20 66 65 65 64 29 29 29 0a 20 20 ed-id.(elfeed-feed-id.feed)))...
cfe0 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 61 6e 64 20 61 66 74 65 72 20 28 3e 20 61 67 65 20 ....(when.(or.(and.after.(>.age.
d000 61 66 74 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 6c 69 6d after)).................(and.lim
d020 69 74 20 28 3c 3d 20 6c 69 6d 69 74 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 it.(<=.limit.0))................
d040 20 28 61 6e 64 20 6c 69 6d 69 74 20 63 6f 75 6e 74 20 28 3e 3d 20 63 6f 75 6e 74 20 6c 69 6d 69 .(and.limit.count.(>=.count.limi
d060 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 64 62 2d 72 65 74 75 72 6e 29 29 t))).........(elfeed-db-return))
d080 0a 20 20 20 20 20 20 28 61 6e 64 20 28 63 6c 2d 65 76 65 72 79 20 20 28 6c 61 6d 62 64 61 20 28 .......(and.(cl-every..(lambda.(
d0a0 74 61 67 29 20 28 6d 65 6d 71 20 74 61 67 20 74 61 67 73 29 29 20 6d 75 73 74 2d 68 61 76 65 29 tag).(memq.tag.tags)).must-have)
d0c0 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6e 6f 74 61 6e 79 20 28 6c 61 6d 62 64 61 20 28 ............(cl-notany.(lambda.(
d0e0 74 61 67 29 20 28 6d 65 6d 71 20 74 61 67 20 74 61 67 73 29 29 20 6d 75 73 74 2d 6e 6f 74 2d 68 tag).(memq.tag.tags)).must-not-h
d100 61 76 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 6e 75 6c 6c 20 6d 61 74 63 68 65 ave)............(or.(null.matche
d120 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 65 76 65 72 79 0a 20 20 20 20 s)................(cl-every.....
d140 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 6d 29 0a 20 20 20 20 20 20 20 20 ............(lambda.(m).........
d160 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 61 6e 64 20 74 69 74 6c 65 20 20 20 20 20 20 28 73 ..........(or.(and.title......(s
d180 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 6d 20 74 69 74 6c 65 29 29 0a 20 20 20 20 20 20 20 20 tring-match-p.m.title)).........
d1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 6c 69 6e 6b 20 20 20 20 20 20 20 28 73 ..............(and.link.......(s
d1c0 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 6d 20 6c 69 6e 6b 29 29 29 29 0a 20 20 20 20 20 20 20 tring-match-p.m.link))))........
d1e0 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 .........matches))............(c
d200 6c 2d 6e 6f 74 61 6e 79 20 28 6c 61 6d 62 64 61 20 28 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 l-notany.(lambda.(m)............
d220 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 61 6e 64 20 74 69 74 6c 65 20 20 20 20 20 .............(or.(and.title.....
d240 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 6d 20 74 69 74 6c 65 29 29 0a 20 20 20 20 20 .(string-match-p.m.title))......
d260 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 6c 69 6e 6b .......................(and.link
d280 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 6d 20 6c 69 6e 6b 29 29 29 .......(string-match-p.m.link)))
d2a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 74 2d 6d 61 74 63 ).......................not-matc
d2c0 68 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 6e 75 6c 6c 20 66 65 65 64 73 29 hes)............(or.(null.feeds)
d2e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 73 6f 6d 65 20 28 6c 61 6d 62 64 61 ................(cl-some.(lambda
d300 20 28 66 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 28 .(f)...........................(
d320 6f 72 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 66 20 66 65 65 64 2d 69 64 29 0a 20 20 or.(string-match-p.f.feed-id)...
d340 20 20 20 20 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 ............................(str
d360 69 6e 67 2d 6d 61 74 63 68 2d 70 20 66 20 66 65 65 64 2d 74 69 74 6c 65 29 29 29 0a 20 20 20 20 ing-match-p.f.feed-title))).....
d380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 65 65 64 73 29 29 0a 20 20 20 20 ....................feeds)).....
d3a0 20 20 20 20 20 20 20 28 63 6c 2d 6e 6f 74 61 6e 79 20 28 6c 61 6d 62 64 61 20 28 66 29 0a 20 20 .......(cl-notany.(lambda.(f)...
d3c0 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 73 74 72 69 6e ......................(or.(strin
d3e0 67 2d 6d 61 74 63 68 2d 70 20 66 20 66 65 65 64 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 g-match-p.f.feed-id)............
d400 20 20 20 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 2d 70 .................(string-match-p
d420 20 66 20 66 65 65 64 2d 74 69 74 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .f.feed-title)))................
d440 20 20 20 20 20 20 20 6e 6f 74 2d 66 65 65 64 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c .......not-feeds)))))..(defun.el
d460 66 65 65 64 2d 73 65 61 72 63 68 2d 63 6f 6d 70 69 6c 65 2d 66 69 6c 74 65 72 20 28 66 69 6c 74 feed-search-compile-filter.(filt
d480 65 72 29 0a 20 20 22 43 6f 6d 70 69 6c 65 20 46 49 4c 54 45 52 20 69 6e 74 6f 20 61 20 6c 61 6d er)..."Compile.FILTER.into.a.lam
d4a0 62 64 61 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 60 62 79 74 65 2d 63 6f 6d 70 69 6c 65 27 2e bda.function.for.`byte-compile'.
d4c0 0a 0a 45 78 65 63 75 74 69 6e 67 20 61 20 66 69 6c 74 65 72 20 69 6e 20 62 79 74 65 63 6f 64 65 ..Executing.a.filter.in.bytecode
d4e0 20 66 6f 72 6d 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 66 61 73 74 65 72 20 74 68 61 6e 0a 5c .form.is.generally.faster.than.\
d500 22 69 6e 74 65 72 70 72 65 74 69 6e 67 5c 22 20 74 68 65 20 66 69 6c 74 65 72 20 77 69 74 68 20 "interpreting\".the.filter.with.
d520 60 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 27 2e 22 0a 20 20 28 63 6c 2d 64 `elfeed-search-filter'."...(cl-d
d540 65 73 74 72 75 63 74 75 72 69 6e 67 2d 62 69 6e 64 20 28 26 6b 65 79 20 61 66 74 65 72 20 20 20 estructuring-bind.(&key.after...
d560 20 20 62 65 66 6f 72 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 ..before........................
d580 20 20 20 20 20 20 20 20 6d 75 73 74 2d 68 61 76 65 20 6d 75 73 74 2d 6e 6f 74 2d 68 61 76 65 0a ........must-have.must-not-have.
d5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d ...............................m
d5c0 61 74 63 68 65 73 20 20 20 6e 6f 74 2d 6d 61 74 63 68 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 atches...not-matches............
d5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 65 65 64 73 20 20 20 20 20 6e 6f ....................feeds.....no
d600 74 2d 66 65 65 64 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 t-feeds.........................
d620 20 20 20 20 20 20 20 6c 69 6d 69 74 20 26 61 6c 6c 6f 77 2d 6f 74 68 65 72 2d 6b 65 79 73 29 0a .......limit.&allow-other-keys).
d640 20 20 20 20 20 20 66 69 6c 74 65 72 0a 20 20 20 20 60 28 6c 61 6d 62 64 61 20 28 2c 28 69 66 20 ......filter.....`(lambda.(,(if.
d660 28 6f 72 20 61 66 74 65 72 20 6d 61 74 63 68 65 73 20 6e 6f 74 2d 6d 61 74 63 68 65 73 20 6d 75 (or.after.matches.not-matches.mu
d680 73 74 2d 68 61 76 65 20 6d 75 73 74 2d 6e 6f 74 2d 68 61 76 65 29 0a 20 20 20 20 20 20 20 20 20 st-have.must-not-have)..........
d6a0 20 20 20 20 20 20 20 20 20 20 27 65 6e 74 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........'entry................
d6c0 20 20 27 5f 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 69 66 20 28 6f ..'_entry)...............,(if.(o
d6e0 72 20 66 65 65 64 73 20 6e 6f 74 2d 66 65 65 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 r.feeds.not-feeds)..............
d700 20 20 20 20 20 20 27 66 65 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 5f 66 ......'feed..................'_f
d720 65 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 69 66 20 6c 69 6d 69 74 0a 20 20 eed)...............,(if.limit...
d740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 63 6f 75 6e 74 0a 20 20 20 20 20 20 20 20 .................'count.........
d760 20 20 20 20 20 20 20 20 20 27 5f 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 28 6c 65 74 2a 20 .........'_count))........(let*.
d780 28 2c 40 28 77 68 65 6e 20 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (,@(when.after..................
d7a0 20 27 28 28 64 61 74 65 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 64 61 74 65 20 65 6e 74 72 .'((date.(elfeed-entry-date.entr
d7c0 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 67 65 20 28 2d 20 y)).....................(age.(-.
d7e0 28 66 6c 6f 61 74 2d 74 69 6d 65 29 20 64 61 74 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 (float-time).date))))...........
d800 20 20 20 20 2c 40 28 77 68 65 6e 20 28 6f 72 20 6d 75 73 74 2d 68 61 76 65 20 6d 75 73 74 2d 6e ....,@(when.(or.must-have.must-n
d820 6f 74 2d 68 61 76 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 28 74 61 ot-have)...................'((ta
d840 67 73 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 61 67 73 20 65 6e 74 72 79 29 29 29 29 0a gs.(elfeed-entry-tags.entry)))).
d860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 28 6f 72 20 6d 61 74 63 68 65 ..............,@(when.(or.matche
d880 73 20 6e 6f 74 2d 6d 61 74 63 68 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.not-matches)..................
d8a0 20 27 28 28 74 69 74 6c 65 20 28 6f 72 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 20 65 6e 74 72 79 .'((title.(or.(elfeed-meta.entry
d8c0 20 3a 74 69 74 6c 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 .:title)........................
d8e0 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 69 74 6c 65 20 65 6e 74 72 ........(elfeed-entry-title.entr
d900 79 29 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 69 6e 6b 20 28 y))).....................(link.(
d920 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 6c 69 6e 6b 20 65 6e 74 72 79 29 29 29 29 0a 20 20 20 20 elfeed-entry-link.entry)))).....
d940 20 20 20 20 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 28 6f 72 20 66 65 65 64 73 20 6e 6f 74 2d ..........,@(when.(or.feeds.not-
d960 66 65 65 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 28 66 65 65 64 feeds)...................'((feed
d980 2d 69 64 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 69 64 20 66 65 65 64 29 29 0a 20 20 20 20 20 -id.(elfeed-feed-id.feed))......
d9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 65 65 64 2d 74 69 74 6c 65 20 28 6f 72 20 28 ...............(feed-title.(or.(
d9c0 65 6c 66 65 65 64 2d 6d 65 74 61 20 66 65 65 64 20 3a 74 69 74 6c 65 29 0a 20 20 20 20 20 20 20 elfeed-meta.feed.:title)........
d9e0 20 20 20 20 20 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 6c .............................(el
da00 66 65 65 64 2d 66 65 65 64 2d 74 69 74 6c 65 20 66 65 65 64 29 20 22 22 29 29 29 29 29 0a 20 20 feed-feed-title.feed)."")))))...
da20 20 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 .......,@(when.after............
da40 20 20 60 28 28 77 68 65 6e 20 28 3e 20 61 67 65 20 2c 61 66 74 65 72 29 0a 20 20 20 20 20 20 20 ..`((when.(>.age.,after)........
da60 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 64 62 2d 72 65 74 75 72 6e 29 29 29 29 0a ..........(elfeed-db-return)))).
da80 20 20 20 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 6c 69 6d 69 74 0a 20 20 20 20 20 20 20 20 20 .........,@(when.limit..........
daa0 20 20 20 20 60 28 28 77 68 65 6e 20 28 3e 3d 20 63 6f 75 6e 74 20 2c 6c 69 6d 69 74 29 0a 20 20 ....`((when.(>=.count.,limit)...
dac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 64 62 2d 72 65 74 75 72 6e ...............(elfeed-db-return
dae0 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 2c 40 28 63 6c 2d 6c 6f 6f 70 20 66 6f ))))..........(and.,@(cl-loop.fo
db00 72 20 66 6f 72 62 69 64 20 69 6e 20 6d 75 73 74 2d 6e 6f 74 2d 68 61 76 65 0a 20 20 20 20 20 20 r.forbid.in.must-not-have.......
db20 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 60 28 6e 6f 74 ...................collect.`(not
db40 20 28 6d 65 6d 71 20 27 2c 66 6f 72 62 69 64 20 74 61 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 .(memq.',forbid.tags))).........
db60 20 20 20 20 20 20 2c 40 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 66 6f 72 62 69 64 20 69 6e 20 6d ......,@(cl-loop.for.forbid.in.m
db80 75 73 74 2d 68 61 76 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 ust-have........................
dba0 20 20 63 6f 6c 6c 65 63 74 20 60 28 6d 65 6d 71 20 27 2c 66 6f 72 62 69 64 20 74 61 67 73 29 29 ..collect.`(memq.',forbid.tags))
dbc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 72 65 ...............,@(cl-loop.for.re
dbe0 67 65 78 20 69 6e 20 6d 61 74 63 68 65 73 20 63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 gex.in.matches.collect..........
dc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 6f 72 20 28 73 74 72 69 6e 67 2d 6d 61 74 ................`(or.(string-mat
dc20 63 68 2d 70 20 2c 72 65 67 65 78 20 74 69 74 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ch-p.,regex.title)..............
dc40 20 20 20 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 2d 70 .................(string-match-p
dc60 20 2c 72 65 67 65 78 20 6c 69 6e 6b 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 .,regex.link)))...............,@
dc80 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 72 65 67 65 78 20 69 6e 20 6e 6f 74 2d 6d 61 74 63 68 65 (cl-loop.for.regex.in.not-matche
dca0 73 20 63 6f 6c 6c 65 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 s.collect.......................
dcc0 20 20 20 60 28 6e 6f 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 ...`(not........................
dce0 20 20 20 20 28 6f 72 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 2c 72 65 67 65 78 20 74 ....(or.(string-match-p.,regex.t
dd00 69 74 6c 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 20 20 20 itle)...........................
dd20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 2c 72 65 67 65 78 20 6c 69 6e 6b .....(string-match-p.,regex.link
dd40 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 66 65 65 64 73 ))))...............,@(when.feeds
dd60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 6f 72 20 2c 40 28 63 6c 2d 6c ...................`((or.,@(cl-l
dd80 6f 6f 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 20 20 20 66 oop............................f
dda0 6f 72 20 72 65 67 65 78 20 69 6e 20 66 65 65 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 or.regex.in.feeds...............
ddc0 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 60 28 73 74 72 69 6e 67 2d 6d 61 .............collect.`(string-ma
dde0 74 63 68 2d 70 20 2c 72 65 67 65 78 20 66 65 65 64 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 tch-p.,regex.feed-id)...........
de00 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 60 28 73 74 72 69 6e .................collect.`(strin
de20 67 2d 6d 61 74 63 68 2d 70 20 2c 72 65 67 65 78 20 66 65 65 64 2d 74 69 74 6c 65 29 29 29 29 29 g-match-p.,regex.feed-title)))))
de40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 6e 6f 74 2d 66 65 65 64 73 ...............,@(when.not-feeds
de60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 6e 6f 74 0a 20 20 20 20 20 20 ...................`((not.......
de80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 2c 40 28 63 6c 2d 6c 6f 6f 70 0a 20 20 ...............(or.,@(cl-loop...
dea0 20 20 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 72 65 ..........................for.re
dec0 67 65 78 20 69 6e 20 6e 6f 74 2d 66 65 65 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gex.in.not-feeds................
dee0 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 60 28 73 74 72 69 6e 67 2d 6d 61 .............collect.`(string-ma
df00 74 63 68 2d 70 20 2c 72 65 67 65 78 20 66 65 65 64 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 tch-p.,regex.feed-id)...........
df20 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 60 28 73 74 72 69 ..................collect.`(stri
df40 6e 67 2d 6d 61 74 63 68 2d 70 20 2c 72 65 67 65 78 20 66 65 65 64 2d 74 69 74 6c 65 29 29 29 29 ng-match-p.,regex.feed-title))))
df60 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 62 65 66 6f 72 65 0a ))...............,@(when.before.
df80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 3e 20 61 67 65 20 2c 62 65 66 6f ..................`((>.age.,befo
dfa0 72 65 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 re))))))))..(defun.elfeed-search
dfc0 2d 2d 70 72 6f 6d 70 74 20 28 63 75 72 72 65 6e 74 29 0a 20 20 22 50 72 6f 6d 70 74 20 66 6f 72 --prompt.(current)..."Prompt.for
dfe0 20 61 20 6e 65 77 20 66 69 6c 74 65 72 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 43 55 52 .a.new.filter,.starting.with.CUR
e000 52 45 4e 54 2e 22 0a 20 20 28 72 65 61 64 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 0a 20 RENT."...(read-from-minibuffer..
e020 20 20 22 46 69 6c 74 65 72 3a 20 22 0a 20 20 20 28 69 66 20 28 6f 72 20 28 73 74 72 69 6e 67 3d .."Filter:."....(if.(or.(string=
e040 20 22 22 20 63 75 72 72 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d ."".current)............(string-
e060 6d 61 74 63 68 2d 70 20 22 20 24 22 20 63 75 72 72 65 6e 74 29 29 0a 20 20 20 20 20 20 20 63 75 match-p.".$".current))........cu
e080 72 72 65 6e 74 0a 20 20 20 20 20 28 63 6f 6e 63 61 74 20 63 75 72 72 65 6e 74 20 22 20 22 29 29 rrent......(concat.current."."))
e0a0 0a 20 20 20 6e 69 6c 20 6e 69 6c 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 ....nil.nil.'elfeed-search-filte
e0c0 72 2d 68 69 73 74 6f 72 79 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 r-history))..(defun.elfeed-searc
e0e0 68 2d 63 6c 65 61 72 2d 66 69 6c 74 65 72 20 28 29 0a 20 20 22 52 65 73 65 74 20 74 68 65 20 73 h-clear-filter.()..."Reset.the.s
e100 65 61 72 63 68 20 66 69 6c 74 65 72 20 74 6f 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 earch.filter.to.the.default.valu
e120 65 20 6f 66 20 60 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 27 2e 22 0a 20 20 e.of.`elfeed-search-filter'."...
e140 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 73 65 61 (interactive)...(setf.elfeed-sea
e160 72 63 68 2d 66 69 6c 74 65 72 20 28 64 65 66 61 75 6c 74 2d 76 61 6c 75 65 20 27 65 6c 66 65 65 rch-filter.(default-value.'elfee
e180 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 29 29 0a 20 20 28 65 6c 66 65 65 64 2d 73 65 61 72 d-search-filter))...(elfeed-sear
e1a0 63 68 2d 75 70 64 61 74 65 2d 2d 66 6f 72 63 65 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 ch-update--force))..(defun.elfee
e1c0 64 2d 73 65 61 72 63 68 2d 73 65 74 2d 66 69 6c 74 65 72 20 28 6e 65 77 2d 66 69 6c 74 65 72 29 d-search-set-filter.(new-filter)
e1e0 0a 20 20 22 53 65 74 20 61 20 6e 65 77 20 73 65 61 72 63 68 20 66 69 6c 74 65 72 20 66 6f 72 20 ..."Set.a.new.search.filter.for.
e200 74 68 65 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 20 62 75 66 66 65 72 2e 0a 0a 57 68 65 6e 20 the.elfeed-search.buffer...When.
e220 4e 45 57 2d 46 49 4c 54 45 52 20 69 73 20 6e 69 6c 2c 20 72 65 73 65 74 20 74 68 65 20 66 69 6c NEW-FILTER.is.nil,.reset.the.fil
e240 74 65 72 20 74 6f 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 2e 0a 0a 57 68 65 6e 20 ter.to.the.default.value...When.
e260 67 69 76 65 6e 20 61 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 20 63 75 72 given.a.prefix.argument,.the.cur
e280 72 65 6e 74 20 66 69 6c 74 65 72 20 69 73 20 6e 6f 74 20 64 69 73 70 6c 61 79 65 64 0a 69 6e 20 rent.filter.is.not.displayed.in.
e2a0 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 20 77 68 65 6e 20 70 72 6f 6d 70 74 69 6e 67 20 66 6f the.minibuffer.when.prompting.fo
e2c0 72 20 61 20 6e 65 77 20 66 69 6c 74 65 72 2e 0a 0a 41 6e 79 20 63 6f 6d 70 6f 6e 65 6e 74 20 62 r.a.new.filter...Any.component.b
e2e0 65 67 69 6e 6e 69 6e 67 20 77 69 74 68 20 61 20 2b 20 6f 72 20 2d 20 69 73 20 74 72 65 61 74 65 eginning.with.a.+.or.-.is.treate
e300 64 20 61 73 20 61 20 74 61 67 2e 20 49 66 20 2b 0a 74 68 65 20 74 61 67 20 6d 75 73 74 20 62 65 d.as.a.tag..If.+.the.tag.must.be
e320 20 70 72 65 73 65 6e 74 20 6f 6e 20 74 68 65 20 65 6e 74 72 79 2e 20 49 66 20 2d 20 74 68 65 20 .present.on.the.entry..If.-.the.
e340 74 61 67 20 6d 75 73 74 20 2a 6e 6f 74 2a 20 62 65 0a 70 72 65 73 65 6e 74 20 6f 6e 20 74 68 65 tag.must.*not*.be.present.on.the
e360 20 65 6e 74 72 79 2e 20 45 78 2e 20 5c 22 2b 75 6e 72 65 61 64 5c 22 20 6f 72 20 5c 22 2b 75 6e .entry..Ex..\"+unread\".or.\"+un
e380 72 65 61 64 20 2d 63 6f 6d 69 63 5c 22 2e 0a 0a 41 6e 79 20 63 6f 6d 70 6f 6e 65 6e 74 20 62 65 read.-comic\"...Any.component.be
e3a0 67 69 6e 6e 69 6e 67 20 77 69 74 68 20 61 6e 20 40 20 69 73 20 61 6e 20 61 67 65 20 6c 69 6d 69 ginning.with.an.@.is.an.age.limi
e3c0 74 20 6f 72 20 61 6e 20 61 67 65 0a 72 61 6e 67 65 2e 20 49 66 20 61 20 6c 69 6d 69 74 2c 20 6e t.or.an.age.range..If.a.limit,.n
e3e0 6f 20 70 6f 73 74 73 20 6f 6c 64 65 72 20 74 68 61 6e 20 74 68 69 73 20 61 72 65 20 61 6c 6c 6f o.posts.older.than.this.are.allo
e400 77 65 64 2e 20 49 66 20 61 0a 72 61 6e 67 65 2c 20 70 6f 73 74 73 20 64 61 74 65 73 20 68 61 76 wed..If.a.range,.posts.dates.hav
e420 65 20 74 6f 20 62 65 20 69 6e 62 65 74 77 65 65 6e 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 e.to.be.inbetween.the.specified.
e440 64 61 74 65 0a 72 61 6e 67 65 2e 20 45 78 61 6d 70 6c 65 73 3a 0a 2d 20 5c 22 40 33 2d 64 61 79 date.range..Examples:.-.\"@3-day
e460 73 2d 61 67 6f 5c 22 0a 2d 20 5c 22 40 31 2d 79 65 61 72 2d 6f 6c 64 5c 22 0a 2d 20 5c 22 40 32 s-ago\".-.\"@1-year-old\".-.\"@2
e480 30 31 39 2d 30 36 2d 32 34 5c 22 0a 2d 20 5c 22 40 32 30 31 39 2d 30 36 2d 32 34 2d 2d 32 30 31 019-06-24\".-.\"@2019-06-24--201
e4a0 39 2d 30 36 2d 32 34 5c 22 0a 2d 20 5c 22 40 35 2d 64 61 79 73 2d 61 67 6f 2d 2d 31 2d 64 61 79 9-06-24\".-.\"@5-days-ago--1-day
e4c0 2d 61 67 6f 5c 22 0a 0a 41 6e 79 20 63 6f 6d 70 6f 6e 65 6e 74 20 62 65 67 69 6e 6e 69 6e 67 20 -ago\"..Any.component.beginning.
e4e0 77 69 74 68 20 61 20 23 20 69 73 20 61 6e 20 65 6e 74 72 79 20 63 6f 75 6e 74 20 6d 61 78 69 6d with.a.#.is.an.entry.count.maxim
e500 75 6d 2e 20 54 68 65 0a 6e 75 6d 62 65 72 20 66 6f 6c 6c 6f 77 69 6e 67 20 23 20 64 65 74 65 72 um..The.number.following.#.deter
e520 6d 69 6e 65 73 20 74 68 65 20 6d 61 78 69 75 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 65 6e 74 mines.the.maxiumum.number.of.ent
e540 72 69 65 73 0a 74 6f 20 62 65 20 73 68 6f 77 6e 20 28 64 65 73 63 65 6e 64 69 6e 67 20 62 79 20 ries.to.be.shown.(descending.by.
e560 64 61 74 65 29 2e 20 45 78 2e 20 5c 22 23 32 30 5c 22 20 6f 72 20 5c 22 23 31 30 30 5c 22 2e 0a date)..Ex..\"#20\".or.\"#100\"..
e580 0a 41 6e 79 20 63 6f 6d 70 6f 6e 65 6e 74 20 62 65 67 69 6e 6e 69 6e 67 20 77 69 74 68 20 61 20 .Any.component.beginning.with.a.
e5a0 3d 20 69 73 20 61 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 6d 61 74 63 68 69 =.is.a.regular.expression.matchi
e5c0 6e 67 0a 74 68 65 20 65 6e 74 72 79 27 73 20 66 65 65 64 20 28 74 69 74 6c 65 20 6f 72 20 55 52 ng.the.entry's.feed.(title.or.UR
e5e0 4c 29 2e 20 4f 6e 6c 79 20 65 6e 74 72 69 65 73 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 61 20 L)..Only.entries.belonging.to.a.
e600 66 65 65 64 0a 74 68 61 74 20 6d 61 74 63 68 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 6f 66 20 feed.that.match.at.least.one.of.
e620 74 68 65 20 3d 20 65 78 70 72 65 73 73 69 6f 6e 73 20 77 69 6c 6c 20 62 65 20 73 68 6f 77 6e 2e the.=.expressions.will.be.shown.
e640 0a 0a 45 76 65 72 79 20 6f 74 68 65 72 20 73 70 61 63 65 2d 73 65 70 65 72 61 74 65 64 20 65 6c ..Every.other.space-seperated.el
e660 65 6d 65 6e 74 20 69 73 20 74 72 65 61 74 65 64 20 6c 69 6b 65 20 61 20 72 65 67 75 6c 61 72 0a ement.is.treated.like.a.regular.
e680 65 78 70 72 65 73 73 69 6f 6e 2c 20 6d 61 74 63 68 69 6e 67 20 61 67 61 69 6e 73 74 20 65 6e 74 expression,.matching.against.ent
e6a0 72 79 20 6c 69 6e 6b 2c 20 74 69 74 6c 65 2c 20 61 6e 64 20 66 65 65 64 20 74 69 74 6c 65 2e 22 ry.link,.title,.and.feed.title."
e6c0 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 65 74 20 28 28 65 6c 66 65 65 64 ...(interactive....(let.((elfeed
e6e0 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 2d 61 63 74 69 76 65 20 3a 6e 6f 6e 2d 69 6e 74 65 72 -search-filter-active.:non-inter
e700 61 63 74 69 76 65 29 29 0a 20 20 20 20 20 28 6c 69 73 74 20 28 65 6c 66 65 65 64 2d 73 65 61 72 active))......(list.(elfeed-sear
e720 63 68 2d 2d 70 72 6f 6d 70 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 63 75 72 72 65 ch--prompt.............(if.curre
e740 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 20 22 22 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 nt-prefix-arg."".elfeed-search-f
e760 69 6c 74 65 72 29 29 29 29 29 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 ilter)))))...(with-current-buffe
e780 72 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 29 0a 20 20 20 20 28 73 65 r.(elfeed-search-buffer).....(se
e7a0 74 66 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 0a 20 20 20 20 20 20 20 20 tf.elfeed-search-filter.........
e7c0 20 20 28 6f 72 20 6e 65 77 2d 66 69 6c 74 65 72 20 28 64 65 66 61 75 6c 74 2d 76 61 6c 75 65 20 ..(or.new-filter.(default-value.
e7e0 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 29 29 29 0a 20 20 20 20 28 65 6c 'elfeed-search-filter))).....(el
e800 66 65 65 64 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 20 3a 66 6f 72 63 65 29 29 29 0a 0a 28 64 feed-search-update.:force)))..(d
e820 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 2d 75 70 64 61 74 65 2d 6c 69 73 74 20 efun.elfeed-search--update-list.
e840 28 29 0a 20 20 22 55 70 64 61 74 65 20 60 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 ()..."Update.`elfeed-search-filt
e860 65 72 27 20 6c 69 73 74 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 69 6c 74 65 72 20 28 65 6c 66 er'.list."...(let*.((filter.(elf
e880 65 65 64 2d 73 65 61 72 63 68 2d 70 61 72 73 65 2d 66 69 6c 74 65 72 20 65 6c 66 65 65 64 2d 73 eed-search-parse-filter.elfeed-s
e8a0 65 61 72 63 68 2d 66 69 6c 74 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 28 68 65 61 64 20 28 6c earch-filter))..........(head.(l
e8c0 69 73 74 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 61 69 6c 20 68 65 61 64 29 0a 20 ist.nil))..........(tail.head)..
e8e0 20 20 20 20 20 20 20 20 28 63 6f 75 6e 74 20 30 29 29 0a 20 20 20 20 28 69 66 20 65 6c 66 65 65 ........(count.0)).....(if.elfee
e900 64 2d 73 65 61 72 63 68 2d 63 6f 6d 70 69 6c 65 2d 66 69 6c 74 65 72 0a 20 20 20 20 20 20 20 20 d-search-compile-filter.........
e920 3b 3b 20 46 6f 72 63 65 20 6c 65 78 69 63 61 6c 20 62 69 6e 64 69 6e 67 73 20 72 65 67 61 72 64 ;;.Force.lexical.bindings.regard
e940 6c 65 73 73 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 0a 20 20 20 20 20 20 20 20 3b 3b 20 62 less.of.the.current.........;;.b
e960 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 6c 75 65 2e 20 4c 65 78 69 63 61 6c 20 73 63 6f 70 65 uffer-local.value..Lexical.scope
e980 20 75 73 65 73 20 74 68 65 20 66 61 73 74 65 72 0a 20 20 20 20 20 20 20 20 3b 3b 20 73 74 61 63 .uses.the.faster.........;;.stac
e9a0 6b 2d 72 65 66 20 6f 70 63 6f 64 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 74 72 61 64 k-ref.opcode.instead.of.the.trad
e9c0 69 74 69 6f 6e 61 6c 20 76 61 72 72 65 66 20 6f 70 63 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 28 itional.varref.opcode..........(
e9e0 6c 65 74 20 28 28 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 20 74 29 0a 20 20 20 20 20 20 20 let.((lexical-binding.t)........
ea00 20 20 20 20 20 20 20 28 66 75 6e 63 20 28 62 79 74 65 2d 63 6f 6d 70 69 6c 65 20 28 65 6c 66 65 .......(func.(byte-compile.(elfe
ea20 65 64 2d 73 65 61 72 63 68 2d 63 6f 6d 70 69 6c 65 2d 66 69 6c 74 65 72 20 66 69 6c 74 65 72 29 ed-search-compile-filter.filter)
ea40 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 65 6c 66 65 65 64 2d 64 62 2d 76 69 )))...........(with-elfeed-db-vi
ea60 73 69 74 20 28 65 6e 74 72 79 20 66 65 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 sit.(entry.feed).............(wh
ea80 65 6e 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 63 20 65 6e 74 72 79 20 66 65 65 64 20 63 6f 75 6e en.(funcall.func.entry.feed.coun
eaa0 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 63 64 72 20 74 61 69 6c t)...............(setf.(cdr.tail
eac0 29 20 28 6c 69 73 74 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).(list.entry)..................
eae0 20 20 20 74 61 69 6c 20 28 63 64 72 20 74 61 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...tail.(cdr.tail)..............
eb00 20 20 20 20 20 20 20 63 6f 75 6e 74 20 28 31 2b 20 63 6f 75 6e 74 29 29 29 29 29 0a 20 20 20 20 .......count.(1+.count))))).....
eb20 20 20 28 77 69 74 68 2d 65 6c 66 65 65 64 2d 64 62 2d 76 69 73 69 74 20 28 65 6e 74 72 79 20 66 ..(with-elfeed-db-visit.(entry.f
eb40 65 65 64 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 eed).........(when.(elfeed-searc
eb60 68 2d 66 69 6c 74 65 72 20 66 69 6c 74 65 72 20 65 6e 74 72 79 20 66 65 65 64 20 63 6f 75 6e 74 h-filter.filter.entry.feed.count
eb80 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 63 64 72 20 74 61 69 6c 29 20 28 6c 69 )...........(setf.(cdr.tail).(li
eba0 73 74 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 69 6c 20 28 st.entry).................tail.(
ebc0 63 64 72 20 74 61 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 cdr.tail).................count.
ebe0 28 31 2b 20 63 6f 75 6e 74 29 29 29 29 29 0a 20 20 20 20 3b 3b 20 44 65 74 65 72 6d 69 6e 65 20 (1+.count))))).....;;.Determine.
ec00 74 68 65 20 66 69 6e 61 6c 20 6c 69 73 74 20 6f 72 64 65 72 0a 20 20 20 20 28 6c 65 74 20 28 28 the.final.list.order.....(let.((
ec20 65 6e 74 72 69 65 73 20 28 63 64 72 20 68 65 61 64 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e entries.(cdr.head))).......(when
ec40 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 73 6f 72 74 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 .elfeed-search-sort-function....
ec60 20 20 20 20 20 28 73 65 74 66 20 65 6e 74 72 69 65 73 20 28 73 6f 72 74 20 65 6e 74 72 69 65 73 .....(setf.entries.(sort.entries
ec80 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 73 6f 72 74 2d 66 75 6e 63 74 69 6f 6e 29 29 29 0a .elfeed-search-sort-function))).
eca0 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 20 65 6c 66 65 65 64 2d 73 6f 72 74 2d 6f 72 64 65 ......(when.(eq.elfeed-sort-orde
ecc0 72 20 27 61 73 63 65 6e 64 69 6e 67 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 66 20 65 6e 74 72 r.'ascending).........(setf.entr
ece0 69 65 73 20 28 6e 72 65 76 65 72 73 65 20 65 6e 74 72 69 65 73 29 29 29 0a 20 20 20 20 20 20 28 ies.(nreverse.entries))).......(
ed00 73 65 74 66 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20 setf.elfeed-search-entries......
ed20 20 20 20 20 20 20 20 65 6e 74 72 69 65 73 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 65 6c .......entries))))..(defmacro.el
ed40 66 65 65 64 2d 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 20 28 26 72 65 73 74 20 62 6f 64 79 29 feed-save-excursion.(&rest.body)
ed60 0a 20 20 22 4c 69 6b 65 20 60 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 27 2c 20 62 75 74 20 62 ..."Like.`save-excursion',.but.b
ed80 79 20 65 6e 74 72 79 2f 6c 69 6e 65 2f 63 6f 6c 75 6d 6e 20 69 6e 73 74 65 61 64 20 6f 66 20 70 y.entry/line/column.instead.of.p
eda0 6f 69 6e 74 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 64 65 66 75 6e 29 oint."...(declare.(indent.defun)
edc0 29 0a 20 20 60 28 6c 65 74 20 28 28 65 6e 74 72 79 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 )...`(let.((entry.(elfeed-search
ede0 2d 73 65 6c 65 63 74 65 64 20 3a 73 69 6e 67 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 -selected.:single))..........(li
ee00 6e 65 20 28 6c 69 6e 65 2d 6e 75 6d 62 65 72 2d 61 74 2d 70 6f 73 29 29 0a 20 20 20 20 20 20 20 ne.(line-number-at-pos))........
ee20 20 20 28 63 6f 6c 75 6d 6e 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 29 0a 20 20 20 ..(column.(current-column)))....
ee40 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 ..(unwind-protect..........(prog
ee60 6e 20 2c 40 62 6f 64 79 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 6e 74 72 79 2d 70 6f n.,@body)........(let.((entry-po
ee80 73 69 74 69 6f 6e 20 28 63 6c 2d 70 6f 73 69 74 69 6f 6e 20 65 6e 74 72 79 20 65 6c 66 65 65 64 sition.(cl-position.entry.elfeed
eea0 2d 73 65 61 72 63 68 2d 65 6e 74 72 69 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 6c 66 -search-entries)))..........(elf
eec0 65 65 64 2d 67 6f 74 6f 2d 6c 69 6e 65 20 28 69 66 20 65 6e 74 72 79 2d 70 6f 73 69 74 69 6f 6e eed-goto-line.(if.entry-position
eee0 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 ................................
ef00 28 2b 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 2d 6f 66 66 73 65 74 20 65 6e 74 72 79 2d 70 (+.elfeed-search--offset.entry-p
ef20 6f 73 69 74 69 6f 6e 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 osition)........................
ef40 20 20 20 20 20 20 6c 69 6e 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 6f 76 65 2d 74 6f 2d 63 ......line))..........(move-to-c
ef60 6f 6c 75 6d 6e 20 63 6f 6c 75 6d 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 olumn.column)))))..(defun.elfeed
ef80 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 63 65 29 -search-update.(&optional.force)
efa0 0a 20 20 22 55 70 64 61 74 65 20 74 68 65 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 20 62 75 66 ..."Update.the.elfeed-search.buf
efc0 66 65 72 20 6c 69 73 74 69 6e 67 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 64 61 74 61 62 61 73 fer.listing.to.match.the.databas
efe0 65 2e 0a 57 68 65 6e 20 46 4f 52 43 45 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 72 65 64 72 61 77 e..When.FORCE.is.non-nil,.redraw
f000 20 65 76 65 6e 20 77 68 65 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 20 68 61 73 6e 27 74 20 63 .even.when.the.database.hasn't.c
f020 68 61 6e 67 65 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 77 69 74 68 hanged."...(interactive)...(with
f040 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 62 -current-buffer.(elfeed-search-b
f060 75 66 66 65 72 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 66 6f 72 63 65 20 28 61 6e 64 20 uffer).....(when.(or.force.(and.
f080 28 6e 6f 74 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 2d 61 63 74 69 76 65 (not.elfeed-search-filter-active
f0a0 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 28 3c 20 65 6c )..........................(<.el
f0c0 66 65 65 64 2d 73 65 61 72 63 68 2d 6c 61 73 74 2d 75 70 64 61 74 65 20 28 65 6c 66 65 65 64 2d feed-search-last-update.(elfeed-
f0e0 64 62 2d 6c 61 73 74 2d 75 70 64 61 74 65 29 29 29 29 0a 20 20 20 20 20 20 28 65 6c 66 65 65 64 db-last-update)))).......(elfeed
f100 2d 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 -save-excursion.........(let.((i
f120 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 nhibit-read-only.t).............
f140 20 20 28 73 74 61 6e 64 61 72 64 2d 6f 75 74 70 75 74 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 ..(standard-output.(current-buff
f160 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 er)))...........(erase-buffer)..
f180 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 2d 75 70 64 61 74 65 2d .........(elfeed-search--update-
f1a0 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6e 74 72 79 20 65 list)...........(dolist.(entry.e
f1c0 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 65 6e 74 72 69 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 lfeed-search-entries)...........
f1e0 20 20 28 66 75 6e 63 61 6c 6c 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 70 72 69 6e 74 2d 65 ..(funcall.elfeed-search-print-e
f200 6e 74 72 79 2d 66 75 6e 63 74 69 6f 6e 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 ntry-function.entry)............
f220 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 .(insert."\n"))...........(setf.
f240 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 6c 61 73 74 2d 75 70 64 61 74 65 20 28 66 6c 6f 61 74 elfeed-search-last-update.(float
f260 2d 74 69 6d 65 29 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 7a 65 72 6f 70 20 28 62 75 -time)))).......(when.(zerop.(bu
f280 66 66 65 72 2d 73 69 7a 65 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 6e 6f 74 68 69 6e ffer-size)).........;;.If.nothin
f2a0 67 20 63 68 61 6e 67 65 64 2c 20 66 6f 72 63 65 20 61 20 68 65 61 64 65 72 20 6c 69 6e 65 20 75 g.changed,.force.a.header.line.u
f2c0 70 64 61 74 65 0a 20 20 20 20 20 20 20 20 28 66 6f 72 63 65 2d 6d 6f 64 65 2d 6c 69 6e 65 2d 75 pdate.........(force-mode-line-u
f2e0 70 64 61 74 65 29 29 0a 20 20 20 20 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 65 6c 66 65 65 64 pdate)).......(run-hooks.'elfeed
f300 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 68 6f 6f 6b 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 -search-update-hook))))..(defun.
f320 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 65 74 63 68 20 28 70 72 65 66 69 78 29 0a 20 20 22 elfeed-search-fetch.(prefix)..."
f340 55 70 64 61 74 65 20 61 6c 6c 20 66 65 65 64 73 20 76 69 61 20 60 65 6c 66 65 65 64 2d 75 70 64 Update.all.feeds.via.`elfeed-upd
f360 61 74 65 27 2c 20 6f 72 20 6f 6e 6c 79 20 76 69 73 69 62 6c 65 20 66 65 65 64 73 20 77 69 74 68 ate',.or.only.visible.feeds.with
f380 20 50 52 45 46 49 58 2e 0a 47 69 76 65 6e 20 61 20 70 72 65 66 69 78 2c 20 74 68 69 73 20 66 75 .PREFIX..Given.a.prefix,.this.fu
f3a0 6e 63 74 69 6f 6e 20 62 65 63 6f 6d 65 73 20 60 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 65 nction.becomes.`elfeed-search-fe
f3c0 74 63 68 2d 76 69 73 69 62 6c 65 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 tch-visible'."...(interactive."P
f3e0 22 29 0a 20 20 28 69 66 20 70 72 65 66 69 78 0a 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 73 65 ")...(if.prefix.......(elfeed-se
f400 61 72 63 68 2d 66 65 74 63 68 2d 76 69 73 69 62 6c 65 29 0a 20 20 20 20 28 65 6c 66 65 65 64 2d arch-fetch-visible).....(elfeed-
f420 75 70 64 61 74 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d update)))..(defun.elfeed-search-
f440 66 65 74 63 68 2d 76 69 73 69 62 6c 65 20 28 29 0a 20 20 22 55 70 64 61 74 65 20 61 6e 79 20 66 fetch-visible.()..."Update.any.f
f460 65 65 64 20 77 69 74 68 20 61 6e 20 65 6e 74 72 79 20 63 75 72 72 65 6e 74 6c 79 20 64 69 73 70 eed.with.an.entry.currently.disp
f480 6c 61 79 65 64 20 69 6e 20 74 68 65 20 73 65 61 72 63 68 20 62 75 66 66 65 72 2e 22 0a 20 20 28 layed.in.the.search.buffer."...(
f4a0 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 77 69 74 68 20 73 65 65 interactive)...(cl-loop.with.see
f4c0 6e 20 3d 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 75 61 n.=.(make-hash-table.:test.'equa
f4e0 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 65 6e 74 72 79 20 69 6e 20 65 6c 66 65 65 l)............for.entry.in.elfee
f500 64 2d 73 65 61 72 63 68 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 d-search-entries............for.
f520 66 65 65 64 20 3d 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 66 65 65 64 20 65 6e 74 72 79 29 feed.=.(elfeed-entry-feed.entry)
f540 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 75 72 6c 20 3d 20 28 65 6c 66 65 65 64 2d 66 65 ............for.url.=.(elfeed-fe
f560 65 64 2d 75 72 6c 20 66 65 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 28 6e 6f ed-url.feed)............when.(no
f580 74 20 28 67 65 74 68 61 73 68 20 75 72 6c 20 73 65 65 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 t.(gethash.url.seen))...........
f5a0 20 64 6f 20 28 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 66 65 65 64 20 28 73 65 74 66 20 28 67 .do.(elfeed-update-feed.(setf.(g
f5c0 65 74 68 61 73 68 20 75 72 6c 20 73 65 65 6e 29 20 75 72 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e ethash.url.seen).url))))..(defun
f5e0 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 6c 69 6e 65 20 28 26 6f 70 74 .elfeed-search-update-line.(&opt
f600 69 6f 6e 61 6c 20 6e 29 0a 20 20 22 52 65 64 72 61 77 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c ional.n)..."Redraw.the.current.l
f620 69 6e 65 2e 22 0a 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 79 ine."...(let.((inhibit-read-only
f640 20 74 29 29 0a 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 28 .t)).....(save-excursion.......(
f660 77 68 65 6e 20 6e 20 28 65 6c 66 65 65 64 2d 67 6f 74 6f 2d 6c 69 6e 65 20 6e 29 29 0a 20 20 20 when.n.(elfeed-goto-line.n))....
f680 20 20 20 28 6c 65 74 20 28 28 65 6e 74 72 79 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 73 ...(let.((entry.(elfeed-search-s
f6a0 65 6c 65 63 74 65 64 20 3a 69 67 6e 6f 72 65 2d 72 65 67 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 elected.:ignore-region))).......
f6c0 20 20 28 77 68 65 6e 20 65 6e 74 72 79 0a 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d ..(when.entry...........(elfeed-
f6e0 6b 69 6c 6c 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 65 6c kill-line)...........(funcall.el
f700 66 65 65 64 2d 73 65 61 72 63 68 2d 70 72 69 6e 74 2d 65 6e 74 72 79 2d 66 75 6e 63 74 69 6f 6e feed-search-print-entry-function
f720 20 65 6e 74 72 79 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 .entry))))))..(defun.elfeed-sear
f740 63 68 2d 75 70 64 61 74 65 2d 65 6e 74 72 79 20 28 65 6e 74 72 79 29 0a 20 20 22 52 65 64 72 61 ch-update-entry.(entry)..."Redra
f760 77 20 61 20 73 70 65 63 69 66 69 63 20 65 6e 74 72 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 6e 20 w.a.specific.entry."...(let.((n.
f780 28 63 6c 2d 70 6f 73 69 74 69 6f 6e 20 65 6e 74 72 79 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 (cl-position.entry.elfeed-search
f7a0 2d 65 6e 74 72 69 65 73 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 6e 20 28 65 6c 66 65 65 64 2d -entries))).....(when.n.(elfeed-
f7c0 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 6c 69 6e 65 20 28 2b 20 65 6c 66 65 65 64 2d 73 65 61 search-update-line.(+.elfeed-sea
f7e0 72 63 68 2d 2d 6f 66 66 73 65 74 20 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 rch--offset.n)))))..(defun.elfee
f800 64 2d 73 65 61 72 63 68 2d 73 65 6c 65 63 74 65 64 20 28 26 6f 70 74 69 6f 6e 61 6c 20 69 67 6e d-search-selected.(&optional.ign
f820 6f 72 65 2d 72 65 67 69 6f 6e 2d 70 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f ore-region-p)..."Return.a.list.o
f840 66 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 20 66 65 65 64 73 2e 0a f.the.currently.selected.feeds..
f860 0a 49 66 20 49 47 4e 4f 52 45 2d 52 45 47 49 4f 4e 2d 50 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 .If.IGNORE-REGION-P.is.non-nil,.
f880 6f 6e 6c 79 20 72 65 74 75 72 6e 20 74 68 65 20 65 6e 74 72 79 20 75 6e 64 65 72 20 70 6f 69 6e only.return.the.entry.under.poin
f8a0 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 75 73 65 2d 72 65 67 69 6f 6e 20 28 61 6e 64 20 28 6e 6f t."...(let.((use-region.(and.(no
f8c0 74 20 69 67 6e 6f 72 65 2d 72 65 67 69 6f 6e 2d 70 29 20 28 75 73 65 2d 72 65 67 69 6f 6e 2d 70 t.ignore-region-p).(use-region-p
f8e0 29 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 73 74 61 72 74 20 28 69 66 20 75 73 65 2d 72 65 )))).....(let.((start.(if.use-re
f900 67 69 6f 6e 20 28 72 65 67 69 6f 6e 2d 62 65 67 69 6e 6e 69 6e 67 29 20 28 70 6f 69 6e 74 29 29 gion.(region-beginning).(point))
f920 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 20 20 28 69 66 20 75 73 65 2d 72 65 67 69 6f )...........(end...(if.use-regio
f940 6e 20 28 72 65 67 69 6f 6e 2d 65 6e 64 29 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 29 29 29 0a n.(region-end).......(point)))).
f960 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 6c 69 6e 65 20 66 72 6f 6d 20 28 6c 69 ......(cl-loop.for.line.from.(li
f980 6e 65 2d 6e 75 6d 62 65 72 2d 61 74 2d 70 6f 73 20 73 74 61 72 74 29 0a 20 20 20 20 20 20 20 20 ne-number-at-pos.start).........
f9a0 20 20 20 20 20 20 20 74 6f 20 28 6c 69 6e 65 2d 6e 75 6d 62 65 72 2d 61 74 2d 70 6f 73 20 65 6e .......to.(line-number-at-pos.en
f9c0 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 6f 66 66 73 65 74 20 3d 20 28 d)................for.offset.=.(
f9e0 2d 20 6c 69 6e 65 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 2d 6f 66 66 73 65 74 29 0a 20 20 -.line.elfeed-search--offset)...
fa00 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 28 61 6e 64 20 28 3e 3d 20 6f 66 66 73 65 .............when.(and.(>=.offse
fa20 74 20 30 29 20 28 6e 74 68 20 6f 66 66 73 65 74 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 65 t.0).(nth.offset.elfeed-search-e
fa40 6e 74 72 69 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 ntries))................collect.
fa60 69 74 20 69 6e 74 6f 20 73 65 6c 65 63 74 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 it.into.selected................
fa80 66 69 6e 61 6c 6c 79 20 28 72 65 74 75 72 6e 20 28 69 66 20 69 67 6e 6f 72 65 2d 72 65 67 69 6f finally.(return.(if.ignore-regio
faa0 6e 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 20 20 20 20 n-p.............................
fac0 20 20 20 20 20 20 20 28 63 61 72 20 73 65 6c 65 63 74 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 .......(car.selected)...........
fae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 65 64 29 .......................selected)
fb00 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 62 72 6f 77 )))))..(defun.elfeed-search-brow
fb20 73 65 2d 75 72 6c 20 28 26 6f 70 74 69 6f 6e 61 6c 20 75 73 65 2d 67 65 6e 65 72 69 63 2d 70 29 se-url.(&optional.use-generic-p)
fb40 0a 20 20 22 56 69 73 69 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6e 74 72 79 20 69 6e 20 79 ..."Visit.the.current.entry.in.y
fb60 6f 75 72 20 62 72 6f 77 73 65 72 20 75 73 69 6e 67 20 60 62 72 6f 77 73 65 2d 75 72 6c 27 2e 0a our.browser.using.`browse-url'..
fb80 49 66 20 74 68 65 72 65 20 69 73 20 61 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 2c 20 76 If.there.is.a.prefix.argument,.v
fba0 69 73 69 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6e 74 72 79 20 69 6e 20 74 68 65 0a 62 72 isit.the.current.entry.in.the.br
fbc0 6f 77 73 65 72 20 64 65 66 69 6e 65 64 20 62 79 20 60 62 72 6f 77 73 65 2d 75 72 6c 2d 67 65 6e owser.defined.by.`browse-url-gen
fbe0 65 72 69 63 2d 70 72 6f 67 72 61 6d 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 eric-program'."...(interactive."
fc00 50 22 29 0a 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 P")...(let.((buffer.(current-buf
fc20 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 65 6e 74 72 69 65 73 20 28 65 6c 66 65 65 64 2d 73 fer)).........(entries.(elfeed-s
fc40 65 61 72 63 68 2d 73 65 6c 65 63 74 65 64 29 29 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 earch-selected))).....(cl-loop.f
fc60 6f 72 20 65 6e 74 72 79 20 69 6e 20 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 or.entry.in.entries.............
fc80 20 64 6f 20 28 65 6c 66 65 65 64 2d 75 6e 74 61 67 20 65 6e 74 72 79 20 27 75 6e 72 65 61 64 29 .do.(elfeed-untag.entry.'unread)
fca0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 ..............when.(elfeed-entry
fcc0 2d 6c 69 6e 6b 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 69 66 -link.entry)..............do.(if
fce0 20 75 73 65 2d 67 65 6e 65 72 69 63 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .use-generic-p..................
fd00 20 20 20 28 62 72 6f 77 73 65 2d 75 72 6c 2d 67 65 6e 65 72 69 63 20 69 74 29 0a 20 20 20 20 20 ...(browse-url-generic.it)......
fd20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 72 6f 77 73 65 2d 75 72 6c 20 69 74 29 29 29 0a 20 .............(browse-url.it)))..
fd40 20 20 20 3b 3b 20 60 62 72 6f 77 73 65 2d 75 72 6c 27 20 63 6f 75 6c 64 20 68 61 76 65 20 73 77 ...;;.`browse-url'.could.have.sw
fd60 69 74 63 68 65 64 20 74 6f 20 61 6e 6f 74 68 65 72 20 62 75 66 66 65 72 20 69 66 20 65 77 77 20 itched.to.another.buffer.if.eww.
fd80 6f 72 20 61 6e 6f 74 68 65 72 0a 20 20 20 20 3b 3b 20 69 6e 74 65 72 6e 61 6c 20 62 72 6f 77 73 or.another.....;;.internal.brows
fda0 65 72 20 69 73 20 75 73 65 64 2c 20 62 75 74 20 74 68 65 20 72 65 6d 61 69 6e 64 65 72 20 6f 66 er.is.used,.but.the.remainder.of
fdc0 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 6e 65 65 64 73 20 74 6f 0a 20 20 20 20 3b 3b 20 72 .the.functions.needs.to.....;;.r
fde0 75 6e 20 69 6e 20 74 68 65 20 65 6c 66 65 65 64 20 62 75 66 66 65 72 2e 0a 20 20 20 20 28 77 69 un.in.the.elfeed.buffer......(wi
fe00 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 20 20 20 28 th-current-buffer.buffer.......(
fe20 6d 61 70 63 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 65 6e 74 72 mapc.#'elfeed-search-update-entr
fe40 79 20 65 6e 74 72 69 65 73 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 65 6c 66 y.entries).......(unless.(or.elf
fe60 65 65 64 2d 73 65 61 72 63 68 2d 72 65 6d 61 69 6e 2d 6f 6e 2d 65 6e 74 72 79 20 28 75 73 65 2d eed-search-remain-on-entry.(use-
fe80 72 65 67 69 6f 6e 2d 70 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 region-p)).........(forward-line
fea0 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 79 61 6e 6b )))))..(defun.elfeed-search-yank
fec0 20 28 29 0a 20 20 22 43 6f 70 79 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 66 65 65 64 20 69 74 .()..."Copy.the.selected.feed.it
fee0 65 6d 73 20 74 6f 20 63 6c 69 70 62 6f 61 72 64 20 61 6e 64 20 6b 69 6c 6c 2d 72 69 6e 67 2e 22 ems.to.clipboard.and.kill-ring."
ff00 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 65 6e 74 72 69 ...(interactive)...(let*.((entri
ff20 65 73 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 73 65 6c 65 63 74 65 64 29 29 0a 20 20 20 es.(elfeed-search-selected))....
ff40 20 20 20 20 20 20 28 6c 69 6e 6b 73 20 28 6d 61 70 63 61 72 20 23 27 65 6c 66 65 65 64 2d 65 6e ......(links.(mapcar.#'elfeed-en
ff60 74 72 79 2d 6c 69 6e 6b 20 65 6e 74 72 69 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 6e try-link.entries))..........(lin
ff80 6b 73 2d 73 74 72 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 20 6c 69 6e ks-str.(mapconcat.#'identity.lin
ffa0 6b 73 20 22 20 22 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 65 6e 74 72 69 65 73 0a 20 20 20 20 ks."."))).....(when.entries.....
ffc0 20 20 28 65 6c 66 65 65 64 2d 75 6e 74 61 67 20 65 6e 74 72 69 65 73 20 27 75 6e 72 65 61 64 29 ..(elfeed-untag.entries.'unread)
ffe0 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 6e 65 77 20 6c 69 6e 6b 73 2d 73 74 72 29 0a 20 20 20 20 .......(kill-new.links-str).....
10000 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 67 75 69 2d 73 65 74 2d 73 65 6c 65 63 74 69 6f ..(if.(fboundp.'gui-set-selectio
10020 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 75 69 2d 73 65 74 2d 73 65 6c 65 63 74 69 6f 6e 20 n)...........(gui-set-selection.
10040 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 63 6c 69 70 62 6f 61 72 64 2d 74 79 70 65 20 6c 69 6e elfeed-search-clipboard-type.lin
10060 6b 73 2d 73 74 72 29 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 ks-str).........(with-no-warning
10080 73 0a 20 20 20 20 20 20 20 20 20 20 28 78 2d 73 65 74 2d 73 65 6c 65 63 74 69 6f 6e 20 65 6c 66 s...........(x-set-selection.elf
100a0 65 65 64 2d 73 65 61 72 63 68 2d 63 6c 69 70 62 6f 61 72 64 2d 74 79 70 65 20 6c 69 6e 6b 73 2d eed-search-clipboard-type.links-
100c0 73 74 72 29 29 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 43 6f 70 69 65 64 3a 20 25 str))).......(message."Copied:.%
100e0 73 22 20 6c 69 6e 6b 73 2d 73 74 72 29 0a 20 20 20 20 20 20 28 6d 61 70 63 20 23 27 65 6c 66 65 s".links-str).......(mapc.#'elfe
10100 65 64 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 65 6e 74 72 79 20 65 6e 74 72 69 65 73 29 0a ed-search-update-entry.entries).
10120 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d ......(unless.(or.elfeed-search-
10140 72 65 6d 61 69 6e 2d 6f 6e 2d 65 6e 74 72 79 20 28 75 73 65 2d 72 65 67 69 6f 6e 2d 70 29 29 0a remain-on-entry.(use-region-p)).
10160 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 29 29 29 29 29 0a 0a 28 64 65 66 ........(forward-line)))))..(def
10180 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 74 61 67 2d 61 6c 6c 20 28 74 61 67 29 0a 20 un.elfeed-search-tag-all.(tag)..
101a0 20 22 41 70 70 6c 79 20 54 41 47 20 74 6f 20 61 6c 6c 20 73 65 6c 65 63 74 65 64 20 65 6e 74 72 ."Apply.TAG.to.all.selected.entr
101c0 69 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 28 69 6e 74 65 ies."...(interactive.(list.(inte
101e0 72 6e 20 28 72 65 61 64 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 20 22 54 61 67 3a 20 22 rn.(read-from-minibuffer."Tag:."
10200 29 29 29 29 0a 20 20 28 6c 65 74 20 28 28 65 6e 74 72 69 65 73 20 28 65 6c 66 65 65 64 2d 73 65 ))))...(let.((entries.(elfeed-se
10220 61 72 63 68 2d 73 65 6c 65 63 74 65 64 29 29 29 0a 20 20 20 20 28 65 6c 66 65 65 64 2d 74 61 67 arch-selected))).....(elfeed-tag
10240 20 65 6e 74 72 69 65 73 20 74 61 67 29 0a 20 20 20 20 28 6d 61 70 63 20 23 27 65 6c 66 65 65 64 .entries.tag).....(mapc.#'elfeed
10260 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 65 6e 74 72 79 20 65 6e 74 72 69 65 73 29 0a 20 20 -search-update-entry.entries)...
10280 20 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 72 65 6d 61 ..(unless.(or.elfeed-search-rema
102a0 69 6e 2d 6f 6e 2d 65 6e 74 72 79 20 28 75 73 65 2d 72 65 67 69 6f 6e 2d 70 29 29 0a 20 20 20 20 in-on-entry.(use-region-p)).....
102c0 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 ..(forward-line))))..(defun.elfe
102e0 65 64 2d 73 65 61 72 63 68 2d 75 6e 74 61 67 2d 61 6c 6c 20 28 74 61 67 29 0a 20 20 22 52 65 6d ed-search-untag-all.(tag)..."Rem
10300 6f 76 65 20 54 41 47 20 66 72 6f 6d 20 61 6c 6c 20 73 65 6c 65 63 74 65 64 20 65 6e 74 72 69 65 ove.TAG.from.all.selected.entrie
10320 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 28 69 6e 74 65 72 6e s."...(interactive.(list.(intern
10340 20 28 72 65 61 64 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 20 22 54 61 67 3a 20 22 29 29 .(read-from-minibuffer."Tag:."))
10360 29 29 0a 20 20 28 6c 65 74 20 28 28 65 6e 74 72 69 65 73 20 28 65 6c 66 65 65 64 2d 73 65 61 72 ))...(let.((entries.(elfeed-sear
10380 63 68 2d 73 65 6c 65 63 74 65 64 29 29 29 0a 20 20 20 20 28 65 6c 66 65 65 64 2d 75 6e 74 61 67 ch-selected))).....(elfeed-untag
103a0 20 65 6e 74 72 69 65 73 20 74 61 67 29 0a 20 20 20 20 28 6d 61 70 63 20 23 27 65 6c 66 65 65 64 .entries.tag).....(mapc.#'elfeed
103c0 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 65 6e 74 72 79 20 65 6e 74 72 69 65 73 29 0a 20 20 -search-update-entry.entries)...
103e0 20 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 72 65 6d 61 ..(unless.(or.elfeed-search-rema
10400 69 6e 2d 6f 6e 2d 65 6e 74 72 79 20 28 75 73 65 2d 72 65 67 69 6f 6e 2d 70 29 29 0a 20 20 20 20 in-on-entry.(use-region-p)).....
10420 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 ..(forward-line))))..(defun.elfe
10440 65 64 2d 73 65 61 72 63 68 2d 74 6f 67 67 6c 65 2d 61 6c 6c 20 28 74 61 67 29 0a 20 20 22 54 6f ed-search-toggle-all.(tag)..."To
10460 67 67 6c 65 20 54 41 47 20 6f 6e 20 61 6c 6c 20 73 65 6c 65 63 74 65 64 20 65 6e 74 72 69 65 73 ggle.TAG.on.all.selected.entries
10480 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 28 69 6e 74 65 72 6e 20 ."...(interactive.(list.(intern.
104a0 28 72 65 61 64 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 20 22 54 61 67 3a 20 22 29 29 29 (read-from-minibuffer."Tag:.")))
104c0 29 0a 20 20 28 6c 65 74 20 28 28 65 6e 74 72 69 65 73 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 )...(let.((entries.(elfeed-searc
104e0 68 2d 73 65 6c 65 63 74 65 64 29 29 20 65 6e 74 72 69 65 73 2d 74 61 67 20 65 6e 74 72 69 65 73 h-selected)).entries-tag.entries
10500 2d 75 6e 74 61 67 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 65 6e 74 72 79 20 69 -untag).....(cl-loop.for.entry.i
10520 6e 20 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 28 65 6c 66 n.entries..............when.(elf
10540 65 65 64 2d 74 61 67 67 65 64 2d 70 20 74 61 67 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 eed-tagged-p.tag.entry).........
10560 20 20 20 20 20 64 6f 20 28 70 75 73 68 20 65 6e 74 72 79 20 65 6e 74 72 69 65 73 2d 75 6e 74 61 .....do.(push.entry.entries-unta
10580 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 64 6f 20 28 70 75 73 68 20 65 6e g)..............else.do.(push.en
105a0 74 72 79 20 65 6e 74 72 69 65 73 2d 74 61 67 29 29 0a 20 20 20 20 28 65 6c 66 65 65 64 2d 74 61 try.entries-tag)).....(elfeed-ta
105c0 67 20 65 6e 74 72 69 65 73 2d 74 61 67 20 74 61 67 29 0a 20 20 20 20 28 65 6c 66 65 65 64 2d 75 g.entries-tag.tag).....(elfeed-u
105e0 6e 74 61 67 20 65 6e 74 72 69 65 73 2d 75 6e 74 61 67 20 74 61 67 29 0a 20 20 20 20 28 6d 61 70 ntag.entries-untag.tag).....(map
10600 63 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 65 6e 74 72 79 20 65 c.#'elfeed-search-update-entry.e
10620 6e 74 72 69 65 73 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 65 6c 66 65 65 64 2d 73 ntries).....(unless.(or.elfeed-s
10640 65 61 72 63 68 2d 72 65 6d 61 69 6e 2d 6f 6e 2d 65 6e 74 72 79 20 28 75 73 65 2d 72 65 67 69 6f earch-remain-on-entry.(use-regio
10660 6e 2d 70 29 29 0a 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 29 29 29 29 0a 0a 28 n-p)).......(forward-line))))..(
10680 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 73 68 6f 77 2d 65 6e 74 72 79 20 28 defun.elfeed-search-show-entry.(
106a0 65 6e 74 72 79 29 0a 20 20 22 44 69 73 70 6c 61 79 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 entry)..."Display.the.currently.
106c0 73 65 6c 65 63 74 65 64 20 69 74 65 6d 20 69 6e 20 61 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 selected.item.in.a.buffer."...(i
106e0 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d nteractive.(list.(elfeed-search-
10700 73 65 6c 65 63 74 65 64 20 3a 69 67 6e 6f 72 65 2d 72 65 67 69 6f 6e 29 29 29 0a 20 20 28 72 65 selected.:ignore-region)))...(re
10720 71 75 69 72 65 20 27 65 6c 66 65 65 64 2d 73 68 6f 77 29 0a 20 20 28 77 68 65 6e 20 28 65 6c 66 quire.'elfeed-show)...(when.(elf
10740 65 65 64 2d 65 6e 74 72 79 2d 70 20 65 6e 74 72 79 29 0a 20 20 20 20 28 65 6c 66 65 65 64 2d 75 eed-entry-p.entry).....(elfeed-u
10760 6e 74 61 67 20 65 6e 74 72 79 20 27 75 6e 72 65 61 64 29 0a 20 20 20 20 28 65 6c 66 65 65 64 2d ntag.entry.'unread).....(elfeed-
10780 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 65 6e 74 72 79 20 65 6e 74 72 79 29 0a 20 20 20 20 28 search-update-entry.entry).....(
107a0 75 6e 6c 65 73 73 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 72 65 6d 61 69 6e 2d 6f 6e 2d 65 unless.elfeed-search-remain-on-e
107c0 6e 74 72 79 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 29 29 0a 20 20 20 20 28 65 6c 66 65 65 64 ntry.(forward-line)).....(elfeed
107e0 2d 73 68 6f 77 2d 65 6e 74 72 79 20 65 6e 74 72 79 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 -show-entry.entry)))..(defun.elf
10800 65 65 64 2d 73 65 61 72 63 68 2d 73 65 74 2d 65 6e 74 72 79 2d 74 69 74 6c 65 20 28 74 69 74 6c eed-search-set-entry-title.(titl
10820 65 29 0a 20 20 22 4d 61 6e 75 61 6c 6c 79 20 73 65 74 20 74 68 65 20 74 69 74 6c 65 20 66 6f 72 e)..."Manually.set.the.title.for
10840 20 74 68 65 20 65 6e 74 72 79 20 75 6e 64 65 72 20 70 6f 69 6e 74 2e 0a 53 65 74 73 20 74 68 65 .the.entry.under.point..Sets.the
10860 20 3a 74 69 74 6c 65 20 6b 65 79 20 6f 66 20 74 68 65 20 65 6e 74 72 79 27 73 20 6d 65 74 61 64 .:title.key.of.the.entry's.metad
10880 61 74 61 2e 20 53 65 65 20 60 65 6c 66 65 65 64 2d 6d 65 74 61 27 2e 22 0a 20 20 28 69 6e 74 65 ata..See.`elfeed-meta'."...(inte
108a0 72 61 63 74 69 76 65 20 22 73 54 69 74 6c 65 3a 20 22 29 0a 20 20 28 6c 65 74 20 28 28 65 6e 74 ractive."sTitle:.")...(let.((ent
108c0 72 79 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 73 65 6c 65 63 74 65 64 20 3a 69 67 6e 6f ry.(elfeed-search-selected.:igno
108e0 72 65 2d 72 65 67 69 6f 6e 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 65 6e 74 72 79 0a 20 re-region))).....(unless.entry..
10900 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 20 65 6e 74 72 79 20 73 65 6c 65 63 74 65 64 21 22 .....(error."No.entry.selected!"
10920 29 29 0a 20 20 20 20 28 73 65 74 66 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 20 65 6e 74 72 79 20 )).....(setf.(elfeed-meta.entry.
10940 3a 74 69 74 6c 65 29 20 74 69 74 6c 65 29 0a 20 20 20 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 :title).title).....(elfeed-searc
10960 68 2d 75 70 64 61 74 65 2d 65 6e 74 72 79 20 65 6e 74 72 79 29 29 29 0a 0a 28 64 65 66 75 6e 20 h-update-entry.entry)))..(defun.
10980 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 73 65 74 2d 66 65 65 64 2d 74 69 74 6c 65 20 28 74 69 elfeed-search-set-feed-title.(ti
109a0 74 6c 65 29 0a 20 20 22 4d 61 6e 75 61 6c 6c 79 20 73 65 74 20 74 68 65 20 74 69 74 6c 65 20 66 tle)..."Manually.set.the.title.f
109c0 6f 72 20 74 68 65 20 66 65 65 64 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 74 68 65 20 65 6e 74 or.the.feed.belonging.to.the.ent
109e0 72 79 20 75 6e 64 65 72 20 70 6f 69 6e 74 2e 0a 53 65 74 73 20 74 68 65 20 3a 74 69 74 6c 65 20 ry.under.point..Sets.the.:title.
10a00 6b 65 79 20 6f 66 20 74 68 65 20 66 65 65 64 27 73 20 6d 65 74 61 64 61 74 61 2e 20 53 65 65 20 key.of.the.feed's.metadata..See.
10a20 60 65 6c 66 65 65 64 2d 6d 65 74 61 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 `elfeed-meta'."...(interactive."
10a40 73 54 69 74 6c 65 3a 20 22 29 0a 20 20 28 6c 65 74 20 28 28 65 6e 74 72 79 20 28 65 6c 66 65 65 sTitle:.")...(let.((entry.(elfee
10a60 64 2d 73 65 61 72 63 68 2d 73 65 6c 65 63 74 65 64 20 3a 69 67 6e 6f 72 65 2d 72 65 67 69 6f 6e d-search-selected.:ignore-region
10a80 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 65 6e 74 72 79 0a 20 20 20 20 20 20 28 65 72 72 ))).....(unless.entry.......(err
10aa0 6f 72 20 22 4e 6f 20 65 6e 74 72 79 20 73 65 6c 65 63 74 65 64 21 22 29 29 0a 20 20 20 20 28 6c or."No.entry.selected!")).....(l
10ac0 65 74 20 28 28 66 65 65 64 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 66 65 65 64 20 65 6e 74 et.((feed.(elfeed-entry-feed.ent
10ae0 72 79 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 66 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 20 66 ry))).......(setf.(elfeed-meta.f
10b00 65 65 64 20 3a 74 69 74 6c 65 29 20 74 69 74 6c 65 29 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 eed.:title).title).......(dolist
10b20 20 28 74 6f 2d 66 69 78 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 65 6e 74 72 69 65 73 29 0a .(to-fix.elfeed-search-entries).
10b40 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 65 6e ........(elfeed-search-update-en
10b60 74 72 79 20 74 6f 2d 66 69 78 29 29 29 29 29 0a 0a 3b 3b 20 4c 69 76 65 20 46 69 6c 74 65 72 73 try.to-fix)))))..;;.Live.Filters
10b80 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 2d 73 ..(defvar.elfeed-search-filter-s
10ba0 79 6e 74 61 78 2d 74 61 62 6c 65 0a 20 20 28 6c 65 74 20 28 28 74 61 62 6c 65 20 28 6d 61 6b 65 yntax-table...(let.((table.(make
10bc0 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 29 29 0a 20 20 20 20 28 70 72 6f 67 31 20 74 61 62 6c -syntax-table))).....(prog1.tabl
10be0 65 0a 20 20 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 2b 20 e.......(modify-syntax-entry.?+.
10c00 22 77 22 20 74 61 62 6c 65 29 0a 20 20 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d "w".table).......(modify-syntax-
10c20 65 6e 74 72 79 20 3f 2d 20 22 77 22 20 74 61 62 6c 65 29 0a 20 20 20 20 20 20 28 6d 6f 64 69 66 entry.?-."w".table).......(modif
10c40 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 3d 20 22 77 22 20 74 61 62 6c 65 29 0a 20 20 20 y-syntax-entry.?=."w".table)....
10c60 20 20 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 40 20 22 77 22 20 74 ...(modify-syntax-entry.?@."w".t
10c80 61 62 6c 65 29 29 29 0a 20 20 22 53 79 6e 74 61 78 20 74 61 62 6c 65 20 61 63 74 69 76 65 20 77 able)))..."Syntax.table.active.w
10ca0 68 65 6e 20 65 64 69 74 69 6e 67 20 74 68 65 20 66 69 6c 74 65 72 20 69 6e 20 74 68 65 20 6d 69 hen.editing.the.filter.in.the.mi
10cc0 6e 69 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 nibuffer.")..(defun.elfeed-searc
10ce0 68 2d 2d 6d 69 6e 69 62 75 66 66 65 72 2d 73 65 74 75 70 20 28 29 0a 20 20 22 53 65 74 20 75 70 h--minibuffer-setup.()..."Set.up
10d00 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 20 66 6f 72 20 6c 69 76 65 20 66 69 6c 74 65 72 69 .the.minibuffer.for.live.filteri
10d20 6e 67 2e 22 0a 20 20 28 77 68 65 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 ng."...(when.elfeed-search-filte
10d40 72 2d 61 63 74 69 76 65 0a 20 20 20 20 28 73 65 74 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 65 r-active.....(set-syntax-table.e
10d60 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 lfeed-search-filter-syntax-table
10d80 29 0a 20 20 20 20 28 77 68 65 6e 20 28 65 71 20 3a 6c 69 76 65 20 65 6c 66 65 65 64 2d 73 65 61 ).....(when.(eq.:live.elfeed-sea
10da0 72 63 68 2d 66 69 6c 74 65 72 2d 61 63 74 69 76 65 29 0a 20 20 20 20 20 20 28 61 64 64 2d 68 6f rch-filter-active).......(add-ho
10dc0 6f 6b 20 27 70 6f 73 74 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 27 65 6c 66 65 65 64 2d 73 65 ok.'post-command-hook.'elfeed-se
10de0 61 72 63 68 2d 2d 6c 69 76 65 2d 75 70 64 61 74 65 20 6e 69 6c 20 3a 6c 6f 63 61 6c 29 29 29 29 arch--live-update.nil.:local))))
10e00 0a 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 6d 69 6e 69 62 75 66 66 65 72 2d 73 65 74 75 70 2d 68 6f ..(add-hook.'minibuffer-setup-ho
10e20 6f 6b 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 2d 6d 69 6e 69 62 75 66 66 65 72 2d 73 65 ok.'elfeed-search--minibuffer-se
10e40 74 75 70 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 2d 6c 69 76 65 tup)..(defun.elfeed-search--live
10e60 2d 75 70 64 61 74 65 20 28 29 0a 20 20 22 55 70 64 61 74 65 20 74 68 65 20 65 6c 66 65 65 64 2d -update.()..."Update.the.elfeed-
10e80 73 65 61 72 63 68 20 62 75 66 66 65 72 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 63 6f 6e 74 65 search.buffer.based.on.the.conte
10ea0 6e 74 73 20 6f 66 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 2e 22 0a 20 20 28 77 68 65 6e 20 nts.of.the.minibuffer."...(when.
10ec0 28 65 71 20 3a 6c 69 76 65 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 2d 61 (eq.:live.elfeed-search-filter-a
10ee0 63 74 69 76 65 29 0a 20 20 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 20 28 65 6c 66 65 65 64 ctive).....(let.((buffer.(elfeed
10f00 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 -search-buffer))...........(curr
10f20 65 6e 74 2d 66 69 6c 74 65 72 20 28 6d 69 6e 69 62 75 66 66 65 72 2d 63 6f 6e 74 65 6e 74 73 2d ent-filter.(minibuffer-contents-
10f40 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 62 75 66 no-properties))).......(when.buf
10f60 66 65 72 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 fer.........(with-current-buffer
10f80 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 77 69 6e 64 6f 77 .buffer...........(let*.((window
10fa0 20 28 67 65 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 20 28 65 6c 66 65 65 64 2d 73 65 61 72 .(get-buffer-window.(elfeed-sear
10fc0 63 68 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 ch-buffer)))..................(h
10fe0 65 69 67 68 74 20 28 77 69 6e 64 6f 77 2d 74 6f 74 61 6c 2d 68 65 69 67 68 74 20 77 69 6e 64 6f eight.(window-total-height.windo
11000 77 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6d 69 74 65 72 20 28 69 w))..................(limiter.(i
11020 66 20 77 69 6e 64 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f.window........................
11040 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 23 25 64 20 22 20 68 65 69 67 68 74 29 0a 20 20 .......(format."#%d.".height)...
11060 20 20 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 23 31 20 22 29 .........................."#1.")
11080 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 )..................(elfeed-searc
110a0 68 2d 66 69 6c 74 65 72 20 28 63 6f 6e 63 61 74 20 6c 69 6d 69 74 65 72 20 63 75 72 72 65 6e 74 h-filter.(concat.limiter.current
110c0 2d 66 69 6c 74 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 73 -filter))).............(elfeed-s
110e0 65 61 72 63 68 2d 75 70 64 61 74 65 20 3a 66 6f 72 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 earch-update.:force)............
11100 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 2d 6f 76 65 72 .(setf.elfeed-search-filter-over
11120 66 6c 6f 77 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3d 20 28 6c 65 flowing...................(=.(le
11140 6e 67 74 68 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 65 6e 74 72 69 65 73 29 0a 20 20 20 20 ngth.elfeed-search-entries).....
11160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 69 67 68 74 29 29 29 29 29 29 29 29 0a .................height)))))))).
11180 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 6c 69 76 65 2d 66 69 6c 74 65 .(defun.elfeed-search-live-filte
111a0 72 20 28 29 0a 20 20 22 46 69 6c 74 65 72 20 74 68 65 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 r.()..."Filter.the.elfeed-search
111c0 20 62 75 66 66 65 72 20 61 73 20 74 68 65 20 66 69 6c 74 65 72 20 69 73 20 77 72 69 74 74 65 6e .buffer.as.the.filter.is.written
111e0 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f ."...(interactive)...(unwind-pro
11200 74 65 63 74 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d tect.......(let.((elfeed-search-
11220 66 69 6c 74 65 72 2d 61 63 74 69 76 65 20 3a 6c 69 76 65 29 29 0a 20 20 20 20 20 20 20 20 28 73 filter-active.:live)).........(s
11240 65 74 71 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 0a 20 20 20 20 20 20 20 etq.elfeed-search-filter........
11260 20 20 20 20 20 20 20 28 72 65 61 64 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 20 22 46 69 .......(read-from-minibuffer."Fi
11280 6c 74 65 72 3a 20 22 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 29 29 29 0a lter:.".elfeed-search-filter))).
112a0 20 20 20 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 20 3a 66 6f 72 63 65 ....(elfeed-search-update.:force
112c0 29 29 29 0a 0a 3b 3b 20 42 6f 6f 6b 6d 61 72 6b 73 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 )))..;;.Bookmarks..;;;###autoloa
112e0 64 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 62 6f 6f 6b 6d 61 72 6b 2d d.(defun.elfeed-search-bookmark-
11300 68 61 6e 64 6c 65 72 20 28 72 65 63 6f 72 64 29 0a 20 20 22 4a 75 6d 70 20 74 6f 20 61 6e 20 65 handler.(record)..."Jump.to.an.e
11320 6c 66 65 65 64 2d 73 65 61 72 63 68 20 62 6f 6f 6b 6d 61 72 6b 65 64 20 6c 6f 63 61 74 69 6f 6e lfeed-search.bookmarked.location
11340 2e 22 0a 20 20 28 65 6c 66 65 65 64 29 0a 20 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 73 ."...(elfeed)...(elfeed-search-s
11360 65 74 2d 66 69 6c 74 65 72 20 28 62 6f 6f 6b 6d 61 72 6b 2d 70 72 6f 70 2d 67 65 74 20 72 65 63 et-filter.(bookmark-prop-get.rec
11380 6f 72 64 20 27 6c 6f 63 61 74 69 6f 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d ord.'location)))..(defun.elfeed-
113a0 73 65 61 72 63 68 2d 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 20 28 29 0a 20 search-bookmark-make-record.()..
113c0 20 22 52 65 74 75 72 6e 20 61 20 62 6f 6f 6b 6d 61 72 6b 20 72 65 63 6f 72 64 20 66 6f 72 20 74 ."Return.a.bookmark.record.for.t
113e0 68 65 20 63 75 72 72 65 6e 74 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 20 62 75 66 66 65 72 2e he.current.elfeed-search.buffer.
11400 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 69 6c 74 65 72 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 "...(let*.((filter.(elfeed-searc
11420 68 2d 70 61 72 73 65 2d 66 69 6c 74 65 72 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c h-parse-filter.elfeed-search-fil
11440 74 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 61 67 73 20 28 70 6c 69 73 74 2d 67 65 74 20 ter))..........(tags.(plist-get.
11460 66 69 6c 74 65 72 20 3a 6d 75 73 74 2d 68 61 76 65 29 29 29 0a 20 20 20 20 60 28 2c 28 66 6f 72 filter.:must-have))).....`(,(for
11480 6d 61 74 20 22 65 6c 66 65 65 64 20 25 73 22 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 mat."elfeed.%s".elfeed-search-fi
114a0 6c 74 65 72 29 0a 20 20 20 20 20 20 28 6c 6f 63 61 74 69 6f 6e 20 2e 20 2c 65 6c 66 65 65 64 2d lter).......(location...,elfeed-
114c0 73 65 61 72 63 68 2d 66 69 6c 74 65 72 29 0a 20 20 20 20 20 20 28 74 61 67 73 20 2c 40 28 6d 61 search-filter).......(tags.,@(ma
114e0 70 63 61 72 20 23 27 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 74 61 67 73 29 29 0a 20 20 20 20 20 20 pcar.#'symbol-name.tags)).......
11500 28 68 61 6e 64 6c 65 72 20 2e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 62 6f 6f 6b 6d 61 72 (handler...elfeed-search-bookmar
11520 6b 2d 68 61 6e 64 6c 65 72 29 29 29 29 0a 0a 3b 3b 20 44 65 73 6b 74 6f 70 20 53 61 76 65 0a 0a k-handler))))..;;.Desktop.Save..
11540 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 64 65 73 6b 74 6f 70 2d 73 61 76 (defun.elfeed-search-desktop-sav
11560 65 20 28 5f 64 65 73 6b 74 6f 70 2d 64 69 72 6e 61 6d 65 29 0a 20 20 22 53 61 76 65 20 74 68 65 e.(_desktop-dirname)..."Save.the
11580 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 66 65 65 64 2d 73 65 61 .state.of.the.current.elfeed-sea
115a0 72 63 68 20 62 75 66 66 65 72 20 73 6f 20 74 68 61 74 20 69 74 0a 20 20 6d 61 79 20 62 65 20 72 rch.buffer.so.that.it...may.be.r
115c0 65 73 74 6f 72 65 64 20 61 73 20 70 61 72 74 20 6f 66 20 61 20 73 61 76 65 64 20 64 65 73 6b 74 estored.as.part.of.a.saved.deskt
115e0 6f 70 2e 20 41 6c 73 6f 20 73 61 76 65 20 74 68 65 20 73 74 61 74 65 0a 20 20 6f 66 20 74 68 65 op..Also.save.the.state...of.the
11600 20 64 62 20 66 6f 72 20 77 68 65 6e 20 60 64 65 73 6b 74 6f 70 2d 61 75 74 6f 2d 73 61 76 65 2d .db.for.when.`desktop-auto-save-
11620 74 69 6d 65 6f 75 74 27 20 69 73 20 65 6e 61 62 6c 65 64 2e 22 0a 20 20 28 65 6c 66 65 65 64 2d timeout'.is.enabled."...(elfeed-
11640 64 62 2d 73 61 76 65 29 0a 20 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 29 db-save)...elfeed-search-filter)
11660 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 ..;;;###autoload.(defun.elfeed-s
11680 65 61 72 63 68 2d 64 65 73 6b 74 6f 70 2d 72 65 73 74 6f 72 65 20 28 5f 66 69 6c 65 2d 6e 61 6d earch-desktop-restore.(_file-nam
116a0 65 20 5f 62 75 66 66 65 72 2d 6e 61 6d 65 20 73 65 61 72 63 68 2d 66 69 6c 74 65 72 29 0a 20 20 e._buffer-name.search-filter)...
116c0 22 52 65 73 74 6f 72 65 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 61 6e 20 65 6c 66 65 65 64 2d "Restore.the.state.of.an.elfeed-
116e0 73 65 61 72 63 68 20 62 75 66 66 65 72 20 6f 6e 20 64 65 73 6b 74 6f 70 20 72 65 73 74 6f 72 65 search.buffer.on.desktop.restore
11700 2e 22 0a 20 20 28 65 6c 66 65 65 64 29 0a 20 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 73 ."...(elfeed)...(elfeed-search-s
11720 65 74 2d 66 69 6c 74 65 72 20 73 65 61 72 63 68 2d 66 69 6c 74 65 72 29 0a 20 20 28 63 75 72 72 et-filter.search-filter)...(curr
11740 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 61 64 ent-buffer))..;;;###autoload.(ad
11760 64 2d 74 6f 2d 6c 69 73 74 20 27 64 65 73 6b 74 6f 70 2d 62 75 66 66 65 72 2d 6d 6f 64 65 2d 68 d-to-list.'desktop-buffer-mode-h
11780 61 6e 64 6c 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 65 6c 66 65 65 64 2d 73 65 andlers..............'(elfeed-se
117a0 61 72 63 68 2d 6d 6f 64 65 20 2e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 64 65 73 6b 74 6f arch-mode...elfeed-search-deskto
117c0 70 2d 72 65 73 74 6f 72 65 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 65 6c 66 65 65 64 2d 73 65 p-restore))..(provide.'elfeed-se
117e0 61 72 63 68 29 0a 0a 3b 3b 3b 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2e 65 6c 20 65 6e 64 73 arch)..;;;.elfeed-search.el.ends
11800 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .here...........................
11820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
118a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
118c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
118e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
119a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
119c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
119e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11a00 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2d 64 62 2e 65 elfeed-20240331.1348/elfeed-db.e
11a20 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 00 00 00 l...............................
11a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11a60 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
11a80 30 30 36 31 34 31 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 33 37 30 00 20 30 00 00 00 0061412.00000000000.014370..0...
11aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11b00 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...................
11b20 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...................
11b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11c00 3b 3b 3b 20 65 6c 66 65 65 64 2d 64 62 2e 65 6c 20 2d 2d 2d 20 64 61 74 61 62 61 73 65 20 61 6e ;;;.elfeed-db.el.---.database.an
11c20 64 20 6d 6f 64 65 6c 20 66 6f 72 20 65 6c 66 65 65 64 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 d.model.for.elfeed.-*-.lexical-b
11c40 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 66 72 65 65 20 inding:.t;.-*-..;;.This.is.free.
11c60 61 6e 64 20 75 6e 65 6e 63 75 6d 62 65 72 65 64 20 73 6f 66 74 77 61 72 65 20 72 65 6c 65 61 73 and.unencumbered.software.releas
11c80 65 64 20 69 6e 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2e 0a 0a 3b 3b 3b 20 ed.into.the.public.domain...;;;.
11ca0 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 45 6c 66 65 65 64 20 69 73 20 61 77 61 72 65 20 Commentary:..;;.Elfeed.is.aware.
11cc0 6f 66 20 74 77 6f 20 74 79 70 65 20 6f 66 20 74 68 69 6e 67 73 3a 20 66 65 65 64 73 20 61 6e 64 of.two.type.of.things:.feeds.and
11ce0 20 65 6e 74 72 69 65 73 2e 20 41 6c 6c 20 64 61 74 65 73 0a 3b 3b 20 61 72 65 20 73 74 6f 72 65 .entries..All.dates.;;.are.store
11d00 64 20 61 73 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 65 70 6f 63 68 20 73 65 63 6f 6e 64 d.as.floating.point.epoch.second
11d20 73 2e 0a 0a 3b 3b 20 46 65 65 64 73 20 61 72 65 20 6b 65 79 65 64 20 62 79 20 74 68 65 69 72 20 s...;;.Feeds.are.keyed.by.their.
11d40 75 73 65 72 2d 70 72 6f 76 69 64 65 64 20 66 65 65 64 20 55 52 4c 2c 20 77 68 69 63 68 20 61 63 user-provided.feed.URL,.which.ac
11d60 74 73 20 61 73 20 74 68 65 0a 3b 3b 20 66 65 65 64 20 69 64 65 6e 74 69 74 79 20 72 65 67 61 72 ts.as.the.;;.feed.identity.regar
11d80 64 6c 65 73 73 20 6f 66 20 61 6e 79 20 6f 74 68 65 72 20 73 74 61 74 65 64 20 69 64 65 6e 74 69 dless.of.any.other.stated.identi
11da0 74 79 2e 20 46 65 65 64 73 20 68 61 76 65 20 61 0a 3b 3b 20 6c 69 73 74 20 6f 66 20 65 6e 74 72 ty..Feeds.have.a.;;.list.of.entr
11dc0 69 65 73 2e 0a 0a 3b 3b 20 45 6e 74 72 69 65 73 20 61 72 65 20 6b 65 79 65 64 20 69 6e 20 6f 72 ies...;;.Entries.are.keyed.in.or
11de0 64 65 72 20 6f 66 20 70 72 65 66 65 72 65 6e 63 65 20 62 79 20 69 64 20 28 41 74 6f 6d 29 2c 20 der.of.preference.by.id.(Atom),.
11e00 67 75 69 64 20 28 52 53 53 29 2c 0a 3b 3b 20 6f 72 20 6c 69 6e 6b 2e 20 54 6f 20 61 76 6f 69 64 guid.(RSS),.;;.or.link..To.avoid
11e20 20 63 69 72 63 75 6c 61 72 20 72 65 66 65 72 65 6e 63 65 73 2c 20 65 6e 74 72 69 65 73 20 72 65 .circular.references,.entries.re
11e40 66 65 72 20 74 6f 20 74 68 65 69 72 0a 3b 3b 20 70 61 72 65 6e 74 20 66 65 65 64 73 20 62 79 20 fer.to.their.;;.parent.feeds.by.
11e60 55 52 4c 2e 0a 0a 3b 3b 20 46 65 65 64 20 63 6f 6e 74 65 6e 74 20 69 73 20 73 74 6f 72 65 64 20 URL...;;.Feed.content.is.stored.
11e80 69 6e 20 61 20 63 6f 6e 74 65 6e 74 2d 61 64 64 72 65 73 73 61 62 6c 65 20 6c 6f 6f 73 65 2d 66 in.a.content-addressable.loose-f
11ea0 69 6c 65 0a 3b 3b 20 64 61 74 61 62 61 73 65 2c 20 76 65 72 79 20 73 69 6d 69 6c 61 72 20 74 6f ile.;;.database,.very.similar.to
11ec0 20 61 6e 20 75 6e 70 61 63 6b 65 64 20 47 69 74 20 6f 62 6a 65 63 74 20 64 61 74 61 62 61 73 65 .an.unpacked.Git.object.database
11ee0 2e 20 45 6e 74 72 69 65 73 0a 3b 3b 20 68 61 76 65 20 72 65 66 65 72 65 6e 63 65 73 20 74 6f 20 ..Entries.;;.have.references.to.
11f00 69 74 65 6d 73 20 69 6e 20 74 68 69 73 20 64 61 74 61 62 61 73 65 20 28 65 6c 66 65 65 64 2d 72 items.in.this.database.(elfeed-r
11f20 65 66 29 2c 20 6b 65 65 70 69 6e 67 20 74 68 65 0a 3b 3b 20 61 63 74 75 61 6c 20 65 6e 74 72 79 ef),.keeping.the.;;.actual.entry
11f40 20 73 74 72 75 63 74 20 6d 65 6d 6f 72 79 20 66 6f 6f 74 70 72 69 6e 74 20 73 6d 61 6c 6c 2e 20 .struct.memory.footprint.small..
11f60 4d 6f 73 74 20 69 6d 70 6f 72 74 61 6e 74 6c 79 2c 20 74 68 69 73 0a 3b 3b 20 6b 65 65 70 73 20 Most.importantly,.this.;;.keeps.
11f80 74 68 65 20 63 6f 72 65 20 69 6e 64 65 78 20 73 6d 61 6c 6c 20 73 6f 20 74 68 61 74 20 69 74 20 the.core.index.small.so.that.it.
11fa0 63 61 6e 20 71 75 69 63 6b 6c 79 20 62 65 20 77 72 69 74 74 65 6e 20 61 73 20 61 0a 3b 3b 20 77 can.quickly.be.written.as.a.;;.w
11fc0 68 6f 6c 65 20 74 6f 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 2e 20 54 68 65 20 77 69 72 65 hole.to.the.filesystem..The.wire
11fe0 20 66 6f 72 6d 61 74 20 69 73 20 6a 75 73 74 20 74 68 65 20 73 2d 65 78 70 72 65 73 73 69 6f 6e .format.is.just.the.s-expression
12000 0a 3b 3b 20 70 72 69 6e 74 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 .;;.print.form.of.the.top-level.
12020 68 61 73 68 20 74 61 62 6c 65 2e 0a 0a 3b 3b 20 54 68 65 20 64 61 74 61 62 61 73 65 20 63 61 6e hash.table...;;.The.database.can
12040 20 62 65 20 63 6f 6d 70 61 63 74 65 64 20 69 6e 74 6f 20 61 20 73 6d 61 6c 6c 20 6e 75 6d 62 65 .be.compacted.into.a.small.numbe
12060 72 20 6f 66 20 63 6f 6d 70 72 65 73 73 65 64 0a 3b 3b 20 66 69 6c 65 73 20 77 69 74 68 20 74 68 r.of.compressed.;;.files.with.th
12080 65 20 69 6e 74 65 72 61 63 74 69 76 65 20 66 75 6e 63 74 69 6f 6e 20 60 65 6c 66 65 65 64 2d 64 e.interactive.function.`elfeed-d
120a0 62 2d 63 6f 6d 70 61 63 74 27 2e 20 54 68 69 73 20 63 6f 75 6c 64 0a 3b 3b 20 62 65 20 75 73 65 b-compact'..This.could.;;.be.use
120c0 64 20 61 73 20 61 20 6b 69 6c 6c 2d 65 6d 61 63 73 20 68 6f 6f 6b 2e 0a 0a 3b 3b 20 41 6e 20 41 d.as.a.kill-emacs.hook...;;.An.A
120e0 56 4c 20 74 72 65 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6c 6c 20 64 61 74 61 62 61 73 65 20 VL.tree.containing.all.database.
12100 65 6e 74 72 69 65 73 20 6f 72 64 65 72 65 64 20 62 79 20 64 61 74 65 20 69 73 0a 3b 3b 20 6d 61 entries.ordered.by.date.is.;;.ma
12120 69 6e 74 61 69 6e 65 64 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 64 61 74 61 62 61 73 65 intained.as.part.of.the.database
12140 2e 20 57 65 20 61 6c 6d 6f 73 74 20 61 6c 77 61 79 73 20 77 61 6e 74 20 74 6f 20 6c 6f 6f 6b 0a ..We.almost.always.want.to.look.
12160 3b 3b 20 61 74 20 65 6e 74 72 69 65 73 20 6f 72 64 65 72 65 64 20 62 79 20 64 61 74 65 20 61 6e ;;.at.entries.ordered.by.date.an
12180 64 20 74 68 69 73 20 73 74 65 70 20 61 63 63 6f 6d 70 6c 69 73 68 65 64 20 74 68 61 74 20 76 65 d.this.step.accomplished.that.ve
121a0 72 79 0a 3b 3b 20 65 66 66 69 63 69 65 6e 74 6c 79 20 77 69 74 68 20 74 68 65 20 41 56 4c 20 74 ry.;;.efficiently.with.the.AVL.t
121c0 72 65 65 2e 20 54 68 69 73 20 69 73 20 74 68 65 20 72 65 61 73 6f 6e 69 6e 67 20 62 65 68 69 6e ree..This.is.the.reasoning.behin
121e0 64 20 74 68 65 0a 3b 3b 20 60 77 69 74 68 2d 65 6c 66 65 65 64 2d 64 62 2d 76 69 73 69 74 27 20 d.the.;;.`with-elfeed-db-visit'.
12200 69 6e 74 65 72 66 61 63 65 2e 0a 0a 3b 3b 20 55 6e 66 6f 72 74 75 6e 61 74 65 6c 79 20 74 68 65 interface...;;.Unfortunately.the
12220 72 65 27 73 20 61 20 6e 61 73 74 79 20 62 75 67 20 28 62 75 67 23 31 35 31 39 30 29 20 69 6e 20 re's.a.nasty.bug.(bug#15190).in.
12240 74 68 65 20 72 65 61 64 65 72 20 74 68 61 74 0a 3b 3b 20 6d 61 6b 65 73 20 68 61 73 68 20 74 61 the.reader.that.;;.makes.hash.ta
12260 62 6c 65 73 20 61 6e 64 20 60 70 72 69 6e 74 2d 63 69 72 63 6c 65 27 20 69 6e 63 6f 6d 70 61 74 bles.and.`print-circle'.incompat
12280 69 62 6c 65 2e 20 49 74 27 73 20 62 65 65 6e 20 66 69 78 65 64 0a 3b 3b 20 69 6e 20 74 72 75 6e ible..It's.been.fixed.;;.in.trun
122a0 6b 2c 20 62 75 74 20 6d 61 6e 79 20 75 73 65 72 73 20 77 69 6c 6c 20 6c 69 6b 65 6c 79 20 62 65 k,.but.many.users.will.likely.be
122c0 20 73 74 75 63 6b 20 77 69 74 68 20 74 68 69 73 20 62 75 67 20 66 6f 72 20 74 68 65 0a 3b 3b 20 .stuck.with.this.bug.for.the.;;.
122e0 6e 65 78 74 20 66 65 77 20 79 65 61 72 73 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 65 20 64 next.few.years..This.means.the.d
12300 61 74 61 62 61 73 65 20 66 6f 72 6d 61 74 20 63 61 6e 27 74 20 65 78 70 6c 6f 69 74 0a 3b 3b 20 atabase.format.can't.exploit.;;.
12320 63 69 72 63 75 6c 61 72 20 72 65 66 65 72 65 6e 63 65 73 2e 0a 0a 3b 3b 20 45 6e 74 72 79 20 61 circular.references...;;.Entry.a
12340 6e 64 20 66 65 65 64 20 6f 62 6a 65 63 74 73 20 63 61 6e 20 68 61 76 65 20 61 72 62 69 74 72 61 nd.feed.objects.can.have.arbitra
12360 72 79 20 6d 65 74 61 64 61 74 61 20 61 74 74 61 63 68 65 64 2c 0a 3b 3b 20 61 75 74 6f 6d 61 74 ry.metadata.attached,.;;.automat
12380 69 63 61 6c 6c 79 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 20 54 ically.stored.in.the.database..T
123a0 68 65 20 73 65 74 66 2d 61 62 6c 65 20 60 65 6c 66 65 65 64 2d 6d 65 74 61 27 0a 3b 3b 20 66 75 he.setf-able.`elfeed-meta'.;;.fu
123c0 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 73 65 2e 0a nction.is.used.to.access.these..
123e0 0a 3b 3b 3b 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 .;;;.Code:..(require.'cl-lib).(r
12400 65 71 75 69 72 65 20 27 61 76 6c 2d 74 72 65 65 29 0a 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 equire.'avl-tree).(require.'elfe
12420 65 64 2d 6c 69 62 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 64 62 2d 64 69 ed-lib)..(defcustom.elfeed-db-di
12440 72 65 63 74 6f 72 79 20 22 7e 2f 2e 65 6c 66 65 65 64 22 0a 20 20 22 44 69 72 65 63 74 6f 72 79 rectory."~/.elfeed"..."Directory
12460 20 77 68 65 72 65 20 65 6c 66 65 65 64 20 77 69 6c 6c 20 73 74 6f 72 65 20 69 74 73 20 64 61 74 .where.elfeed.will.store.its.dat
12480 61 62 61 73 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 abase."...:group.'elfeed...:type
124a0 20 27 64 69 72 65 63 74 6f 72 79 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 64 62 20 .'directory)..(defvar.elfeed-db.
124c0 6e 69 6c 0a 20 20 22 54 68 65 20 63 6f 72 65 20 64 61 74 61 62 61 73 65 20 66 6f 72 20 65 6c 66 nil..."The.core.database.for.elf
124e0 65 65 64 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 64 62 2d 66 65 65 64 73 20 eed.")..(defvar.elfeed-db-feeds.
12500 6e 69 6c 0a 20 20 22 46 65 65 64 73 20 68 61 73 68 20 74 61 62 6c 65 2c 20 70 61 72 74 20 6f 66 nil..."Feeds.hash.table,.part.of
12520 20 60 65 6c 66 65 65 64 2d 64 62 27 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d .`elfeed-db'.")..(defvar.elfeed-
12540 64 62 2d 65 6e 74 72 69 65 73 20 6e 69 6c 0a 20 20 22 45 6e 74 72 69 65 73 20 68 61 73 68 20 74 db-entries.nil..."Entries.hash.t
12560 61 62 6c 65 2c 20 70 61 72 74 20 6f 66 20 60 65 6c 66 65 65 64 2d 64 62 27 2e 22 29 0a 0a 28 64 able,.part.of.`elfeed-db'.")..(d
12580 65 66 76 61 72 20 65 6c 66 65 65 64 2d 64 62 2d 69 6e 64 65 78 20 6e 69 6c 0a 20 20 22 43 6f 6c efvar.elfeed-db-index.nil..."Col
125a0 6c 65 63 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 65 6e 74 72 69 65 73 20 73 6f 72 74 65 64 20 62 79 lection.of.all.entries.sorted.by
125c0 20 64 61 74 65 2c 20 70 61 72 74 20 6f 66 20 60 65 6c 66 65 65 64 2d 64 62 27 2e 22 29 0a 0a 28 .date,.part.of.`elfeed-db'.")..(
125e0 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 64 62 2d 76 65 72 73 69 6f 6e 0a 20 20 3b 3b 20 49 66 defvar.elfeed-db-version...;;.If
12600 20 72 65 63 6f 72 64 73 20 61 72 65 20 61 76 61 69 61 62 6c 65 20 28 45 6d 61 63 73 20 32 36 29 .records.are.avaiable.(Emacs.26)
12620 2c 20 75 73 65 20 74 68 65 20 6e 65 77 65 72 20 64 61 74 61 62 61 73 65 20 66 6f 72 6d 61 74 0a ,.use.the.newer.database.format.
12640 20 20 28 69 66 20 28 66 75 6e 63 74 69 6f 6e 70 20 27 72 65 63 6f 72 64 29 0a 20 20 20 20 20 20 ..(if.(functionp.'record).......
12660 34 0a 20 20 20 20 22 30 2e 30 2e 33 22 29 0a 20 20 22 54 68 65 20 64 61 74 61 62 61 73 65 20 76 4....."0.0.3")..."The.database.v
12680 65 72 73 69 6f 6e 20 74 68 69 73 20 76 65 72 73 69 6f 6e 20 6f 66 20 45 6c 66 65 65 64 20 65 78 ersion.this.version.of.Elfeed.ex
126a0 70 65 63 74 73 20 74 6f 20 75 73 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d pects.to.use.")..(defvar.elfeed-
126c0 6e 65 77 2d 65 6e 74 72 79 2d 68 6f 6f 6b 20 28 29 0a 20 20 22 46 75 6e 63 74 69 6f 6e 73 20 69 new-entry-hook.()..."Functions.i
126e0 6e 20 74 68 69 73 20 6c 69 73 74 20 61 72 65 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 n.this.list.are.called.with.the.
12700 6e 65 77 20 65 6e 74 72 79 20 61 73 20 69 74 73 20 61 72 67 75 6d 65 6e 74 2e 0a 54 68 69 73 20 new.entry.as.its.argument..This.
12720 69 73 20 61 20 63 68 61 6e 63 65 20 74 6f 20 61 64 64 20 63 75 73 74 6f 6d 20 74 61 67 73 20 74 is.a.chance.to.add.custom.tags.t
12740 6f 20 6e 65 77 20 65 6e 74 72 69 65 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 o.new.entries.")..(defvar.elfeed
12760 2d 64 62 2d 75 70 64 61 74 65 2d 68 6f 6f 6b 20 28 29 0a 20 20 22 46 75 6e 63 74 69 6f 6e 73 20 -db-update-hook.()..."Functions.
12780 69 6e 20 74 68 69 73 20 6c 69 73 74 20 61 72 65 20 63 61 6c 6c 65 64 20 77 69 74 68 20 6e 6f 20 in.this.list.are.called.with.no.
127a0 61 72 67 75 6d 65 6e 74 73 20 61 6e 79 20 74 69 6d 65 0a 74 68 65 20 3a 6c 61 73 74 2d 75 70 64 arguments.any.time.the.:last-upd
127c0 61 74 65 20 74 69 6d 65 20 69 73 20 75 70 64 61 74 65 64 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 ate.time.is.updated.")..(defvar.
127e0 65 6c 66 65 65 64 2d 64 62 2d 75 6e 6c 6f 61 64 2d 68 6f 6f 6b 20 28 29 0a 20 20 22 48 6f 6f 6b elfeed-db-unload-hook.()..."Hook
12800 20 74 6f 20 72 75 6e 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74 65 72 20 60 65 6c 66 65 65 .to.run.immediately.after.`elfee
12820 64 2d 64 62 2d 75 6e 6c 6f 61 64 27 2e 22 29 0a 0a 3b 3b 20 44 61 74 61 20 6d 6f 64 65 6c 3a 0a d-db-unload'.")..;;.Data.model:.
12840 0a 28 63 6c 2d 64 65 66 73 74 72 75 63 74 20 28 65 6c 66 65 65 64 2d 66 65 65 64 20 28 3a 63 6f .(cl-defstruct.(elfeed-feed.(:co
12860 6e 73 74 72 75 63 74 6f 72 20 65 6c 66 65 65 64 2d 66 65 65 64 2d 2d 63 72 65 61 74 65 29 29 0a nstructor.elfeed-feed--create)).
12880 20 20 22 41 20 77 65 62 20 66 65 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 65 6c 66 65 65 64 2d 65 .."A.web.feed,.contains.elfeed-e
128a0 6e 74 72 79 20 73 74 72 75 63 74 73 2e 22 0a 20 20 69 64 20 75 72 6c 20 74 69 74 6c 65 20 61 75 ntry.structs."...id.url.title.au
128c0 74 68 6f 72 20 6d 65 74 61 29 0a 0a 28 63 6c 2d 64 65 66 73 74 72 75 63 74 20 28 65 6c 66 65 65 thor.meta)..(cl-defstruct.(elfee
128e0 64 2d 65 6e 74 72 79 20 28 3a 63 6f 6e 73 74 72 75 63 74 6f 72 20 65 6c 66 65 65 64 2d 65 6e 74 d-entry.(:constructor.elfeed-ent
12900 72 79 2d 2d 63 72 65 61 74 65 29 29 0a 20 20 22 41 20 73 69 6e 67 6c 65 20 65 6e 74 72 79 20 66 ry--create))..."A.single.entry.f
12920 72 6f 6d 20 61 20 66 65 65 64 2c 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 74 6f 77 61 72 64 73 20 41 rom.a.feed,.normalized.towards.A
12940 74 6f 6d 2e 22 0a 20 20 69 64 20 74 69 74 6c 65 20 6c 69 6e 6b 20 64 61 74 65 20 63 6f 6e 74 65 tom."...id.title.link.date.conte
12960 6e 74 20 63 6f 6e 74 65 6e 74 2d 74 79 70 65 20 65 6e 63 6c 6f 73 75 72 65 73 20 74 61 67 73 20 nt.content-type.enclosures.tags.
12980 66 65 65 64 2d 69 64 20 6d 65 74 61 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 65 6e 74 feed-id.meta)..(defun.elfeed-ent
129a0 72 79 2d 6d 65 72 67 65 20 28 61 20 62 29 0a 20 20 22 4d 65 72 67 65 20 42 20 69 6e 74 6f 20 41 ry-merge.(a.b)..."Merge.B.into.A
129c0 2c 20 70 72 65 73 65 72 76 69 6e 67 20 41 27 73 20 74 61 67 73 2e 20 52 65 74 75 72 6e 20 74 72 ,.preserving.A's.tags..Return.tr
129e0 75 65 20 69 66 20 61 6e 20 61 63 74 75 61 6c 0a 75 70 64 61 74 65 20 6f 63 63 75 72 72 65 64 2c ue.if.an.actual.update.occurred,
12a00 20 6e 6f 74 20 63 6f 75 6e 74 69 6e 67 20 63 6f 6e 74 65 6e 74 2e 22 0a 20 20 28 73 65 74 66 20 .not.counting.content."...(setf.
12a20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 61 67 73 20 62 29 20 28 65 6c 66 65 65 64 2d 65 6e (elfeed-entry-tags.b).(elfeed-en
12a40 74 72 79 2d 74 61 67 73 20 61 29 0a 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 try-tags.a).........(elfeed-entr
12a60 79 2d 63 6f 6e 74 65 6e 74 20 61 29 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 63 6f 6e 74 65 y-content.a).(elfeed-entry-conte
12a80 6e 74 20 62 29 29 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 6b 65 79 20 76 61 6c 75 65 nt.b))...(cl-loop.for.(key.value
12aa0 29 20 6f 6e 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 6d 65 74 61 20 62 29 20 62 79 20 23 27 ).on.(elfeed-entry-meta.b).by.#'
12ac0 63 64 64 72 0a 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 73 65 74 66 20 28 65 6c 66 65 65 64 cddr............do.(setf.(elfeed
12ae0 2d 65 6e 74 72 79 2d 6d 65 74 61 20 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -entry-meta.a)..................
12b00 20 20 20 28 70 6c 69 73 74 2d 70 75 74 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 6d 65 74 61 ...(plist-put.(elfeed-entry-meta
12b20 20 61 29 20 6b 65 79 20 76 61 6c 75 65 29 29 29 0a 20 20 28 6e 6f 74 0a 20 20 20 28 7a 65 72 6f .a).key.value)))...(not....(zero
12b40 70 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 69 20 66 72 6f 6d 20 31 20 62 65 6c 6f p.....(cl-loop.for.i.from.1.belo
12b60 77 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 66 w.(1-.(length.a))..............f
12b80 6f 72 20 70 61 72 74 2d 61 20 3d 20 28 61 72 65 66 20 61 20 69 29 0a 20 20 20 20 20 20 20 20 20 or.part-a.=.(aref.a.i)..........
12ba0 20 20 20 20 66 6f 72 20 70 61 72 74 2d 62 20 3d 20 28 61 72 65 66 20 62 20 69 29 0a 20 20 20 20 ....for.part-b.=.(aref.b.i).....
12bc0 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 28 6e 6f 74 20 28 65 71 75 61 6c 20 70 61 72 74 2d .........count.(not.(equal.part-
12be0 61 20 70 61 72 74 2d 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 73 65 74 66 a.part-b))..............do.(setf
12c00 20 28 61 72 65 66 20 61 20 69 29 20 70 61 72 74 2d 62 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 .(aref.a.i).part-b)))))..(defun.
12c20 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 66 65 65 64 20 28 69 64 29 0a 20 20 22 47 65 74 2f 63 elfeed-db-get-feed.(id)..."Get/c
12c40 72 65 61 74 65 20 74 68 65 20 66 65 65 64 20 66 6f 72 20 49 44 2e 22 0a 20 20 28 65 6c 66 65 65 reate.the.feed.for.ID."...(elfee
12c60 64 2d 64 62 2d 65 6e 73 75 72 65 29 0a 20 20 28 6c 65 74 20 28 28 66 65 65 64 20 28 67 65 74 68 d-db-ensure)...(let.((feed.(geth
12c80 61 73 68 20 69 64 20 65 6c 66 65 65 64 2d 64 62 2d 66 65 65 64 73 29 29 29 0a 20 20 20 20 28 6f ash.id.elfeed-db-feeds))).....(o
12ca0 72 20 66 65 65 64 0a 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 67 65 74 68 61 73 68 20 69 64 r.feed.........(setf.(gethash.id
12cc0 20 65 6c 66 65 65 64 2d 64 62 2d 66 65 65 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .elfeed-db-feeds)...............
12ce0 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 2d 63 72 65 61 74 65 20 3a 69 64 20 69 64 29 29 29 29 29 (elfeed-feed--create.:id.id)))))
12d00 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 65 6e 74 72 79 20 28 69 64 ..(defun.elfeed-db-get-entry.(id
12d20 29 0a 20 20 22 47 65 74 20 74 68 65 20 65 6e 74 72 79 20 66 6f 72 20 49 44 2e 22 0a 20 20 28 65 )..."Get.the.entry.for.ID."...(e
12d40 6c 66 65 65 64 2d 64 62 2d 65 6e 73 75 72 65 29 0a 20 20 28 67 65 74 68 61 73 68 20 69 64 20 65 lfeed-db-ensure)...(gethash.id.e
12d60 6c 66 65 65 64 2d 64 62 2d 65 6e 74 72 69 65 73 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 lfeed-db-entries))..(defun.elfee
12d80 64 2d 64 62 2d 63 6f 6d 70 61 72 65 20 28 61 20 62 29 0a 20 20 22 52 65 74 75 72 6e 20 74 72 75 d-db-compare.(a.b)..."Return.tru
12da0 65 20 69 66 20 65 6e 74 72 79 20 41 20 69 73 20 6e 65 77 65 72 20 74 68 61 6e 20 65 6e 74 72 79 e.if.entry.A.is.newer.than.entry
12dc0 20 42 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 65 6e 74 72 79 2d 61 20 28 65 6c 66 65 65 64 2d 64 .B."...(let*.((entry-a.(elfeed-d
12de0 62 2d 67 65 74 2d 65 6e 74 72 79 20 61 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 6e 74 72 79 2d b-get-entry.a))..........(entry-
12e00 62 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 65 6e 74 72 79 20 62 29 29 0a 20 20 20 20 20 b.(elfeed-db-get-entry.b))......
12e20 20 20 20 20 28 64 61 74 65 2d 61 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 64 61 74 65 20 65 ....(date-a.(elfeed-entry-date.e
12e40 6e 74 72 79 2d 61 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 61 74 65 2d 62 20 28 65 6c 66 65 65 ntry-a))..........(date-b.(elfee
12e60 64 2d 65 6e 74 72 79 2d 64 61 74 65 20 65 6e 74 72 79 2d 62 29 29 29 0a 20 20 20 20 28 69 66 20 d-entry-date.entry-b))).....(if.
12e80 28 3d 20 64 61 74 65 2d 61 20 64 61 74 65 2d 62 29 0a 20 20 20 20 20 20 20 20 28 73 74 72 69 6e (=.date-a.date-b).........(strin
12ea0 67 3c 20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 20 62 29 20 28 70 72 69 6e 31 2d 74 6f g<.(prin1-to-string.b).(prin1-to
12ec0 2d 73 74 72 69 6e 67 20 61 29 29 0a 20 20 20 20 20 20 28 3e 20 64 61 74 65 2d 61 20 64 61 74 65 -string.a)).......(>.date-a.date
12ee0 2d 62 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 64 62 2d 73 65 74 2d 75 70 64 -b))))..(defun.elfeed-db-set-upd
12f00 61 74 65 2d 74 69 6d 65 20 28 29 0a 20 20 22 55 70 64 61 74 65 20 74 68 65 20 64 61 74 61 62 61 ate-time.()..."Update.the.databa
12f20 73 65 20 6c 61 73 74 2d 75 70 64 61 74 65 20 74 69 6d 65 2e 22 0a 20 20 28 73 65 74 66 20 65 6c se.last-update.time."...(setf.el
12f40 66 65 65 64 2d 64 62 20 28 70 6c 69 73 74 2d 70 75 74 20 65 6c 66 65 65 64 2d 64 62 20 3a 6c 61 feed-db.(plist-put.elfeed-db.:la
12f60 73 74 2d 75 70 64 61 74 65 20 28 66 6c 6f 61 74 2d 74 69 6d 65 29 29 29 0a 20 20 28 72 75 6e 2d st-update.(float-time)))...(run-
12f80 68 6f 6f 6b 73 20 27 65 6c 66 65 65 64 2d 64 62 2d 75 70 64 61 74 65 2d 68 6f 6f 6b 29 29 0a 0a hooks.'elfeed-db-update-hook))..
12fa0 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 64 62 2d 61 64 64 20 28 65 6e 74 72 69 65 73 29 0a 20 (defun.elfeed-db-add.(entries)..
12fc0 20 22 41 64 64 20 45 4e 54 52 49 45 53 20 74 6f 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 22 0a ."Add.ENTRIES.to.the.database.".
12fe0 20 20 28 65 6c 66 65 65 64 2d 64 62 2d 65 6e 73 75 72 65 29 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 ..(elfeed-db-ensure)...(cl-loop.
13000 66 6f 72 20 65 6e 74 72 79 20 69 6e 20 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 for.entry.in.entries............
13020 66 6f 72 20 69 64 20 3d 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 69 64 20 65 6e 74 72 79 29 for.id.=.(elfeed-entry-id.entry)
13040 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 6f 72 69 67 69 6e 61 6c 20 3d 20 28 67 65 74 68 ............for.original.=.(geth
13060 61 73 68 20 69 64 20 65 6c 66 65 65 64 2d 64 62 2d 65 6e 74 72 69 65 73 29 0a 20 20 20 20 20 20 ash.id.elfeed-db-entries).......
13080 20 20 20 20 20 66 6f 72 20 6e 65 77 2d 64 61 74 65 20 3d 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 .....for.new-date.=.(elfeed-entr
130a0 79 2d 64 61 74 65 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 6f 72 69 y-date.entry)............for.ori
130c0 67 69 6e 61 6c 2d 64 61 74 65 20 3d 20 28 61 6e 64 20 6f 72 69 67 69 6e 61 6c 20 28 65 6c 66 65 ginal-date.=.(and.original.(elfe
130e0 65 64 2d 65 6e 74 72 79 2d 64 61 74 65 20 6f 72 69 67 69 6e 61 6c 29 29 0a 20 20 20 20 20 20 20 ed-entry-date.original))........
13100 20 20 20 20 64 6f 20 28 65 6c 66 65 65 64 2d 64 65 72 65 66 2d 65 6e 74 72 79 20 65 6e 74 72 79 ....do.(elfeed-deref-entry.entry
13120 29 0a 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 6f 72 69 67 69 6e 61 6c 20 63 6f 75 6e 74 )............when.original.count
13140 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3d 20 6e 65 77 2d 64 61 74 65 20 6f 72 69 67 ............(if.(=.new-date.orig
13160 69 6e 61 6c 2d 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 inal-date)................(elfee
13180 64 2d 65 6e 74 72 79 2d 6d 65 72 67 65 20 6f 72 69 67 69 6e 61 6c 20 65 6e 74 72 79 29 0a 20 20 d-entry-merge.original.entry)...
131a0 20 20 20 20 20 20 20 20 20 20 20 28 61 76 6c 2d 74 72 65 65 2d 64 65 6c 65 74 65 20 65 6c 66 65 ...........(avl-tree-delete.elfe
131c0 65 64 2d 64 62 2d 69 6e 64 65 78 20 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 ed-db-index.id)..............(pr
131e0 6f 67 31 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 6d 65 72 67 65 20 6f 72 69 67 69 6e 61 6c og1.(elfeed-entry-merge.original
13200 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 76 6c 2d 74 72 65 65 .entry)................(avl-tree
13220 2d 65 6e 74 65 72 20 65 6c 66 65 65 64 2d 64 62 2d 69 6e 64 65 78 20 69 64 29 29 29 0a 20 20 20 -enter.elfeed-db-index.id)))....
13240 20 20 20 20 20 20 20 20 69 6e 74 6f 20 63 68 61 6e 67 65 2d 63 6f 75 6e 74 0a 20 20 20 20 20 20 ........into.change-count.......
13260 20 20 20 20 20 65 6c 73 65 20 63 6f 75 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 .....else.count............(setf
13280 20 28 67 65 74 68 61 73 68 20 69 64 20 65 6c 66 65 65 64 2d 64 62 2d 65 6e 74 72 69 65 73 29 20 .(gethash.id.elfeed-db-entries).
132a0 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 6f 20 63 68 61 6e 67 65 2d 63 6f entry)............into.change-co
132c0 75 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 unt............and.do...........
132e0 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 76 6c 2d 74 72 65 65 2d 65 .(progn..............(avl-tree-e
13300 6e 74 65 72 20 65 6c 66 65 65 64 2d 64 62 2d 69 6e 64 65 78 20 69 64 29 0a 20 20 20 20 20 20 20 nter.elfeed-db-index.id)........
13320 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 68 6f 6f 6b 20 69 6e 20 65 6c 66 65 65 ......(cl-loop.for.hook.in.elfee
13340 64 2d 6e 65 77 2d 65 6e 74 72 79 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d-new-entry-hook................
13360 20 20 20 20 20 20 20 64 6f 20 28 66 75 6e 63 61 6c 6c 20 68 6f 6f 6b 20 65 6e 74 72 79 29 29 29 .......do.(funcall.hook.entry)))
13380 0a 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 28 ............finally............(
133a0 75 6e 6c 65 73 73 20 28 7a 65 72 6f 70 20 63 68 61 6e 67 65 2d 63 6f 75 6e 74 29 0a 20 20 20 20 unless.(zerop.change-count).....
133c0 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 64 62 2d 73 65 74 2d 75 70 64 61 74 65 2d 74 .........(elfeed-db-set-update-t
133e0 69 6d 65 29 29 29 0a 20 20 3a 73 75 63 63 65 73 73 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 ime)))...:success)..(defun.elfee
13400 64 2d 65 6e 74 72 79 2d 66 65 65 64 20 28 65 6e 74 72 79 29 0a 20 20 22 47 65 74 20 74 68 65 20 d-entry-feed.(entry)..."Get.the.
13420 66 65 65 64 20 73 74 72 75 63 74 20 66 6f 72 20 45 4e 54 52 59 2e 22 0a 20 20 28 65 6c 66 65 65 feed.struct.for.ENTRY."...(elfee
13440 64 2d 64 62 2d 67 65 74 2d 66 65 65 64 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 66 65 65 64 d-db-get-feed.(elfeed-entry-feed
13460 2d 69 64 20 65 6e 74 72 79 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 6e 6f 72 6d -id.entry)))..(defun.elfeed-norm
13480 61 6c 69 7a 65 2d 74 61 67 73 20 28 74 61 67 73 20 26 72 65 73 74 20 6d 6f 72 65 2d 74 61 67 73 alize-tags.(tags.&rest.more-tags
134a0 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 74 61 67 20 6c )..."Return.the.normalized.tag.l
134c0 69 73 74 20 66 6f 72 20 54 41 47 53 2e 22 0a 20 20 28 6c 65 74 20 28 28 61 6c 6c 20 28 61 70 70 ist.for.TAGS."...(let.((all.(app
134e0 6c 79 20 23 27 61 70 70 65 6e 64 20 74 61 67 73 20 28 6e 63 6f 6e 63 20 6d 6f 72 65 2d 74 61 67 ly.#'append.tags.(nconc.more-tag
13500 73 20 28 6c 69 73 74 20 28 29 29 29 29 29 29 0a 20 20 20 20 28 63 6c 2d 64 65 6c 65 74 65 2d 64 s.(list.()))))).....(cl-delete-d
13520 75 70 6c 69 63 61 74 65 73 20 28 63 6c 2d 73 6f 72 74 20 61 6c 6c 20 23 27 73 74 72 69 6e 67 3c uplicates.(cl-sort.all.#'string<
13540 20 3a 6b 65 79 20 23 27 73 79 6d 62 6f 6c 2d 6e 61 6d 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 .:key.#'symbol-name))))..(defun.
13560 65 6c 66 65 65 64 2d 74 61 67 2d 31 20 28 65 6e 74 72 79 20 26 72 65 73 74 20 74 61 67 73 29 0a elfeed-tag-1.(entry.&rest.tags).
13580 20 20 22 41 64 64 20 54 41 47 53 20 74 6f 20 45 4e 54 52 59 2e 22 0a 20 20 28 6c 65 74 20 28 28 .."Add.TAGS.to.ENTRY."...(let.((
135a0 63 75 72 72 65 6e 74 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 61 67 73 20 65 6e 74 72 79 current.(elfeed-entry-tags.entry
135c0 29 29 29 0a 20 20 20 20 28 73 65 74 66 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 61 67 73 ))).....(setf.(elfeed-entry-tags
135e0 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 6e 6f 72 6d 61 6c .entry)...........(elfeed-normal
13600 69 7a 65 2d 74 61 67 73 20 28 61 70 70 65 6e 64 20 74 61 67 73 20 63 75 72 72 65 6e 74 29 29 29 ize-tags.(append.tags.current)))
13620 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 75 6e 74 61 67 2d 31 20 28 65 6e 74 72 79 ))..(defun.elfeed-untag-1.(entry
13640 20 26 72 65 73 74 20 74 61 67 73 29 0a 20 20 22 52 65 6d 6f 76 65 20 54 41 47 53 20 66 72 6f 6d .&rest.tags)..."Remove.TAGS.from
13660 20 45 4e 54 52 59 2e 22 0a 20 20 28 73 65 74 66 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 .ENTRY."...(setf.(elfeed-entry-t
13680 61 67 73 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 ags.entry).........(cl-loop.for.
136a0 74 61 67 20 69 6e 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 61 67 73 20 65 6e 74 72 79 29 tag.in.(elfeed-entry-tags.entry)
136c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 6c 65 73 73 20 28 6d 65 6d 71 20 74 ..................unless.(memq.t
136e0 61 67 20 74 61 67 73 29 20 63 6f 6c 6c 65 63 74 20 74 61 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 ag.tags).collect.tag)))..(defun.
13700 65 6c 66 65 65 64 2d 74 61 67 20 28 65 6e 74 72 79 2d 6f 72 2d 65 6e 74 72 79 2d 6c 69 73 74 20 elfeed-tag.(entry-or-entry-list.
13720 26 72 65 73 74 20 74 61 67 73 29 0a 20 20 22 41 64 64 20 54 41 47 53 20 74 6f 20 45 4e 54 52 59 &rest.tags)..."Add.TAGS.to.ENTRY
13740 2d 4f 52 2d 45 4e 54 52 59 2d 4c 49 53 54 20 61 6e 64 20 72 75 6e 20 60 65 6c 66 65 65 64 2d 74 -OR-ENTRY-LIST.and.run.`elfeed-t
13760 61 67 2d 68 6f 6f 6b 73 27 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 65 6e 74 72 69 65 73 20 28 69 ag-hooks'."...(let*.((entries.(i
13780 66 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 70 20 65 6e 74 72 79 2d 6f 72 2d 65 6e 74 72 79 f.(elfeed-entry-p.entry-or-entry
137a0 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 28 6c 69 -list).......................(li
137c0 73 74 20 65 6e 74 72 79 2d 6f 72 2d 65 6e 74 72 79 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 st.entry-or-entry-list).........
137e0 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 74 72 79 2d 6f 72 2d 65 6e 74 72 79 2d 6c 69 73 74 29 ............entry-or-entry-list)
13800 29 29 0a 20 20 20 20 28 72 75 6e 2d 68 6f 6f 6b 2d 77 69 74 68 2d 61 72 67 73 20 27 65 6c 66 65 )).....(run-hook-with-args.'elfe
13820 65 64 2d 74 61 67 2d 68 6f 6f 6b 73 20 65 6e 74 72 69 65 73 20 74 61 67 73 29 0a 20 20 20 20 28 ed-tag-hooks.entries.tags).....(
13840 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 65 6e 74 72 79 20 69 6e 20 65 6e 74 72 69 65 73 20 64 6f 20 cl-loop.for.entry.in.entries.do.
13860 28 61 70 70 6c 79 20 23 27 65 6c 66 65 65 64 2d 74 61 67 2d 31 20 65 6e 74 72 79 20 74 61 67 73 (apply.#'elfeed-tag-1.entry.tags
13880 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 75 6e 74 61 67 20 28 65 6e 74 72 79 ))))..(defun.elfeed-untag.(entry
138a0 2d 6f 72 2d 65 6e 74 72 79 2d 6c 69 73 74 20 26 72 65 73 74 20 74 61 67 73 29 0a 20 20 22 52 65 -or-entry-list.&rest.tags)..."Re
138c0 6d 6f 76 65 20 54 41 47 53 20 66 72 6f 6d 20 45 4e 54 52 59 2d 4f 52 2d 45 4e 54 52 59 2d 4c 49 move.TAGS.from.ENTRY-OR-ENTRY-LI
138e0 53 54 20 61 6e 64 20 72 75 6e 20 60 65 6c 66 65 65 64 2d 75 6e 74 61 67 2d 68 6f 6f 6b 73 27 2e ST.and.run.`elfeed-untag-hooks'.
13900 22 0a 20 20 28 6c 65 74 2a 20 28 28 65 6e 74 72 69 65 73 20 28 69 66 20 28 65 6c 66 65 65 64 2d "...(let*.((entries.(if.(elfeed-
13920 65 6e 74 72 79 2d 70 20 65 6e 74 72 79 2d 6f 72 2d 65 6e 74 72 79 2d 6c 69 73 74 29 0a 20 20 20 entry-p.entry-or-entry-list)....
13940 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 65 6e 74 72 79 2d 6f ...................(list.entry-o
13960 72 2d 65 6e 74 72 79 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 r-entry-list)...................
13980 20 20 65 6e 74 72 79 2d 6f 72 2d 65 6e 74 72 79 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 28 72 75 ..entry-or-entry-list))).....(ru
139a0 6e 2d 68 6f 6f 6b 2d 77 69 74 68 2d 61 72 67 73 20 27 65 6c 66 65 65 64 2d 75 6e 74 61 67 2d 68 n-hook-with-args.'elfeed-untag-h
139c0 6f 6f 6b 73 20 65 6e 74 72 69 65 73 20 74 61 67 73 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 ooks.entries.tags).....(cl-loop.
139e0 66 6f 72 20 65 6e 74 72 79 20 69 6e 20 65 6e 74 72 69 65 73 20 64 6f 20 28 61 70 70 6c 79 20 23 for.entry.in.entries.do.(apply.#
13a00 27 65 6c 66 65 65 64 2d 75 6e 74 61 67 2d 31 20 65 6e 74 72 79 20 74 61 67 73 29 29 29 29 0a 0a 'elfeed-untag-1.entry.tags))))..
13a20 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 74 61 67 67 65 64 2d 70 20 28 74 61 67 20 65 6e 74 72 (defun.elfeed-tagged-p.(tag.entr
13a40 79 29 0a 20 20 22 52 65 74 75 72 6e 20 74 72 75 65 20 69 66 20 45 4e 54 52 59 20 69 73 20 74 61 y)..."Return.true.if.ENTRY.is.ta
13a60 67 67 65 64 20 62 79 20 54 41 47 2e 22 0a 20 20 28 6d 65 6d 71 20 74 61 67 20 28 65 6c 66 65 65 gged.by.TAG."...(memq.tag.(elfee
13a80 64 2d 65 6e 74 72 79 2d 74 61 67 73 20 65 6e 74 72 79 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c d-entry-tags.entry)))..(defun.el
13aa0 66 65 65 64 2d 64 62 2d 6c 61 73 74 2d 75 70 64 61 74 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e feed-db-last-update.()..."Return
13ac0 20 74 68 65 20 6c 61 73 74 20 64 61 74 61 62 61 73 65 20 75 70 64 61 74 65 20 74 69 6d 65 20 69 .the.last.database.update.time.i
13ae0 6e 20 28 60 66 6c 6f 61 74 2d 74 69 6d 65 27 29 20 73 65 63 6f 6e 64 73 2e 22 0a 20 20 28 65 6c n.(`float-time').seconds."...(el
13b00 66 65 65 64 2d 64 62 2d 65 6e 73 75 72 65 29 0a 20 20 28 6f 72 20 28 70 6c 69 73 74 2d 67 65 74 feed-db-ensure)...(or.(plist-get
13b20 20 65 6c 66 65 65 64 2d 64 62 20 3a 6c 61 73 74 2d 75 70 64 61 74 65 29 20 30 29 29 0a 0a 28 64 .elfeed-db.:last-update).0))..(d
13b40 65 66 6d 61 63 72 6f 20 77 69 74 68 2d 65 6c 66 65 65 64 2d 64 62 2d 76 69 73 69 74 20 28 65 6e efmacro.with-elfeed-db-visit.(en
13b60 74 72 79 2d 61 6e 64 2d 66 65 65 64 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 56 69 73 69 try-and-feed.&rest.body)..."Visi
13b80 74 20 65 61 63 68 20 65 6e 74 72 79 20 69 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 20 66 72 6f t.each.entry.in.the.database.fro
13ba0 6d 20 6e 65 77 65 73 74 20 74 6f 20 6f 6c 64 65 73 74 2e 0a 55 73 65 20 60 65 6c 66 65 65 64 2d m.newest.to.oldest..Use.`elfeed-
13bc0 64 62 2d 72 65 74 75 72 6e 27 20 74 6f 20 65 78 69 74 20 65 61 72 6c 79 20 61 6e 64 20 6f 70 74 db-return'.to.exit.early.and.opt
13be0 69 6f 6e 61 6c 6c 79 20 72 65 74 75 72 6e 20 64 61 74 61 2e 0a 0a 20 20 28 77 69 74 68 2d 65 6c ionally.return.data.....(with-el
13c00 66 65 65 64 2d 64 62 2d 76 69 73 69 74 20 28 65 6e 74 72 79 20 66 65 65 64 29 0a 20 20 20 20 28 feed-db-visit.(entry.feed).....(
13c20 64 6f 2d 73 6f 6d 65 74 68 69 6e 67 20 65 6e 74 72 79 29 0a 20 20 20 20 28 77 68 65 6e 20 28 73 do-something.entry).....(when.(s
13c40 6f 6d 65 2d 64 61 74 65 2d 63 72 69 74 65 72 69 61 2d 70 20 65 6e 74 72 79 29 0a 20 20 20 20 20 ome-date-criteria-p.entry)......
13c60 20 28 65 6c 66 65 65 64 2d 64 62 2d 72 65 74 75 72 6e 29 29 29 22 0a 20 20 28 64 65 63 6c 61 72 .(elfeed-db-return)))"...(declar
13c80 65 20 28 69 6e 64 65 6e 74 20 64 65 66 75 6e 29 29 0a 20 20 60 28 63 61 74 63 68 20 27 65 6c 66 e.(indent.defun))...`(catch.'elf
13ca0 65 65 64 2d 64 62 2d 64 6f 6e 65 0a 20 20 20 20 20 28 70 72 6f 67 31 20 6e 69 6c 0a 20 20 20 20 eed-db-done......(prog1.nil.....
13cc0 20 20 20 28 65 6c 66 65 65 64 2d 64 62 2d 65 6e 73 75 72 65 29 0a 20 20 20 20 20 20 20 28 61 76 ...(elfeed-db-ensure)........(av
13ce0 6c 2d 74 72 65 65 2d 6d 61 70 63 0a 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 69 64 29 l-tree-mapc.........(lambda.(id)
13d00 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 2c 28 63 6c 2d 66 69 72 73 74 20 65 6e ...........(let*.((,(cl-first.en
13d20 74 72 79 2d 61 6e 64 2d 66 65 65 64 29 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 65 6e 74 try-and-feed).(elfeed-db-get-ent
13d40 72 79 20 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 28 63 6c 2d 73 ry.id))..................(,(cl-s
13d60 65 63 6f 6e 64 20 65 6e 74 72 79 2d 61 6e 64 2d 66 65 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 econd.entry-and-feed)...........
13d80 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 66 65 65 64 20 2c 28 63 6c 2d ........(elfeed-entry-feed.,(cl-
13da0 66 69 72 73 74 20 65 6e 74 72 79 2d 61 6e 64 2d 66 65 65 64 29 29 29 29 0a 20 20 20 20 20 20 20 first.entry-and-feed))))........
13dc0 20 20 20 20 20 2c 40 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 65 6c 66 65 65 64 2d 64 62 2d .....,@body)).........elfeed-db-
13de0 69 6e 64 65 78 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 66 65 65 64 2d 65 6e index))))..(defun.elfeed-feed-en
13e00 74 72 69 65 73 20 28 66 65 65 64 2d 6f 72 2d 69 64 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c tries.(feed-or-id)..."Return.a.l
13e20 69 73 74 20 6f 66 20 61 6c 6c 20 65 6e 74 72 69 65 73 20 66 6f 72 20 61 20 70 61 72 74 69 63 75 ist.of.all.entries.for.a.particu
13e40 6c 61 72 20 66 65 65 64 2e 0a 54 68 65 20 46 45 45 44 2d 4f 52 2d 49 44 20 6d 61 79 20 62 65 20 lar.feed..The.FEED-OR-ID.may.be.
13e60 61 20 66 65 65 64 20 73 74 72 75 63 74 20 6f 72 20 61 20 66 65 65 64 20 49 44 20 28 75 72 6c 29 a.feed.struct.or.a.feed.ID.(url)
13e80 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 65 65 64 2d 69 64 20 28 69 66 20 28 65 6c 66 65 65 64 2d ."...(let.((feed-id.(if.(elfeed-
13ea0 66 65 65 64 2d 70 20 66 65 65 64 2d 6f 72 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 feed-p.feed-or-id)..............
13ec0 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 69 64 20 66 65 65 64 2d 6f 72 2d ........(elfeed-feed-id.feed-or-
13ee0 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 65 65 64 2d 6f 72 2d 69 id)....................feed-or-i
13f00 64 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 65 6e 74 72 69 65 73 29 29 0a 20 20 20 20 20 20 d))).....(let.((entries)).......
13f20 28 77 69 74 68 2d 65 6c 66 65 65 64 2d 64 62 2d 76 69 73 69 74 20 28 65 6e 74 72 79 20 66 65 65 (with-elfeed-db-visit.(entry.fee
13f40 64 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 75 61 6c 20 28 65 6c 66 65 65 64 2d d).........(when.(equal.(elfeed-
13f60 66 65 65 64 2d 69 64 20 66 65 65 64 29 20 66 65 65 64 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 feed-id.feed).feed-id)..........
13f80 20 28 70 75 73 68 20 65 6e 74 72 79 20 65 6e 74 72 69 65 73 29 29 29 0a 20 20 20 20 20 20 28 6e .(push.entry.entries))).......(n
13fa0 72 65 76 65 72 73 65 20 65 6e 74 72 69 65 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 reverse.entries))))..(defun.elfe
13fc0 65 64 2d 61 70 70 6c 79 2d 68 6f 6f 6b 73 2d 6e 6f 77 20 28 29 0a 20 20 22 41 70 70 6c 79 20 60 ed-apply-hooks-now.()..."Apply.`
13fe0 65 6c 66 65 65 64 2d 6e 65 77 2d 65 6e 74 72 79 2d 68 6f 6f 6b 27 20 74 6f 20 61 6c 6c 20 65 6e elfeed-new-entry-hook'.to.all.en
14000 74 72 69 65 73 20 69 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 22 0a 20 20 28 69 6e 74 65 72 tries.in.the.database."...(inter
14020 61 63 74 69 76 65 29 0a 20 20 28 77 69 74 68 2d 65 6c 66 65 65 64 2d 64 62 2d 76 69 73 69 74 20 active)...(with-elfeed-db-visit.
14040 28 65 6e 74 72 79 20 5f 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 68 6f 6f 6b 20 (entry._).....(cl-loop.for.hook.
14060 69 6e 20 65 6c 66 65 65 64 2d 6e 65 77 2d 65 6e 74 72 79 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 in.elfeed-new-entry-hook........
14080 20 20 20 20 20 20 64 6f 20 28 66 75 6e 63 61 6c 6c 20 68 6f 6f 6b 20 65 6e 74 72 79 29 29 29 29 ......do.(funcall.hook.entry))))
140a0 0a 0a 28 64 65 66 6d 61 63 72 6f 20 65 6c 66 65 65 64 2d 64 62 2d 72 65 74 75 72 6e 20 28 26 6f ..(defmacro.elfeed-db-return.(&o
140c0 70 74 69 6f 6e 61 6c 20 76 61 6c 75 65 29 0a 20 20 22 55 73 65 20 74 68 69 73 20 74 6f 20 65 78 ptional.value)..."Use.this.to.ex
140e0 69 74 20 65 61 72 6c 79 20 61 6e 64 20 72 65 74 75 72 6e 20 56 41 4c 55 45 20 66 72 6f 6d 20 60 it.early.and.return.VALUE.from.`
14100 77 69 74 68 2d 65 6c 66 65 65 64 2d 64 62 2d 76 69 73 69 74 27 2e 22 0a 20 20 60 28 74 68 72 6f with-elfeed-db-visit'."...`(thro
14120 77 20 27 65 6c 66 65 65 64 2d 64 62 2d 64 6f 6e 65 20 2c 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 w.'elfeed-db-done.,value))..(def
14140 75 6e 20 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 61 6c 6c 2d 74 61 67 73 20 28 29 0a 20 20 22 un.elfeed-db-get-all-tags.()..."
14160 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 74 61 67 73 20 63 75 72 72 65 6e Return.a.list.of.all.tags.curren
14180 74 6c 79 20 69 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 74 tly.in.the.database."...(let.((t
141a0 61 62 6c 65 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 29 able.(make-hash-table.:test.'eq)
141c0 29 29 0a 20 20 20 20 28 77 69 74 68 2d 65 6c 66 65 65 64 2d 64 62 2d 76 69 73 69 74 20 28 65 20 )).....(with-elfeed-db-visit.(e.
141e0 5f 29 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 74 61 67 20 28 65 6c 66 65 65 64 2d 65 6e _).......(dolist.(tag.(elfeed-en
14200 74 72 79 2d 74 61 67 73 20 65 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 67 65 74 68 try-tags.e)).........(setf.(geth
14220 61 73 68 20 74 61 67 20 74 61 62 6c 65 29 20 74 61 67 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 ash.tag.table).tag))).....(let.(
14240 28 74 61 67 73 20 28 29 29 29 0a 20 20 20 20 20 20 28 6d 61 70 68 61 73 68 20 28 6c 61 6d 62 64 (tags.())).......(maphash.(lambd
14260 61 20 28 6b 20 5f 29 20 28 70 75 73 68 20 6b 20 74 61 67 73 29 29 20 74 61 62 6c 65 29 0a 20 20 a.(k._).(push.k.tags)).table)...
14280 20 20 20 20 28 63 6c 2d 73 6f 72 74 20 74 61 67 73 20 23 27 73 74 72 69 6e 67 3c 20 3a 6b 65 79 ....(cl-sort.tags.#'string<.:key
142a0 20 23 27 73 79 6d 62 6f 6c 2d 6e 61 6d 65 29 29 29 29 0a 0a 3b 3b 20 53 61 76 69 6e 67 20 61 6e .#'symbol-name))))..;;.Saving.an
142c0 64 20 4c 6f 61 64 69 6e 67 3a 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 64 62 2d 73 61 76 d.Loading:..(defun.elfeed-db-sav
142e0 65 20 28 29 0a 20 20 22 57 72 69 74 65 20 74 68 65 20 64 61 74 61 62 61 73 65 20 69 6e 64 65 78 e.()..."Write.the.database.index
14300 20 74 6f 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 2e 22 0a 20 20 28 65 6c 66 65 65 64 2d 64 .to.the.filesystem."...(elfeed-d
14320 62 2d 65 6e 73 75 72 65 29 0a 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 64 62 20 28 70 6c 69 b-ensure)...(setf.elfeed-db.(pli
14340 73 74 2d 70 75 74 20 65 6c 66 65 65 64 2d 64 62 20 3a 76 65 72 73 69 6f 6e 20 65 6c 66 65 65 64 st-put.elfeed-db.:version.elfeed
14360 2d 64 62 2d 76 65 72 73 69 6f 6e 29 29 0a 20 20 28 6d 6b 64 69 72 20 65 6c 66 65 65 64 2d 64 62 -db-version))...(mkdir.elfeed-db
14380 2d 64 69 72 65 63 74 6f 72 79 20 74 29 0a 20 20 28 6c 65 74 20 28 28 63 6f 64 69 6e 67 2d 73 79 -directory.t)...(let.((coding-sy
143a0 73 74 65 6d 2d 66 6f 72 2d 77 72 69 74 65 20 27 75 74 66 2d 38 29 29 0a 20 20 20 20 28 77 69 74 stem-for-write.'utf-8)).....(wit
143c0 68 2d 74 65 6d 70 2d 66 69 6c 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 69 h-temp-file.(expand-file-name."i
143e0 6e 64 65 78 22 20 65 6c 66 65 65 64 2d 64 62 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 20 ndex".elfeed-db-directory)......
14400 20 28 6c 65 74 20 28 28 73 74 61 6e 64 61 72 64 2d 6f 75 74 70 75 74 20 28 63 75 72 72 65 6e 74 .(let.((standard-output.(current
14420 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 74 2d 6c 65 76 -buffer)).............(print-lev
14440 65 6c 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 74 2d 6c 65 6e 67 74 el.nil).............(print-lengt
14460 68 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 74 2d 63 69 72 63 6c 65 h.nil).............(print-circle
14480 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 69 6e 63 20 28 66 6f 72 6d 61 74 20 22 3b .nil)).........(princ.(format.";
144a0 3b 3b 20 45 6c 66 65 65 64 20 44 61 74 61 62 61 73 65 20 49 6e 64 65 78 20 28 76 65 72 73 69 6f ;;.Elfeed.Database.Index.(versio
144c0 6e 20 25 73 29 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.%s)\n\n"......................
144e0 20 20 65 6c 66 65 65 64 2d 64 62 2d 76 65 72 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 28 77 ..elfeed-db-version)).........(w
14500 68 65 6e 20 28 65 71 6c 20 65 6c 66 65 65 64 2d 64 62 2d 76 65 72 73 69 6f 6e 20 34 29 0a 20 20 hen.(eql.elfeed-db-version.4)...
14520 20 20 20 20 20 20 20 20 3b 3b 20 50 75 74 20 65 6d 70 74 79 20 64 75 6d 6d 79 20 69 6e 64 65 78 ........;;.Put.empty.dummy.index
14540 20 69 6e 20 66 72 6f 6e 74 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 63 20 22 3b 3b 20 44 .in.front...........(princ.";;.D
14560 75 6d 6d 79 20 69 6e 64 65 78 20 66 6f 72 20 62 61 63 6b 77 61 72 64 73 20 63 6f 6d 70 61 74 61 ummy.index.for.backwards.compata
14580 62 6c 69 74 79 3a 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 31 20 28 65 6c 66 blity:\n")...........(prin1.(elf
145a0 65 65 64 2d 64 62 2d 2d 64 75 6d 6d 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 63 eed-db--dummy))...........(princ
145c0 20 22 5c 6e 5c 6e 3b 3b 20 52 65 61 6c 20 69 6e 64 65 78 3a 5c 6e 22 29 29 0a 20 20 20 20 20 20 ."\n\n;;.Real.index:\n")).......
145e0 20 20 28 70 72 69 6e 31 20 65 6c 66 65 65 64 2d 64 62 29 0a 20 20 20 20 20 20 20 20 3a 73 75 63 ..(prin1.elfeed-db).........:suc
14600 63 65 73 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 64 62 2d 73 61 76 65 2d cess))))..(defun.elfeed-db-save-
14620 73 61 66 65 20 28 29 0a 20 20 22 52 75 6e 20 60 65 6c 66 65 65 64 2d 64 62 2d 73 61 76 65 27 20 safe.()..."Run.`elfeed-db-save'.
14640 77 69 74 68 6f 75 74 20 74 72 69 67 67 65 72 69 6e 67 20 61 6e 79 20 65 72 72 6f 72 73 2c 20 66 without.triggering.any.errors,.f
14660 6f 72 20 75 73 65 20 61 73 20 61 20 73 61 66 65 20 68 6f 6f 6b 2e 22 0a 20 20 28 69 67 6e 6f 72 or.use.as.a.safe.hook."...(ignor
14680 65 2d 65 72 72 6f 72 73 20 28 65 6c 66 65 65 64 2d 64 62 2d 73 61 76 65 29 29 29 0a 0a 28 64 65 e-errors.(elfeed-db-save)))..(de
146a0 66 75 6e 20 65 6c 66 65 65 64 2d 64 62 2d 75 70 67 72 61 64 65 20 28 64 62 29 0a 20 20 22 55 70 fun.elfeed-db-upgrade.(db)..."Up
146c0 67 72 61 64 65 20 74 68 65 20 64 61 74 61 62 61 73 65 20 66 72 6f 6d 20 61 20 70 72 65 76 69 6f grade.the.database.from.a.previo
146e0 75 73 20 66 6f 72 6d 61 74 2e 22 0a 20 20 28 69 66 20 28 6e 6f 74 20 28 76 65 63 74 6f 72 70 20 us.format."...(if.(not.(vectorp.
14700 28 70 6c 69 73 74 2d 67 65 74 20 64 62 20 3a 69 6e 64 65 78 29 29 29 0a 20 20 20 20 20 20 64 62 (plist-get.db.:index))).......db
14720 20 20 3b 20 44 61 74 61 62 61 73 65 20 69 73 20 61 6c 72 65 61 64 79 20 69 6e 20 72 65 63 6f 72 ..;.Database.is.already.in.recor
14740 64 20 66 6f 72 6d 61 74 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 6e 65 77 2d 64 62 20 28 65 6c 66 d.format.....(let*.((new-db.(elf
14760 65 65 64 2d 64 62 2d 2d 65 6d 70 74 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 44 79 eed-db--empty))............;;.Dy
14780 6e 61 6d 69 63 61 6c 6c 79 20 62 69 6e 64 20 66 6f 72 20 6f 74 68 65 72 20 66 75 6e 63 74 69 6f namically.bind.for.other.functio
147a0 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 64 62 2d 66 65 65 64 73 20 28 ns............(elfeed-db-feeds.(
147c0 70 6c 69 73 74 2d 67 65 74 20 6e 65 77 2d 64 62 20 3a 66 65 65 64 73 29 29 0a 20 20 20 20 20 20 plist-get.new-db.:feeds)).......
147e0 20 20 20 20 20 28 65 6c 66 65 65 64 2d 64 62 2d 65 6e 74 72 69 65 73 20 28 70 6c 69 73 74 2d 67 .....(elfeed-db-entries.(plist-g
14800 65 74 20 6e 65 77 2d 64 62 20 3a 65 6e 74 72 69 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 et.new-db.:entries))............
14820 28 65 6c 66 65 65 64 2d 64 62 2d 69 6e 64 65 78 20 28 70 6c 69 73 74 2d 67 65 74 20 6e 65 77 2d (elfeed-db-index.(plist-get.new-
14840 64 62 20 3a 69 6e 64 65 78 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 46 69 78 20 75 70 20 66 65 65 db.:index))).......;;.Fix.up.fee
14860 64 73 0a 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 77 69 74 68 20 74 61 62 6c 65 20 3d 20 28 ds.......(cl-loop.with.table.=.(
14880 70 6c 69 73 74 2d 67 65 74 20 6e 65 77 2d 64 62 20 3a 66 65 65 64 73 29 0a 20 20 20 20 20 20 20 plist-get.new-db.:feeds)........
148a0 20 20 20 20 20 20 20 20 66 6f 72 20 66 65 65 64 20 68 61 73 68 2d 76 61 6c 75 65 73 20 6f 66 20 ........for.feed.hash-values.of.
148c0 28 70 6c 69 73 74 2d 67 65 74 20 64 62 20 3a 66 65 65 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 (plist-get.db.:feeds)...........
148e0 20 20 20 20 20 66 6f 72 20 69 64 20 3d 20 28 61 72 65 66 20 66 65 65 64 20 31 29 0a 20 20 20 20 .....for.id.=.(aref.feed.1).....
14900 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 66 69 78 65 64 20 3d 20 28 65 6c 66 65 65 64 2d 66 ...........for.fixed.=.(elfeed-f
14920 65 65 64 2d 2d 63 72 65 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eed--create.....................
14940 20 20 20 20 20 20 20 20 3a 69 64 20 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........:id.id..................
14960 20 20 20 20 20 20 20 20 20 20 20 3a 75 72 6c 20 28 61 72 65 66 20 66 65 65 64 20 32 29 0a 20 20 ...........:url.(aref.feed.2)...
14980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 69 74 6c 65 ..........................:title
149a0 20 28 61 72 65 66 20 66 65 65 64 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(aref.feed.3)..................
149c0 20 20 20 20 20 20 20 20 20 20 20 3a 61 75 74 68 6f 72 20 28 61 72 65 66 20 66 65 65 64 20 34 29 ...........:author.(aref.feed.4)
149e0 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 3a 6d 65 .............................:me
14a00 74 61 20 28 61 72 65 66 20 66 65 65 64 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ta.(aref.feed.5))...............
14a20 20 64 6f 20 28 73 65 74 66 20 28 67 65 74 68 61 73 68 20 69 64 20 74 61 62 6c 65 29 20 66 69 78 .do.(setf.(gethash.id.table).fix
14a40 65 64 29 29 0a 20 20 20 20 20 20 3b 3b 20 46 69 78 20 75 70 20 65 6e 74 72 69 65 73 0a 20 20 20 ed)).......;;.Fix.up.entries....
14a60 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 77 69 74 68 20 74 61 62 6c 65 20 3d 20 28 70 6c 69 73 74 2d ...(cl-loop.with.table.=.(plist-
14a80 67 65 74 20 6e 65 77 2d 64 62 20 3a 65 6e 74 72 69 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 get.new-db.:entries)............
14aa0 20 20 20 20 77 69 74 68 20 69 6e 64 65 78 20 3d 20 28 70 6c 69 73 74 2d 67 65 74 20 6e 65 77 2d ....with.index.=.(plist-get.new-
14ac0 64 62 20 3a 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 65 6e db.:index)................for.en
14ae0 74 72 79 20 68 61 73 68 2d 76 61 6c 75 65 73 20 6f 66 20 28 70 6c 69 73 74 2d 67 65 74 20 64 62 try.hash-values.of.(plist-get.db
14b00 20 3a 65 6e 74 72 69 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 69 64 .:entries)................for.id
14b20 20 3d 20 28 61 72 65 66 20 65 6e 74 72 79 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .=.(aref.entry.1)...............
14b40 20 66 6f 72 20 63 6f 6e 74 65 6e 74 20 3d 20 28 61 72 65 66 20 65 6e 74 72 79 20 35 29 0a 20 20 .for.content.=.(aref.entry.5)...
14b60 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 66 69 78 65 64 20 3d 20 28 65 6c 66 65 65 64 .............for.fixed.=.(elfeed
14b80 2d 65 6e 74 72 79 2d 2d 63 72 65 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -entry--create..................
14ba0 20 20 20 20 20 20 20 20 20 20 20 3a 69 64 20 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........:id.id...............
14bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 69 74 6c 65 20 28 61 72 65 66 20 65 6e 74 72 79 ..............:title.(aref.entry
14be0 20 32 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 .2).............................
14c00 3a 6c 69 6e 6b 20 28 61 72 65 66 20 65 6e 74 72 79 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 :link.(aref.entry.3)............
14c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 64 61 74 65 20 28 61 72 65 66 20 65 6e 74 .................:date.(aref.ent
14c40 72 79 20 34 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 ry.4)...........................
14c60 20 20 3a 63 6f 6e 74 65 6e 74 20 28 69 66 20 28 76 65 63 74 6f 72 70 20 63 6f 6e 74 65 6e 74 29 ..:content.(if.(vectorp.content)
14c80 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 ................................
14ca0 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 72 65 66 2d 2d 63 72 65 61 74 65 0a 20 20 ..........(elfeed-ref--create...
14cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
14ce0 20 20 20 20 20 20 20 20 3a 69 64 20 28 61 72 65 66 20 63 6f 6e 74 65 6e 74 20 31 29 29 0a 20 20 ........:id.(aref.content.1))...
14d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
14d20 20 20 20 20 20 63 6f 6e 74 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....content)...................
14d40 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6e 74 65 6e 74 2d 74 79 70 65 20 28 61 72 65 66 20 65 6e ..........:content-type.(aref.en
14d60 74 72 79 20 36 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 try.6)..........................
14d80 20 20 20 3a 65 6e 63 6c 6f 73 75 72 65 73 20 28 61 72 65 66 20 65 6e 74 72 79 20 37 29 0a 20 20 ...:enclosures.(aref.entry.7)...
14da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 61 67 73 20 ..........................:tags.
14dc0 28 61 72 65 66 20 65 6e 74 72 79 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (aref.entry.8)..................
14de0 20 20 20 20 20 20 20 20 20 20 20 3a 66 65 65 64 2d 69 64 20 28 61 72 65 66 20 65 6e 74 72 79 20 ...........:feed-id.(aref.entry.
14e00 39 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 3a 9).............................:
14e20 6d 65 74 61 20 28 61 72 65 66 20 65 6e 74 72 79 20 31 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 meta.(aref.entry.10))...........
14e40 20 20 20 20 20 64 6f 20 28 73 65 74 66 20 28 67 65 74 68 61 73 68 20 69 64 20 74 61 62 6c 65 29 .....do.(setf.(gethash.id.table)
14e60 20 66 69 78 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 61 76 6c 2d 74 .fixed)................do.(avl-t
14e80 72 65 65 2d 65 6e 74 65 72 20 69 6e 64 65 78 20 69 64 29 29 0a 20 20 20 20 20 20 28 70 6c 69 73 ree-enter.index.id)).......(plis
14ea0 74 2d 70 75 74 20 6e 65 77 2d 64 62 20 3a 6c 61 73 74 2d 75 70 64 61 74 65 20 28 70 6c 69 73 74 t-put.new-db.:last-update.(plist
14ec0 2d 67 65 74 20 64 62 20 3a 6c 61 73 74 2d 75 70 64 61 74 65 29 29 29 29 29 0a 0a 28 64 65 66 75 -get.db.:last-update)))))..(defu
14ee0 6e 20 65 6c 66 65 65 64 2d 64 62 2d 2d 65 6d 70 74 79 20 28 29 0a 20 20 22 43 72 65 61 74 65 20 n.elfeed-db--empty.()..."Create.
14f00 61 6e 20 65 6d 70 74 79 20 64 61 74 61 62 61 73 65 20 6f 62 6a 65 63 74 2e 22 0a 20 20 60 28 3a an.empty.database.object."...`(:
14f20 76 65 72 73 69 6f 6e 20 2c 65 6c 66 65 65 64 2d 64 62 2d 76 65 72 73 69 6f 6e 0a 20 20 20 20 3a version.,elfeed-db-version.....:
14f40 66 65 65 64 73 20 2c 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 feeds.,(make-hash-table.:test.'e
14f60 71 75 61 6c 29 0a 20 20 20 20 3a 65 6e 74 72 69 65 73 20 2c 28 6d 61 6b 65 2d 68 61 73 68 2d 74 qual).....:entries.,(make-hash-t
14f80 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 75 61 6c 29 0a 20 20 20 20 3b 3b 20 43 6f 6d 70 69 6c able.:test.'equal).....;;.Compil
14fa0 65 72 20 6d 61 79 20 77 61 72 6e 20 61 62 6f 75 74 20 74 68 69 73 20 28 62 75 67 23 31 35 33 32 er.may.warn.about.this.(bug#1532
14fc0 37 29 3a 0a 20 20 20 20 3a 69 6e 64 65 78 20 2c 28 61 76 6c 2d 74 72 65 65 2d 63 72 65 61 74 65 7):.....:index.,(avl-tree-create
14fe0 20 23 27 65 6c 66 65 65 64 2d 64 62 2d 63 6f 6d 70 61 72 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 .#'elfeed-db-compare)))..(defun.
15000 65 6c 66 65 65 64 2d 64 62 2d 2d 64 75 6d 6d 79 20 28 29 0a 20 20 22 43 72 65 61 74 65 20 61 6e elfeed-db--dummy.()..."Create.an
15020 20 65 6d 70 74 79 20 64 75 6d 6d 79 20 64 61 74 61 62 61 73 65 20 66 6f 72 20 45 6d 61 63 73 20 .empty.dummy.database.for.Emacs.
15040 32 35 20 61 6e 64 20 65 61 72 6c 69 65 72 2e 22 0a 20 20 28 6c 69 73 74 20 3a 76 65 72 73 69 6f 25.and.earlier."...(list.:versio
15060 6e 20 22 30 2e 30 2e 33 22 0a 20 20 20 20 20 20 20 20 3a 66 65 65 64 73 20 23 73 28 68 61 73 68 n."0.0.3".........:feeds.#s(hash
15080 2d 74 61 62 6c 65 20 73 69 7a 65 20 36 35 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -table.size.65..................
150a0 20 20 20 20 20 20 20 20 20 20 20 20 74 65 73 74 20 65 71 75 61 6c 0a 20 20 20 20 20 20 20 20 20 ............test.equal..........
150c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 68 61 73 68 2d 73 69 7a 65 20 ....................rehash-size.
150e0 31 2e 35 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 1.5.............................
15100 20 72 65 68 61 73 68 2d 74 68 72 65 73 68 6f 6c 64 20 30 2e 38 0a 20 20 20 20 20 20 20 20 20 20 .rehash-threshold.0.8...........
15120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 20 28 29 29 0a 20 20 20 20 ...................data.()).....
15140 20 20 20 20 3a 65 6e 74 72 69 65 73 20 23 73 28 68 61 73 68 2d 74 61 62 6c 65 20 73 69 7a 65 20 ....:entries.#s(hash-table.size.
15160 36 35 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 65..............................
15180 20 20 74 65 73 74 20 65 71 75 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..test.equal....................
151a0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 68 61 73 68 2d 73 69 7a 65 20 31 2e 35 0a 20 20 20 20 ............rehash-size.1.5.....
151c0 20 20 20 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 68 61 73 ...........................rehas
151e0 68 2d 74 68 72 65 73 68 6f 6c 64 20 30 2e 38 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h-threshold.0.8.................
15200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 20 28 29 29 0a 20 20 20 20 20 20 20 20 ...............data.()).........
15220 3a 69 6e 64 65 78 20 5b 63 6c 2d 73 74 72 75 63 74 2d 61 76 6c 2d 74 72 65 65 2d 20 5b 6e 69 6c :index.[cl-struct-avl-tree-.[nil
15240 20 6e 69 6c 20 6e 69 6c 20 30 5d 20 65 6c 66 65 65 64 2d 64 62 2d 63 6f 6d 70 61 72 65 5d 29 29 .nil.nil.0].elfeed-db-compare]))
15260 0a 0a 3b 3b 20 54 6f 20 63 6f 70 65 20 77 69 74 68 20 74 68 65 20 69 6e 63 6f 6d 70 61 74 69 62 ..;;.To.cope.with.the.incompatib
15280 6c 65 20 73 74 72 75 63 74 20 63 68 61 6e 67 65 73 20 69 6e 20 45 6d 61 63 73 20 32 36 2c 20 45 le.struct.changes.in.Emacs.26,.E
152a0 6c 66 65 65 64 0a 3b 3b 20 75 73 65 73 20 76 65 72 73 69 6f 6e 20 34 20 6f 66 20 74 68 65 20 64 lfeed.;;.uses.version.4.of.the.d
152c0 61 74 61 62 61 73 65 20 66 6f 72 6d 61 74 20 77 68 65 6e 20 72 75 6e 20 75 6e 64 65 72 20 45 6d atabase.format.when.run.under.Em
152e0 61 63 73 20 32 36 2e 20 54 68 69 73 0a 3b 3b 20 76 65 72 73 69 6f 6e 20 73 61 76 65 73 20 61 20 acs.26..This.;;.version.saves.a.
15300 64 75 6d 6d 79 2c 20 65 6d 70 74 79 20 69 6e 64 65 78 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 74 dummy,.empty.index.in.front.of.t
15320 68 65 20 72 65 61 6c 20 64 61 74 61 62 61 73 65 2e 20 41 0a 3b 3b 20 75 73 65 72 20 67 6f 69 6e he.real.database..A.;;.user.goin
15340 67 20 66 72 6f 6d 20 45 6d 61 63 73 20 32 36 20 74 6f 20 45 6d 61 63 73 20 32 35 20 77 69 6c 6c g.from.Emacs.26.to.Emacs.25.will
15360 20 71 75 69 65 74 6c 79 20 6c 6f 61 64 20 61 6e 20 65 6d 70 74 79 0a 3b 3b 20 69 6e 64 65 78 20 .quietly.load.an.empty.;;.index.
15380 73 69 6e 63 65 20 69 74 27 73 20 75 6e 72 65 61 73 6f 6e 61 62 6c 65 20 74 6f 20 64 6f 77 6e 67 since.it's.unreasonable.to.downg
153a0 72 61 64 65 20 28 77 6f 75 6c 64 20 72 65 71 75 69 72 65 20 72 65 77 72 69 74 69 6e 67 0a 3b 3b rade.(would.require.rewriting.;;
153c0 20 74 68 65 20 45 6d 61 63 73 20 72 65 61 64 65 72 20 66 72 6f 6d 20 73 63 72 61 74 63 68 29 2e .the.Emacs.reader.from.scratch).
153e0 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 64 62 2d 6c 6f 61 64 20 28 29 0a 20 20 22 4c 6f ..(defun.elfeed-db-load.()..."Lo
15400 61 64 20 74 68 65 20 64 61 74 61 62 61 73 65 20 69 6e 64 65 78 20 66 72 6f 6d 20 74 68 65 20 66 ad.the.database.index.from.the.f
15420 69 6c 65 73 79 73 74 65 6d 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 6e 64 65 78 20 28 65 78 70 61 ilesystem."...(let.((index.(expa
15440 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 69 6e 64 65 78 22 20 65 6c 66 65 65 64 2d 64 62 2d 64 nd-file-name."index".elfeed-db-d
15460 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 28 65 6e 61 62 6c 65 2d 6c 6f 63 61 6c irectory)).........(enable-local
15480 2d 76 61 72 69 61 62 6c 65 73 20 6e 69 6c 29 29 20 3b 20 64 6f 6e 27 74 20 73 65 74 20 6c 6f 63 -variables.nil)).;.don't.set.loc
154a0 61 6c 20 76 61 72 69 61 62 6c 65 73 20 66 72 6f 6d 20 69 6e 64 65 78 21 0a 20 20 20 20 28 69 66 al.variables.from.index!.....(if
154c0 20 28 6e 6f 74 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 69 6e 64 65 78 29 29 0a 20 20 20 .(not.(file-exists-p.index))....
154e0 20 20 20 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 64 62 20 28 65 6c 66 65 65 64 2d 64 62 2d .....(setf.elfeed-db.(elfeed-db-
15500 2d 65 6d 70 74 79 29 29 0a 20 20 20 20 20 20 3b 3b 20 4f 76 65 72 72 69 64 65 20 74 68 65 20 64 -empty)).......;;.Override.the.d
15520 65 66 61 75 6c 74 20 76 61 6c 75 65 20 66 6f 72 20 6d 61 6a 6f 72 2d 6d 6f 64 65 2e 20 54 68 65 efault.value.for.major-mode..The
15540 72 65 20 69 73 20 6e 6f 0a 20 20 20 20 20 20 3b 3b 20 70 72 65 76 65 6e 74 69 6e 67 20 66 69 6e re.is.no.......;;.preventing.fin
15560 64 2d 66 69 6c 65 2d 6e 6f 73 65 6c 65 63 74 20 66 72 6f 6d 20 73 74 61 72 74 69 6e 67 20 74 68 d-file-noselect.from.starting.th
15580 65 20 64 65 66 61 75 6c 74 20 6d 61 6a 6f 72 0a 20 20 20 20 20 20 3b 3b 20 6d 6f 64 65 20 77 68 e.default.major.......;;.mode.wh
155a0 69 6c 65 20 61 6c 73 6f 20 68 61 76 69 6e 67 20 69 74 20 68 61 6e 64 6c 65 20 62 75 66 66 65 72 ile.also.having.it.handle.buffer
155c0 20 63 6f 6e 76 65 72 73 69 6f 6e 2e 20 53 6f 6d 65 0a 20 20 20 20 20 20 3b 3b 20 6d 61 6a 6f 72 .conversion..Some.......;;.major
155e0 20 6d 6f 64 65 73 20 63 72 61 73 68 20 45 6d 61 63 73 20 77 68 65 6e 20 65 6e 61 62 6c 65 64 20 .modes.crash.Emacs.when.enabled.
15600 69 6e 20 6c 61 72 67 65 20 62 75 66 66 65 72 73 20 28 65 2e 67 2e 0a 20 20 20 20 20 20 3b 3b 20 in.large.buffers.(e.g........;;.
15620 6f 72 67 2d 6d 6f 64 65 29 2e 20 54 68 69 73 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 45 6c 66 org-mode)..This.includes.the.Elf
15640 65 65 64 20 69 6e 64 65 78 2c 20 73 6f 20 77 65 20 6d 75 73 74 20 6e 6f 74 20 6c 65 74 0a 20 20 eed.index,.so.we.must.not.let...
15660 20 20 20 20 3b 3b 20 74 68 69 73 20 68 61 70 70 65 6e 2e 0a 20 20 20 20 20 20 28 63 6c 2d 6c 65 ....;;.this.happen........(cl-le
15680 74 66 20 28 28 28 64 65 66 61 75 6c 74 2d 76 61 6c 75 65 20 27 6d 61 6a 6f 72 2d 6d 6f 64 65 29 tf.(((default-value.'major-mode)
156a0 20 27 66 75 6e 64 61 6d 65 6e 74 61 6c 2d 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 28 77 69 .'fundamental-mode)).........(wi
156c0 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 66 69 6e 64 2d 66 69 6c 65 2d 6e 6f 73 th-current-buffer.(find-file-nos
156e0 65 6c 65 63 74 20 69 6e 64 65 78 20 3a 6e 6f 77 61 72 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 elect.index.:nowarn)...........(
15700 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 goto-char.(point-min))..........
15720 20 28 69 66 20 28 65 71 6c 20 65 6c 66 65 65 64 2d 64 62 2d 76 65 72 73 69 6f 6e 20 34 29 0a 20 .(if.(eql.elfeed-db-version.4)..
15740 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4d 61 79 20 6e 65 65 64 20 74 6f 20 73 6b 69 70 .............;;.May.need.to.skip
15760 20 6f 76 65 72 20 64 75 6d 6d 79 20 64 61 74 61 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 .over.dummy.database............
15780 20 20 20 28 6c 65 74 20 28 28 64 62 2d 31 20 28 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 62 75 ...(let.((db-1.(read.(current-bu
157a0 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 62 2d ffer))).....................(db-
157c0 32 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 28 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 2.(ignore-errors.(read.(current-
157e0 62 75 66 66 65 72 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 buffer))))).................(set
15800 66 20 65 6c 66 65 65 64 2d 64 62 20 28 6f 72 20 64 62 2d 32 20 64 62 2d 31 29 29 29 0a 20 20 20 f.elfeed-db.(or.db-2.db-1)))....
15820 20 20 20 20 20 20 20 20 20 3b 3b 20 4a 75 73 74 20 6c 6f 61 64 20 66 69 72 73 74 20 64 61 74 61 .........;;.Just.load.first.data
15840 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 64 62 base.............(setf.elfeed-db
15860 20 28 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 29 0a 20 20 20 20 20 .(read.(current-buffer))))......
15880 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 29 29 29 29 0a 20 20 20 20 3b 3b 20 50 65 72 .....(kill-buffer)))).....;;.Per
158a0 66 6f 72 6d 20 61 6e 20 75 70 67 72 61 64 65 20 69 66 20 6e 65 63 65 73 73 61 72 79 20 61 6e 64 form.an.upgrade.if.necessary.and
158c0 20 70 6f 73 73 69 62 6c 65 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 28 70 6c .possible.....(unless.(equal.(pl
158e0 69 73 74 2d 67 65 74 20 65 6c 66 65 65 64 2d 64 62 20 3a 76 65 72 73 69 6f 6e 29 20 65 6c 66 65 ist-get.elfeed-db.:version).elfe
15900 65 64 2d 64 62 2d 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 ed-db-version).......(ignore-err
15920 6f 72 73 0a 20 20 20 20 20 20 20 20 28 63 6f 70 79 2d 66 69 6c 65 20 69 6e 64 65 78 20 28 63 6f ors.........(copy-file.index.(co
15940 6e 63 61 74 20 69 6e 64 65 78 20 22 2e 62 61 63 6b 75 70 22 29 29 29 0a 20 20 20 20 20 20 28 6d ncat.index.".backup"))).......(m
15960 65 73 73 61 67 65 20 22 55 70 67 72 61 64 69 6e 67 20 45 6c 66 65 65 64 20 69 6e 64 65 78 20 66 essage."Upgrading.Elfeed.index.f
15980 6f 72 20 45 6d 61 63 73 20 32 36 20 2e 2e 2e 22 29 0a 20 20 20 20 20 20 28 73 65 74 66 20 65 6c or.Emacs.26....").......(setf.el
159a0 66 65 65 64 2d 64 62 20 28 65 6c 66 65 65 64 2d 64 62 2d 75 70 67 72 61 64 65 20 65 6c 66 65 65 feed-db.(elfeed-db-upgrade.elfee
159c0 64 2d 64 62 29 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 45 6c 66 65 65 64 20 69 6e d-db)).......(message."Elfeed.in
159e0 64 65 78 20 75 70 67 72 61 64 65 20 63 6f 6d 70 6c 65 74 65 2e 22 29 29 0a 20 20 20 20 28 73 65 dex.upgrade.complete.")).....(se
15a00 74 66 20 65 6c 66 65 65 64 2d 64 62 2d 66 65 65 64 73 20 28 70 6c 69 73 74 2d 67 65 74 20 65 6c tf.elfeed-db-feeds.(plist-get.el
15a20 66 65 65 64 2d 64 62 20 3a 66 65 65 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 65 6c 66 65 65 64 feed-db.:feeds)...........elfeed
15a40 2d 64 62 2d 65 6e 74 72 69 65 73 20 28 70 6c 69 73 74 2d 67 65 74 20 65 6c 66 65 65 64 2d 64 62 -db-entries.(plist-get.elfeed-db
15a60 20 3a 65 6e 74 72 69 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 65 6c 66 65 65 64 2d 64 62 2d 69 .:entries)...........elfeed-db-i
15a80 6e 64 65 78 20 28 70 6c 69 73 74 2d 67 65 74 20 65 6c 66 65 65 64 2d 64 62 20 3a 69 6e 64 65 78 ndex.(plist-get.elfeed-db.:index
15aa0 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 6e 74 65 72 6e 61 6c 20 66 75 6e 63 74 69 6f 6e )...........;;.Internal.function
15ac0 20 75 73 65 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 73 65 63 75 72 69 74 79 21 0a 20 20 20 20 .use.required.for.security!.....
15ae0 20 20 20 20 20 20 28 61 76 6c 2d 74 72 65 65 2d 2d 63 6d 70 66 75 6e 20 65 6c 66 65 65 64 2d 64 ......(avl-tree--cmpfun.elfeed-d
15b00 62 2d 69 6e 64 65 78 29 20 23 27 65 6c 66 65 65 64 2d 64 62 2d 63 6f 6d 70 61 72 65 29 29 29 0a b-index).#'elfeed-db-compare))).
15b20 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 64 62 2d 75 6e 6c 6f 61 64 20 28 29 0a 20 20 22 55 .(defun.elfeed-db-unload.()..."U
15b40 6e 6c 6f 61 64 20 74 68 65 20 64 61 74 61 62 61 73 65 20 73 6f 20 74 68 61 74 20 69 74 20 63 61 nload.the.database.so.that.it.ca
15b60 6e 20 62 65 20 6f 70 65 72 61 74 65 64 20 6f 6e 20 65 78 74 65 72 6e 61 6c 6c 79 2e 0a 0a 52 75 n.be.operated.on.externally...Ru
15b80 6e 73 20 60 65 6c 66 65 65 64 2d 64 62 2d 75 6e 6c 6f 61 64 2d 68 6f 6f 6b 27 20 61 66 74 65 72 ns.`elfeed-db-unload-hook'.after
15ba0 20 75 6e 6c 6f 61 64 69 6e 67 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 22 0a 20 20 28 69 6e 74 .unloading.the.database."...(int
15bc0 65 72 61 63 74 69 76 65 29 0a 20 20 28 65 6c 66 65 65 64 2d 64 62 2d 73 61 76 65 29 0a 20 20 28 eractive)...(elfeed-db-save)...(
15be0 73 65 74 66 20 65 6c 66 65 65 64 2d 64 62 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 65 6c 66 65 65 setf.elfeed-db.nil.........elfee
15c00 64 2d 64 62 2d 66 65 65 64 73 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 65 6c 66 65 65 64 2d 64 62 d-db-feeds.nil.........elfeed-db
15c20 2d 65 6e 74 72 69 65 73 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 65 6c 66 65 65 64 2d 64 62 2d 69 -entries.nil.........elfeed-db-i
15c40 6e 64 65 78 20 6e 69 6c 29 0a 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 65 6c 66 65 65 64 2d 64 ndex.nil)...(run-hooks.'elfeed-d
15c60 62 2d 75 6e 6c 6f 61 64 2d 68 6f 6f 6b 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 64 b-unload-hook))..(defun.elfeed-d
15c80 62 2d 65 6e 73 75 72 65 20 28 29 0a 20 20 22 45 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 64 b-ensure.()..."Ensure.that.the.d
15ca0 61 74 61 62 61 73 65 20 68 61 73 20 62 65 65 6e 20 6c 6f 61 64 65 64 2e 22 0a 20 20 28 77 68 65 atabase.has.been.loaded."...(whe
15cc0 6e 20 28 6e 75 6c 6c 20 65 6c 66 65 65 64 2d 64 62 29 20 28 65 6c 66 65 65 64 2d 64 62 2d 6c 6f n.(null.elfeed-db).(elfeed-db-lo
15ce0 61 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 64 62 2d 73 69 7a 65 20 28 29 0a ad)))..(defun.elfeed-db-size.().
15d00 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 6e 75 6d 62 65 72 20 .."Return.a.count.of.the.number.
15d20 6f 66 20 65 6e 74 72 69 65 73 20 69 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 22 0a 20 20 28 of.entries.in.the.database."...(
15d40 6c 65 74 20 28 28 63 6f 75 6e 74 2d 74 61 62 6c 65 20 28 68 61 73 68 2d 74 61 62 6c 65 2d 63 6f let.((count-table.(hash-table-co
15d60 75 6e 74 20 65 6c 66 65 65 64 2d 64 62 2d 65 6e 74 72 69 65 73 29 29 0a 20 20 20 20 20 20 20 20 unt.elfeed-db-entries)).........
15d80 28 63 6f 75 6e 74 2d 74 72 65 65 20 28 61 76 6c 2d 74 72 65 65 2d 73 69 7a 65 20 65 6c 66 65 65 (count-tree.(avl-tree-size.elfee
15da0 64 2d 64 62 2d 69 6e 64 65 78 29 29 29 0a 20 20 20 20 28 69 66 20 28 3d 20 63 6f 75 6e 74 2d 74 d-db-index))).....(if.(=.count-t
15dc0 61 62 6c 65 20 63 6f 75 6e 74 2d 74 72 65 65 29 0a 20 20 20 20 20 20 20 20 63 6f 75 6e 74 2d 74 able.count-tree).........count-t
15de0 61 62 6c 65 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 6c 66 65 65 64 20 64 61 74 61 62 61 able.......(error."Elfeed.databa
15e00 73 65 20 65 72 72 6f 72 3a 20 65 6e 74 72 79 20 63 6f 75 6e 74 20 6d 69 73 6d 61 74 63 68 2e 22 se.error:.entry.count.mismatch."
15e20 29 29 29 29 0a 0a 3b 3b 20 4d 65 74 61 64 61 74 61 3a 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 ))))..;;.Metadata:..(defun.elfee
15e40 64 2d 6d 65 74 61 2d 2d 70 6c 69 73 74 20 28 74 68 69 6e 67 29 0a 20 20 22 47 65 74 20 74 68 65 d-meta--plist.(thing)..."Get.the
15e60 20 6d 65 74 61 64 61 74 61 20 70 6c 69 73 74 20 66 6f 72 20 54 48 49 4e 47 2e 22 0a 20 20 28 63 .metadata.plist.for.THING."...(c
15e80 6c 2d 74 79 70 65 63 61 73 65 20 74 68 69 6e 67 0a 20 20 20 20 28 65 6c 66 65 65 64 2d 66 65 65 l-typecase.thing.....(elfeed-fee
15ea0 64 20 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 6d 65 74 61 20 20 74 68 69 6e 67 29 29 0a 20 20 d..(elfeed-feed-meta..thing))...
15ec0 20 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 6d 65 ..(elfeed-entry.(elfeed-entry-me
15ee0 74 61 20 74 68 69 6e 67 29 29 0a 20 20 20 20 28 6f 74 68 65 72 77 69 73 65 20 28 65 72 72 6f 72 ta.thing)).....(otherwise.(error
15f00 20 22 44 6f 6e 27 74 20 6b 6e 6f 77 20 68 6f 77 20 74 6f 20 61 63 63 65 73 73 20 6d 65 74 61 64 ."Don't.know.how.to.access.metad
15f20 61 74 61 20 6f 6e 20 25 53 22 20 74 68 69 6e 67 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 ata.on.%S".thing))))..(defun.elf
15f40 65 65 64 2d 6d 65 74 61 2d 2d 73 65 74 2d 70 6c 69 73 74 20 28 74 68 69 6e 67 20 70 6c 69 73 74 eed-meta--set-plist.(thing.plist
15f60 29 0a 20 20 22 53 65 74 20 74 68 65 20 6d 65 74 61 64 61 74 61 20 70 6c 69 73 74 20 6f 6e 20 54 )..."Set.the.metadata.plist.on.T
15f80 48 49 4e 47 20 74 6f 20 50 4c 49 53 54 2e 22 0a 20 20 28 63 6c 2d 74 79 70 65 63 61 73 65 20 74 HING.to.PLIST."...(cl-typecase.t
15fa0 68 69 6e 67 0a 20 20 20 20 28 65 6c 66 65 65 64 2d 66 65 65 64 20 20 28 73 65 74 66 20 28 65 6c hing.....(elfeed-feed..(setf.(el
15fc0 66 65 65 64 2d 66 65 65 64 2d 6d 65 74 61 20 74 68 69 6e 67 29 20 70 6c 69 73 74 29 29 0a 20 20 feed-feed-meta.thing).plist))...
15fe0 20 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 20 28 73 65 74 66 20 28 65 6c 66 65 65 64 2d 65 6e ..(elfeed-entry.(setf.(elfeed-en
16000 74 72 79 2d 6d 65 74 61 20 74 68 69 6e 67 29 20 70 6c 69 73 74 29 29 0a 20 20 20 20 28 6f 74 68 try-meta.thing).plist)).....(oth
16020 65 72 77 69 73 65 20 28 65 72 72 6f 72 20 22 44 6f 6e 27 74 20 6b 6e 6f 77 20 68 6f 77 20 74 6f erwise.(error."Don't.know.how.to
16040 20 61 63 63 65 73 73 20 6d 65 74 61 64 61 74 61 20 6f 6e 20 25 53 22 20 74 68 69 6e 67 29 29 29 .access.metadata.on.%S".thing)))
16060 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 64 62 2d 2d 70 6c 69 73 74 2d 66 69 78 75 70 )..(defun.elfeed-db--plist-fixup
16080 20 28 70 6c 69 73 74 29 0a 20 20 22 52 65 6d 6f 76 65 20 6e 69 6c 20 76 61 6c 75 65 73 20 66 72 .(plist)..."Remove.nil.values.fr
160a0 6f 6d 20 50 4c 49 53 54 2e 22 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 6b 20 76 29 20 om.PLIST."...(cl-loop.for.(k.v).
160c0 6f 6e 20 70 6c 69 73 74 20 62 79 20 23 27 63 64 64 72 0a 20 20 20 20 20 20 20 20 20 20 20 77 68 on.plist.by.#'cddr............wh
160e0 65 6e 20 28 6e 6f 74 20 28 6e 75 6c 6c 20 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c en.(not.(null.v))............col
16100 6c 65 63 74 20 6b 20 61 6e 64 20 63 6f 6c 6c 65 63 74 20 76 29 29 0a 0a 28 64 65 66 75 6e 20 65 lect.k.and.collect.v))..(defun.e
16120 6c 66 65 65 64 2d 6d 65 74 61 20 28 74 68 69 6e 67 20 6b 65 79 20 26 6f 70 74 69 6f 6e 61 6c 20 lfeed-meta.(thing.key.&optional.
16140 64 65 66 61 75 6c 74 29 0a 20 20 22 41 63 63 65 73 73 20 6d 65 74 61 64 61 74 61 20 66 6f 72 20 default)..."Access.metadata.for.
16160 54 48 49 4e 47 20 28 65 6e 74 72 79 2c 20 66 65 65 64 29 20 75 6e 64 65 72 20 4b 45 59 2e 22 0a THING.(entry,.feed).under.KEY.".
16180 20 20 28 6f 72 20 28 70 6c 69 73 74 2d 67 65 74 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 2d 2d 70 ..(or.(plist-get.(elfeed-meta--p
161a0 6c 69 73 74 20 74 68 69 6e 67 29 20 6b 65 79 29 0a 20 20 20 20 20 20 64 65 66 61 75 6c 74 29 29 list.thing).key).......default))
161c0 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 6d 65 74 61 2d 2d 70 75 74 20 28 74 68 69 6e 67 ..(defun.elfeed-meta--put.(thing
161e0 20 6b 65 79 20 76 61 6c 75 65 29 0a 20 20 22 53 65 74 20 6d 65 74 61 64 61 74 61 20 74 6f 20 56 .key.value)..."Set.metadata.to.V
16200 41 4c 55 45 20 6f 6e 20 54 48 49 4e 47 20 75 6e 64 65 72 20 4b 45 59 2e 22 0a 20 20 28 77 68 65 ALUE.on.THING.under.KEY."...(whe
16220 6e 20 28 6e 6f 74 20 28 65 6c 66 65 65 64 2d 72 65 61 64 61 62 6c 65 2d 70 20 76 61 6c 75 65 29 n.(not.(elfeed-readable-p.value)
16240 29 20 28 65 72 72 6f 72 20 22 4e 65 77 20 76 61 6c 75 65 20 6d 75 73 74 20 62 65 20 72 65 61 64 ).(error."New.value.must.be.read
16260 61 62 6c 65 2e 22 29 29 0a 20 20 28 6c 65 74 20 28 28 6e 65 77 2d 70 6c 69 73 74 20 28 70 6c 69 able."))...(let.((new-plist.(pli
16280 73 74 2d 70 75 74 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 2d 2d 70 6c 69 73 74 20 74 68 69 6e 67 st-put.(elfeed-meta--plist.thing
162a0 29 20 6b 65 79 20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 28 70 72 6f 67 31 20 76 61 6c 75 65 0a ).key.value))).....(prog1.value.
162c0 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 2d 2d 73 65 74 2d 70 6c 69 73 74 20 74 68 ......(elfeed-meta--set-plist.th
162e0 69 6e 67 20 28 65 6c 66 65 65 64 2d 64 62 2d 2d 70 6c 69 73 74 2d 66 69 78 75 70 20 6e 65 77 2d ing.(elfeed-db--plist-fixup.new-
16300 70 6c 69 73 74 29 29 29 29 29 0a 0a 28 67 76 2d 64 65 66 69 6e 65 2d 73 65 74 74 65 72 20 65 6c plist)))))..(gv-define-setter.el
16320 66 65 65 64 2d 6d 65 74 61 20 28 76 61 6c 75 65 20 74 68 69 6e 67 20 6b 65 79 20 26 6f 70 74 69 feed-meta.(value.thing.key.&opti
16340 6f 6e 61 6c 20 5f 64 65 66 61 75 6c 74 29 0a 20 20 60 28 65 6c 66 65 65 64 2d 6d 65 74 61 2d 2d onal._default)...`(elfeed-meta--
16360 70 75 74 20 2c 74 68 69 6e 67 20 2c 6b 65 79 20 2c 76 61 6c 75 65 29 29 0a 0a 3b 3b 20 46 69 6c put.,thing.,key.,value))..;;.Fil
16380 65 73 79 73 74 65 6d 20 73 74 6f 72 61 67 65 3a 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 esystem.storage:..(defvar.elfeed
163a0 2d 72 65 66 2d 61 72 63 68 69 76 65 20 6e 69 6c 0a 20 20 22 49 6e 64 65 78 20 6f 66 20 61 72 63 -ref-archive.nil..."Index.of.arc
163c0 68 69 76 65 64 2f 70 61 63 6b 65 64 20 63 6f 6e 74 65 6e 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 hived/packed.content.")..(defvar
163e0 20 65 6c 66 65 65 64 2d 72 65 66 2d 63 61 63 68 65 20 6e 69 6c 0a 20 20 22 54 65 6d 70 6f 72 61 .elfeed-ref-cache.nil..."Tempora
16400 72 79 20 73 74 6f 72 61 67 65 20 6f 66 20 74 68 65 20 66 75 6c 6c 20 61 72 63 68 69 76 65 20 63 ry.storage.of.the.full.archive.c
16420 6f 6e 74 65 6e 74 2e 22 29 0a 0a 28 63 6c 2d 64 65 66 73 74 72 75 63 74 20 28 65 6c 66 65 65 64 ontent.")..(cl-defstruct.(elfeed
16440 2d 72 65 66 20 28 3a 63 6f 6e 73 74 72 75 63 74 6f 72 20 65 6c 66 65 65 64 2d 72 65 66 2d 2d 63 -ref.(:constructor.elfeed-ref--c
16460 72 65 61 74 65 29 29 0a 20 20 69 64 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 72 65 66 reate))...id)..(defun.elfeed-ref
16480 2d 2d 66 69 6c 65 20 28 72 65 66 29 0a 20 20 22 44 65 74 65 72 6d 69 6e 65 20 74 68 65 20 73 74 --file.(ref)..."Determine.the.st
164a0 6f 72 61 67 65 20 66 69 6c 65 6e 61 6d 65 20 66 6f 72 20 52 45 46 2e 22 0a 20 20 28 6c 65 74 2a orage.filename.for.REF."...(let*
164c0 20 28 28 69 64 20 28 65 6c 66 65 65 64 2d 72 65 66 2d 69 64 20 72 65 66 29 29 0a 20 20 20 20 20 .((id.(elfeed-ref-id.ref))......
164e0 20 20 20 20 28 72 6f 6f 74 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 64 61 74 ....(root.(expand-file-name."dat
16500 61 22 20 65 6c 66 65 65 64 2d 64 62 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 a".elfeed-db-directory))........
16520 20 20 28 73 75 62 64 69 72 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 73 75 62 ..(subdir.(expand-file-name.(sub
16540 73 74 72 69 6e 67 20 69 64 20 30 20 32 29 20 72 6f 6f 74 29 29 29 0a 20 20 20 20 28 65 78 70 61 string.id.0.2).root))).....(expa
16560 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 69 64 20 73 75 62 64 69 72 29 29 29 0a 0a 28 63 6c 2d 64 nd-file-name.id.subdir)))..(cl-d
16580 65 66 75 6e 20 65 6c 66 65 65 64 2d 72 65 66 2d 61 72 63 68 69 76 65 2d 66 69 6c 65 6e 61 6d 65 efun.elfeed-ref-archive-filename
165a0 20 28 26 6f 70 74 69 6f 6e 61 6c 20 28 73 75 66 66 69 78 20 22 22 29 29 0a 20 20 22 52 65 74 75 .(&optional.(suffix.""))..."Retu
165c0 72 6e 20 74 68 65 20 62 61 73 65 20 66 69 6c 65 6e 61 6d 65 20 6f 66 20 74 68 65 20 61 72 63 68 rn.the.base.filename.of.the.arch
165e0 69 76 65 20 66 69 6c 65 73 2e 22 0a 20 20 28 63 6f 6e 63 61 74 20 28 65 78 70 61 6e 64 2d 66 69 ive.files."...(concat.(expand-fi
16600 6c 65 2d 6e 61 6d 65 20 22 64 61 74 61 2f 61 72 63 68 69 76 65 22 20 65 6c 66 65 65 64 2d 64 62 le-name."data/archive".elfeed-db
16620 2d 64 69 72 65 63 74 6f 72 79 29 20 73 75 66 66 69 78 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 -directory).suffix))..(defun.elf
16640 65 65 64 2d 72 65 66 2d 61 72 63 68 69 76 65 2d 6c 6f 61 64 20 28 29 0a 20 20 22 4c 6f 61 64 20 eed-ref-archive-load.()..."Load.
16660 74 68 65 20 61 72 63 68 69 76 65 64 20 72 65 66 20 69 6e 64 65 78 2e 22 0a 20 20 28 6c 65 74 20 the.archived.ref.index."...(let.
16680 28 28 61 72 63 68 69 76 65 2d 69 6e 64 65 78 20 28 65 6c 66 65 65 64 2d 72 65 66 2d 61 72 63 68 ((archive-index.(elfeed-ref-arch
166a0 69 76 65 2d 66 69 6c 65 6e 61 6d 65 20 22 2e 69 6e 64 65 78 22 29 29 29 0a 20 20 20 20 28 69 66 ive-filename.".index"))).....(if
166c0 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 61 72 63 68 69 76 65 2d 69 6e 64 65 78 29 0a 20 .(file-exists-p.archive-index)..
166e0 20 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 .......(with-temp-buffer........
16700 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 61 72 63 68 69 76 65 ...(insert-file-contents.archive
16720 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 72 -index)...........(setf.elfeed-r
16740 65 66 2d 61 72 63 68 69 76 65 20 28 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 ef-archive.(read.(current-buffer
16760 29 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 72 65 66 2d 61 72 63 68 )))).......(setf.elfeed-ref-arch
16780 69 76 65 20 3a 65 6d 70 74 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 72 65 ive.:empty))))..(defun.elfeed-re
167a0 66 2d 61 72 63 68 69 76 65 2d 65 6e 73 75 72 65 20 28 29 0a 20 20 22 45 6e 73 75 72 65 20 74 68 f-archive-ensure.()..."Ensure.th
167c0 61 74 20 74 68 65 20 61 72 63 68 69 76 65 20 69 6e 64 65 78 20 69 73 20 6c 6f 61 64 65 64 2e 22 at.the.archive.index.is.loaded."
167e0 0a 20 20 28 77 68 65 6e 20 28 6e 75 6c 6c 20 65 6c 66 65 65 64 2d 72 65 66 2d 61 72 63 68 69 76 ...(when.(null.elfeed-ref-archiv
16800 65 29 20 28 65 6c 66 65 65 64 2d 72 65 66 2d 61 72 63 68 69 76 65 2d 6c 6f 61 64 29 29 29 0a 0a e).(elfeed-ref-archive-load)))..
16820 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 72 65 66 2d 65 78 69 73 74 73 2d 70 20 28 72 65 66 29 (defun.elfeed-ref-exists-p.(ref)
16840 0a 20 20 22 52 65 74 75 72 6e 20 74 72 75 65 20 69 66 20 52 45 46 20 63 61 6e 20 62 65 20 64 65 ..."Return.true.if.REF.can.be.de
16860 72 65 66 65 72 65 6e 63 65 64 2e 22 0a 20 20 28 65 6c 66 65 65 64 2d 72 65 66 2d 61 72 63 68 69 referenced."...(elfeed-ref-archi
16880 76 65 2d 65 6e 73 75 72 65 29 0a 20 20 28 6f 72 20 28 61 6e 64 20 28 68 61 73 68 2d 74 61 62 6c ve-ensure)...(or.(and.(hash-tabl
168a0 65 2d 70 20 65 6c 66 65 65 64 2d 72 65 66 2d 61 72 63 68 69 76 65 29 0a 20 20 20 20 20 20 20 20 e-p.elfeed-ref-archive).........
168c0 20 20 20 28 6e 6f 74 20 28 6e 75 6c 6c 20 28 67 65 74 68 61 73 68 20 28 65 6c 66 65 65 64 2d 72 ...(not.(null.(gethash.(elfeed-r
168e0 65 66 2d 69 64 20 72 65 66 29 20 65 6c 66 65 65 64 2d 72 65 66 2d 61 72 63 68 69 76 65 29 29 29 ef-id.ref).elfeed-ref-archive)))
16900 29 0a 20 20 20 20 20 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 28 65 6c 66 65 65 64 2d 72 ).......(file-exists-p.(elfeed-r
16920 65 66 2d 2d 66 69 6c 65 20 72 65 66 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d ef--file.ref))))..(defun.elfeed-
16940 64 65 72 65 66 20 28 72 65 66 29 0a 20 20 22 46 65 74 63 68 20 74 68 65 20 63 6f 6e 74 65 6e 74 deref.(ref)..."Fetch.the.content
16960 20 62 65 68 69 6e 64 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 2c 20 6f 72 20 6e 69 6c 20 69 66 .behind.the.reference,.or.nil.if
16980 20 6e 6f 6e 2d 65 78 69 73 74 65 6e 74 2e 22 0a 20 20 28 65 6c 66 65 65 64 2d 72 65 66 2d 61 72 .non-existent."...(elfeed-ref-ar
169a0 63 68 69 76 65 2d 65 6e 73 75 72 65 29 0a 20 20 28 69 66 20 28 6e 6f 74 20 28 65 6c 66 65 65 64 chive-ensure)...(if.(not.(elfeed
169c0 2d 72 65 66 2d 70 20 72 65 66 29 29 0a 20 20 20 20 20 20 72 65 66 0a 20 20 20 20 28 6c 65 74 20 -ref-p.ref)).......ref.....(let.
169e0 28 28 69 6e 64 65 78 20 28 61 6e 64 20 28 68 61 73 68 2d 74 61 62 6c 65 2d 70 20 65 6c 66 65 65 ((index.(and.(hash-table-p.elfee
16a00 64 2d 72 65 66 2d 61 72 63 68 69 76 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d-ref-archive)..................
16a20 20 20 20 20 20 28 67 65 74 68 61 73 68 20 28 65 6c 66 65 65 64 2d 72 65 66 2d 69 64 20 72 65 66 .....(gethash.(elfeed-ref-id.ref
16a40 29 20 65 6c 66 65 65 64 2d 72 65 66 2d 61 72 63 68 69 76 65 29 29 29 0a 20 20 20 20 20 20 20 20 ).elfeed-ref-archive))).........
16a60 20 20 28 61 72 63 68 69 76 65 2d 66 69 6c 65 20 28 65 6c 66 65 65 64 2d 72 65 66 2d 61 72 63 68 ..(archive-file.(elfeed-ref-arch
16a80 69 76 65 2d 66 69 6c 65 6e 61 6d 65 20 22 2e 67 7a 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 ive-filename.".gz"))...........(
16aa0 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d 66 6f 72 2d 72 65 61 64 20 27 75 74 66 2d 38 29 29 0a coding-system-for-read.'utf-8)).
16ac0 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 69 6e 64 65 78 20 28 66 69 6c 65 2d 65 78 69 73 74 ......(if.(and.index.(file-exist
16ae0 73 2d 70 20 61 72 63 68 69 76 65 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 s-p.archive-file))...........(pr
16b00 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 75 6c 6c 20 65 6c 66 65 ogn.............(when.(null.elfe
16b20 65 64 2d 72 65 66 2d 63 61 63 68 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 ed-ref-cache)...............(wit
16b40 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 h-temp-buffer.................(i
16b60 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 61 72 63 68 69 76 65 2d 66 69 6c 65 nsert-file-contents.archive-file
16b80 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 72 ).................(setf.elfeed-r
16ba0 65 66 2d 63 61 63 68 65 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 ef-cache.(buffer-string)))......
16bc0 20 20 20 20 20 20 20 20 20 3b 3b 20 43 6c 65 61 72 20 63 61 63 68 65 20 6f 6e 20 6e 65 78 74 20 .........;;.Clear.cache.on.next.
16be0 74 75 72 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 75 6e 2d 61 74 2d 74 69 6d 65 turn................(run-at-time
16c00 20 30 20 6e 69 6c 20 28 6c 61 6d 62 64 61 20 28 29 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 72 .0.nil.(lambda.().(setf.elfeed-r
16c20 65 66 2d 63 61 63 68 65 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 ef-cache.nil)))).............(su
16c40 62 73 74 72 69 6e 67 20 65 6c 66 65 65 64 2d 72 65 66 2d 63 61 63 68 65 20 28 63 61 72 20 69 6e bstring.elfeed-ref-cache.(car.in
16c60 64 65 78 29 20 28 63 64 72 20 69 6e 64 65 78 29 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 dex).(cdr.index))).........(let.
16c80 28 28 66 69 6c 65 20 28 65 6c 66 65 65 64 2d 72 65 66 2d 2d 66 69 6c 65 20 72 65 66 29 29 29 0a ((file.(elfeed-ref--file.ref))).
16ca0 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 66 ..........(when.(file-exists-p.f
16cc0 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 ile).............(with-temp-buff
16ce0 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f er...............(insert-file-co
16d00 6e 74 65 6e 74 73 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 ntents.file)...............(buff
16d20 65 72 2d 73 74 72 69 6e 67 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 er-string))))))))..(defun.elfeed
16d40 2d 72 65 66 20 28 63 6f 6e 74 65 6e 74 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 72 65 66 65 72 -ref.(content)..."Create.a.refer
16d60 65 6e 63 65 20 74 6f 20 43 4f 4e 54 45 4e 54 2c 20 74 6f 20 62 65 20 70 65 72 73 69 73 74 65 6e ence.to.CONTENT,.to.be.persisten
16d80 74 6c 79 20 73 74 6f 72 65 64 2e 22 0a 20 20 28 69 66 20 28 65 6c 66 65 65 64 2d 72 65 66 2d 70 tly.stored."...(if.(elfeed-ref-p
16da0 20 63 6f 6e 74 65 6e 74 29 0a 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 0a 20 20 20 20 28 6c 65 74 .content).......content.....(let
16dc0 2a 20 28 28 69 64 20 28 73 65 63 75 72 65 2d 68 61 73 68 20 27 73 68 61 31 20 28 65 6e 63 6f 64 *.((id.(secure-hash.'sha1.(encod
16de0 65 2d 63 6f 64 69 6e 67 2d 73 74 72 69 6e 67 20 63 6f 6e 74 65 6e 74 20 27 75 74 66 2d 38 20 74 e-coding-string.content.'utf-8.t
16e00 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 65 66 20 28 65 6c 66 65 65 64 2d 72 65 66 2d )))............(ref.(elfeed-ref-
16e20 2d 63 72 65 61 74 65 20 3a 69 64 20 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c -create.:id.id))............(fil
16e40 65 20 28 65 6c 66 65 65 64 2d 72 65 66 2d 2d 66 69 6c 65 20 72 65 66 29 29 29 0a 20 20 20 20 20 e.(elfeed-ref--file.ref)))......
16e60 20 28 70 72 6f 67 31 20 72 65 66 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 6c 66 .(prog1.ref.........(unless.(elf
16e80 65 65 64 2d 72 65 66 2d 65 78 69 73 74 73 2d 70 20 72 65 66 29 0a 20 20 20 20 20 20 20 20 20 20 eed-ref-exists-p.ref)...........
16ea0 28 6d 6b 64 69 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 (mkdir.(file-name-directory.file
16ec0 29 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 64 69 6e 67 2d 73 79 73 ).t)...........(let.((coding-sys
16ee0 74 65 6d 2d 66 6f 72 2d 77 72 69 74 65 20 27 75 74 66 2d 38 29 0a 20 20 20 20 20 20 20 20 20 20 tem-for-write.'utf-8)...........
16f00 20 20 20 20 20 20 3b 3b 20 43 6f 6e 74 65 6e 74 20 64 61 74 61 20 6c 6f 73 73 20 69 73 20 61 20 ......;;.Content.data.loss.is.a.
16f20 74 6f 6c 65 72 61 62 6c 65 20 72 69 73 6b 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tolerable.risk..................
16f40 3b 3b 20 46 73 79 6e 63 20 77 69 6c 6c 20 6f 63 63 75 72 20 73 6f 6f 6e 20 6f 6e 20 69 6e 64 65 ;;.Fsync.will.occur.soon.on.inde
16f60 78 20 77 72 69 74 65 20 61 6e 79 77 61 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 x.write.anyway..................
16f80 28 77 72 69 74 65 2d 72 65 67 69 6f 6e 2d 69 6e 68 69 62 69 74 2d 66 73 79 6e 63 20 74 29 29 0a (write-region-inhibit-fsync.t)).
16fa0 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 20 66 69 6c 65 ............(with-temp-file.file
16fc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 63 6f 6e 74 65 6e 74 29 29 ...............(insert.content))
16fe0 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 64 65 72 65 66 2d 65 6e 74 72 ))))))..(defun.elfeed-deref-entr
17000 79 20 28 65 6e 74 72 79 29 0a 20 20 22 4d 6f 76 65 20 45 4e 54 52 59 27 73 20 63 6f 6e 74 65 6e y.(entry)..."Move.ENTRY's.conten
17020 74 20 74 6f 20 66 69 6c 65 73 79 73 74 65 6d 20 73 74 6f 72 61 67 65 2e 20 52 65 74 75 72 6e 20 t.to.filesystem.storage..Return.
17040 74 68 65 20 65 6e 74 72 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 6f 6e 74 65 6e 74 20 28 65 6c the.entry."...(let.((content.(el
17060 66 65 65 64 2d 65 6e 74 72 79 2d 63 6f 6e 74 65 6e 74 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 feed-entry-content.entry))).....
17080 28 70 72 6f 67 31 20 65 6e 74 72 79 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 (prog1.entry.......(when.(string
170a0 70 20 63 6f 6e 74 65 6e 74 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 65 6c 66 65 65 64 p.content).........(setf.(elfeed
170c0 2d 65 6e 74 72 79 2d 63 6f 6e 74 65 6e 74 20 65 6e 74 72 79 29 20 28 65 6c 66 65 65 64 2d 72 65 -entry-content.entry).(elfeed-re
170e0 66 20 63 6f 6e 74 65 6e 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 72 f.content))))))..(defun.elfeed-r
17100 65 66 2d 64 65 6c 65 74 65 20 28 72 65 66 29 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 63 6f ef-delete.(ref)..."Remove.the.co
17120 6e 74 65 6e 74 20 62 65 68 69 6e 64 20 52 45 46 20 66 72 6f 6d 20 74 68 65 20 64 61 74 61 62 61 ntent.behind.REF.from.the.databa
17140 73 65 2e 22 0a 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 28 64 65 6c 65 74 se."...(ignore-errors.....(delet
17160 65 2d 66 69 6c 65 20 28 65 6c 66 65 65 64 2d 72 65 66 2d 2d 66 69 6c 65 20 72 65 66 29 29 29 29 e-file.(elfeed-ref--file.ref))))
17180 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 64 62 2d 67 63 2d 65 6d 70 74 79 2d 66 65 65 64 ..(defun.elfeed-db-gc-empty-feed
171a0 73 20 28 29 0a 20 20 22 52 65 6d 6f 76 65 20 66 65 65 64 73 20 77 69 74 68 20 6e 6f 20 65 6e 74 s.()..."Remove.feeds.with.no.ent
171c0 72 69 65 73 20 66 72 6f 6d 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 22 0a 20 20 28 6c 65 74 20 ries.from.the.database."...(let.
171e0 28 28 73 65 65 6e 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 ((seen.(make-hash-table.:test.'e
17200 71 75 61 6c 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 65 6c 66 65 65 64 2d 64 62 2d 76 69 73 69 qual))).....(with-elfeed-db-visi
17220 74 20 28 65 6e 74 72 79 20 66 65 65 64 29 0a 20 20 20 20 20 20 28 73 65 74 66 20 28 67 65 74 68 t.(entry.feed).......(setf.(geth
17240 61 73 68 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 69 64 20 66 65 65 64 29 20 73 65 65 6e 29 20 ash.(elfeed-feed-id.feed).seen).
17260 66 65 65 64 29 29 0a 20 20 20 20 28 6d 61 70 68 61 73 68 20 28 6c 61 6d 62 64 61 20 28 69 64 20 feed)).....(maphash.(lambda.(id.
17280 5f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 67 65 74 68 61 _)................(unless.(getha
172a0 73 68 20 69 64 20 73 65 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 sh.id.seen)..................(re
172c0 6d 68 61 73 68 20 69 64 20 65 6c 66 65 65 64 2d 64 62 2d 66 65 65 64 73 29 29 29 0a 20 20 20 20 mhash.id.elfeed-db-feeds))).....
172e0 20 20 20 20 20 20 20 20 20 65 6c 66 65 65 64 2d 64 62 2d 66 65 65 64 73 29 29 29 0a 0a 28 64 65 .........elfeed-db-feeds)))..(de
17300 66 75 6e 20 65 6c 66 65 65 64 2d 64 62 2d 67 63 20 28 26 6f 70 74 69 6f 6e 61 6c 20 73 74 61 74 fun.elfeed-db-gc.(&optional.stat
17320 73 2d 70 29 0a 20 20 22 43 6c 65 61 6e 20 75 70 20 75 6e 75 73 65 64 20 63 6f 6e 74 65 6e 74 20 s-p)..."Clean.up.unused.content.
17340 66 72 6f 6d 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 64 61 74 61 62 61 73 65 2e 0a 49 66 20 53 54 from.the.content.database..If.ST
17360 41 54 53 20 69 73 20 74 72 75 65 2c 20 72 65 74 75 72 6e 20 74 68 65 20 73 70 61 63 65 20 63 6c ATS.is.true,.return.the.space.cl
17380 65 61 72 65 64 20 69 6e 20 62 79 74 65 73 2e 22 0a 20 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 63 eared.in.bytes."...(elfeed-db-gc
173a0 2d 65 6d 70 74 79 2d 66 65 65 64 73 29 0a 20 20 28 6c 65 74 2a 20 28 28 64 61 74 61 20 28 65 78 -empty-feeds)...(let*.((data.(ex
173c0 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 64 61 74 61 22 20 65 6c 66 65 65 64 2d 64 62 2d pand-file-name."data".elfeed-db-
173e0 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 69 72 73 20 28 64 69 72 65 directory))..........(dirs.(dire
17400 63 74 6f 72 79 2d 66 69 6c 65 73 20 64 61 74 61 20 74 20 22 5e 5b 30 2d 39 61 2d 7a 5d 5c 5c 7b ctory-files.data.t."^[0-9a-z]\\{
17420 32 5c 5c 7d 24 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 64 73 20 28 63 6c 2d 6d 61 70 63 61 2\\}$"))..........(ids.(cl-mapca
17440 6e 20 28 6c 61 6d 62 64 61 20 28 64 29 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 64 n.(lambda.(d).(directory-files.d
17460 20 6e 69 6c 20 6e 69 6c 20 74 29 29 20 64 69 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 61 .nil.nil.t)).dirs))..........(ta
17480 62 6c 65 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 75 61 ble.(make-hash-table.:test.'equa
174a0 6c 29 29 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 69 64 20 69 64 73 29 0a 20 20 20 20 20 20 l))).....(dolist.(id.ids).......
174c0 28 73 65 74 66 20 28 67 65 74 68 61 73 68 20 69 64 20 74 61 62 6c 65 29 20 6e 69 6c 29 29 0a 20 (setf.(gethash.id.table).nil))..
174e0 20 20 20 28 77 69 74 68 2d 65 6c 66 65 65 64 2d 64 62 2d 76 69 73 69 74 20 28 65 6e 74 72 79 20 ...(with-elfeed-db-visit.(entry.
17500 5f 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 6e 74 65 6e 74 20 28 65 6c 66 65 65 64 2d _).......(let.((content.(elfeed-
17520 65 6e 74 72 79 2d 63 6f 6e 74 65 6e 74 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 28 entry-content.entry))).........(
17540 77 68 65 6e 20 28 65 6c 66 65 65 64 2d 72 65 66 2d 70 20 63 6f 6e 74 65 6e 74 29 0a 20 20 20 20 when.(elfeed-ref-p.content).....
17560 20 20 20 20 20 20 28 73 65 74 66 20 28 67 65 74 68 61 73 68 20 28 65 6c 66 65 65 64 2d 72 65 66 ......(setf.(gethash.(elfeed-ref
17580 2d 69 64 20 63 6f 6e 74 65 6e 74 29 20 74 61 62 6c 65 29 20 74 29 29 29 29 0a 20 20 20 20 28 63 -id.content).table).t)))).....(c
175a0 6c 2d 6c 6f 6f 70 20 66 6f 72 20 69 64 20 68 61 73 68 2d 6b 65 79 73 20 6f 66 20 74 61 62 6c 65 l-loop.for.id.hash-keys.of.table
175c0 20 75 73 69 6e 67 20 28 68 61 73 68 2d 76 61 6c 75 65 20 75 73 65 64 29 0a 20 20 20 20 20 20 20 .using.(hash-value.used)........
175e0 20 20 20 20 20 20 66 6f 72 20 75 73 65 64 2d 70 20 3d 20 28 6f 72 20 75 73 65 64 20 28 6d 65 6d ......for.used-p.=.(or.used.(mem
17600 62 65 72 20 69 64 20 27 28 22 2e 22 20 22 2e 2e 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ber.id.'("."."..")))............
17620 20 20 77 68 65 6e 20 28 61 6e 64 20 28 6e 6f 74 20 75 73 65 64 2d 70 29 20 73 74 61 74 73 2d 70 ..when.(and.(not.used-p).stats-p
17640 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 73 75 6d 20 28 6c 65 74 2a 20 28 28 72 65 66 20 28 )..............sum.(let*.((ref.(
17660 65 6c 66 65 65 64 2d 72 65 66 2d 2d 63 72 65 61 74 65 20 3a 69 64 20 69 64 29 29 0a 20 20 20 20 elfeed-ref--create.:id.id)).....
17680 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 65 6c 66 65 65 ....................(file.(elfee
176a0 64 2d 72 65 66 2d 2d 66 69 6c 65 20 72 65 66 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 d-ref--file.ref)))..............
176c0 20 20 20 20 20 20 28 2a 20 31 2e 30 20 28 6e 74 68 20 37 20 28 66 69 6c 65 2d 61 74 74 72 69 62 ......(*.1.0.(nth.7.(file-attrib
176e0 75 74 65 73 20 66 69 6c 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 6c 65 73 utes.file))))..............unles
17700 73 20 75 73 65 64 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 65 6c 66 65 65 64 s.used-p..............do.(elfeed
17720 2d 72 65 66 2d 64 65 6c 65 74 65 20 28 65 6c 66 65 65 64 2d 72 65 66 2d 2d 63 72 65 61 74 65 20 -ref-delete.(elfeed-ref--create.
17740 3a 69 64 20 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 28 63 :id.id))..............finally.(c
17760 6c 2d 6c 6f 6f 70 20 66 6f 72 20 64 69 72 20 69 6e 20 64 69 72 73 0a 20 20 20 20 20 20 20 20 20 l-loop.for.dir.in.dirs..........
17780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 28 65 6c 66 65 65 .....................when.(elfee
177a0 64 2d 64 69 72 65 63 74 6f 72 79 2d 65 6d 70 74 79 2d 70 20 64 69 72 29 0a 20 20 20 20 20 20 20 d-directory-empty-p.dir)........
177c0 20 20 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 64 65 6c 65 74 .......................do.(delet
177e0 65 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 e-directory.dir)))))..(defun.elf
17800 65 65 64 2d 64 62 2d 70 61 63 6b 20 28 29 0a 20 20 22 50 61 63 6b 20 61 6c 6c 20 63 6f 6e 74 65 eed-db-pack.()..."Pack.all.conte
17820 6e 74 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 61 72 63 68 69 76 65 20 66 6f 72 20 65 66 66 nt.into.a.single.archive.for.eff
17840 69 63 69 65 6e 74 20 73 74 6f 72 61 67 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 6f 64 69 6e 67 icient.storage."...(let.((coding
17860 2d 73 79 73 74 65 6d 2d 66 6f 72 2d 77 72 69 74 65 20 27 75 74 66 2d 38 29 0a 20 20 20 20 20 20 -system-for-write.'utf-8).......
17880 20 20 28 6e 65 78 74 2d 61 72 63 68 69 76 65 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 ..(next-archive.(make-hash-table
178a0 20 3a 74 65 73 74 20 27 65 71 75 61 6c 29 29 0a 20 20 20 20 20 20 20 20 28 70 61 63 6b 65 64 20 .:test.'equal)).........(packed.
178c0 28 29 29 29 0a 20 20 20 20 28 6d 61 6b 65 2d 64 69 72 65 63 74 6f 72 79 20 28 65 78 70 61 6e 64 ())).....(make-directory.(expand
178e0 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 64 61 74 61 22 20 65 6c 66 65 65 64 2d 64 62 2d 64 69 72 65 -file-name."data".elfeed-db-dire
17900 63 74 6f 72 79 29 20 74 29 0a 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 20 28 65 ctory).t).....(with-temp-file.(e
17920 6c 66 65 65 64 2d 72 65 66 2d 61 72 63 68 69 76 65 2d 66 69 6c 65 6e 61 6d 65 20 22 2e 67 7a 22 lfeed-ref-archive-filename.".gz"
17940 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 65 6c 66 65 65 64 2d 64 62 2d 76 69 73 69 74 20 28 65 ).......(with-elfeed-db-visit.(e
17960 6e 74 72 79 20 5f 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 65 66 20 28 65 6c 66 65 ntry._).........(let.((ref.(elfe
17980 65 64 2d 65 6e 74 72 79 2d 63 6f 6e 74 65 6e 74 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 ed-entry-content.entry))........
179a0 20 20 20 20 20 20 20 28 73 74 61 72 74 20 28 31 2d 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 .......(start.(1-.(point))))....
179c0 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 6c 66 65 65 64 2d 72 65 66 2d 70 20 72 65 66 29 0a .......(when.(elfeed-ref-p.ref).
179e0 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 28 65 6c 66 65 ............(let.((content.(elfe
17a00 65 64 2d 64 65 72 65 66 20 72 65 66 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 ed-deref.ref)))...............(w
17a20 68 65 6e 20 63 6f 6e 74 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 hen.content.................(pus
17a40 68 20 72 65 66 20 70 61 63 6b 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 h.ref.packed).................(i
17a60 6e 73 65 72 74 20 63 6f 6e 74 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 nsert.content).................(
17a80 73 65 74 66 20 28 67 65 74 68 61 73 68 20 28 65 6c 66 65 65 64 2d 72 65 66 2d 69 64 20 72 65 66 setf.(gethash.(elfeed-ref-id.ref
17aa0 29 20 6e 65 78 74 2d 61 72 63 68 69 76 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).next-archive).................
17ac0 20 20 20 20 20 20 28 63 6f 6e 73 20 73 74 61 72 74 20 28 31 2d 20 28 70 6f 69 6e 74 29 29 29 29 ......(cons.start.(1-.(point))))
17ae0 29 29 29 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 20 28 65 6c 66 65 )))))).....(with-temp-file.(elfe
17b00 65 64 2d 72 65 66 2d 61 72 63 68 69 76 65 2d 66 69 6c 65 6e 61 6d 65 20 22 2e 69 6e 64 65 78 22 ed-ref-archive-filename.".index"
17b20 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 74 61 6e 64 61 72 64 2d 6f 75 74 70 75 74 20 28 ).......(let.((standard-output.(
17b40 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 current-buffer)).............(pr
17b60 69 6e 74 2d 6c 65 76 65 6c 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e int-level.nil).............(prin
17b80 74 2d 6c 65 6e 67 74 68 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 74 t-length.nil).............(print
17ba0 2d 63 69 72 63 6c 65 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 69 6e 31 20 6e 65 78 -circle.nil)).........(prin1.nex
17bc0 74 2d 61 72 63 68 69 76 65 29 29 29 0a 20 20 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 72 65 t-archive))).....(setf.elfeed-re
17be0 66 2d 63 61 63 68 65 20 6e 69 6c 29 0a 20 20 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 72 65 f-cache.nil).....(setf.elfeed-re
17c00 66 2d 61 72 63 68 69 76 65 20 6e 65 78 74 2d 61 72 63 68 69 76 65 29 0a 20 20 20 20 28 6d 61 70 f-archive.next-archive).....(map
17c20 63 20 23 27 65 6c 66 65 65 64 2d 72 65 66 2d 64 65 6c 65 74 65 20 70 61 63 6b 65 64 29 0a 20 20 c.#'elfeed-ref-delete.packed)...
17c40 20 20 3a 73 75 63 63 65 73 73 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 64 62 2d 63 ..:success))..(defun.elfeed-db-c
17c60 6f 6d 70 61 63 74 20 28 29 0a 20 20 22 4d 69 6e 69 6d 69 7a 65 20 74 68 65 20 45 6c 66 65 65 64 ompact.()..."Minimize.the.Elfeed
17c80 20 64 61 74 61 62 61 73 65 20 73 74 6f 72 61 67 65 20 73 69 7a 65 20 6f 6e 20 74 68 65 20 66 69 .database.storage.size.on.the.fi
17ca0 6c 65 73 79 73 74 65 6d 2e 0a 54 68 69 73 20 72 65 71 75 69 72 65 73 20 74 68 61 74 20 61 75 74 lesystem..This.requires.that.aut
17cc0 6f 2d 63 6f 6d 70 72 65 73 73 69 6f 6e 2d 6d 6f 64 65 20 63 61 6e 20 68 61 6e 64 6c 65 0a 67 7a o-compression-mode.can.handle.gz
17ce0 69 70 2d 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 2c 20 73 6f 20 74 68 65 20 67 7a 69 70 ip-compressed.files,.so.the.gzip
17d00 20 70 72 6f 67 72 61 6d 20 6d 75 73 74 20 62 65 20 69 6e 20 79 6f 75 72 20 50 41 54 48 2e 22 0a .program.must.be.in.your.PATH.".
17d20 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 65 6c 66 65 65 ..(interactive)...(unless.(elfee
17d40 64 2d 67 7a 69 70 2d 73 75 70 70 6f 72 74 65 64 2d 70 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 d-gzip-supported-p).....(error."
17d60 61 62 6f 72 74 69 6e 67 20 63 6f 6d 70 61 63 74 69 6f 6e 3a 20 67 7a 69 70 20 61 75 74 6f 2d 63 aborting.compaction:.gzip.auto-c
17d80 6f 6d 70 72 65 73 73 69 6f 6e 2d 6d 6f 64 65 20 75 6e 73 75 70 70 6f 72 74 65 64 22 29 29 0a 20 ompression-mode.unsupported"))..
17da0 20 28 65 6c 66 65 65 64 2d 64 62 2d 70 61 63 6b 29 0a 20 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 .(elfeed-db-pack)...(elfeed-db-g
17dc0 63 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 64 62 2d 67 63 2d 73 61 66 65 20 28 29 c))..(defun.elfeed-db-gc-safe.()
17de0 0a 20 20 22 52 75 6e 20 60 65 6c 66 65 65 64 2d 64 62 2d 67 63 27 20 77 69 74 68 6f 75 74 20 74 ..."Run.`elfeed-db-gc'.without.t
17e00 72 69 67 67 65 72 69 6e 67 20 61 6e 79 20 65 72 72 6f 72 73 2c 20 66 6f 72 20 75 73 65 20 61 73 riggering.any.errors,.for.use.as
17e20 20 61 20 73 61 66 65 20 68 6f 6f 6b 2e 22 0a 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 .a.safe.hook."...(ignore-errors.
17e40 28 65 6c 66 65 65 64 2d 64 62 2d 67 63 29 29 29 0a 0a 28 75 6e 6c 65 73 73 20 6e 6f 6e 69 6e 74 (elfeed-db-gc)))..(unless.nonint
17e60 65 72 61 63 74 69 76 65 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6b 69 6c 6c 2d 65 6d 61 63 73 eractive...(add-hook.'kill-emacs
17e80 2d 68 6f 6f 6b 20 23 27 65 6c 66 65 65 64 2d 64 62 2d 67 63 2d 73 61 66 65 20 3a 61 70 70 65 6e -hook.#'elfeed-db-gc-safe.:appen
17ea0 64 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6b 69 6c 6c 2d 65 6d 61 63 73 2d 68 6f 6f 6b 20 d)...(add-hook.'kill-emacs-hook.
17ec0 23 27 65 6c 66 65 65 64 2d 64 62 2d 73 61 76 65 2d 73 61 66 65 29 29 0a 0a 28 70 72 6f 76 69 64 #'elfeed-db-save-safe))..(provid
17ee0 65 20 27 65 6c 66 65 65 64 2d 64 62 29 0a 0a 3b 3b 3b 20 65 6c 66 65 65 64 2d 64 62 2e 65 6c 20 e.'elfeed-db)..;;;.elfeed-db.el.
17f00 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ends.here.......................
17f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18000 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2e 65 6c 00 00 elfeed-20240331.1348/elfeed.el..
18020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18060 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
18080 30 30 36 36 36 33 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 30 31 36 00 20 30 00 00 00 0066632.00000000000.014016..0...
180a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
180c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
180e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18100 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...................
18120 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...................
18140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
181a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
181c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
181e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18200 3b 3b 3b 20 65 6c 66 65 65 64 2e 65 6c 20 2d 2d 2d 20 61 6e 20 45 6d 61 63 73 20 41 74 6f 6d 2f ;;;.elfeed.el.---.an.Emacs.Atom/
18220 52 53 53 20 66 65 65 64 20 72 65 61 64 65 72 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 RSS.feed.reader.-*-.lexical-bind
18240 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 66 72 65 65 20 61 6e 64 ing:.t;.-*-..;;.This.is.free.and
18260 20 75 6e 65 6e 63 75 6d 62 65 72 65 64 20 73 6f 66 74 77 61 72 65 20 72 65 6c 65 61 73 65 64 20 .unencumbered.software.released.
18280 69 6e 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2e 0a 0a 3b 3b 20 41 75 74 68 into.the.public.domain...;;.Auth
182a0 6f 72 3a 20 43 68 72 69 73 74 6f 70 68 65 72 20 57 65 6c 6c 6f 6e 73 20 3c 77 65 6c 6c 6f 6e 73 or:.Christopher.Wellons.<wellons
182c0 40 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a @nullprogram.com>.;;.URL:.https:
182e0 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 6b 65 65 74 6f 2f 65 6c 66 65 65 64 0a 0a 3b 3b 3b 20 //github.com/skeeto/elfeed..;;;.
18300 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 45 6c 66 65 65 64 20 69 73 20 61 20 77 65 62 20 Commentary:..;;.Elfeed.is.a.web.
18320 66 65 65 64 20 63 6c 69 65 6e 74 20 66 6f 72 20 45 6d 61 63 73 2c 20 69 6e 73 70 69 72 65 64 20 feed.client.for.Emacs,.inspired.
18340 62 79 20 6e 6f 74 6d 75 63 68 2e 20 53 65 65 0a 3b 3b 20 74 68 65 20 52 45 41 44 4d 45 20 66 6f by.notmuch..See.;;.the.README.fo
18360 72 20 66 75 6c 6c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a r.full.documentation...;;;.Code:
18380 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 72 65 20 27 78 6d ..(require.'cl-lib).(require.'xm
183a0 6c 29 0a 28 72 65 71 75 69 72 65 20 27 78 6d 6c 2d 71 75 65 72 79 29 0a 28 72 65 71 75 69 72 65 l).(require.'xml-query).(require
183c0 20 27 75 72 6c 2d 70 61 72 73 65 29 0a 28 72 65 71 75 69 72 65 20 27 75 72 6c 2d 71 75 65 75 65 .'url-parse).(require.'url-queue
183e0 29 0a 0a 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 64 2d 64 62 29 0a 28 72 65 71 75 69 72 65 )..(require.'elfeed-db).(require
18400 20 27 65 6c 66 65 65 64 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 64 2d 6c .'elfeed-lib).(require.'elfeed-l
18420 6f 67 29 0a 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 64 2d 63 75 72 6c 29 0a 0a 3b 3b 20 49 og).(require.'elfeed-curl)..;;.I
18440 6e 74 65 72 66 61 63 65 20 74 6f 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 20 28 6c 61 7a 79 20 nterface.to.elfeed-search.(lazy.
18460 72 65 71 75 69 72 65 64 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 65 6c 66 65 required).(declare-function.elfe
18480 65 64 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 20 ed-search-buffer.'elfeed-search.
184a0 28 29 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 65 6c 66 65 65 64 2d 73 65 61 ()).(declare-function.elfeed-sea
184c0 72 63 68 2d 6d 6f 64 65 20 20 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 20 28 29 29 0a 0a 28 rch-mode...'elfeed-search.())..(
184e0 64 65 66 67 72 6f 75 70 20 65 6c 66 65 65 64 20 28 29 0a 20 20 22 41 6e 20 45 6d 61 63 73 20 77 defgroup.elfeed.()..."An.Emacs.w
18500 65 62 20 66 65 65 64 20 72 65 61 64 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 6f 6d 6d 29 eb.feed.reader."...:group.'comm)
18520 0a 0a 28 64 65 66 63 6f 6e 73 74 20 65 6c 66 65 65 64 2d 76 65 72 73 69 6f 6e 20 22 33 2e 34 2e ..(defconst.elfeed-version."3.4.
18540 31 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 66 65 65 64 73 20 28 29 0a 1")..(defcustom.elfeed-feeds.().
18560 20 20 22 4c 69 73 74 20 6f 66 20 61 6c 6c 20 66 65 65 64 73 20 74 68 61 74 20 45 6c 66 65 65 64 .."List.of.all.feeds.that.Elfeed
18580 20 73 68 6f 75 6c 64 20 66 6f 6c 6c 6f 77 2e 0a 59 6f 75 20 6d 75 73 74 20 61 64 64 20 79 6f 75 .should.follow..You.must.add.you
185a0 72 20 66 65 65 64 73 20 74 6f 20 74 68 69 73 20 6c 69 73 74 2e 0a 0a 49 6e 20 69 74 73 20 73 69 r.feeds.to.this.list...In.its.si
185c0 6d 70 6c 65 73 74 20 66 6f 72 6d 20 74 68 69 73 20 77 69 6c 6c 20 62 65 20 61 20 6c 69 73 74 20 mplest.form.this.will.be.a.list.
185e0 6f 66 20 73 74 72 69 6e 67 73 20 6f 66 20 66 65 65 64 20 55 52 4c 73 2e 0a 49 74 65 6d 73 20 69 of.strings.of.feed.URLs..Items.i
18600 6e 20 74 68 69 73 20 6c 69 73 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 6c 69 73 74 20 77 68 6f n.this.list.can.also.be.list.who
18620 73 65 20 63 61 72 20 69 73 20 74 68 65 20 66 65 65 64 20 55 52 4c 0a 61 6e 64 20 63 64 72 20 69 se.car.is.the.feed.URL.and.cdr.i
18640 73 20 61 20 6c 69 73 74 20 6f 66 20 73 79 6d 62 6f 6c 73 20 74 6f 20 62 65 20 61 70 70 6c 69 65 s.a.list.of.symbols.to.be.applie
18660 64 20 74 6f 20 61 6c 6c 20 64 69 73 63 6f 76 65 72 65 64 0a 65 6e 74 72 69 65 73 20 61 73 20 74 d.to.all.discovered.entries.as.t
18680 61 67 73 20 28 5c 22 61 75 74 6f 74 61 67 73 5c 22 29 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c ags.(\"autotags\")..For.example,
186a0 0a 0a 20 20 28 73 65 74 71 20 65 6c 66 65 65 64 2d 66 65 65 64 73 20 5c 5c 3d 27 28 5c 22 68 74 ....(setq.elfeed-feeds.\\='(\"ht
186c0 74 70 3a 2f 2f 66 6f 6f 2f 5c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tp://foo/\".....................
186e0 20 20 20 5c 22 68 74 74 70 3a 2f 2f 62 61 72 2f 5c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...\"http://bar/\"..............
18700 20 20 20 20 20 20 20 20 20 20 28 5c 22 68 74 74 70 3a 2f 2f 62 61 7a 2f 5c 22 20 63 6f 6d 69 63 ..........(\"http://baz/\".comic
18720 29 29 29 0a 0a 41 6c 6c 20 65 6e 74 72 69 65 73 20 66 72 6f 6d 20 74 68 65 20 5c 22 62 61 7a 5c )))..All.entries.from.the.\"baz\
18740 22 20 66 65 65 64 20 77 69 6c 6c 20 62 65 20 74 61 67 67 65 64 20 61 73 20 5c 22 63 6f 6d 69 63 ".feed.will.be.tagged.as.\"comic
18760 5c 22 0a 77 68 65 6e 20 74 68 65 79 20 61 72 65 20 66 69 72 73 74 20 64 69 73 63 6f 76 65 72 65 \".when.they.are.first.discovere
18780 64 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 20 27 28 72 d."...:group.'elfeed...:type.'(r
187a0 65 70 65 61 74 20 28 63 68 6f 69 63 65 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 epeat.(choice.string............
187c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 73 74 72 69 6e 67 20 28 72 65 70 65 ..............(cons.string.(repe
187e0 61 74 20 73 79 6d 62 6f 6c 29 29 29 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 at.symbol)))))..(defcustom.elfee
18800 64 2d 66 65 65 64 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 27 28 65 6c 66 65 65 64 2d 67 65 74 2d d-feed-functions...'(elfeed-get-
18820 6c 69 6e 6b 2d 61 74 2d 70 6f 69 6e 74 0a 20 20 20 20 65 6c 66 65 65 64 2d 67 65 74 2d 75 72 6c link-at-point.....elfeed-get-url
18840 2d 61 74 2d 70 6f 69 6e 74 0a 20 20 20 20 65 6c 66 65 65 64 2d 63 6c 69 70 62 6f 61 72 64 2d 67 -at-point.....elfeed-clipboard-g
18860 65 74 29 0a 20 20 22 4c 69 73 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 75 73 65 20 et)..."List.of.functions.to.use.
18880 74 6f 20 67 65 74 20 70 6f 73 73 69 62 6c 65 20 66 65 65 64 73 20 66 6f 72 20 60 65 6c 66 65 65 to.get.possible.feeds.for.`elfee
188a0 64 2d 61 64 64 2d 66 65 65 64 27 2e 0a 45 61 63 68 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c d-add-feed'..Each.function.shoul
188c0 64 20 61 63 63 65 70 74 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2c 20 61 6e 64 20 72 65 74 75 72 d.accept.no.arguments,.and.retur
188e0 6e 20 61 20 73 74 72 69 6e 67 20 6f 72 20 6e 69 6c 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c n.a.string.or.nil."...:group.'el
18900 66 65 65 64 0a 20 20 3a 74 79 70 65 20 27 68 6f 6f 6b 0a 20 20 3a 6f 70 74 69 6f 6e 73 20 27 28 feed...:type.'hook...:options.'(
18920 65 6c 66 65 65 64 2d 67 65 74 2d 6c 69 6e 6b 2d 61 74 2d 70 6f 69 6e 74 0a 20 20 20 20 20 20 20 elfeed-get-link-at-point........
18940 20 20 20 20 20 20 65 6c 66 65 65 64 2d 67 65 74 2d 75 72 6c 2d 61 74 2d 70 6f 69 6e 74 0a 20 20 ......elfeed-get-url-at-point...
18960 20 20 20 20 20 20 20 20 20 20 20 65 6c 66 65 65 64 2d 63 6c 69 70 62 6f 61 72 64 2d 67 65 74 29 ...........elfeed-clipboard-get)
18980 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 75 73 65 2d 63 75 72 6c 0a 20 20 )..(defcustom.elfeed-use-curl...
189a0 28 6e 6f 74 20 28 6e 75 6c 6c 20 28 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 20 65 6c 66 65 (not.(null.(executable-find.elfe
189c0 65 64 2d 63 75 72 6c 2d 70 72 6f 67 72 61 6d 2d 6e 61 6d 65 29 29 29 0a 20 20 22 49 66 20 6e 6f ed-curl-program-name)))..."If.no
189e0 6e 2d 6e 69 6c 2c 20 66 65 74 63 68 20 66 65 65 64 73 20 75 73 69 6e 67 20 63 75 72 6c 20 69 6e n-nil,.fetch.feeds.using.curl.in
18a00 73 74 65 61 64 20 6f 66 20 60 75 72 6c 2d 72 65 74 72 69 65 76 65 27 2e 22 0a 20 20 3a 67 72 6f stead.of.`url-retrieve'."...:gro
18a20 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 up.'elfeed...:type.'boolean)..(d
18a40 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 75 73 65 72 2d 61 67 65 6e 74 20 28 66 6f 72 6d efcustom.elfeed-user-agent.(form
18a60 61 74 20 22 45 6d 61 63 73 20 45 6c 66 65 65 64 20 25 73 22 20 65 6c 66 65 65 64 2d 76 65 72 73 at."Emacs.Elfeed.%s".elfeed-vers
18a80 69 6f 6e 29 0a 20 20 22 55 73 65 72 20 61 67 65 6e 74 20 73 74 72 69 6e 67 20 74 6f 20 75 73 65 ion)..."User.agent.string.to.use
18aa0 20 66 6f 72 20 45 6c 66 65 65 64 20 28 72 65 71 75 69 72 65 73 20 60 65 6c 66 65 65 64 2d 75 73 .for.Elfeed.(requires.`elfeed-us
18ac0 65 2d 63 75 72 6c 27 29 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 e-curl')."...:group.'elfeed...:t
18ae0 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 65 6c 66 65 65 64 2d ype.'string)..(defcustom.elfeed-
18b00 69 6e 69 74 69 61 6c 2d 74 61 67 73 20 27 28 75 6e 72 65 61 64 29 0a 20 20 22 49 6e 69 74 69 61 initial-tags.'(unread)..."Initia
18b20 6c 20 74 61 67 73 20 66 6f 72 20 6e 65 77 20 65 6e 74 72 69 65 73 2e 22 0a 20 20 3a 67 72 6f 75 l.tags.for.new.entries."...:grou
18b40 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 20 27 28 72 65 70 65 61 74 20 73 79 6d 62 6f p.'elfeed...:type.'(repeat.symbo
18b60 6c 29 29 0a 0a 3b 3b 20 46 65 74 63 68 69 6e 67 3a 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 l))..;;.Fetching:..(defvar.elfee
18b80 64 2d 68 74 74 70 2d 65 72 72 6f 72 2d 68 6f 6f 6b 73 20 28 29 0a 20 20 22 48 6f 6f 6b 73 20 74 d-http-error-hooks.()..."Hooks.t
18ba0 6f 20 72 75 6e 20 77 68 65 6e 20 61 6e 20 68 74 74 70 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 72 o.run.when.an.http.connection.er
18bc0 72 6f 72 20 6f 63 63 75 72 73 2e 0a 49 74 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 32 20 ror.occurs..It.is.called.with.2.
18be0 61 72 67 75 6d 65 6e 74 73 2e 20 54 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 69 73 arguments..The.first.argument.is
18c00 20 74 68 65 20 75 72 6c 20 6f 66 0a 74 68 65 20 66 61 69 6c 69 6e 67 20 66 65 65 64 2e 20 54 68 .the.url.of.the.failing.feed..Th
18c20 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 68 74 74 70 20 73 74 e.second.argument.is.the.http.st
18c40 61 74 75 73 20 63 6f 64 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 70 61 72 atus.code.")..(defvar.elfeed-par
18c60 73 65 2d 65 72 72 6f 72 2d 68 6f 6f 6b 73 20 28 29 0a 20 20 22 48 6f 6f 6b 73 20 74 6f 20 72 75 se-error-hooks.()..."Hooks.to.ru
18c80 6e 20 77 68 65 6e 20 61 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 73 20 64 75 72 69 6e 67 20 74 68 n.when.an.error.occurs.during.th
18ca0 65 20 70 61 72 73 69 6e 67 20 6f 66 20 61 20 66 65 65 64 2e 0a 49 74 20 69 73 20 63 61 6c 6c 65 e.parsing.of.a.feed..It.is.calle
18cc0 64 20 77 69 74 68 20 32 20 61 72 67 75 6d 65 6e 74 73 2e 20 54 68 65 20 66 69 72 73 74 20 61 72 d.with.2.arguments..The.first.ar
18ce0 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 75 72 6c 20 6f 66 0a 74 68 65 20 66 61 69 6c 69 6e 67 gument.is.the.url.of.the.failing
18d00 20 66 65 65 64 2e 20 54 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 .feed..The.second.argument.is.th
18d20 65 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 e.error.message..")..(defvar.elf
18d40 65 65 64 2d 75 70 64 61 74 65 2d 68 6f 6f 6b 73 20 28 29 0a 20 20 22 48 6f 6f 6b 73 20 74 6f 20 eed-update-hooks.()..."Hooks.to.
18d60 72 75 6e 20 61 6e 79 20 74 69 6d 65 20 61 20 66 65 65 64 20 75 70 64 61 74 65 20 68 61 73 20 63 run.any.time.a.feed.update.has.c
18d80 6f 6d 70 6c 65 74 65 64 20 61 20 72 65 71 75 65 73 74 2e 0a 49 74 20 69 73 20 63 61 6c 6c 65 64 ompleted.a.request..It.is.called
18da0 20 77 69 74 68 20 31 20 61 72 67 75 6d 65 6e 74 3a 20 74 68 65 20 55 52 4c 20 6f 66 20 74 68 65 .with.1.argument:.the.URL.of.the
18dc0 20 66 65 65 64 20 74 68 61 74 20 77 61 73 20 6a 75 73 74 0a 75 70 64 61 74 65 64 2e 20 54 68 65 .feed.that.was.just.updated..The
18de0 20 68 6f 6f 6b 20 69 73 20 63 61 6c 6c 65 64 20 65 76 65 6e 20 77 68 65 6e 20 6e 6f 20 6e 65 77 .hook.is.called.even.when.no.new
18e00 20 65 6e 74 72 69 65 73 20 77 65 72 65 0a 66 6f 75 6e 64 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 .entries.were.found.")..(defvar.
18e20 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 69 6e 69 74 2d 68 6f 6f 6b 73 20 28 29 0a 20 20 22 48 elfeed-update-init-hooks.()..."H
18e40 6f 6f 6b 73 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 66 65 65 ooks.called.when.one.or.more.fee
18e60 64 20 75 70 64 61 74 65 73 20 68 61 76 65 20 62 65 67 75 6e 2e 0a 52 65 63 65 69 76 65 72 73 20 d.updates.have.begun..Receivers.
18e80 6d 61 79 20 77 61 6e 74 20 74 6f 2c 20 73 61 79 2c 20 75 70 64 61 74 65 20 61 20 64 69 73 70 6c may.want.to,.say,.update.a.displ
18ea0 61 79 20 74 6f 20 69 6e 64 69 63 61 74 65 20 74 68 61 74 0a 75 70 64 61 74 65 73 20 61 72 65 20 ay.to.indicate.that.updates.are.
18ec0 70 65 6e 64 69 6e 67 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 74 61 67 2d 68 pending.")..(defvar.elfeed-tag-h
18ee0 6f 6f 6b 73 20 28 29 0a 20 20 22 48 6f 6f 6b 73 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 6f 6e 65 ooks.()..."Hooks.called.when.one
18f00 20 6f 72 20 6d 6f 72 65 20 65 6e 74 72 69 65 73 20 61 64 64 20 74 61 67 73 2e 0a 49 74 20 69 73 .or.more.entries.add.tags..It.is
18f20 20 63 61 6c 6c 65 64 20 77 69 74 68 20 32 20 61 72 67 75 6d 65 6e 74 73 2e 20 54 68 65 20 66 69 .called.with.2.arguments..The.fi
18f40 72 73 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 65 6e 74 72 79 0a 6c 69 73 74 2e 20 rst.argument.is.the.entry.list..
18f60 54 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 74 61 67 20 6c The.second.argument.is.the.tag.l
18f80 69 73 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 75 6e 74 61 67 2d 68 6f 6f ist.")..(defvar.elfeed-untag-hoo
18fa0 6b 73 20 28 29 0a 20 20 22 48 6f 6f 6b 73 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 6f 6e 65 20 6f ks.()..."Hooks.called.when.one.o
18fc0 72 20 6d 6f 72 65 20 65 6e 74 72 69 65 73 20 72 65 6d 6f 76 65 20 74 61 67 73 2e 0a 49 74 20 69 r.more.entries.remove.tags..It.i
18fe0 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 32 20 61 72 67 75 6d 65 6e 74 73 2e 20 54 68 65 20 66 s.called.with.2.arguments..The.f
19000 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 65 6e 74 72 79 0a 6c 69 73 74 2e irst.argument.is.the.entry.list.
19020 20 54 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 74 61 67 20 .The.second.argument.is.the.tag.
19040 6c 69 73 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 2d 69 6e 68 69 62 69 74 list.")..(defvar.elfeed--inhibit
19060 2d 75 70 64 61 74 65 2d 69 6e 69 74 2d 68 6f 6f 6b 73 20 6e 69 6c 0a 20 20 22 57 68 65 6e 20 6e -update-init-hooks.nil..."When.n
19080 6f 6e 2d 6e 69 6c 2c 20 64 6f 6e 27 74 20 72 75 6e 20 60 65 6c 66 65 65 64 2d 75 70 64 61 74 65 on-nil,.don't.run.`elfeed-update
190a0 2d 69 6e 69 74 2d 68 6f 6f 6b 73 27 2e 22 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 71 -init-hooks'.")..(defun.elfeed-q
190c0 75 65 75 65 2d 63 6f 75 6e 74 2d 61 63 74 69 76 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 ueue-count-active.()..."Return.t
190e0 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 70 72 6f 63 65 73 73 2e 22 0a he.number.of.items.in.process.".
19100 20 20 28 69 66 20 65 6c 66 65 65 64 2d 75 73 65 2d 63 75 72 6c 0a 20 20 20 20 20 20 65 6c 66 65 ..(if.elfeed-use-curl.......elfe
19120 65 64 2d 63 75 72 6c 2d 71 75 65 75 65 2d 61 63 74 69 76 65 0a 20 20 20 20 28 63 6c 2d 63 6f 75 ed-curl-queue-active.....(cl-cou
19140 6e 74 2d 69 66 20 23 27 75 72 6c 2d 71 75 65 75 65 2d 62 75 66 66 65 72 20 75 72 6c 2d 71 75 65 nt-if.#'url-queue-buffer.url-que
19160 75 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 71 75 65 75 65 2d 63 6f 75 6e 74 ue)))..(defun.elfeed-queue-count
19180 2d 74 6f 74 61 6c 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f -total.()..."Return.the.number.o
191a0 66 20 69 74 65 6d 73 20 69 6e 20 70 72 6f 63 65 73 73 2e 22 0a 20 20 28 69 66 20 65 6c 66 65 65 f.items.in.process."...(if.elfee
191c0 64 2d 75 73 65 2d 63 75 72 6c 0a 20 20 20 20 20 20 28 2b 20 28 6c 65 6e 67 74 68 20 65 6c 66 65 d-use-curl.......(+.(length.elfe
191e0 65 64 2d 63 75 72 6c 2d 71 75 65 75 65 29 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 71 75 65 75 65 ed-curl-queue).elfeed-curl-queue
19200 2d 61 63 74 69 76 65 29 0a 20 20 20 20 28 6c 65 6e 67 74 68 20 75 72 6c 2d 71 75 65 75 65 29 29 -active).....(length.url-queue))
19220 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 74 2d 6d 61 78 2d 63 6f 6e 6e 65 63 74 )..(defun.elfeed-set-max-connect
19240 69 6f 6e 73 20 28 6e 29 0a 20 20 22 4c 69 6d 69 74 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 ions.(n)..."Limit.the.maximum.nu
19260 6d 62 65 72 20 6f 66 20 63 6f 6e 63 75 72 72 65 6e 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 74 mber.of.concurrent.connections.t
19280 6f 20 4e 2e 22 0a 20 20 28 69 66 20 65 6c 66 65 65 64 2d 75 73 65 2d 63 75 72 6c 0a 20 20 20 20 o.N."...(if.elfeed-use-curl.....
192a0 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 6d 61 78 2d 63 6f 6e 6e 65 63 74 69 ..(setf.elfeed-curl-max-connecti
192c0 6f 6e 73 20 6e 29 0a 20 20 20 20 28 73 65 74 66 20 75 72 6c 2d 71 75 65 75 65 2d 70 61 72 61 6c ons.n).....(setf.url-queue-paral
192e0 6c 65 6c 2d 70 72 6f 63 65 73 73 65 73 20 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 lel-processes.n)))..(defun.elfee
19300 64 2d 67 65 74 2d 6d 61 78 2d 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 28 29 0a 20 20 22 47 65 74 20 d-get-max-connections.()..."Get.
19320 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6e 63 75 72 72 65 6e 74 the.maximum.number.of.concurrent
19340 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 2e 22 0a 20 20 28 69 66 20 65 6c 66 65 65 64 2d 75 73 65 2d .connections."...(if.elfeed-use-
19360 63 75 72 6c 0a 20 20 20 20 20 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 6d 61 78 2d 63 6f 6e 6e 65 curl.......elfeed-curl-max-conne
19380 63 74 69 6f 6e 73 0a 20 20 20 20 75 72 6c 2d 71 75 65 75 65 2d 70 61 72 61 6c 6c 65 6c 2d 70 72 ctions.....url-queue-parallel-pr
193a0 6f 63 65 73 73 65 73 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 74 2d 74 69 6d ocesses))..(defun.elfeed-set-tim
193c0 65 6f 75 74 20 28 73 65 63 6f 6e 64 73 29 0a 20 20 22 4c 69 6d 69 74 20 74 68 65 20 74 69 6d 65 eout.(seconds)..."Limit.the.time
193e0 20 66 6f 72 20 66 65 74 63 68 69 6e 67 20 61 20 66 65 65 64 20 74 6f 20 53 45 43 4f 4e 44 53 2e .for.fetching.a.feed.to.SECONDS.
19400 22 0a 20 20 28 69 66 20 65 6c 66 65 65 64 2d 75 73 65 2d 63 75 72 6c 0a 20 20 20 20 20 20 28 73 "...(if.elfeed-use-curl.......(s
19420 65 74 66 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 74 69 6d 65 6f 75 74 20 73 65 63 6f 6e 64 73 29 etf.elfeed-curl-timeout.seconds)
19440 0a 20 20 20 20 28 73 65 74 66 20 75 72 6c 2d 71 75 65 75 65 2d 74 69 6d 65 6f 75 74 20 73 65 63 .....(setf.url-queue-timeout.sec
19460 6f 6e 64 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 67 65 74 2d 74 69 6d 65 6f onds)))..(defun.elfeed-get-timeo
19480 75 74 20 28 29 0a 20 20 22 47 65 74 20 74 68 65 20 74 69 6d 65 20 6c 69 6d 69 74 20 66 6f 72 20 ut.()..."Get.the.time.limit.for.
194a0 66 65 74 63 68 69 6e 67 20 66 65 65 64 73 20 69 6e 20 53 45 43 4f 4e 44 53 2e 22 0a 20 20 28 69 fetching.feeds.in.SECONDS."...(i
194c0 66 20 65 6c 66 65 65 64 2d 75 73 65 2d 63 75 72 6c 0a 20 20 20 20 20 20 65 6c 66 65 65 64 2d 63 f.elfeed-use-curl.......elfeed-c
194e0 75 72 6c 2d 74 69 6d 65 6f 75 74 0a 20 20 20 20 75 72 6c 2d 71 75 65 75 65 2d 74 69 6d 65 6f 75 url-timeout.....url-queue-timeou
19500 74 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 69 73 2d 73 74 61 74 75 73 2d 65 72 72 t))..(defun.elfeed-is-status-err
19520 6f 72 20 28 73 74 61 74 75 73 20 75 73 65 2d 63 75 72 6c 29 0a 20 20 22 43 68 65 63 6b 20 69 66 or.(status.use-curl)..."Check.if
19540 20 48 54 54 50 20 72 65 71 75 65 73 74 20 72 65 74 75 72 6e 65 64 20 73 74 61 74 75 73 20 6d 65 .HTTP.request.returned.status.me
19560 61 6e 73 20 61 20 65 72 72 6f 72 2e 22 0a 20 20 28 6f 72 20 28 61 6e 64 20 75 73 65 2d 63 75 72 ans.a.error."...(or.(and.use-cur
19580 6c 20 28 6e 75 6c 6c 20 73 74 61 74 75 73 29 29 20 3b 20 6e 69 6c 20 3d 20 65 72 72 6f 72 0a 20 l.(null.status)).;.nil.=.error..
195a0 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 75 73 65 2d 63 75 72 6c 29 20 28 65 71 20 28 63 61 .....(and.(not.use-curl).(eq.(ca
195c0 72 20 73 74 61 74 75 73 29 20 3a 65 72 72 6f 72 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 r.status).:error))))..(defmacro.
195e0 65 6c 66 65 65 64 2d 77 69 74 68 2d 66 65 74 63 68 20 28 75 72 6c 20 26 72 65 73 74 20 62 6f 64 elfeed-with-fetch.(url.&rest.bod
19600 79 29 0a 20 20 22 41 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 20 72 75 6e 20 42 4f 44 59 20 69 6e y)..."Asynchronously.run.BODY.in
19620 20 61 20 62 75 66 66 65 72 20 77 69 74 68 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 66 72 6f 6d .a.buffer.with.the.contents.from
19640 20 55 52 4c 2e 0a 54 68 69 73 20 6d 61 63 72 6f 20 69 73 20 61 6e 61 70 68 6f 72 69 63 2c 20 77 .URL..This.macro.is.anaphoric,.w
19660 69 74 68 20 53 54 41 54 55 53 20 72 65 66 65 72 72 69 6e 67 20 74 6f 20 74 68 65 20 73 74 61 74 ith.STATUS.referring.to.the.stat
19680 75 73 20 66 72 6f 6d 0a 60 75 72 6c 2d 72 65 74 72 69 65 76 65 27 2f 63 55 52 4c 20 61 6e 64 20 us.from.`url-retrieve'/cURL.and.
196a0 55 53 45 2d 43 55 52 4c 20 62 65 69 6e 67 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 69 6e 76 6f USE-CURL.being.the.original.invo
196c0 6b 65 64 2d 76 61 6c 75 65 0a 6f 66 20 60 65 6c 66 65 65 64 2d 75 73 65 2d 63 75 72 6c 27 2e 22 ked-value.of.`elfeed-use-curl'."
196e0 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 64 65 66 75 6e 29 29 0a 20 20 60 28 ...(declare.(indent.defun))...`(
19700 6c 65 74 2a 20 28 28 75 73 65 2d 63 75 72 6c 20 65 6c 66 65 65 64 2d 75 73 65 2d 63 75 72 6c 29 let*.((use-curl.elfeed-use-curl)
19720 20 3b 20 63 61 70 74 75 72 65 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65 20 69 6e 20 63 6c 6f 73 .;.capture.current.value.in.clos
19740 75 72 65 0a 20 20 20 20 20 20 20 20 20 20 28 63 62 20 28 6c 61 6d 62 64 61 20 28 73 74 61 74 75 ure...........(cb.(lambda.(statu
19760 73 29 20 2c 40 62 6f 64 79 29 29 29 0a 20 20 20 20 20 28 69 66 20 65 6c 66 65 65 64 2d 75 73 65 s).,@body)))......(if.elfeed-use
19780 2d 63 75 72 6c 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 66 65 65 64 20 28 65 6c 66 -curl..........(let*.((feed.(elf
197a0 65 65 64 2d 64 62 2d 67 65 74 2d 66 65 65 64 20 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 eed-db-get-feed.url))...........
197c0 20 20 20 20 20 20 28 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 20 28 65 6c 66 65 65 64 2d 6d 65 74 ......(last-modified.(elfeed-met
197e0 61 20 66 65 65 64 20 3a 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 29 29 0a 20 20 20 20 20 20 20 20 a.feed.:last-modified)).........
19800 20 20 20 20 20 20 20 20 28 65 74 61 67 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 20 66 65 65 64 20 ........(etag.(elfeed-meta.feed.
19820 3a 65 74 61 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 65 61 64 65 72 73 :etag)).................(headers
19840 20 60 28 28 22 55 73 65 72 2d 41 67 65 6e 74 22 20 2e 20 2c 65 6c 66 65 65 64 2d 75 73 65 72 2d .`(("User-Agent"...,elfeed-user-
19860 61 67 65 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 65 74 61 67 0a agent))))............(when.etag.
19880 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 60 28 22 49 66 2d 4e 6f 6e 65 2d 4d 61 .............(push.`("If-None-Ma
198a0 74 63 68 22 20 2e 20 2c 65 74 61 67 29 20 68 65 61 64 65 72 73 29 29 0a 20 20 20 20 20 20 20 20 tch"...,etag).headers)).........
198c0 20 20 20 28 77 68 65 6e 20 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 0a 20 20 20 20 20 20 20 20 20 ...(when.last-modified..........
198e0 20 20 20 20 28 70 75 73 68 20 60 28 22 49 66 2d 4d 6f 64 69 66 69 65 64 2d 53 69 6e 63 65 22 20 ....(push.`("If-Modified-Since".
19900 2e 20 2c 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 29 20 68 65 61 64 65 72 73 29 29 0a 20 20 20 20 ..,last-modified).headers)).....
19920 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 65 6e 71 75 65 75 65 20 2c 75 72 6c .......(elfeed-curl-enqueue.,url
19940 20 63 62 20 3a 68 65 61 64 65 72 73 20 68 65 61 64 65 72 73 29 29 0a 20 20 20 20 20 20 20 28 75 .cb.:headers.headers))........(u
19960 72 6c 2d 71 75 65 75 65 2d 72 65 74 72 69 65 76 65 20 2c 75 72 6c 20 63 62 20 28 29 20 74 20 74 rl-queue-retrieve.,url.cb.().t.t
19980 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 75 6e 6a 61 6d 20 28 29 0a 20 20 22 ))))..(defun.elfeed-unjam.()..."
199a0 4d 61 6e 75 61 6c 6c 79 20 63 6c 65 61 72 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 70 6f Manually.clear.the.connection.po
199c0 6f 6c 20 77 68 65 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 66 61 69 6c 20 74 6f 20 74 69 6d 65 ol.when.connections.fail.to.time
199e0 6f 75 74 2e 0a 54 68 69 73 20 69 73 20 61 20 77 6f 72 6b 61 72 6f 75 6e 64 20 66 6f 72 20 69 73 out..This.is.a.workaround.for.is
19a00 73 75 65 73 20 69 6e 20 60 75 72 6c 2d 71 75 65 75 65 2d 72 65 74 72 69 65 76 65 27 2e 22 0a 20 sues.in.`url-queue-retrieve'."..
19a20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 20 65 6c 66 65 65 64 2d 75 73 65 2d .(interactive)...(if.elfeed-use-
19a40 63 75 72 6c 0a 20 20 20 20 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 71 75 65 curl.......(setf.elfeed-curl-que
19a60 75 65 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 71 ue.nil.............elfeed-curl-q
19a80 75 65 75 65 2d 61 63 74 69 76 65 20 30 29 0a 20 20 20 20 28 6c 65 74 20 28 28 66 61 69 6c 73 20 ueue-active.0).....(let.((fails.
19aa0 28 6d 61 70 63 61 72 20 23 27 75 72 6c 2d 71 75 65 75 65 2d 75 72 6c 20 75 72 6c 2d 71 75 65 75 (mapcar.#'url-queue-url.url-queu
19ac0 65 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 66 61 69 6c 73 0a 20 20 20 20 20 20 20 20 28 e))).......(when.fails.........(
19ae0 65 6c 66 65 65 64 2d 6c 6f 67 20 27 77 61 72 6e 20 22 45 6c 66 65 65 64 20 61 62 6f 72 74 65 64 elfeed-log.'warn."Elfeed.aborted
19b00 20 66 65 65 64 73 3a 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .feeds:.%s".....................
19b20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 20 66 61 69 6c 73 20 22 20 22 29 (mapconcat.#'identity.fails.".")
19b40 29 29 0a 20 20 20 20 20 20 28 73 65 74 66 20 75 72 6c 2d 71 75 65 75 65 20 6e 69 6c 29 29 29 0a )).......(setf.url-queue.nil))).
19b60 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 69 6e 69 74 ..(run-hooks.'elfeed-update-init
19b80 2d 68 6f 6f 6b 73 29 29 0a 0a 3b 3b 20 50 61 72 73 69 6e 67 3a 0a 0a 28 64 65 66 75 6e 20 65 6c -hooks))..;;.Parsing:..(defun.el
19ba0 66 65 65 64 2d 66 65 65 64 2d 74 79 70 65 20 28 63 6f 6e 74 65 6e 74 29 0a 20 20 22 52 65 74 75 feed-feed-type.(content)..."Retu
19bc0 72 6e 20 74 68 65 20 66 65 65 64 20 74 79 70 65 20 28 3a 61 74 6f 6d 2c 20 3a 72 73 73 2c 20 3a rn.the.feed.type.(:atom,.:rss,.:
19be0 72 73 73 31 2e 30 29 20 6f 72 20 6e 69 6c 20 66 6f 72 20 75 6e 6b 6e 6f 77 6e 2e 22 0a 20 20 28 rss1.0).or.nil.for.unknown."...(
19c00 6c 65 74 20 28 28 74 6f 70 20 28 78 6d 6c 2d 71 75 65 72 79 2d 73 74 72 69 70 2d 6e 73 20 28 63 let.((top.(xml-query-strip-ns.(c
19c20 61 61 72 20 63 6f 6e 74 65 6e 74 29 29 29 29 0a 20 20 20 20 28 63 61 64 72 20 28 61 73 73 6f 63 aar.content)))).....(cadr.(assoc
19c40 20 74 6f 70 20 27 28 28 66 65 65 64 20 3a 61 74 6f 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .top.'((feed.:atom).............
19c60 20 20 20 20 20 20 20 20 20 20 20 28 72 73 73 20 3a 72 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 ...........(rss.:rss)...........
19c80 20 20 20 20 20 20 20 20 20 20 20 20 20 28 52 44 46 20 3a 72 73 73 31 2e 30 29 29 29 29 29 29 0a .............(RDF.:rss1.0)))))).
19ca0 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 67 65 6e 65 72 61 74 65 2d 69 64 20 28 26 6f 70 74 .(defun.elfeed-generate-id.(&opt
19cc0 69 6f 6e 61 6c 20 63 6f 6e 74 65 6e 74 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 61 6e 20 49 44 ional.content)..."Generate.an.ID
19ce0 20 62 61 73 65 64 20 6f 6e 20 43 4f 4e 54 45 4e 54 20 6f 72 20 66 72 6f 6d 20 74 68 65 20 63 75 .based.on.CONTENT.or.from.the.cu
19d00 72 72 65 6e 74 20 74 69 6d 65 2e 22 0a 20 20 28 63 6f 6e 63 61 74 20 22 75 72 6e 3a 73 68 61 31 rrent.time."...(concat."urn:sha1
19d20 3a 22 20 28 73 68 61 31 20 28 66 6f 72 6d 61 74 20 22 25 73 22 20 28 6f 72 20 63 6f 6e 74 65 6e :".(sha1.(format."%s".(or.conten
19d40 74 20 28 66 6c 6f 61 74 2d 74 69 6d 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 t.(float-time))))))..(defun.elfe
19d60 65 64 2d 2d 61 74 6f 6d 2d 63 6f 6e 74 65 6e 74 20 28 65 6e 74 72 79 29 0a 20 20 22 47 65 74 20 ed--atom-content.(entry)..."Get.
19d80 63 6f 6e 74 65 6e 74 20 73 74 72 69 6e 67 20 66 72 6f 6d 20 45 4e 54 52 59 2e 22 0a 20 20 28 6c content.string.from.ENTRY."...(l
19da0 65 74 20 28 28 63 6f 6e 74 65 6e 74 2d 74 79 70 65 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 63 et.((content-type.(xml-query*.(c
19dc0 6f 6e 74 65 6e 74 20 3a 74 79 70 65 29 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 28 69 66 20 28 ontent.:type).entry))).....(if.(
19de0 65 71 75 61 6c 20 63 6f 6e 74 65 6e 74 2d 74 79 70 65 20 22 78 68 74 6d 6c 22 29 0a 20 20 20 20 equal.content-type."xhtml").....
19e00 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 ....(with-temp-buffer...........
19e20 28 6c 65 74 20 28 28 78 68 74 6d 6c 20 28 63 64 64 72 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 (let.((xhtml.(cddr.(xml-query*.(
19e40 63 6f 6e 74 65 6e 74 29 20 65 6e 74 72 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 content).entry)))).............(
19e60 64 6f 6c 69 73 74 20 28 65 6c 65 6d 65 6e 74 20 78 68 74 6d 6c 29 0a 20 20 20 20 20 20 20 20 20 dolist.(element.xhtml)..........
19e80 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 65 6c 65 6d 65 6e 74 29 0a 20 20 20 20 20 .....(if.(stringp.element)......
19ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 65 6c 65 6d 65 6e 74 29 0a 20 20 .............(insert.element)...
19ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 78 6d 6c 2d 75 6e 70 61 72 73 ..............(elfeed-xml-unpars
19ee0 65 20 65 6c 65 6d 65 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d e.element))))...........(buffer-
19f00 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 61 6c 6c 2d 63 6f 6e 74 65 6e string)).......(let.((all-conten
19f20 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c t..............(or.(xml-query-al
19f40 6c 2a 20 28 63 6f 6e 74 65 6e 74 20 2a 29 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 l*.(content.*).entry)...........
19f60 20 20 20 20 20 20 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 73 75 6d 6d 61 72 79 20 .......(xml-query-all*.(summary.
19f80 2a 29 20 65 6e 74 72 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 61 6c 6c 2d 63 *).entry)))).........(when.all-c
19fa0 6f 6e 74 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 63 6f 6e 63 61 74 ontent...........(apply.#'concat
19fc0 20 61 6c 6c 2d 63 6f 6e 74 65 6e 74 29 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 .all-content))))))..(defvar.elfe
19fe0 65 64 2d 6e 65 77 2d 65 6e 74 72 79 2d 70 61 72 73 65 2d 68 6f 6f 6b 20 27 28 29 0a 20 20 22 48 ed-new-entry-parse-hook.'()..."H
1a000 6f 6f 6b 20 74 6f 20 62 65 20 63 61 6c 6c 65 64 20 61 66 74 65 72 20 70 61 72 73 69 6e 67 20 61 ook.to.be.called.after.parsing.a
1a020 20 6e 65 77 20 65 6e 74 72 79 2e 0a 0a 54 61 6b 65 20 74 68 72 65 65 20 61 72 67 75 6d 65 6e 74 .new.entry...Take.three.argument
1a040 73 3a 20 74 68 65 20 66 65 65 64 20 54 59 50 45 2c 20 74 68 65 20 58 4d 4c 20 73 74 72 75 63 74 s:.the.feed.TYPE,.the.XML.struct
1a060 75 72 65 20 66 6f 72 20 74 68 65 0a 65 6e 74 72 79 2c 20 61 6e 64 20 74 68 65 20 45 6c 66 65 65 ure.for.the.entry,.and.the.Elfee
1a080 64 20 45 4e 54 52 59 20 6f 62 6a 65 63 74 2e 20 52 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 d.ENTRY.object..Return.value.is.
1a0a0 69 67 6e 6f 72 65 64 2c 20 61 6e 64 0a 69 73 20 63 61 6c 6c 65 64 20 66 6f 72 20 73 69 64 65 2d ignored,.and.is.called.for.side-
1a0c0 65 66 66 65 63 74 73 20 6f 6e 20 74 68 65 20 45 4e 54 52 59 20 6f 62 6a 65 63 74 2e 22 29 0a 0a effects.on.the.ENTRY.object.")..
1a0e0 28 64 65 66 73 75 62 73 74 20 65 6c 66 65 65 64 2d 2d 66 69 78 75 70 2d 70 72 6f 74 6f 63 6f 6c (defsubst.elfeed--fixup-protocol
1a100 20 28 70 72 6f 74 6f 63 6f 6c 20 75 72 6c 29 0a 20 20 22 50 72 65 70 65 6e 64 20 50 52 4f 54 4f .(protocol.url)..."Prepend.PROTO
1a120 43 4f 4c 20 74 6f 20 55 52 4c 20 69 66 20 69 74 20 69 73 20 70 72 6f 74 6f 63 6f 6c 2d 72 65 6c COL.to.URL.if.it.is.protocol-rel
1a140 61 74 69 76 65 2e 0a 49 66 20 50 52 4f 54 4f 43 4f 4c 20 69 73 20 6e 69 6c 2c 20 72 65 74 75 72 ative..If.PROTOCOL.is.nil,.retur
1a160 6e 73 20 55 52 4c 2e 22 0a 20 20 28 69 66 20 28 61 6e 64 20 70 72 6f 74 6f 63 6f 6c 20 75 72 6c ns.URL."...(if.(and.protocol.url
1a180 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 2f 2f 5b 5e 2f 5d 22 20 75 72 6c 29 29 .(string-match-p."^//[^/]".url))
1a1a0 0a 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 70 72 6f 74 6f 63 6f 6c 20 22 3a 22 20 75 72 6c 29 .......(concat.protocol.":".url)
1a1c0 0a 20 20 20 20 75 72 6c 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 65 6c 66 65 65 64 2d 2d 61 74 .....url))..(defsubst.elfeed--at
1a1e0 6f 6d 2d 61 75 74 68 6f 72 73 2d 74 6f 2d 70 6c 69 73 74 20 28 61 75 74 68 6f 72 73 29 0a 20 20 om-authors-to-plist.(authors)...
1a200 22 50 61 72 73 65 20 6c 69 73 74 20 6f 66 20 61 75 74 68 6f 72 20 58 4d 4c 20 74 61 67 73 20 69 "Parse.list.of.author.XML.tags.i
1a220 6e 74 6f 20 6c 69 73 74 20 6f 66 20 70 6c 69 73 74 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 65 nto.list.of.plists."...(let.((re
1a240 73 75 6c 74 20 28 29 29 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 61 75 74 68 6f 72 20 61 75 sult.())).....(dolist.(author.au
1a260 74 68 6f 72 73 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 6c 69 73 74 20 28 29 29 0a 20 20 thors).......(let.((plist.())...
1a280 20 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 6e 61 6d ..........(name.(xml-query*.(nam
1a2a0 65 20 2a 29 20 61 75 74 68 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 75 72 69 20 28 e.*).author)).............(uri.(
1a2c0 78 6d 6c 2d 71 75 65 72 79 2a 20 28 75 72 69 20 2a 29 20 61 75 74 68 6f 72 29 29 0a 20 20 20 20 xml-query*.(uri.*).author)).....
1a2e0 20 20 20 20 20 20 20 20 28 65 6d 61 69 6c 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 65 6d 61 69 ........(email.(xml-query*.(emai
1a300 6c 20 2a 29 20 61 75 74 68 6f 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 65 6d 61 l.*).author))).........(when.ema
1a320 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 70 6c 69 73 74 20 28 6c 69 73 74 20 3a il...........(setf.plist.(list.:
1a340 65 6d 61 69 6c 20 28 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 70 20 65 6d 61 69 6c 29 29 29 29 0a email.(elfeed-cleanup.email)))).
1a360 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 75 72 69 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 ........(when.uri...........(set
1a380 66 20 70 6c 69 73 74 20 28 6e 63 6f 6e 63 20 28 6c 69 73 74 20 3a 75 72 69 20 28 65 6c 66 65 65 f.plist.(nconc.(list.:uri.(elfee
1a3a0 64 2d 63 6c 65 61 6e 75 70 20 75 72 69 29 29 20 70 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 d-cleanup.uri)).plist)))........
1a3c0 20 28 77 68 65 6e 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 70 6c 69 73 .(when.name...........(setf.plis
1a3e0 74 20 28 6e 63 6f 6e 63 20 28 6c 69 73 74 20 3a 6e 61 6d 65 20 28 65 6c 66 65 65 64 2d 63 6c 65 t.(nconc.(list.:name.(elfeed-cle
1a400 61 6e 75 70 20 6e 61 6d 65 29 29 20 70 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 anup.name)).plist))).........(pu
1a420 73 68 20 70 6c 69 73 74 20 72 65 73 75 6c 74 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 sh.plist.result))).....(nreverse
1a440 20 72 65 73 75 6c 74 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 65 6c 66 65 65 64 2d 2d 63 72 .result)))..(defsubst.elfeed--cr
1a460 65 61 74 6f 72 73 2d 74 6f 2d 70 6c 69 73 74 20 28 63 72 65 61 74 6f 72 73 29 0a 20 20 22 43 6f eators-to-plist.(creators)..."Co
1a480 6e 76 65 72 74 20 44 75 62 6c 69 6e 20 43 6f 72 65 20 6c 69 73 74 20 6f 66 20 63 72 65 61 74 6f nvert.Dublin.Core.list.of.creato
1a4a0 72 73 20 69 6e 74 6f 20 61 6e 20 61 75 74 68 6f 72 73 20 70 6c 69 73 74 2e 22 0a 20 20 28 63 6c rs.into.an.authors.plist."...(cl
1a4c0 2d 6c 6f 6f 70 20 66 6f 72 20 63 72 65 61 74 6f 72 20 69 6e 20 63 72 65 61 74 6f 72 73 0a 20 20 -loop.for.creator.in.creators...
1a4e0 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 28 6c 69 73 74 20 3a 6e 61 6d 65 20 63 72 65 .........collect.(list.:name.cre
1a500 61 74 6f 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 65 6e 74 72 69 65 73 2d 66 ator)))..(defun.elfeed-entries-f
1a520 72 6f 6d 2d 61 74 6f 6d 20 28 75 72 6c 20 78 6d 6c 29 0a 20 20 22 54 75 72 6e 20 70 61 72 73 65 rom-atom.(url.xml)..."Turn.parse
1a540 64 20 41 74 6f 6d 20 63 6f 6e 74 65 6e 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 65 6c d.Atom.content.into.a.list.of.el
1a560 66 65 65 64 2d 65 6e 74 72 79 20 73 74 72 75 63 74 73 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 feed-entry.structs."...(let*.((f
1a580 65 65 64 2d 69 64 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f 74 6f 63 6f 6c 20 28 eed-id.url)..........(protocol.(
1a5a0 75 72 6c 2d 74 79 70 65 20 28 75 72 6c 2d 67 65 6e 65 72 69 63 2d 70 61 72 73 65 2d 75 72 6c 20 url-type.(url-generic-parse-url.
1a5c0 75 72 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 73 70 61 63 65 20 28 65 6c 66 65 url)))..........(namespace.(elfe
1a5e0 65 64 2d 75 72 6c 2d 74 6f 2d 6e 61 6d 65 73 70 61 63 65 20 75 72 6c 29 29 0a 20 20 20 20 20 20 ed-url-to-namespace.url)).......
1a600 20 20 20 28 66 65 65 64 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 66 65 65 64 20 66 65 65 ...(feed.(elfeed-db-get-feed.fee
1a620 64 2d 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 65 6c 66 65 65 64 2d 63 d-id))..........(title.(elfeed-c
1a640 6c 65 61 6e 75 70 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 66 65 65 64 20 74 69 74 6c 65 20 2a leanup.(xml-query*.(feed.title.*
1a660 29 20 78 6d 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 75 74 68 6f 72 73 20 28 78 6d 6c 2d ).xml)))..........(authors.(xml-
1a680 71 75 65 72 79 2d 61 6c 6c 2a 20 28 66 65 65 64 20 61 75 74 68 6f 72 29 20 78 6d 6c 29 29 0a 20 query-all*.(feed.author).xml))..
1a6a0 20 20 20 20 20 20 20 20 28 78 6d 6c 2d 62 61 73 65 20 28 6f 72 20 28 78 6d 6c 2d 71 75 65 72 79 ........(xml-base.(or.(xml-query
1a6c0 2a 20 28 66 65 65 64 20 3a 62 61 73 65 29 20 78 6d 6c 29 20 75 72 6c 29 29 0a 20 20 20 20 20 20 *.(feed.:base).xml).url)).......
1a6e0 20 20 20 28 61 75 74 6f 74 61 67 73 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 61 75 74 6f 74 61 ...(autotags.(elfeed-feed-autota
1a700 67 73 20 75 72 6c 29 29 29 0a 20 20 20 20 28 73 65 74 66 20 28 65 6c 66 65 65 64 2d 66 65 65 64 gs.url))).....(setf.(elfeed-feed
1a720 2d 75 72 6c 20 66 65 65 64 29 20 75 72 6c 0a 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 -url.feed).url...........(elfeed
1a740 2d 66 65 65 64 2d 74 69 74 6c 65 20 66 65 65 64 29 20 74 69 74 6c 65 0a 20 20 20 20 20 20 20 20 -feed-title.feed).title.........
1a760 20 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 61 75 74 68 6f 72 20 66 65 65 64 29 20 28 65 6c 66 ..(elfeed-feed-author.feed).(elf
1a780 65 65 64 2d 2d 61 74 6f 6d 2d 61 75 74 68 6f 72 73 2d 74 6f 2d 70 6c 69 73 74 20 61 75 74 68 6f eed--atom-authors-to-plist.autho
1a7a0 72 73 29 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 65 6e 74 72 79 20 69 6e 20 28 rs)).....(cl-loop.for.entry.in.(
1a7c0 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 66 65 65 64 20 65 6e 74 72 79 29 20 78 6d 6c 29 xml-query-all*.(feed.entry).xml)
1a7e0 20 63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 74 69 .collect..............(let*.((ti
1a800 74 6c 65 20 28 6f 72 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 74 69 74 6c 65 20 2a 29 20 65 6e tle.(or.(xml-query*.(title.*).en
1a820 74 72 79 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 28 78 try)."")).....................(x
1a840 6d 6c 2d 62 61 73 65 20 28 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 6c 6f 63 61 74 69 6f 6e 0a ml-base.(elfeed-update-location.
1a860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 ...............................x
1a880 6d 6c 2d 62 61 73 65 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 3a 62 61 73 65 29 20 28 6c 69 73 ml-base.(xml-query*.(:base).(lis
1a8a0 74 20 65 6e 74 72 79 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 t.entry)))).....................
1a8c0 28 61 6e 79 6c 69 6e 6b 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 6c 69 6e 6b 20 3a 68 72 65 66 (anylink.(xml-query*.(link.:href
1a8e0 29 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 ).entry)).....................(a
1a900 6c 74 6c 69 6e 6b 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 6c 69 6e 6b 20 5b 72 65 6c 20 22 61 ltlink.(xml-query*.(link.[rel."a
1a920 6c 74 65 72 6e 61 74 65 22 5d 20 3a 68 72 65 66 29 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 lternate"].:href).entry)).......
1a940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 6b 20 28 65 6c 66 65 65 64 2d 2d 66 69 78 ..............(link.(elfeed--fix
1a960 75 70 2d 70 72 6f 74 6f 63 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 up-protocol.....................
1a980 20 20 20 20 20 20 20 70 72 6f 74 6f 63 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......protocol.................
1a9a0 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 6c 6f 63 61 74 69 ...........(elfeed-update-locati
1a9c0 6f 6e 20 78 6d 6c 2d 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on.xml-base.....................
1a9e0 20 20 20 20 20 20 20 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 ...............................(
1aa00 6f 72 20 61 6c 74 6c 69 6e 6b 20 61 6e 79 6c 69 6e 6b 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 or.altlink.anylink))))..........
1aa20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 74 65 20 28 6f 72 20 28 78 6d 6c 2d 71 75 65 72 79 2a ...........(date.(or.(xml-query*
1aa40 20 28 70 75 62 6c 69 73 68 65 64 20 2a 29 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 .(published.*).entry)...........
1aa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 ....................(xml-query*.
1aa80 28 75 70 64 61 74 65 64 20 2a 29 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (updated.*).entry)..............
1aaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 64 61 .................(xml-query*.(da
1aac0 74 65 20 2a 29 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 te.*).entry)....................
1aae0 20 20 20 20 20 20 20 20 20 20 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 6d 6f 64 69 66 69 65 64 ...........(xml-query*.(modified
1ab00 20 2a 29 20 65 6e 74 72 79 29 20 3b 20 41 74 6f 6d 20 30 2e 33 0a 20 20 20 20 20 20 20 20 20 20 .*).entry).;.Atom.0.3...........
1ab20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 ....................(xml-query*.
1ab40 28 69 73 73 75 65 64 20 2a 29 20 65 6e 74 72 79 29 29 29 20 3b 20 41 74 6f 6d 20 30 2e 33 0a 20 (issued.*).entry))).;.Atom.0.3..
1ab60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 75 74 68 6f 72 73 20 28 6e 63 6f ...................(authors.(nco
1ab80 6e 63 20 28 65 6c 66 65 65 64 2d 2d 61 74 6f 6d 2d 61 75 74 68 6f 72 73 2d 74 6f 2d 70 6c 69 73 nc.(elfeed--atom-authors-to-plis
1aba0 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...............................
1abc0 20 20 20 20 20 20 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 61 75 74 68 6f 72 29 20 .......(xml-query-all*.(author).
1abe0 65 6e 74 72 79 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 entry)).........................
1ac00 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 44 75 62 6c 69 6e 20 43 6f 72 65 0a 20 20 20 20 20 ............;;.Dublin.Core......
1ac20 20 20 20 20 20 20 20 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 ...............................(
1ac40 65 6c 66 65 65 64 2d 2d 63 72 65 61 74 6f 72 73 2d 74 6f 2d 70 6c 69 73 74 0a 20 20 20 20 20 20 elfeed--creators-to-plist.......
1ac60 20 20 20 20 20 20 20 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 ...............................(
1ac80 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 63 72 65 61 74 6f 72 20 2a 29 20 65 6e 74 72 79 xml-query-all*.(creator.*).entry
1aca0 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 28 63 61 74 65 67 6f )))).....................(catego
1acc0 72 69 65 73 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 63 61 74 65 67 6f 72 79 20 3a ries.(xml-query-all*.(category.:
1ace0 74 65 72 6d 29 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 term).entry))...................
1ad00 20 20 28 63 6f 6e 74 65 6e 74 20 28 65 6c 66 65 65 64 2d 2d 61 74 6f 6d 2d 63 6f 6e 74 65 6e 74 ..(content.(elfeed--atom-content
1ad20 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 64 .entry)).....................(id
1ad40 20 28 6f 72 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 69 64 20 2a 29 20 65 6e 74 72 79 29 20 6c .(or.(xml-query*.(id.*).entry).l
1ad60 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 20 20 20 20 20 20 ink.............................
1ad80 28 65 6c 66 65 65 64 2d 67 65 6e 65 72 61 74 65 2d 69 64 20 63 6f 6e 74 65 6e 74 29 29 29 0a 20 (elfeed-generate-id.content)))..
1ada0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 79 70 65 20 28 6f 72 20 28 78 6d ...................(type.(or.(xm
1adc0 6c 2d 71 75 65 72 79 2a 20 28 63 6f 6e 74 65 6e 74 20 3a 74 79 70 65 29 20 65 6e 74 72 79 29 0a l-query*.(content.:type).entry).
1ade0 20 20 20 20 20 20 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 78 ..............................(x
1ae00 6d 6c 2d 71 75 65 72 79 2a 20 28 73 75 6d 6d 61 72 79 20 3a 74 79 70 65 29 20 65 6e 74 72 79 29 ml-query*.(summary.:type).entry)
1ae20 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 22 ..............................."
1ae40 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 61 67 73 20 28 65 ")).....................(tags.(e
1ae60 6c 66 65 65 64 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 74 61 67 73 20 61 75 74 6f 74 61 67 73 20 65 6c lfeed-normalize-tags.autotags.el
1ae80 66 65 65 64 2d 69 6e 69 74 69 61 6c 2d 74 61 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 feed-initial-tags)).............
1aea0 20 20 20 20 20 20 20 20 28 63 6f 6e 74 65 6e 74 2d 74 79 70 65 20 28 69 66 20 28 73 74 72 69 6e ........(content-type.(if.(strin
1aec0 67 2d 6d 61 74 63 68 2d 70 20 22 68 74 6d 6c 22 20 74 79 70 65 29 20 27 68 74 6d 6c 20 6e 69 6c g-match-p."html".type).'html.nil
1aee0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 74 61 67 73 20 28 78 )).....................(etags.(x
1af00 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 6c 69 6e 6b 20 5b 72 65 6c 20 22 65 6e 63 6c 6f 73 ml-query-all*.(link.[rel."enclos
1af20 75 72 65 22 5d 29 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ure"]).entry))..................
1af40 20 20 20 28 65 6e 63 6c 6f 73 75 72 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(enclosures..................
1af60 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 65 6e 63 6c 6f 73 75 72 65 20 69 6e 20 65 74 ....(cl-loop.for.enclosure.in.et
1af80 61 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 ags.............................
1afa0 20 20 66 6f 72 20 77 72 61 70 20 3d 20 28 6c 69 73 74 20 65 6e 63 6c 6f 73 75 72 65 29 0a 20 20 ..for.wrap.=.(list.enclosure)...
1afc0 20 20 20 20 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 ............................for.
1afe0 68 72 65 66 20 3d 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 3a 68 72 65 66 29 20 77 72 61 70 29 href.=.(xml-query*.(:href).wrap)
1b000 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 66 ...............................f
1b020 6f 72 20 74 79 70 65 20 3d 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 3a 74 79 70 65 29 20 77 72 or.type.=.(xml-query*.(:type).wr
1b040 61 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 ap).............................
1b060 20 20 66 6f 72 20 6c 65 6e 67 74 68 20 3d 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 3a 6c 65 6e ..for.length.=.(xml-query*.(:len
1b080 67 74 68 29 20 77 72 61 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gth).wrap)......................
1b0a0 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 28 6c 69 73 74 20 68 72 65 66 20 74 79 70 65 .........collect.(list.href.type
1b0c0 20 6c 65 6e 67 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .length))).....................(
1b0e0 64 62 2d 65 6e 74 72 79 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 2d 63 72 65 61 74 65 0a 20 db-entry.(elfeed-entry--create..
1b100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 ..............................:t
1b120 69 74 6c 65 20 28 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 70 20 74 69 74 6c 65 29 0a 20 20 20 20 itle.(elfeed-cleanup.title).....
1b140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 65 65 64 ...........................:feed
1b160 2d 69 64 20 66 65 65 64 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -id.feed-id.....................
1b180 20 20 20 20 20 20 20 20 20 20 20 3a 69 64 20 28 63 6f 6e 73 20 6e 61 6d 65 73 70 61 63 65 20 28 ...........:id.(cons.namespace.(
1b1a0 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 70 20 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 elfeed-cleanup.id)).............
1b1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 6e 6b 20 28 65 6c 66 65 65 64 ...................:link.(elfeed
1b1e0 2d 63 6c 65 61 6e 75 70 20 6c 69 6e 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -cleanup.link)..................
1b200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 61 67 73 20 74 61 67 73 0a 20 20 20 20 20 20 20 ..............:tags.tags........
1b220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 64 61 74 65 20 28 6f ........................:date.(o
1b240 72 20 28 65 6c 66 65 65 64 2d 66 6c 6f 61 74 2d 74 69 6d 65 20 64 61 74 65 29 20 28 66 6c 6f 61 r.(elfeed-float-time.date).(floa
1b260 74 2d 74 69 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 20 20 20 t-time))........................
1b280 20 20 20 20 20 20 20 20 3a 63 6f 6e 74 65 6e 74 20 63 6f 6e 74 65 6e 74 0a 20 20 20 20 20 20 20 ........:content.content........
1b2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 65 6e 63 6c 6f 73 75 ........................:enclosu
1b2c0 72 65 73 20 65 6e 63 6c 6f 73 75 72 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 res.enclosures..................
1b2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6e 74 65 6e 74 2d 74 79 70 65 20 63 6f 6e 74 ..............:content-type.cont
1b300 65 6e 74 2d 74 79 70 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 ent-type........................
1b320 20 20 20 20 20 20 20 20 3a 6d 65 74 61 20 60 28 2c 40 28 77 68 65 6e 20 61 75 74 68 6f 72 73 0a ........:meta.`(,@(when.authors.
1b340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b360 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 61 75 74 68 6f 72 73 20 61 75 74 68 6f 72 ...........(list.:authors.author
1b380 73 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 s)).............................
1b3a0 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 63 61 74 65 67 6f 72 69 65 73 0a 20 20 ...........,@(when.categories...
1b3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b3e0 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 63 61 74 65 67 6f 72 69 65 73 20 63 61 74 65 67 .........(list.:categories.categ
1b400 6f 72 69 65 73 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 ories))))))................(doli
1b420 73 74 20 28 68 6f 6f 6b 20 65 6c 66 65 65 64 2d 6e 65 77 2d 65 6e 74 72 79 2d 70 61 72 73 65 2d st.(hook.elfeed-new-entry-parse-
1b440 68 6f 6f 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 hook)..................(funcall.
1b460 68 6f 6f 6b 20 3a 61 74 6f 6d 20 65 6e 74 72 79 20 64 62 2d 65 6e 74 72 79 29 29 0a 20 20 20 20 hook.:atom.entry.db-entry)).....
1b480 20 20 20 20 20 20 20 20 20 20 20 64 62 2d 65 6e 74 72 79 29 29 29 29 0a 0a 28 64 65 66 73 75 62 ...........db-entry))))..(defsub
1b4a0 73 74 20 65 6c 66 65 65 64 2d 2d 72 73 73 2d 61 75 74 68 6f 72 2d 74 6f 2d 70 6c 69 73 74 20 28 st.elfeed--rss-author-to-plist.(
1b4c0 61 75 74 68 6f 72 29 0a 20 20 22 50 61 72 73 65 20 61 6e 20 52 53 53 20 61 75 74 68 6f 72 20 65 author)..."Parse.an.RSS.author.e
1b4e0 6c 65 6d 65 6e 74 20 69 6e 74 6f 20 61 6e 20 61 75 74 68 6f 72 73 20 70 6c 69 73 74 2e 22 0a 20 lement.into.an.authors.plist."..
1b500 20 28 77 68 65 6e 20 61 75 74 68 6f 72 0a 20 20 20 20 28 6c 65 74 20 28 28 63 6c 65 61 6e 20 28 .(when.author.....(let.((clean.(
1b520 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 70 20 61 75 74 68 6f 72 29 29 29 0a 20 20 20 20 20 20 28 elfeed-cleanup.author))).......(
1b540 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5e 5c 5c 28 2e 2a 5c 5c 29 20 28 5c 5c 28 if.(string-match."^\\(.*\\).(\\(
1b560 5b 5e 29 5d 2b 5c 5c 29 29 24 22 20 63 6c 65 61 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 [^)]+\\))$".clean)...........(li
1b580 73 74 20 28 6c 69 73 74 20 3a 6e 61 6d 65 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 20 63 st.(list.:name.(match-string.2.c
1b5a0 6c 65 61 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 65 6d 61 lean).......................:ema
1b5c0 69 6c 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 63 6c 65 61 6e 29 29 29 0a 20 20 20 20 il.(match-string.1.clean))).....
1b5e0 20 20 20 20 28 6c 69 73 74 20 28 6c 69 73 74 20 3a 65 6d 61 69 6c 20 63 6c 65 61 6e 29 29 29 29 ....(list.(list.:email.clean))))
1b600 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 65 6e 74 72 69 65 73 2d 66 72 6f 6d 2d 72 ))..(defun.elfeed-entries-from-r
1b620 73 73 20 28 75 72 6c 20 78 6d 6c 29 0a 20 20 22 54 75 72 6e 20 70 61 72 73 65 64 20 52 53 53 20 ss.(url.xml)..."Turn.parsed.RSS.
1b640 63 6f 6e 74 65 6e 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 65 6c 66 65 65 64 2d 65 6e content.into.a.list.of.elfeed-en
1b660 74 72 79 20 73 74 72 75 63 74 73 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 65 65 64 2d 69 64 20 try.structs."...(let*.((feed-id.
1b680 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f 74 6f 63 6f 6c 20 28 75 72 6c 2d 74 79 70 url)..........(protocol.(url-typ
1b6a0 65 20 28 75 72 6c 2d 67 65 6e 65 72 69 63 2d 70 61 72 73 65 2d 75 72 6c 20 75 72 6c 29 29 29 0a e.(url-generic-parse-url.url))).
1b6c0 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 73 70 61 63 65 20 28 65 6c 66 65 65 64 2d 75 72 6c 2d .........(namespace.(elfeed-url-
1b6e0 74 6f 2d 6e 61 6d 65 73 70 61 63 65 20 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 65 65 to-namespace.url))..........(fee
1b700 64 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 66 65 65 64 20 66 65 65 64 2d 69 64 29 29 0a d.(elfeed-db-get-feed.feed-id)).
1b720 20 20 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 70 20 .........(title.(elfeed-cleanup.
1b740 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 72 73 73 20 63 68 61 6e 6e 65 6c 20 74 69 74 6c 65 20 2a (xml-query*.(rss.channel.title.*
1b760 29 20 78 6d 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 75 74 6f 74 61 67 73 20 28 65 6c 66 ).xml)))..........(autotags.(elf
1b780 65 65 64 2d 66 65 65 64 2d 61 75 74 6f 74 61 67 73 20 75 72 6c 29 29 29 0a 20 20 20 20 28 73 65 eed-feed-autotags.url))).....(se
1b7a0 74 66 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 75 72 6c 20 66 65 65 64 29 20 75 72 6c 0a 20 20 tf.(elfeed-feed-url.feed).url...
1b7c0 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 74 69 74 6c 65 20 66 65 65 64 29 ........(elfeed-feed-title.feed)
1b7e0 20 74 69 74 6c 65 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 69 74 65 6d 20 69 6e .title).....(cl-loop.for.item.in
1b800 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 72 73 73 20 63 68 61 6e 6e 65 6c 20 69 74 .(xml-query-all*.(rss.channel.it
1b820 65 6d 29 20 78 6d 6c 29 20 63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c em).xml).collect..............(l
1b840 65 74 2a 20 28 28 74 69 74 6c 65 20 28 6f 72 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 74 69 74 et*.((title.(or.(xml-query*.(tit
1b860 6c 65 20 2a 29 20 69 74 65 6d 29 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le.*).item).""))................
1b880 20 20 20 20 20 28 67 75 69 64 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 67 75 69 64 20 2a 29 20 .....(guid.(xml-query*.(guid.*).
1b8a0 69 74 65 6d 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 69 6e 6b item)).....................(link
1b8c0 20 28 65 6c 66 65 65 64 2d 2d 66 69 78 75 70 2d 70 72 6f 74 6f 63 6f 6c 0a 20 20 20 20 20 20 20 .(elfeed--fixup-protocol........
1b8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 74 6f 63 6f 6c 0a 20 20 20 ....................protocol....
1b900 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 78 6d 6c ........................(or.(xml
1b920 2d 71 75 65 72 79 2a 20 28 6c 69 6e 6b 20 2a 29 20 69 74 65 6d 29 20 67 75 69 64 29 29 29 0a 20 -query*.(link.*).item).guid)))..
1b940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 74 65 20 28 6f 72 20 28 78 6d ...................(date.(or.(xm
1b960 6c 2d 71 75 65 72 79 2a 20 28 70 75 62 44 61 74 65 20 2a 29 20 69 74 65 6d 29 0a 20 20 20 20 20 l-query*.(pubDate.*).item)......
1b980 20 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 78 6d 6c 2d 71 75 .........................(xml-qu
1b9a0 65 72 79 2a 20 28 64 61 74 65 20 2a 29 20 69 74 65 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 ery*.(date.*).item)))...........
1b9c0 20 20 20 20 20 20 20 20 20 20 28 61 75 74 68 6f 72 73 20 28 6e 63 6f 6e 63 20 28 65 6c 66 65 65 ..........(authors.(nconc.(elfee
1b9e0 64 2d 2d 72 73 73 2d 61 75 74 68 6f 72 2d 74 6f 2d 70 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 d--rss-author-to-plist..........
1ba00 20 20 20 20 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 78 6d 6c ............................(xml
1ba20 2d 71 75 65 72 79 2a 20 28 61 75 74 68 6f 72 20 2a 29 20 69 74 65 6d 29 29 0a 20 20 20 20 20 20 -query*.(author.*).item)).......
1ba40 20 20 20 20 20 20 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 ..............................;;
1ba60 20 44 75 62 6c 69 6e 20 43 6f 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .Dublin.Core....................
1ba80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 2d 63 72 65 61 74 6f .................(elfeed--creato
1baa0 72 73 2d 74 6f 2d 70 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 rs-to-plist.....................
1bac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a .................(xml-query-all*
1bae0 20 28 63 72 65 61 74 6f 72 20 2a 29 20 69 74 65 6d 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(creator.*).item))))...........
1bb00 20 20 20 20 20 20 20 20 20 20 28 63 61 74 65 67 6f 72 69 65 73 20 28 78 6d 6c 2d 71 75 65 72 79 ..........(categories.(xml-query
1bb20 2d 61 6c 6c 2a 20 28 63 61 74 65 67 6f 72 79 20 2a 29 20 69 74 65 6d 29 29 0a 20 20 20 20 20 20 -all*.(category.*).item)).......
1bb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 74 65 6e 74 20 28 6f 72 20 28 78 6d 6c 2d ..............(content.(or.(xml-
1bb60 71 75 65 72 79 2d 61 6c 6c 2a 20 28 65 6e 63 6f 64 65 64 20 2a 29 20 69 74 65 6d 29 0a 20 20 20 query-all*.(encoded.*).item)....
1bb80 20 20 20 20 20 20 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 78 ..............................(x
1bba0 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 64 65 73 63 72 69 70 74 69 6f 6e 20 2a 29 20 69 74 ml-query-all*.(description.*).it
1bbc0 65 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 73 63 72 em))).....................(descr
1bbe0 69 70 74 69 6f 6e 20 28 61 70 70 6c 79 20 23 27 63 6f 6e 63 61 74 20 63 6f 6e 74 65 6e 74 29 29 iption.(apply.#'concat.content))
1bc00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 64 20 28 6f 72 20 67 75 69 .....................(id.(or.gui
1bc20 64 20 6c 69 6e 6b 20 28 65 6c 66 65 65 64 2d 67 65 6e 65 72 61 74 65 2d 69 64 20 64 65 73 63 72 d.link.(elfeed-generate-id.descr
1bc40 69 70 74 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 iption))).....................(f
1bc60 75 6c 6c 2d 69 64 20 28 63 6f 6e 73 20 6e 61 6d 65 73 70 61 63 65 20 28 65 6c 66 65 65 64 2d 63 ull-id.(cons.namespace.(elfeed-c
1bc80 6c 65 61 6e 75 70 20 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 leanup.id)))....................
1bca0 20 28 6f 72 69 67 69 6e 61 6c 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 65 6e 74 72 79 20 .(original.(elfeed-db-get-entry.
1bcc0 66 75 6c 6c 2d 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f full-id)).....................(o
1bce0 72 69 67 69 6e 61 6c 2d 64 61 74 65 20 28 61 6e 64 20 6f 72 69 67 69 6e 61 6c 20 28 65 6c 66 65 riginal-date.(and.original.(elfe
1bd00 65 64 2d 65 6e 74 72 79 2d 64 61 74 65 20 6f 72 69 67 69 6e 61 6c 29 29 29 0a 20 20 20 20 20 20 ed-entry-date.original))).......
1bd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 61 67 73 20 28 65 6c 66 65 65 64 2d 6e 6f 72 6d ..............(tags.(elfeed-norm
1bd40 61 6c 69 7a 65 2d 74 61 67 73 20 61 75 74 6f 74 61 67 73 20 65 6c 66 65 65 64 2d 69 6e 69 74 69 alize-tags.autotags.elfeed-initi
1bd60 61 6c 2d 74 61 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 al-tags)).....................(e
1bd80 74 61 67 73 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 65 6e 63 6c 6f 73 75 72 65 29 tags.(xml-query-all*.(enclosure)
1bda0 20 69 74 65 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 63 .item)).....................(enc
1bdc0 6c 6f 73 75 72 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c losures......................(cl
1bde0 2d 6c 6f 6f 70 20 66 6f 72 20 65 6e 63 6c 6f 73 75 72 65 20 69 6e 20 65 74 61 67 73 0a 20 20 20 -loop.for.enclosure.in.etags....
1be00 20 20 20 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 77 ...........................for.w
1be20 72 61 70 20 3d 20 28 6c 69 73 74 20 65 6e 63 6c 6f 73 75 72 65 29 0a 20 20 20 20 20 20 20 20 20 rap.=.(list.enclosure)..........
1be40 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 75 72 6c 20 3d 20 28 .....................for.url.=.(
1be60 78 6d 6c 2d 71 75 65 72 79 2a 20 28 3a 75 72 6c 29 20 77 72 61 70 29 0a 20 20 20 20 20 20 20 20 xml-query*.(:url).wrap).........
1be80 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 74 79 70 65 20 3d ......................for.type.=
1bea0 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 3a 74 79 70 65 29 20 77 72 61 70 29 0a 20 20 20 20 20 .(xml-query*.(:type).wrap)......
1bec0 20 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 6c 65 6e .........................for.len
1bee0 67 74 68 20 3d 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 3a 6c 65 6e 67 74 68 29 20 77 72 61 70 gth.=.(xml-query*.(:length).wrap
1bf00 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 20 )...............................
1bf20 63 6f 6c 6c 65 63 74 20 28 6c 69 73 74 20 75 72 6c 20 74 79 70 65 20 6c 65 6e 67 74 68 29 29 29 collect.(list.url.type.length)))
1bf40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 62 2d 65 6e 74 72 79 20 28 .....................(db-entry.(
1bf60 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 2d 63 72 65 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 elfeed-entry--create............
1bf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 69 74 6c 65 20 28 65 6c 66 65 ....................:title.(elfe
1bfa0 65 64 2d 63 6c 65 61 6e 75 70 20 74 69 74 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ed-cleanup.title)...............
1bfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 64 20 66 75 6c 6c 2d 69 64 0a 20 20 20 .................:id.full-id....
1bfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 65 65 ............................:fee
1c000 64 2d 69 64 20 66 65 65 64 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d-id.feed-id....................
1c020 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 6e 6b 20 28 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 ............:link.(elfeed-cleanu
1c040 70 20 6c 69 6e 6b 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 p.link).........................
1c060 20 20 20 20 20 20 20 3a 74 61 67 73 20 74 61 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......:tags.tags...............
1c080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 64 61 74 65 20 28 65 6c 66 65 65 64 2d 6e .................:date.(elfeed-n
1c0a0 65 77 2d 64 61 74 65 2d 66 6f 72 2d 65 6e 74 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ew-date-for-entry...............
1c0c0 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 69 67 69 6e 61 6c ........................original
1c0e0 2d 64 61 74 65 20 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -date.date).....................
1c100 20 20 20 20 20 20 20 20 20 20 20 3a 65 6e 63 6c 6f 73 75 72 65 73 20 65 6e 63 6c 6f 73 75 72 65 ...........:enclosures.enclosure
1c120 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 20 s...............................
1c140 20 3a 63 6f 6e 74 65 6e 74 20 64 65 73 63 72 69 70 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 .:content.description...........
1c160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6e 74 65 6e 74 2d 74 79 .....................:content-ty
1c180 70 65 20 27 68 74 6d 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 pe.'html........................
1c1a0 20 20 20 20 20 20 20 20 3a 6d 65 74 61 20 60 28 2c 40 28 77 68 65 6e 20 61 75 74 68 6f 72 73 0a ........:meta.`(,@(when.authors.
1c1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1c1e0 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 61 75 74 68 6f 72 73 20 61 75 74 68 6f 72 ...........(list.:authors.author
1c200 73 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 s)).............................
1c220 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 63 61 74 65 67 6f 72 69 65 73 0a 20 20 ...........,@(when.categories...
1c240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1c260 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 63 61 74 65 67 6f 72 69 65 73 20 63 61 74 65 67 .........(list.:categories.categ
1c280 6f 72 69 65 73 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 ories))))))................(doli
1c2a0 73 74 20 28 68 6f 6f 6b 20 65 6c 66 65 65 64 2d 6e 65 77 2d 65 6e 74 72 79 2d 70 61 72 73 65 2d st.(hook.elfeed-new-entry-parse-
1c2c0 68 6f 6f 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 hook)..................(funcall.
1c2e0 68 6f 6f 6b 20 3a 72 73 73 20 69 74 65 6d 20 64 62 2d 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 hook.:rss.item.db-entry)).......
1c300 20 20 20 20 20 20 20 20 20 64 62 2d 65 6e 74 72 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c .........db-entry))))..(defun.el
1c320 66 65 65 64 2d 65 6e 74 72 69 65 73 2d 66 72 6f 6d 2d 72 73 73 31 2e 30 20 28 75 72 6c 20 78 6d feed-entries-from-rss1.0.(url.xm
1c340 6c 29 0a 20 20 22 54 75 72 6e 20 70 61 72 73 65 64 20 52 53 53 20 31 2e 30 20 63 6f 6e 74 65 6e l)..."Turn.parsed.RSS.1.0.conten
1c360 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 65 6c 66 65 65 64 2d 65 6e 74 72 79 20 73 74 t.into.a.list.of.elfeed-entry.st
1c380 72 75 63 74 73 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 65 65 64 2d 69 64 20 75 72 6c 29 0a 20 ructs."...(let*.((feed-id.url)..
1c3a0 20 20 20 20 20 20 20 20 28 6e 61 6d 65 73 70 61 63 65 20 28 65 6c 66 65 65 64 2d 75 72 6c 2d 74 ........(namespace.(elfeed-url-t
1c3c0 6f 2d 6e 61 6d 65 73 70 61 63 65 20 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 65 65 64 o-namespace.url))..........(feed
1c3e0 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 66 65 65 64 20 66 65 65 64 2d 69 64 29 29 0a 20 .(elfeed-db-get-feed.feed-id))..
1c400 20 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 70 20 28 ........(title.(elfeed-cleanup.(
1c420 78 6d 6c 2d 71 75 65 72 79 2a 20 28 52 44 46 20 63 68 61 6e 6e 65 6c 20 74 69 74 6c 65 20 2a 29 xml-query*.(RDF.channel.title.*)
1c440 20 78 6d 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 75 74 6f 74 61 67 73 20 28 65 6c 66 65 .xml)))..........(autotags.(elfe
1c460 65 64 2d 66 65 65 64 2d 61 75 74 6f 74 61 67 73 20 75 72 6c 29 29 29 0a 20 20 20 20 28 73 65 74 ed-feed-autotags.url))).....(set
1c480 66 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 75 72 6c 20 66 65 65 64 29 20 75 72 6c 0a 20 20 20 f.(elfeed-feed-url.feed).url....
1c4a0 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 74 69 74 6c 65 20 66 65 65 64 29 20 .......(elfeed-feed-title.feed).
1c4c0 74 69 74 6c 65 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 69 74 65 6d 20 69 6e 20 title).....(cl-loop.for.item.in.
1c4e0 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 52 44 46 20 69 74 65 6d 29 20 78 6d 6c 29 20 (xml-query-all*.(RDF.item).xml).
1c500 63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 74 69 74 collect..............(let*.((tit
1c520 6c 65 20 28 6f 72 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 74 69 74 6c 65 20 2a 29 20 69 74 65 le.(or.(xml-query*.(title.*).ite
1c540 6d 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 28 6c 69 6e m)."")).....................(lin
1c560 6b 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 6c 69 6e 6b 20 2a 29 20 69 74 65 6d 29 29 0a 20 20 k.(xml-query*.(link.*).item))...
1c580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 74 65 20 28 6f 72 20 28 78 6d 6c ..................(date.(or.(xml
1c5a0 2d 71 75 65 72 79 2a 20 28 70 75 62 44 61 74 65 20 2a 29 20 69 74 65 6d 29 0a 20 20 20 20 20 20 -query*.(pubDate.*).item).......
1c5c0 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 78 6d 6c 2d 71 75 65 ........................(xml-que
1c5e0 72 79 2a 20 28 64 61 74 65 20 2a 29 20 69 74 65 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ry*.(date.*).item)))............
1c600 20 20 20 20 20 20 20 20 20 28 64 65 73 63 72 69 70 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 .........(description...........
1c620 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 63 6f 6e 63 61 74 20 28 78 6d 6c 2d ...........(apply.#'concat.(xml-
1c640 71 75 65 72 79 2d 61 6c 6c 2a 20 28 64 65 73 63 72 69 70 74 69 6f 6e 20 2a 29 20 69 74 65 6d 29 query-all*.(description.*).item)
1c660 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 64 20 28 6f 72 20 6c )).....................(id.(or.l
1c680 69 6e 6b 20 28 65 6c 66 65 65 64 2d 67 65 6e 65 72 61 74 65 2d 69 64 20 64 65 73 63 72 69 70 74 ink.(elfeed-generate-id.descript
1c6a0 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6c 6c ion))).....................(full
1c6c0 2d 69 64 20 28 63 6f 6e 73 20 6e 61 6d 65 73 70 61 63 65 20 28 65 6c 66 65 65 64 2d 63 6c 65 61 -id.(cons.namespace.(elfeed-clea
1c6e0 6e 75 70 20 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f nup.id))).....................(o
1c700 72 69 67 69 6e 61 6c 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 65 6e 74 72 79 20 66 75 6c riginal.(elfeed-db-get-entry.ful
1c720 6c 2d 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 69 67 l-id)).....................(orig
1c740 69 6e 61 6c 2d 64 61 74 65 20 28 61 6e 64 20 6f 72 69 67 69 6e 61 6c 20 28 65 6c 66 65 65 64 2d inal-date.(and.original.(elfeed-
1c760 65 6e 74 72 79 2d 64 61 74 65 20 6f 72 69 67 69 6e 61 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 entry-date.original)))..........
1c780 20 20 20 20 20 20 20 20 20 20 20 28 74 61 67 73 20 28 65 6c 66 65 65 64 2d 6e 6f 72 6d 61 6c 69 ...........(tags.(elfeed-normali
1c7a0 7a 65 2d 74 61 67 73 20 61 75 74 6f 74 61 67 73 20 65 6c 66 65 65 64 2d 69 6e 69 74 69 61 6c 2d ze-tags.autotags.elfeed-initial-
1c7c0 74 61 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 62 2d 65 tags)).....................(db-e
1c7e0 6e 74 72 79 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 2d 63 72 65 61 74 65 0a 20 20 20 20 20 ntry.(elfeed-entry--create......
1c800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 69 74 6c 65 ..........................:title
1c820 20 28 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 70 20 74 69 74 6c 65 29 0a 20 20 20 20 20 20 20 20 .(elfeed-cleanup.title).........
1c840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 64 20 66 75 6c 6c 2d .......................:id.full-
1c860 69 64 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 id..............................
1c880 20 20 3a 66 65 65 64 2d 69 64 20 66 65 65 64 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..:feed-id.feed-id..............
1c8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 6e 6b 20 28 65 6c 66 65 65 64 2d ..................:link.(elfeed-
1c8c0 63 6c 65 61 6e 75 70 20 6c 69 6e 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cleanup.link)...................
1c8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 61 67 73 20 74 61 67 73 0a 20 20 20 20 20 20 20 20 .............:tags.tags.........
1c900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 64 61 74 65 20 28 65 6c .......................:date.(el
1c920 66 65 65 64 2d 6e 65 77 2d 64 61 74 65 2d 66 6f 72 2d 65 6e 74 72 79 0a 20 20 20 20 20 20 20 20 feed-new-date-for-entry.........
1c940 20 20 20 20 20 20 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 ..............................or
1c960 69 67 69 6e 61 6c 2d 64 61 74 65 20 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 iginal-date.date)...............
1c980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6e 74 65 6e 74 20 64 65 73 63 72 69 .................:content.descri
1c9a0 70 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 20 20 20 20 ption...........................
1c9c0 20 20 20 20 20 3a 63 6f 6e 74 65 6e 74 2d 74 79 70 65 20 27 68 74 6d 6c 29 29 29 0a 20 20 20 20 .....:content-type.'html))).....
1c9e0 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 68 6f 6f 6b 20 65 6c 66 65 65 64 2d ...........(dolist.(hook.elfeed-
1ca00 6e 65 77 2d 65 6e 74 72 79 2d 70 61 72 73 65 2d 68 6f 6f 6b 29 0a 20 20 20 20 20 20 20 20 20 20 new-entry-parse-hook)...........
1ca20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 68 6f 6f 6b 20 3a 72 73 73 31 2e 30 20 69 74 65 .......(funcall.hook.:rss1.0.ite
1ca40 6d 20 64 62 2d 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 62 2d 65 m.db-entry))................db-e
1ca60 6e 74 72 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 66 65 65 64 2d 6c 69 73 ntry))))..(defun.elfeed-feed-lis
1ca80 74 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 6c 61 74 20 6c 69 73 74 20 76 65 72 73 69 t.()..."Return.a.flat.list.versi
1caa0 6f 6e 20 6f 66 20 60 65 6c 66 65 65 64 2d 66 65 65 64 73 27 2e 0a 4f 6e 6c 79 20 61 20 6c 69 73 on.of.`elfeed-feeds'..Only.a.lis
1cac0 74 20 6f 66 20 73 74 72 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 2e 22 0a t.of.strings.will.be.returned.".
1cae0 20 20 3b 3b 20 56 61 6c 69 64 61 74 65 20 65 6c 66 65 65 64 2d 66 65 65 64 73 20 61 6e 64 20 66 ..;;.Validate.elfeed-feeds.and.f
1cb00 61 69 6c 20 65 61 72 6c 79 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 73 79 6e 63 68 72 6f 6e 6f ail.early.rather.than.asynchrono
1cb20 75 73 6c 79 20 6c 61 74 65 72 2e 0a 20 20 28 64 6f 6c 69 73 74 20 28 66 65 65 64 20 65 6c 66 65 usly.later....(dolist.(feed.elfe
1cb40 65 64 2d 66 65 65 64 73 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 63 6c 2d 74 79 70 65 63 61 ed-feeds).....(unless.(cl-typeca
1cb60 73 65 20 66 65 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 61 6e 64 se.feed...............(list.(and
1cb80 20 28 73 74 72 69 6e 67 70 20 28 63 61 72 20 66 65 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(stringp.(car.feed))...........
1cba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 65 76 65 72 79 20 23 27 73 79 6d 62 6f ...............(cl-every.#'symbo
1cbc0 6c 70 20 28 63 64 72 20 66 65 65 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 lp.(cdr.feed))))...............(
1cbe0 73 74 72 69 6e 67 20 74 29 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 65 6c 66 65 65 64 2d string.t)).......(error."elfeed-
1cc00 66 65 65 64 73 20 6d 61 6c 66 6f 72 6d 65 64 2c 20 62 61 64 20 65 6e 74 72 79 3a 20 25 53 22 20 feeds.malformed,.bad.entry:.%S".
1cc20 66 65 65 64 29 29 29 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 66 65 65 64 20 69 6e 20 65 feed)))...(cl-loop.for.feed.in.e
1cc40 6c 66 65 65 64 2d 66 65 65 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 28 6c 69 73 lfeed-feeds............when.(lis
1cc60 74 70 20 66 65 65 64 29 20 63 6f 6c 6c 65 63 74 20 28 63 61 72 20 66 65 65 64 29 0a 20 20 20 20 tp.feed).collect.(car.feed).....
1cc80 20 20 20 20 20 20 20 65 6c 73 65 20 63 6f 6c 6c 65 63 74 20 66 65 65 64 29 29 0a 0a 28 64 65 66 .......else.collect.feed))..(def
1cca0 75 6e 20 65 6c 66 65 65 64 2d 66 65 65 64 2d 61 75 74 6f 74 61 67 73 20 28 75 72 6c 2d 6f 72 2d un.elfeed-feed-autotags.(url-or-
1ccc0 66 65 65 64 29 0a 20 20 22 52 65 74 75 72 6e 20 74 61 67 73 20 74 6f 20 61 75 74 6f 6d 61 74 69 feed)..."Return.tags.to.automati
1cce0 63 61 6c 6c 79 20 61 70 70 6c 79 20 74 6f 20 61 6c 6c 20 65 6e 74 72 69 65 73 20 66 72 6f 6d 20 cally.apply.to.all.entries.from.
1cd00 55 52 4c 2d 4f 52 2d 46 45 45 44 2e 22 0a 20 20 28 6c 65 74 20 28 28 75 72 6c 20 28 69 66 20 28 URL-OR-FEED."...(let.((url.(if.(
1cd20 65 6c 66 65 65 64 2d 66 65 65 64 2d 70 20 75 72 6c 2d 6f 72 2d 66 65 65 64 29 0a 20 20 20 20 20 elfeed-feed-p.url-or-feed)......
1cd40 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 75 72 6c ............(or.(elfeed-feed-url
1cd60 20 75 72 6c 2d 6f 72 2d 66 65 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .url-or-feed)...................
1cd80 20 20 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 69 64 20 75 72 6c 2d 6f 72 2d 66 65 65 64 29 29 ...(elfeed-feed-id.url-or-feed))
1cda0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 72 6c 2d 6f 72 2d 66 65 65 64 29 29 29 0a 20 ................url-or-feed)))..
1cdc0 20 20 20 28 6d 61 70 63 61 72 20 23 27 65 6c 66 65 65 64 2d 6b 65 79 77 6f 72 64 2d 3e 73 79 6d ...(mapcar.#'elfeed-keyword->sym
1cde0 62 6f 6c 20 28 63 64 72 20 28 61 73 73 6f 63 20 75 72 6c 20 65 6c 66 65 65 64 2d 66 65 65 64 73 bol.(cdr.(assoc.url.elfeed-feeds
1ce00 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 61 70 70 6c 79 2d 61 75 74 6f 74 )))))..(defun.elfeed-apply-autot
1ce20 61 67 73 2d 6e 6f 77 20 28 29 0a 20 20 22 41 70 70 6c 79 20 61 75 74 6f 74 61 67 73 20 74 6f 20 ags-now.()..."Apply.autotags.to.
1ce40 65 78 69 73 74 69 6e 67 20 65 6e 74 72 69 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 65 existing.entries.according.to.`e
1ce60 6c 66 65 65 64 2d 66 65 65 64 73 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 lfeed-feeds'."...(interactive)..
1ce80 20 28 77 69 74 68 2d 65 6c 66 65 65 64 2d 64 62 2d 76 69 73 69 74 20 28 65 6e 74 72 79 20 66 65 .(with-elfeed-db-visit.(entry.fe
1cea0 65 64 29 0a 20 20 20 20 28 61 70 70 6c 79 20 23 27 65 6c 66 65 65 64 2d 74 61 67 20 65 6e 74 72 ed).....(apply.#'elfeed-tag.entr
1cec0 79 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 61 75 74 6f 74 61 67 73 20 66 65 65 64 29 29 29 29 y.(elfeed-feed-autotags.feed))))
1cee0 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 68 61 6e 64 6c 65 2d 68 74 74 70 2d 65 72 72 6f ..(defun.elfeed-handle-http-erro
1cf00 72 20 28 75 72 6c 20 73 74 61 74 75 73 29 0a 20 20 22 48 61 6e 64 6c 65 20 61 6e 20 68 74 74 70 r.(url.status)..."Handle.an.http
1cf20 20 65 72 72 6f 72 20 64 75 72 69 6e 67 20 72 65 74 72 69 65 76 61 6c 20 6f 66 20 55 52 4c 20 77 .error.during.retrieval.of.URL.w
1cf40 69 74 68 20 53 54 41 54 55 53 20 63 6f 64 65 2e 22 0a 20 20 28 63 6c 2d 69 6e 63 66 20 28 65 6c ith.STATUS.code."...(cl-incf.(el
1cf60 66 65 65 64 2d 6d 65 74 61 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 66 65 65 64 20 75 72 feed-meta.(elfeed-db-get-feed.ur
1cf80 6c 29 20 3a 66 61 69 6c 75 72 65 73 20 30 29 29 0a 20 20 28 72 75 6e 2d 68 6f 6f 6b 2d 77 69 74 l).:failures.0))...(run-hook-wit
1cfa0 68 2d 61 72 67 73 20 27 65 6c 66 65 65 64 2d 68 74 74 70 2d 65 72 72 6f 72 2d 68 6f 6f 6b 73 20 h-args.'elfeed-http-error-hooks.
1cfc0 75 72 6c 20 73 74 61 74 75 73 29 0a 20 20 28 65 6c 66 65 65 64 2d 6c 6f 67 20 27 65 72 72 6f 72 url.status)...(elfeed-log.'error
1cfe0 20 22 25 73 3a 20 25 53 22 20 75 72 6c 20 73 74 61 74 75 73 29 29 0a 0a 28 64 65 66 75 6e 20 65 ."%s:.%S".url.status))..(defun.e
1d000 6c 66 65 65 64 2d 68 61 6e 64 6c 65 2d 70 61 72 73 65 2d 65 72 72 6f 72 20 28 75 72 6c 20 65 72 lfeed-handle-parse-error.(url.er
1d020 72 6f 72 29 0a 20 20 22 48 61 6e 64 6c 65 20 70 61 72 73 65 20 65 72 72 6f 72 20 64 75 72 69 6e ror)..."Handle.parse.error.durin
1d040 67 20 70 61 72 73 69 6e 67 20 6f 66 20 55 52 4c 20 77 69 74 68 20 45 52 52 4f 52 20 6d 65 73 73 g.parsing.of.URL.with.ERROR.mess
1d060 61 67 65 2e 22 0a 20 20 28 63 6c 2d 69 6e 63 66 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 20 28 65 age."...(cl-incf.(elfeed-meta.(e
1d080 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 66 65 65 64 20 75 72 6c 29 20 3a 66 61 69 6c 75 72 65 73 lfeed-db-get-feed.url).:failures
1d0a0 20 30 29 29 0a 20 20 28 72 75 6e 2d 68 6f 6f 6b 2d 77 69 74 68 2d 61 72 67 73 20 27 65 6c 66 65 .0))...(run-hook-with-args.'elfe
1d0c0 65 64 2d 70 61 72 73 65 2d 65 72 72 6f 72 2d 68 6f 6f 6b 73 20 75 72 6c 20 65 72 72 6f 72 29 0a ed-parse-error-hooks.url.error).
1d0e0 20 20 28 65 6c 66 65 65 64 2d 6c 6f 67 20 27 65 72 72 6f 72 20 22 25 73 3a 20 25 73 22 20 75 72 ..(elfeed-log.'error."%s:.%s".ur
1d100 6c 20 65 72 72 6f 72 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d l.error))..(defun.elfeed-update-
1d120 66 65 65 64 20 28 75 72 6c 29 0a 20 20 22 55 70 64 61 74 65 20 61 20 73 70 65 63 69 66 69 63 20 feed.(url)..."Update.a.specific.
1d140 66 65 65 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 28 63 6f 6d feed."...(interactive.(list.(com
1d160 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 46 65 65 64 3a 20 22 20 28 65 6c 66 65 65 64 2d 66 65 pleting-read."Feed:.".(elfeed-fe
1d180 65 64 2d 6c 69 73 74 29 29 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 65 6c 66 65 65 64 2d 2d 69 6e ed-list))))...(unless.elfeed--in
1d1a0 68 69 62 69 74 2d 75 70 64 61 74 65 2d 69 6e 69 74 2d 68 6f 6f 6b 73 0a 20 20 20 20 28 72 75 6e hibit-update-init-hooks.....(run
1d1c0 2d 68 6f 6f 6b 73 20 27 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 69 6e 69 74 2d 68 6f 6f 6b 73 -hooks.'elfeed-update-init-hooks
1d1e0 29 29 0a 20 20 28 65 6c 66 65 65 64 2d 77 69 74 68 2d 66 65 74 63 68 20 75 72 6c 0a 20 20 20 20 ))...(elfeed-with-fetch.url.....
1d200 28 69 66 20 28 65 6c 66 65 65 64 2d 69 73 2d 73 74 61 74 75 73 2d 65 72 72 6f 72 20 73 74 61 74 (if.(elfeed-is-status-error.stat
1d220 75 73 20 75 73 65 2d 63 75 72 6c 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 69 6e us.use-curl).........(let.((prin
1d240 74 2d 65 73 63 61 70 65 2d 6e 65 77 6c 69 6e 65 73 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 t-escape-newlines.t))...........
1d260 28 65 6c 66 65 65 64 2d 68 61 6e 64 6c 65 2d 68 74 74 70 2d 65 72 72 6f 72 0a 20 20 20 20 20 20 (elfeed-handle-http-error.......
1d280 20 20 20 20 20 75 72 6c 20 28 69 66 20 75 73 65 2d 63 75 72 6c 20 65 6c 66 65 65 64 2d 63 75 72 .....url.(if.use-curl.elfeed-cur
1d2a0 6c 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 20 73 74 61 74 75 73 29 29 29 0a 20 20 20 20 20 20 l-error-message.status))).......
1d2c0 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 20 (condition-case.error...........
1d2e0 28 6c 65 74 20 28 28 66 65 65 64 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 66 65 65 64 20 (let.((feed.(elfeed-db-get-feed.
1d300 75 72 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 75 73 65 2d 63 url))).............(unless.use-c
1d320 75 72 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 6d 6f 76 65 2d 74 url...............(elfeed-move-t
1d340 6f 2d 66 69 72 73 74 2d 65 6d 70 74 79 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 o-first-empty-line).............
1d360 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 75 6c 74 69 62 79 74 65 20 74 29 29 0a 20 20 20 20 ..(set-buffer-multibyte.t)).....
1d380 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 6c 20 65 6c 66 65 65 64 2d 63 75 72 6c ........(unless.(eql.elfeed-curl
1d3a0 2d 73 74 61 74 75 73 2d 63 6f 64 65 20 33 30 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -status-code.304)...............
1d3c0 3b 3b 20 55 70 64 61 74 65 20 4c 61 73 74 2d 4d 6f 64 69 66 69 65 64 20 61 6e 64 20 45 74 61 67 ;;.Update.Last-Modified.and.Etag
1d3e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 65 6c 66 65 65 64 2d 6d 65 74 ...............(setf.(elfeed-met
1d400 61 20 66 65 65 64 20 3a 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 29 0a 20 20 20 20 20 20 20 20 20 a.feed.:last-modified)..........
1d420 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 28 61 73 73 6f 63 20 22 6c 61 73 74 2d 6d 6f 64 ...........(cdr.(assoc."last-mod
1d440 69 66 69 65 64 22 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 68 65 61 64 65 72 73 29 29 0a 20 20 20 ified".elfeed-curl-headers))....
1d460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 20 66 65 .................(elfeed-meta.fe
1d480 65 64 20 3a 65 74 61 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 ed.:etag).....................(c
1d4a0 64 72 20 28 61 73 73 6f 63 20 22 65 74 61 67 22 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 68 65 61 dr.(assoc."etag".elfeed-curl-hea
1d4c0 64 65 72 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c ders)))...............(if.(equal
1d4e0 20 75 72 6c 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 6c 6f 63 61 74 69 6f 6e 29 0a 20 20 20 20 20 .url.elfeed-curl-location)......
1d500 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 20 .............(setf.(elfeed-meta.
1d520 66 65 65 64 20 3a 63 61 6e 6f 6e 69 63 61 6c 2d 75 72 6c 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 feed.:canonical-url).nil).......
1d540 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 20 66 65 65 ..........(setf.(elfeed-meta.fee
1d560 64 20 3a 63 61 6e 6f 6e 69 63 61 6c 2d 75 72 6c 29 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 6c 6f d.:canonical-url).elfeed-curl-lo
1d580 63 61 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 78 cation))...............(let*.((x
1d5a0 6d 6c 20 28 65 6c 66 65 65 64 2d 78 6d 6c 2d 70 61 72 73 65 2d 72 65 67 69 6f 6e 20 28 70 6f 69 ml.(elfeed-xml-parse-region.(poi
1d5c0 6e 74 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nt).(point-max)))...............
1d5e0 20 20 20 20 20 20 20 28 65 6e 74 72 69 65 73 20 28 63 6c 2d 63 61 73 65 20 28 65 6c 66 65 65 64 .......(entries.(cl-case.(elfeed
1d600 2d 66 65 65 64 2d 74 79 70 65 20 78 6d 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -feed-type.xml).................
1d620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 61 74 6f 6d 20 28 65 6c 66 65 65 64 2d 65 ................(:atom.(elfeed-e
1d640 6e 74 72 69 65 73 2d 66 72 6f 6d 2d 61 74 6f 6d 20 75 72 6c 20 78 6d 6c 29 29 0a 20 20 20 20 20 ntries-from-atom.url.xml))......
1d660 20 20 20 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 3a 72 73 73 ...........................(:rss
1d680 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 69 65 73 2d 66 72 6f 6d 2d 72 73 73 20 75 72 6c 20 78 6d .(elfeed-entries-from-rss.url.xm
1d6a0 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 20 20 20 20 20 20 20 l)).............................
1d6c0 20 20 20 20 28 3a 72 73 73 31 2e 30 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 69 65 73 2d 66 72 6f ....(:rss1.0.(elfeed-entries-fro
1d6e0 6d 2d 72 73 73 31 2e 30 20 75 72 6c 20 78 6d 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 m-rss1.0.url.xml))..............
1d700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 74 68 65 72 77 69 73 65 0a 20 20 ...................(otherwise...
1d720 20 20 20 20 20 20 20 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 ...............................(
1d740 65 72 72 6f 72 20 28 65 6c 66 65 65 64 2d 68 61 6e 64 6c 65 2d 70 61 72 73 65 2d 65 72 72 6f 72 error.(elfeed-handle-parse-error
1d760 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 ................................
1d780 20 20 20 20 20 20 20 20 20 20 75 72 6c 20 22 55 6e 6b 6e 6f 77 6e 20 66 65 65 64 20 74 79 70 65 ..........url."Unknown.feed.type
1d7a0 2e 22 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 .")))))).................(elfeed
1d7c0 2d 64 62 2d 61 64 64 20 65 6e 74 72 69 65 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 -db-add.entries)))).........(err
1d7e0 6f 72 20 28 65 6c 66 65 65 64 2d 68 61 6e 64 6c 65 2d 70 61 72 73 65 2d 65 72 72 6f 72 20 75 72 or.(elfeed-handle-parse-error.ur
1d800 6c 20 65 72 72 6f 72 29 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 75 73 65 2d 63 75 72 6c l.error)))).....(unless.use-curl
1d820 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 28 72 75 6e 2d 68 .......(kill-buffer)).....(run-h
1d840 6f 6f 6b 2d 77 69 74 68 2d 61 72 67 73 20 27 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 68 6f 6f ook-with-args.'elfeed-update-hoo
1d860 6b 73 20 75 72 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 63 61 6e 64 69 64 61 ks.url)))..(defun.elfeed-candida
1d880 74 65 2d 66 65 65 64 73 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 te-feeds.()..."Return.a.list.of.
1d8a0 70 6f 73 73 69 62 6c 65 20 66 65 65 64 73 20 66 72 6f 6d 20 60 65 6c 66 65 65 64 2d 66 65 65 64 possible.feeds.from.`elfeed-feed
1d8c0 2d 66 75 6e 63 74 69 6f 6e 73 27 2e 22 0a 20 20 28 6c 65 74 20 28 72 65 73 29 0a 20 20 20 20 28 -functions'."...(let.(res).....(
1d8e0 72 75 6e 2d 68 6f 6f 6b 2d 77 72 61 70 70 65 64 0a 20 20 20 20 20 27 65 6c 66 65 65 64 2d 66 65 run-hook-wrapped......'elfeed-fe
1d900 65 64 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 66 75 6e 29 0a ed-functions......(lambda.(fun).
1d920 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 76 61 6c 20 28 65 6c 66 65 65 64 2d 63 6c 65 61 6e .......(let*.((val.(elfeed-clean
1d940 75 70 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 up.(funcall.fun))))..........(wh
1d960 65 6e 20 28 61 6e 64 20 28 6e 6f 74 20 28 7a 65 72 6f 70 20 28 6c 65 6e 67 74 68 20 76 61 6c 29 en.(and.(not.(zerop.(length.val)
1d980 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 6c )).....................(elfeed-l
1d9a0 6f 6f 6b 73 2d 6c 69 6b 65 2d 75 72 6c 2d 70 20 76 61 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 ooks-like-url-p.val))...........
1d9c0 20 28 63 6c 2d 70 75 73 68 6e 65 77 20 76 61 6c 20 72 65 73 20 3a 74 65 73 74 20 23 27 65 71 75 .(cl-pushnew.val.res.:test.#'equ
1d9e0 61 6c 29 29 29 0a 20 20 20 20 20 20 20 6e 69 6c 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 al)))........nil)).....(nreverse
1da00 20 72 65 73 29 29 29 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 61 64 64 2d 66 65 .res)))..(cl-defun.elfeed-add-fe
1da20 65 64 20 28 75 72 6c 20 26 6b 65 79 20 73 61 76 65 29 0a 20 20 22 4d 61 6e 75 61 6c 6c 79 20 61 ed.(url.&key.save)..."Manually.a
1da40 64 64 20 61 20 66 65 65 64 20 74 6f 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 0a 49 66 20 53 41 dd.a.feed.to.the.database..If.SA
1da60 56 45 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 74 68 65 20 6e 65 77 20 76 61 6c 75 65 20 6f 66 20 e2 VE.is.non-nil.the.new.value.of..
1da80 80 98 65 6c 66 65 65 64 2d 66 65 65 64 73 e2 80 99 20 69 73 20 73 61 76 65 64 2e 20 20 57 68 65 ..elfeed-feeds....is.saved...Whe
1daa0 6e 0a 63 61 6c 6c 65 64 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 53 41 56 45 20 69 73 20 n.called.interactively,.SAVE.is.
1dac0 73 65 74 20 74 6f 20 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 69 set.to.t."...(interactive....(li
1dae0 73 74 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 66 65 65 64 73 20 28 65 6c 66 65 65 64 2d 63 61 6e st.....(let*.((feeds.(elfeed-can
1db00 64 69 64 61 74 65 2d 66 65 65 64 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 70 didate-feeds))............(promp
1db20 74 20 28 69 66 20 66 65 65 64 73 20 28 63 6f 6e 63 61 74 20 22 55 52 4c 20 28 64 65 66 61 75 6c t.(if.feeds.(concat."URL.(defaul
1db40 74 20 22 20 28 63 61 72 20 66 65 65 64 73 29 20 20 22 29 3a 20 22 29 0a 20 20 20 20 20 20 20 20 t.".(car.feeds).."):.").........
1db60 20 20 20 20 20 20 20 20 20 20 20 20 20 22 55 52 4c 3a 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 ............."URL:."))..........
1db80 20 20 28 69 6e 70 75 74 20 28 72 65 61 64 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 20 70 ..(input.(read-from-minibuffer.p
1dba0 72 6f 6d 70 74 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 66 65 65 64 73 29 29 0a 20 20 rompt.nil.nil.nil.nil.feeds))...
1dbc0 20 20 20 20 20 20 20 20 20 28 72 65 73 75 6c 74 20 28 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 70 .........(result.(elfeed-cleanup
1dbe0 20 69 6e 70 75 74 29 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 6f 74 20 28 7a 65 72 .input))).......(cond.((not.(zer
1dc00 6f 70 20 28 6c 65 6e 67 74 68 20 72 65 73 75 6c 74 29 29 29 20 72 65 73 75 6c 74 29 0a 20 20 20 op.(length.result))).result)....
1dc20 20 20 20 20 20 20 20 20 20 28 66 65 65 64 73 20 28 63 61 72 20 66 65 65 64 73 29 29 0a 20 20 20 .........(feeds.(car.feeds))....
1dc40 20 20 20 20 20 20 20 20 20 28 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 20 66 65 65 64 20 74 .........((user-error."No.feed.t
1dc60 6f 20 61 64 64 22 29 29 29 29 0a 20 20 20 20 3a 73 61 76 65 20 74 29 29 0a 20 20 28 63 6c 2d 70 o.add")))).....:save.t))...(cl-p
1dc80 75 73 68 6e 65 77 20 75 72 6c 20 65 6c 66 65 65 64 2d 66 65 65 64 73 20 3a 74 65 73 74 20 23 27 ushnew.url.elfeed-feeds.:test.#'
1dca0 65 71 75 61 6c 29 0a 20 20 28 77 68 65 6e 20 73 61 76 65 0a 20 20 20 20 28 63 75 73 74 6f 6d 69 equal)...(when.save.....(customi
1dcc0 7a 65 2d 73 61 76 65 2d 76 61 72 69 61 62 6c 65 20 27 65 6c 66 65 65 64 2d 66 65 65 64 73 20 65 ze-save-variable.'elfeed-feeds.e
1dce0 6c 66 65 65 64 2d 66 65 65 64 73 29 29 0a 20 20 28 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 66 lfeed-feeds))...(elfeed-update-f
1dd00 65 65 64 20 75 72 6c 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 eed.url))..;;;###autoload.(defun
1dd20 20 65 6c 66 65 65 64 2d 75 70 64 61 74 65 20 28 29 0a 20 20 22 55 70 64 61 74 65 20 61 6c 6c 20 .elfeed-update.()..."Update.all.
1dd40 74 68 65 20 66 65 65 64 73 20 69 6e 20 60 65 6c 66 65 65 64 2d 66 65 65 64 73 27 2e 22 0a 20 20 the.feeds.in.`elfeed-feeds'."...
1dd60 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 65 6c 66 65 65 64 2d 6c 6f 67 20 27 69 6e 66 (interactive)...(elfeed-log.'inf
1dd80 6f 20 22 45 6c 66 65 65 64 20 75 70 64 61 74 65 3a 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 o."Elfeed.update:.%s"...........
1dda0 20 20 20 20 28 66 6f 72 6d 61 74 2d 74 69 6d 65 2d 73 74 72 69 6e 67 20 22 25 42 20 25 65 20 25 ....(format-time-string."%B.%e.%
1ddc0 59 20 25 48 3a 25 4d 3a 25 53 20 25 5a 22 29 29 0a 20 20 28 6c 65 74 20 28 28 65 6c 66 65 65 64 Y.%H:%M:%S.%Z"))...(let.((elfeed
1dde0 2d 2d 69 6e 68 69 62 69 74 2d 75 70 64 61 74 65 2d 69 6e 69 74 2d 68 6f 6f 6b 73 20 74 29 29 0a --inhibit-update-init-hooks.t)).
1de00 20 20 20 20 28 6d 61 70 63 20 23 27 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 66 65 65 64 20 28 ....(mapc.#'elfeed-update-feed.(
1de20 65 6c 66 65 65 64 2d 2d 73 68 75 66 66 6c 65 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 6c 69 73 elfeed--shuffle.(elfeed-feed-lis
1de40 74 29 29 29 29 0a 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 65 6c 66 65 65 64 2d 75 70 64 61 74 t))))...(run-hooks.'elfeed-updat
1de60 65 2d 69 6e 69 74 2d 68 6f 6f 6b 73 29 0a 20 20 28 65 6c 66 65 65 64 2d 64 62 2d 73 61 76 65 29 e-init-hooks)...(elfeed-db-save)
1de80 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 65 6c 66 65 65 64 20 )..;;;###autoload.(defun.elfeed.
1dea0 28 29 0a 20 20 22 45 6e 74 65 72 20 65 6c 66 65 65 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 ()..."Enter.elfeed."...(interact
1dec0 69 76 65 29 0a 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 65 6c 66 65 65 64 ive)...(switch-to-buffer.(elfeed
1dee0 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 6d -search-buffer))...(unless.(eq.m
1df00 61 6a 6f 72 2d 6d 6f 64 65 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 ajor-mode.'elfeed-search-mode)..
1df20 20 20 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 29 29 0a 0a 3b 3b 20 4e 65 ...(elfeed-search-mode)))..;;.Ne
1df40 77 20 65 6e 74 72 79 20 66 69 6c 74 65 72 69 6e 67 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 65 6c 66 w.entry.filtering..(cl-defun.elf
1df60 65 65 64 2d 6d 61 6b 65 2d 74 61 67 67 65 72 0a 20 20 20 20 28 26 6b 65 79 20 66 65 65 64 2d 74 eed-make-tagger.....(&key.feed-t
1df80 69 74 6c 65 20 66 65 65 64 2d 75 72 6c 20 65 6e 74 72 79 2d 74 69 74 6c 65 20 65 6e 74 72 79 2d itle.feed-url.entry-title.entry-
1dfa0 6c 69 6e 6b 20 61 66 74 65 72 20 62 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 20 20 61 64 64 20 link.after.before...........add.
1dfc0 72 65 6d 6f 76 65 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 66 75 6e remove.callback)..."Create.a.fun
1dfe0 63 74 69 6f 6e 20 74 68 61 74 20 61 64 64 73 20 6f 72 20 72 65 6d 6f 76 65 73 20 74 61 67 73 20 ction.that.adds.or.removes.tags.
1e000 6f 6e 20 6d 61 74 63 68 69 6e 67 20 65 6e 74 72 69 65 73 2e 0a 0a 46 45 45 44 2d 54 49 54 4c 45 on.matching.entries...FEED-TITLE
1e020 2c 20 46 45 45 44 2d 55 52 4c 2c 20 45 4e 54 52 59 2d 54 49 54 4c 45 2c 20 61 6e 64 20 45 4e 54 ,.FEED-URL,.ENTRY-TITLE,.and.ENT
1e040 52 59 2d 4c 49 4e 4b 20 61 72 65 20 72 65 67 75 6c 61 72 0a 65 78 70 72 65 73 73 69 6f 6e 73 20 RY-LINK.are.regular.expressions.
1e060 6f 72 20 61 20 6c 69 73 74 20 28 6e 6f 74 20 3c 72 65 67 65 78 3e 29 2c 20 77 68 69 63 68 20 69 or.a.list.(not.<regex>),.which.i
1e080 6e 64 69 63 61 74 65 73 20 61 20 6e 65 67 61 74 69 76 65 0a 6d 61 74 63 68 2e 20 41 46 54 45 52 ndicates.a.negative.match..AFTER
1e0a0 20 61 6e 64 20 42 45 46 4f 52 45 20 61 72 65 20 72 65 6c 61 74 69 76 65 20 74 69 6d 65 73 20 28 .and.BEFORE.are.relative.times.(
1e0c0 73 65 65 0a 60 65 6c 66 65 65 64 2d 74 69 6d 65 2d 64 75 72 61 74 69 6f 6e 27 29 2e 20 45 6e 74 see.`elfeed-time-duration')..Ent
1e0e0 72 69 65 73 20 6d 75 73 74 20 6d 61 74 63 68 20 61 6c 6c 20 70 72 6f 76 69 64 65 64 0a 65 78 70 ries.must.match.all.provided.exp
1e100 72 65 73 73 69 6f 6e 73 2e 20 49 66 20 61 6e 20 65 6e 74 72 79 20 6d 61 74 63 68 65 73 2c 20 61 ressions..If.an.entry.matches,.a
1e120 64 64 20 74 61 67 73 20 41 44 44 20 61 6e 64 20 72 65 6d 6f 76 65 20 74 61 67 73 0a 52 45 4d 4f dd.tags.ADD.and.remove.tags.REMO
1e140 56 45 2e 0a 0a 45 78 61 6d 70 6c 65 73 2c 0a 0a 20 20 28 65 6c 66 65 65 64 2d 6d 61 6b 65 2d 74 VE...Examples,....(elfeed-make-t
1e160 61 67 67 65 72 20 3a 66 65 65 64 2d 75 72 6c 20 5c 22 79 6f 75 74 75 62 65 5c 5c 5c 5c 2e 63 6f agger.:feed-url.\"youtube\\\\.co
1e180 6d 5c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 61 64 64 20 5c m\".......................:add.\
1e1a0 5c 3d 27 28 76 69 64 65 6f 20 79 6f 75 74 75 62 65 29 29 0a 0a 20 20 28 65 6c 66 65 65 64 2d 6d \='(video.youtube))....(elfeed-m
1e1c0 61 6b 65 2d 74 61 67 67 65 72 20 3a 62 65 66 6f 72 65 20 5c 22 31 20 77 65 65 6b 20 61 67 6f 5c ake-tagger.:before.\"1.week.ago\
1e1e0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 72 65 6d 6f 76 65 20 ".......................:remove.
1e200 5c 5c 3d 27 75 6e 72 65 61 64 29 0a 0a 20 20 28 65 6c 66 65 65 64 2d 6d 61 6b 65 2d 74 61 67 67 \\='unread)....(elfeed-make-tagg
1e220 65 72 20 3a 66 65 65 64 2d 75 72 6c 20 5c 22 65 78 61 6d 70 6c 65 5c 5c 5c 5c 2e 63 6f 6d 5c 22 er.:feed-url.\"example\\\\.com\"
1e240 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 65 6e 74 72 79 2d 74 69 .......................:entry-ti
1e260 74 6c 65 20 5c 5c 3d 27 28 6e 6f 74 20 5c 22 73 6f 6d 65 74 68 69 6e 67 20 69 6e 74 65 72 65 73 tle.\\='(not.\"something.interes
1e280 74 69 6e 67 5c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 61 ting\").......................:a
1e2a0 64 64 20 5c 5c 3d 27 6a 75 6e 6b 29 0a 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 dd.\\='junk)..The.returned.funct
1e2c0 69 6f 6e 20 73 68 6f 75 6c 64 20 62 65 20 61 64 64 65 64 20 74 6f 20 60 65 6c 66 65 65 64 2d 6e ion.should.be.added.to.`elfeed-n
1e2e0 65 77 2d 65 6e 74 72 79 2d 68 6f 6f 6b 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 61 66 74 65 72 2d ew-entry-hook'."...(let.((after-
1e300 74 69 6d 65 20 20 28 61 6e 64 20 61 66 74 65 72 20 20 28 65 6c 66 65 65 64 2d 74 69 6d 65 2d 64 time..(and.after..(elfeed-time-d
1e320 75 72 61 74 69 6f 6e 20 61 66 74 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 62 65 66 6f 72 65 uration.after))).........(before
1e340 2d 74 69 6d 65 20 28 61 6e 64 20 62 65 66 6f 72 65 20 28 65 6c 66 65 65 64 2d 74 69 6d 65 2d 64 -time.(and.before.(elfeed-time-d
1e360 75 72 61 74 69 6f 6e 20 62 65 66 6f 72 65 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e uration.before)))).....(when.(an
1e380 64 20 61 64 64 20 28 73 79 6d 62 6f 6c 70 20 61 64 64 29 29 20 28 73 65 74 66 20 61 64 64 20 28 d.add.(symbolp.add)).(setf.add.(
1e3a0 6c 69 73 74 20 61 64 64 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 72 65 6d 6f 76 list.add))).....(when.(and.remov
1e3c0 65 20 28 73 79 6d 62 6f 6c 70 20 72 65 6d 6f 76 65 29 29 20 28 73 65 74 66 20 72 65 6d 6f 76 65 e.(symbolp.remove)).(setf.remove
1e3e0 20 28 6c 69 73 74 20 72 65 6d 6f 76 65 29 29 29 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 65 6e .(list.remove))).....(lambda.(en
1e400 74 72 79 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 65 65 64 20 28 65 6c 66 65 65 64 2d 65 try).......(let.((feed.(elfeed-e
1e420 6e 74 72 79 2d 66 65 65 64 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 ntry-feed.entry)).............(d
1e440 61 74 65 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 64 61 74 65 20 65 6e 74 72 79 29 29 0a 20 ate.(elfeed-entry-date.entry))..
1e460 20 20 20 20 20 20 20 20 20 20 20 28 63 61 73 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68 20 74 29 29 ...........(case-fold-search.t))
1e480 0a 20 20 20 20 20 20 20 20 28 63 6c 2d 66 6c 65 74 20 28 28 6d 61 74 63 68 20 28 72 20 73 29 0a .........(cl-flet.((match.(r.s).
1e4a0 20 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 6e 75 .........................(or.(nu
1e4c0 6c 6c 20 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 ll.r)...........................
1e4e0 20 20 20 28 69 66 20 28 6c 69 73 74 70 20 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(if.(listp.r)................
1e500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 6d ..................(not.(string-m
1e520 61 74 63 68 2d 70 20 28 63 6c 2d 73 65 63 6f 6e 64 20 72 29 20 73 29 29 0a 20 20 20 20 20 20 20 atch-p.(cl-second.r).s))........
1e540 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 67 2d ........................(string-
1e560 6d 61 74 63 68 2d 70 20 72 20 73 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e match-p.r.s)))))...........(when
1e580 20 28 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 66 65 .(and..................(match.fe
1e5a0 65 64 2d 74 69 74 6c 65 20 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 74 69 74 6c 65 20 20 66 65 ed-title..(elfeed-feed-title..fe
1e5c0 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 66 65 65 ed))..................(match.fee
1e5e0 64 2d 75 72 6c 20 20 20 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 75 72 6c 20 20 20 20 66 65 65 d-url....(elfeed-feed-url....fee
1e600 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 65 6e 74 72 d))..................(match.entr
1e620 79 2d 74 69 74 6c 65 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 69 74 6c 65 20 65 6e 74 72 y-title.(elfeed-entry-title.entr
1e640 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 65 6e 74 72 y))..................(match.entr
1e660 79 2d 6c 69 6e 6b 20 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 6c 69 6e 6b 20 20 65 6e 74 72 y-link..(elfeed-entry-link..entr
1e680 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 6e 6f 74 20 61 66 y))..................(or.(not.af
1e6a0 74 65 72 2d 74 69 6d 65 29 20 20 28 3e 20 64 61 74 65 20 28 2d 20 28 66 6c 6f 61 74 2d 74 69 6d ter-time)..(>.date.(-.(float-tim
1e6c0 65 29 20 61 66 74 65 72 2d 74 69 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e).after-time)))................
1e6e0 20 20 28 6f 72 20 28 6e 6f 74 20 62 65 66 6f 72 65 2d 74 69 6d 65 29 20 28 3c 20 64 61 74 65 20 ..(or.(not.before-time).(<.date.
1e700 28 2d 20 28 66 6c 6f 61 74 2d 74 69 6d 65 29 20 62 65 66 6f 72 65 2d 74 69 6d 65 29 29 29 29 0a (-.(float-time).before-time)))).
1e720 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 61 64 64 0a 20 20 20 20 20 20 20 20 20 20 ............(when.add...........
1e740 20 20 20 20 28 61 70 70 6c 79 20 23 27 65 6c 66 65 65 64 2d 74 61 67 20 65 6e 74 72 79 20 61 64 ....(apply.#'elfeed-tag.entry.ad
1e760 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 72 65 6d 6f 76 65 0a 20 20 20 d)).............(when.remove....
1e780 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 65 6c 66 65 65 64 2d 75 6e 74 61 67 ...........(apply.#'elfeed-untag
1e7a0 20 65 6e 74 72 79 20 72 65 6d 6f 76 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 .entry.remove)).............(whe
1e7c0 6e 20 63 61 6c 6c 62 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c n.callback...............(funcal
1e7e0 6c 20 63 61 6c 6c 62 61 63 6b 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 l.callback.entry)).............e
1e800 6e 74 72 79 29 29 29 29 29 29 0a 0a 3b 3b 20 4f 50 4d 4c 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 ntry))))))..;;.OPML..(defun.elfe
1e820 65 64 2d 2d 70 61 72 73 65 2d 6f 70 6d 6c 20 28 78 6d 6c 29 0a 20 20 22 50 61 72 73 65 20 58 4d ed--parse-opml.(xml)..."Parse.XM
1e840 4c 20 28 66 72 6f 6d 20 60 78 6d 6c 2d 70 61 72 73 65 2d 72 65 67 69 6f 6e 27 29 20 69 6e 74 6f L.(from.`xml-parse-region').into
1e860 20 60 65 6c 66 65 65 64 2d 66 65 65 64 73 27 20 6c 69 73 74 2e 22 0a 20 20 28 63 6c 2d 6c 6f 6f .`elfeed-feeds'.list."...(cl-loo
1e880 70 20 66 6f 72 20 28 74 61 67 20 61 74 74 72 20 2e 20 63 6f 6e 74 65 6e 74 29 20 69 6e 20 28 63 p.for.(tag.attr...content).in.(c
1e8a0 6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e 6f 74 20 23 27 6c 69 73 74 70 20 78 6d 6c 29 0a 20 20 20 l-remove-if-not.#'listp.xml)....
1e8c0 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 74 61 67 20 69 6e 74 6f 20 77 6f 72 6b 2d 61 72 6f 75 ........count.tag.into.work-arou
1e8e0 6e 64 2d 62 75 67 20 20 3b 20 62 75 67 23 31 35 33 32 36 0a 20 20 20 20 20 20 20 20 20 20 20 77 nd-bug..;.bug#15326............w
1e900 68 65 6e 20 28 61 73 73 6f 63 20 27 78 6d 6c 55 72 6c 20 61 74 74 72 29 20 63 6f 6c 6c 65 63 74 hen.(assoc.'xmlUrl.attr).collect
1e920 20 28 63 64 72 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 61 70 70 65 6e 64 .(cdr.it)............else.append
1e940 20 28 65 6c 66 65 65 64 2d 2d 70 61 72 73 65 2d 6f 70 6d 6c 20 63 6f 6e 74 65 6e 74 29 29 29 0a .(elfeed--parse-opml.content))).
1e960 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 6c 6f .;;;###autoload.(defun.elfeed-lo
1e980 61 64 2d 6f 70 6d 6c 20 28 66 69 6c 65 29 0a 20 20 22 4c 6f 61 64 20 66 65 65 64 73 20 66 72 6f ad-opml.(file)..."Load.feeds.fro
1e9a0 6d 20 61 6e 20 4f 50 4d 4c 20 66 69 6c 65 20 69 6e 74 6f 20 60 65 6c 66 65 65 64 2d 66 65 65 64 m.an.OPML.file.into.`elfeed-feed
1e9c0 73 27 2e 0a 57 68 65 6e 20 63 61 6c 6c 65 64 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 74 s'..When.called.interactively,.t
1e9e0 68 65 20 63 68 61 6e 67 65 73 20 74 6f 20 60 65 6c 66 65 65 64 2d 66 65 65 64 73 27 20 61 72 65 he.changes.to.`elfeed-feeds'.are
1ea00 0a 73 61 76 65 64 20 74 6f 20 79 6f 75 72 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 20 66 69 6c .saved.to.your.customization.fil
1ea20 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 66 4f 50 4d 4c 20 66 69 6c 65 3a 20 e."...(interactive."fOPML.file:.
1ea40 22 29 0a 20 20 28 6c 65 74 2a 20 28 28 78 6d 6c 20 28 78 6d 6c 2d 70 61 72 73 65 2d 66 69 6c 65 ")...(let*.((xml.(xml-parse-file
1ea60 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 65 65 64 73 20 28 65 6c 66 65 65 64 2d .file))..........(feeds.(elfeed-
1ea80 2d 70 61 72 73 65 2d 6f 70 6d 6c 20 78 6d 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 75 6c 6c -parse-opml.xml))..........(full
1eaa0 20 28 61 70 70 65 6e 64 20 66 65 65 64 73 20 65 6c 66 65 65 64 2d 66 65 65 64 73 29 29 29 0a 20 .(append.feeds.elfeed-feeds)))..
1eac0 20 20 20 28 70 72 6f 67 31 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 66 65 65 64 73 20 28 63 6c ...(prog1.(setf.elfeed-feeds.(cl
1eae0 2d 64 65 6c 65 74 65 2d 64 75 70 6c 69 63 61 74 65 73 20 66 75 6c 6c 20 3a 74 65 73 74 20 23 27 -delete-duplicates.full.:test.#'
1eb00 73 74 72 69 6e 67 3d 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 63 61 6c 6c 65 64 2d 69 6e string=)).......(when.(called-in
1eb20 74 65 72 61 63 74 69 76 65 6c 79 2d 70 20 27 61 6e 79 29 0a 20 20 20 20 20 20 20 20 28 63 75 73 teractively-p.'any).........(cus
1eb40 74 6f 6d 69 7a 65 2d 73 61 76 65 2d 76 61 72 69 61 62 6c 65 20 27 65 6c 66 65 65 64 2d 66 65 65 tomize-save-variable.'elfeed-fee
1eb60 64 73 20 65 6c 66 65 65 64 2d 66 65 65 64 73 29 0a 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 ds.elfeed-feeds).........(elfeed
1eb80 2d 6c 6f 67 20 27 6e 6f 74 69 63 65 20 22 25 64 20 66 65 65 64 73 20 6c 6f 61 64 65 64 20 66 72 -log.'notice."%d.feeds.loaded.fr
1eba0 6f 6d 20 25 73 22 20 28 6c 65 6e 67 74 68 20 66 65 65 64 73 29 20 66 69 6c 65 29 29 29 29 29 0a om.%s".(length.feeds).file))))).
1ebc0 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 65 78 .;;;###autoload.(defun.elfeed-ex
1ebe0 70 6f 72 74 2d 6f 70 6d 6c 20 28 66 69 6c 65 29 0a 20 20 22 45 78 70 6f 72 74 20 74 68 65 20 63 port-opml.(file)..."Export.the.c
1ec00 75 72 72 65 6e 74 20 66 65 65 64 20 6c 69 73 74 69 6e 67 20 74 6f 20 4f 50 4d 4c 2d 66 6f 72 6d urrent.feed.listing.to.OPML-form
1ec20 61 74 74 65 64 20 46 49 4c 45 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 46 4f 75 atted.FILE."...(interactive."FOu
1ec40 74 70 75 74 20 4f 50 4d 4c 20 66 69 6c 65 3a 20 22 29 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d tput.OPML.file:.")...(with-temp-
1ec60 66 69 6c 65 20 66 69 6c 65 0a 20 20 20 20 28 6c 65 74 20 28 28 73 74 61 6e 64 61 72 64 2d 6f 75 file.file.....(let.((standard-ou
1ec80 74 70 75 74 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 28 70 tput.(current-buffer))).......(p
1eca0 72 69 6e 63 20 22 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 5c 22 31 2e 30 5c 22 3f 3e 5c 6e 22 rinc."<?xml.version=\"1.0\"?>\n"
1ecc0 29 0a 20 20 20 20 20 20 28 78 6d 6c 2d 70 72 69 6e 74 0a 20 20 20 20 20 20 20 60 28 28 6f 70 6d ).......(xml-print........`((opm
1ece0 6c 20 28 28 76 65 72 73 69 6f 6e 20 2e 20 22 31 2e 30 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 l.((version..."1.0"))...........
1ed00 20 20 20 20 20 28 68 65 61 64 20 28 29 20 28 74 69 74 6c 65 20 28 29 20 22 45 6c 66 65 65 64 20 .....(head.().(title.()."Elfeed.
1ed20 45 78 70 6f 72 74 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 6f 64 79 20 28 Export"))................(body.(
1ed40 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 63 6c 2d 6c 6f 6f )......................,@(cl-loo
1ed60 70 20 66 6f 72 20 75 72 6c 20 69 6e 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 6c 69 73 74 29 0a p.for.url.in.(elfeed-feed-list).
1ed80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1eda0 66 6f 72 20 66 65 65 64 20 3d 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 66 65 65 64 20 75 for.feed.=.(elfeed-db-get-feed.u
1edc0 72 6c 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 rl).............................
1ede0 20 20 20 20 66 6f 72 20 74 69 74 6c 65 20 3d 20 28 6f 72 20 28 65 6c 66 65 65 64 2d 66 65 65 64 ....for.title.=.(or.(elfeed-feed
1ee00 2d 74 69 74 6c 65 20 66 65 65 64 29 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -title.feed)."")................
1ee20 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 60 28 6f 75 74 6c 69 .................collect.`(outli
1ee40 6e 65 20 28 28 78 6d 6c 55 72 6c 20 2e 20 2c 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ne.((xmlUrl...,url).............
1ee60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1ee80 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 2e 20 2c 74 69 74 6c 65 29 29 29 29 29 29 29 29 29 29 .......(title...,title))))))))))
1eea0 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 65 6c 66 65 65 64 29 0a 0a 28 63 6c 2d 65 76 61 6c 2d 77 )..(provide.'elfeed)..(cl-eval-w
1eec0 68 65 6e 20 28 6c 6f 61 64 20 65 76 61 6c 29 0a 20 20 3b 3b 20 72 75 6e 2d 74 69 6d 65 20 6f 6e hen.(load.eval)...;;.run-time.on
1eee0 6c 79 2c 20 73 6f 20 64 6f 6e 27 74 20 6c 6f 61 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 ly,.so.don't.load.when.compiling
1ef00 20 6f 74 68 65 72 20 66 69 6c 65 73 0a 20 20 28 75 6e 6c 65 73 73 20 62 79 74 65 2d 63 6f 6d 70 .other.files...(unless.byte-comp
1ef20 69 6c 65 2d 72 6f 6f 74 2d 64 69 72 0a 20 20 20 20 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 ile-root-dir.....(require.'elfee
1ef40 64 2d 63 73 76 29 0a 20 20 20 20 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 64 2d 73 68 6f 77 d-csv).....(require.'elfeed-show
1ef60 29 0a 20 20 20 20 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 29 29 29 ).....(require.'elfeed-search)))
1ef80 0a 0a 3b 3b 3b 20 65 6c 66 65 65 64 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 ..;;;.elfeed.el.ends.here.......
1efa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1efc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1efe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f000 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2d 63 75 72 6c elfeed-20240331.1348/elfeed-curl
1f020 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 00 .el.............................
1f040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f060 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
1f080 30 30 35 33 36 33 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 37 35 34 00 20 30 00 00 00 0053631.00000000000.014754..0...
1f0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f100 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...................
1f120 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...................
1f140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f200 3b 3b 3b 20 65 6c 66 65 65 64 2d 63 75 72 6c 2e 65 6c 20 2d 2d 2d 20 63 75 72 6c 20 62 61 63 6b ;;;.elfeed-curl.el.---.curl.back
1f220 65 6e 64 20 66 6f 72 20 45 6c 66 65 65 64 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 end.for.Elfeed.-*-.lexical-bindi
1f240 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 73 3a 0a 0a 3b 3b 20 41 6e ng:.t;.-*-..;;;.Comments:..;;.An
1f260 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 60 75 72 6c 2d 72 65 74 72 69 65 76 65 27 20 61 .alternative.to.`url-retrieve'.a
1f280 6e 64 20 60 75 72 6c 2d 71 75 65 75 65 27 20 74 68 61 74 20 66 65 74 63 68 65 73 20 55 52 4c 73 nd.`url-queue'.that.fetches.URLs
1f2a0 0a 3b 3b 20 75 73 69 6e 67 20 74 68 65 20 63 75 72 6c 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 .;;.using.the.curl.command.line.
1f2c0 70 72 6f 67 72 61 6d 2e 0a 0a 3b 3b 20 54 68 65 20 41 50 49 20 69 73 20 74 68 72 65 65 20 66 75 program...;;.The.API.is.three.fu
1f2e0 6e 63 74 69 6f 6e 73 3a 0a 0a 3b 3b 20 2a 20 60 65 6c 66 65 65 64 2d 63 75 72 6c 2d 72 65 74 72 nctions:..;;.*.`elfeed-curl-retr
1f300 69 65 76 65 27 0a 3b 3b 20 2a 20 60 65 6c 66 65 65 64 2d 63 75 72 6c 2d 72 65 74 72 69 65 76 65 ieve'.;;.*.`elfeed-curl-retrieve
1f320 2d 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 27 0a 3b 3b 20 2a 20 60 65 6c 66 65 65 64 2d 63 75 72 -synchronously'.;;.*.`elfeed-cur
1f340 6c 2d 65 6e 71 75 65 75 65 27 0a 0a 3b 3b 20 41 6e 64 20 68 61 73 20 66 6f 75 72 20 62 75 66 66 l-enqueue'..;;.And.has.four.buff
1f360 65 72 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 66 6f 72 20 75 73 65 20 69 6e 20 63 61 er-local.variables.for.use.in.ca
1f380 6c 6c 62 61 63 6b 73 3a 0a 0a 3b 3b 20 2a 20 60 65 6c 66 65 65 64 2d 63 75 72 6c 2d 68 65 61 64 llbacks:..;;.*.`elfeed-curl-head
1f3a0 65 72 73 27 0a 3b 3b 20 2a 20 60 65 6c 66 65 65 64 2d 63 75 72 6c 2d 73 74 61 74 75 73 2d 63 6f ers'.;;.*.`elfeed-curl-status-co
1f3c0 64 65 27 0a 3b 3b 20 2a 20 60 65 6c 66 65 65 64 2d 63 75 72 6c 2d 65 72 72 6f 72 2d 6d 65 73 73 de'.;;.*.`elfeed-curl-error-mess
1f3e0 61 67 65 27 0a 3b 3b 20 2a 20 60 65 6c 66 65 65 64 2d 63 75 72 6c 2d 6c 6f 63 61 74 69 6f 6e 27 age'.;;.*.`elfeed-curl-location'
1f400 0a 0a 3b 3b 20 54 68 65 20 62 75 66 66 65 72 20 64 65 6c 69 76 65 72 65 64 20 74 6f 20 63 61 6c ..;;.The.buffer.delivered.to.cal
1f420 6c 62 61 63 6b 73 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 6d 75 6c 74 69 70 6c 65 20 72 65 71 75 lbacks.may.contain.multiple.requ
1f440 65 73 74 73 2e 20 49 74 0a 3b 3b 20 77 69 6c 6c 20 62 65 20 6e 61 72 72 6f 77 65 64 20 74 6f 20 ests..It.;;.will.be.narrowed.to.
1f460 74 68 65 20 73 70 65 63 69 66 69 63 20 63 6f 6e 74 65 6e 74 20 66 6f 72 20 74 68 65 20 63 75 72 the.specific.content.for.the.cur
1f480 72 65 6e 74 20 72 65 71 75 65 73 74 2e 0a 3b 3b 20 49 74 27 73 20 76 69 74 61 6c 6c 79 20 69 6d rent.request..;;.It's.vitally.im
1f4a0 70 6f 72 74 61 6e 74 20 74 68 61 74 20 63 61 6c 6c 62 61 63 6b 73 20 64 6f 20 6e 6f 74 20 6b 69 portant.that.callbacks.do.not.ki
1f4c0 6c 6c 20 74 68 65 20 62 75 66 66 65 72 0a 3b 3b 20 62 65 63 61 75 73 65 20 69 74 20 6d 61 79 20 ll.the.buffer.;;.because.it.may.
1f4e0 62 65 20 6e 65 65 64 65 64 20 66 6f 72 20 6f 74 68 65 72 20 63 61 6c 6c 62 61 63 6b 73 2e 20 49 be.needed.for.other.callbacks..I
1f500 74 20 61 6c 73 6f 20 6d 65 61 6e 73 20 74 68 65 0a 3b 3b 20 62 75 66 66 65 72 20 77 6f 6e 27 74 t.also.means.the.;;.buffer.won't
1f520 20 6e 65 63 65 73 73 61 72 69 6c 79 20 62 65 20 61 72 6f 75 6e 64 20 77 68 65 6e 20 74 68 65 20 .necessarily.be.around.when.the.
1f540 63 61 6c 6c 62 61 63 6b 20 72 65 74 75 72 6e 73 2e 0a 3b 3b 20 43 61 6c 6c 62 61 63 6b 73 20 73 callback.returns..;;.Callbacks.s
1f560 68 6f 75 6c 64 20 61 6c 73 6f 20 61 76 6f 69 64 20 65 64 69 74 69 6e 67 20 74 68 65 20 62 75 66 hould.also.avoid.editing.the.buf
1f580 66 65 72 2c 20 74 68 6f 75 67 68 20 74 68 69 73 0a 3b 3b 20 67 65 6e 65 72 61 6c 6c 79 20 73 68 fer,.though.this.;;.generally.sh
1f5a0 6f 75 6c 64 6e 27 74 20 69 6d 70 61 63 74 20 6f 74 68 65 72 20 72 65 71 75 65 73 74 73 2e 0a 0a ouldn't.impact.other.requests...
1f5c0 3b 3b 20 53 6f 6d 65 74 69 6d 65 73 20 45 6c 66 65 65 64 20 61 73 6b 73 20 63 75 72 6c 20 74 6f ;;.Sometimes.Elfeed.asks.curl.to
1f5e0 20 72 65 74 72 69 65 76 65 20 6d 75 6c 74 69 70 6c 65 20 72 65 71 75 65 73 74 73 20 61 6e 64 0a .retrieve.multiple.requests.and.
1f600 3b 3b 20 64 65 6c 69 76 65 72 20 74 68 65 6d 20 63 6f 6e 63 61 74 65 6e 61 74 65 64 2e 20 44 75 ;;.deliver.them.concatenated..Du
1f620 65 20 74 6f 20 74 68 65 20 70 6f 73 73 69 62 69 6c 69 74 79 20 6f 66 20 48 54 54 50 2f 31 2e 30 e.to.the.possibility.of.HTTP/1.0
1f640 20 62 65 69 6e 67 0a 3b 3b 20 69 6e 76 6f 6c 76 65 64 20 e2 80 94 20 61 6e 64 20 6f 74 68 65 72 .being.;;.involved.....and.other
1f660 20 61 6d 62 69 67 75 6f 75 73 2d 6c 65 6e 67 74 68 20 70 72 6f 74 6f 63 6f 6c 73 20 e2 80 94 20 .ambiguous-length.protocols.....
1f680 74 68 65 72 65 27 73 20 6e 6f 0a 3b 3b 20 70 65 72 66 65 63 74 6c 79 20 75 6e 61 6d 62 69 67 75 there's.no.;;.perfectly.unambigu
1f6a0 6f 75 73 20 77 61 79 20 74 6f 20 73 70 6c 69 74 20 74 68 65 20 6f 75 74 70 75 74 2e 20 54 6f 20 ous.way.to.split.the.output..To.
1f6c0 77 6f 72 6b 20 61 72 6f 75 6e 64 20 74 68 69 73 2c 0a 3b 3b 20 49 20 75 73 65 20 63 75 72 6c 27 work.around.this,.;;.I.use.curl'
1f6e0 73 20 2d 2d 77 72 69 74 65 2d 6f 75 74 20 74 6f 20 69 6e 73 65 72 74 20 61 20 72 61 6e 64 6f 6d s.--write-out.to.insert.a.random
1f700 6c 79 2d 67 65 6e 65 72 61 74 65 64 20 74 6f 6b 65 6e 20 61 66 74 65 72 0a 3b 3b 20 65 61 63 68 ly-generated.token.after.;;.each
1f720 20 72 65 71 75 65 73 74 2e 20 49 74 27 73 20 68 69 67 68 6c 79 20 75 6e 6c 69 6b 65 6c 79 20 28 .request..It's.highly.unlikely.(
1f740 31 20 69 6e 20 7e 31 65 33 38 29 20 74 68 61 74 20 74 68 69 73 20 74 6f 6b 65 6e 0a 3b 3b 20 77 1.in.~1e38).that.this.token.;;.w
1f760 69 6c 6c 20 61 70 70 65 61 72 20 69 6e 20 63 6f 6e 74 65 6e 74 2c 20 73 6f 20 49 20 63 61 6e 20 ill.appear.in.content,.so.I.can.
1f780 75 73 65 20 69 74 20 74 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 65 6e 64 20 6f 66 20 65 61 use.it.to.identify.the.end.of.ea
1f7a0 63 68 0a 3b 3b 20 72 65 71 75 65 73 74 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 ch.;;.request...;;;.Code:..(requ
1f7c0 69 72 65 20 27 75 72 6c 29 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 ire.'url).(require.'cl-lib).(req
1f7e0 75 69 72 65 20 27 65 6c 66 65 65 64 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 uire.'elfeed-lib).(require.'elfe
1f800 65 64 2d 6c 6f 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d ed-log)..(defcustom.elfeed-curl-
1f820 70 72 6f 67 72 61 6d 2d 6e 61 6d 65 20 22 63 75 72 6c 22 0a 20 20 22 4e 61 6d 65 2f 70 61 74 68 program-name."curl"..."Name/path
1f840 20 62 79 20 77 68 69 63 68 20 74 6f 20 69 6e 76 6f 6b 65 20 74 68 65 20 63 75 72 6c 20 70 72 6f .by.which.to.invoke.the.curl.pro
1f860 67 72 61 6d 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 20 gram."...:group.'elfeed...:type.
1f880 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 63 75 72 6c 'string)..(defcustom.elfeed-curl
1f8a0 2d 6d 61 78 2d 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 31 36 0a 20 20 22 4d 61 78 69 6d 75 6d 20 6e -max-connections.16..."Maximum.n
1f8c0 75 6d 62 65 72 20 6f 66 20 63 6f 6e 63 75 72 72 65 6e 74 20 66 65 74 63 68 65 73 2e 22 0a 20 20 umber.of.concurrent.fetches."...
1f8e0 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 20 27 69 6e 74 65 67 65 72 29 :group.'elfeed...:type.'integer)
1f900 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 74 69 6d 65 6f 75 74 ..(defcustom.elfeed-curl-timeout
1f920 20 33 30 0a 20 20 22 4d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 6f 6e 64 73 .30..."Maximum.number.of.seconds
1f940 20 61 20 66 65 74 63 68 20 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f 20 74 61 6b 65 20 6f 6e 63 65 .a.fetch.is.allowed.to.take.once
1f960 20 73 74 61 72 74 65 64 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 .started."...:group.'elfeed...:t
1f980 79 70 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 ype.'integer)..(defcustom.elfeed
1f9a0 2d 63 75 72 6c 2d 65 78 74 72 61 2d 61 72 67 75 6d 65 6e 74 73 20 28 29 0a 20 20 22 41 20 6c 69 -curl-extra-arguments.()..."A.li
1f9c0 73 74 20 6f 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 70 61 st.of.additional.arguments.to.pa
1f9e0 73 73 20 74 6f 20 63 55 52 4c 2e 0a 54 68 65 73 65 20 65 78 74 72 61 20 61 72 67 75 6d 65 6e 74 ss.to.cURL..These.extra.argument
1fa00 73 20 61 72 65 20 61 70 70 65 6e 64 65 64 20 61 66 74 65 72 20 45 6c 66 65 65 64 27 73 20 6f 77 s.are.appended.after.Elfeed's.ow
1fa20 6e 20 61 72 67 75 6d 65 6e 74 73 2c 0a 61 6e 64 20 63 61 72 65 20 6d 75 73 74 20 62 65 20 74 61 n.arguments,.and.care.must.be.ta
1fa40 6b 65 6e 20 74 6f 20 6e 6f 74 20 69 6e 74 65 72 66 65 72 65 20 77 69 74 68 20 45 6c 66 65 65 64 ken.to.not.interfere.with.Elfeed
1fa60 27 73 20 6e 65 65 64 73 2e 20 54 68 65 0a 67 75 69 64 65 6c 69 6e 65 20 69 73 20 74 6f 20 61 76 's.needs..The.guideline.is.to.av
1fa80 6f 69 64 20 61 72 67 75 6d 65 6e 74 73 20 74 68 61 74 20 63 68 61 6e 67 65 20 61 6e 79 74 68 69 oid.arguments.that.change.anythi
1faa0 6e 67 20 61 62 6f 75 74 20 63 55 52 4c 27 73 0a 6f 75 74 70 75 74 20 66 6f 72 6d 61 74 2e 22 0a ng.about.cURL's.output.format.".
1fac0 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 20 27 28 72 65 70 65 61 ..:group.'elfeed...:type.'(repea
1fae0 74 20 73 74 72 69 6e 67 29 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d t.string))..(defvar.elfeed-curl-
1fb00 71 75 65 75 65 20 28 29 0a 20 20 22 4c 69 73 74 20 6f 66 20 70 65 6e 64 69 6e 67 20 63 75 72 6c queue.()..."List.of.pending.curl
1fb20 20 72 65 71 75 65 73 74 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 63 75 72 .requests.")..(defvar.elfeed-cur
1fb40 6c 2d 71 75 65 75 65 2d 61 63 74 69 76 65 20 30 0a 20 20 22 4e 75 6d 62 65 72 20 6f 66 20 63 6f l-queue-active.0..."Number.of.co
1fb60 6e 63 75 72 72 65 6e 74 20 72 65 71 75 65 73 74 73 20 63 75 72 72 65 6e 74 6c 79 20 61 63 74 69 ncurrent.requests.currently.acti
1fb80 76 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 65 6c 66 65 65 64 2d 63 75 72 6c ve.")..(defvar-local.elfeed-curl
1fba0 2d 68 65 61 64 65 72 73 20 6e 69 6c 0a 20 20 22 41 6c 69 73 74 20 6f 66 20 48 54 54 50 20 72 65 -headers.nil..."Alist.of.HTTP.re
1fbc0 73 70 6f 6e 73 65 20 68 65 61 64 65 72 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c sponse.headers.")..(defvar-local
1fbe0 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 73 74 61 74 75 73 2d 63 6f 64 65 20 6e 69 6c 0a 20 20 22 .elfeed-curl-status-code.nil..."
1fc00 4e 75 6d 65 72 69 63 20 48 54 54 50 20 72 65 73 70 6f 6e 73 65 20 63 6f 64 65 2c 20 6e 69 6c 20 Numeric.HTTP.response.code,.nil.
1fc20 66 6f 72 20 6e 6f 6e 2d 48 54 54 50 20 70 72 6f 74 6f 63 6f 6c 73 2e 22 29 0a 0a 28 64 65 66 76 for.non-HTTP.protocols.")..(defv
1fc40 61 72 2d 6c 6f 63 61 6c 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 65 72 72 6f 72 2d 6d 65 73 73 61 ar-local.elfeed-curl-error-messa
1fc60 67 65 20 6e 69 6c 0a 20 20 22 48 75 6d 61 6e 2d 66 72 69 65 6e 64 6c 79 20 6d 65 73 73 61 67 65 ge.nil..."Human-friendly.message
1fc80 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 65 72 72 6f 72 2e 22 29 0a 0a 28 64 65 66 76 61 .describing.the.error.")..(defva
1fca0 72 2d 6c 6f 63 61 6c 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 6c 6f 63 61 74 69 6f 6e 20 6e 69 6c r-local.elfeed-curl-location.nil
1fcc0 0a 20 20 22 41 63 74 75 61 6c 20 55 52 4c 20 66 65 74 63 68 65 64 20 28 61 66 74 65 72 20 61 6e ..."Actual.URL.fetched.(after.an
1fce0 79 20 72 65 64 69 72 65 63 74 73 29 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 65 y.redirects).")..(defvar-local.e
1fd00 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 72 65 67 69 6f 6e 73 20 28 29 0a 20 20 22 4c 69 73 74 20 6f lfeed-curl--regions.()..."List.o
1fd20 66 20 6d 61 72 6b 65 72 73 20 62 6f 75 6e 64 69 6e 67 20 73 65 70 61 72 61 74 65 20 72 65 71 75 f.markers.bounding.separate.requ
1fd40 65 73 74 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 65 6c 66 65 65 64 2d 63 75 ests.")..(defvar-local.elfeed-cu
1fd60 72 6c 2d 2d 72 65 71 75 65 73 74 73 20 28 29 0a 20 20 22 4c 69 73 74 20 6f 66 20 55 52 4c 20 2f rl--requests.()..."List.of.URL./
1fd80 20 63 61 6c 6c 62 61 63 6b 20 70 61 69 72 73 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 .callback.pairs.for.the.current.
1fda0 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 65 6c 66 65 65 64 2d buffer.")..(defvar-local.elfeed-
1fdc0 63 75 72 6c 2d 2d 74 6f 6b 65 6e 20 6e 69 6c 0a 20 20 22 55 6e 69 71 75 65 20 74 6f 6b 65 6e 20 curl--token.nil..."Unique.token.
1fde0 74 68 61 74 20 73 70 6c 69 74 73 20 72 65 71 75 65 73 74 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 that.splits.requests.")..(defvar
1fe00 2d 6c 6f 63 61 6c 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 72 65 66 63 6f 75 6e 74 20 6e 69 6c -local.elfeed-curl--refcount.nil
1fe20 0a 20 20 22 4e 75 6d 62 65 72 20 6f 66 20 63 61 6c 6c 62 61 63 6b 73 20 77 61 69 74 69 6e 67 20 ..."Number.of.callbacks.waiting.
1fe40 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 on.the.current.buffer.")..(defva
1fe60 72 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 65 72 72 6f 72 2d 63 6f 64 65 73 0a 20 20 27 28 28 r.elfeed-curl--error-codes...'((
1fe80 31 20 2e 20 22 55 6e 73 75 70 70 6f 72 74 65 64 20 70 72 6f 74 6f 63 6f 6c 2e 22 29 0a 20 20 20 1..."Unsupported.protocol.")....
1fea0 20 28 32 20 2e 20 22 46 61 69 6c 65 64 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 2e 22 29 0a 20 .(2..."Failed.to.initialize.")..
1fec0 20 20 20 28 33 20 2e 20 22 55 52 4c 20 6d 61 6c 66 6f 72 6d 65 64 2e 20 54 68 65 20 73 79 6e 74 ...(3..."URL.malformed..The.synt
1fee0 61 78 20 77 61 73 20 6e 6f 74 20 63 6f 72 72 65 63 74 2e 22 29 0a 20 20 20 20 28 34 20 2e 20 22 ax.was.not.correct.").....(4..."
1ff00 41 20 66 65 61 74 75 72 65 20 6f 72 20 6f 70 74 69 6f 6e 20 74 68 61 74 20 77 61 73 20 6e 65 65 A.feature.or.option.that.was.nee
1ff20 64 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 74 68 65 20 64 65 73 69 72 65 64 20 72 65 71 75 65 ded.to.perform.the.desired.reque
1ff40 73 74 20 77 61 73 20 6e 6f 74 20 65 6e 61 62 6c 65 64 20 6f 72 20 77 61 73 20 65 78 70 6c 69 63 st.was.not.enabled.or.was.explic
1ff60 69 74 6c 79 20 64 69 73 61 62 6c 65 64 20 61 74 20 62 75 69 6c 64 2d 74 69 6d 65 2e 22 29 0a 20 itly.disabled.at.build-time.")..
1ff80 20 20 20 28 35 20 2e 20 22 43 6f 75 6c 64 6e 27 74 20 72 65 73 6f 6c 76 65 20 70 72 6f 78 79 2e ...(5..."Couldn't.resolve.proxy.
1ffa0 20 54 68 65 20 67 69 76 65 6e 20 70 72 6f 78 79 20 68 6f 73 74 20 63 6f 75 6c 64 20 6e 6f 74 20 .The.given.proxy.host.could.not.
1ffc0 62 65 20 72 65 73 6f 6c 76 65 64 2e 22 29 0a 20 20 20 20 28 36 20 2e 20 22 43 6f 75 6c 64 6e 27 be.resolved.").....(6..."Couldn'
1ffe0 74 20 72 65 73 6f 6c 76 65 20 68 6f 73 74 2e 20 54 68 65 20 67 69 76 65 6e 20 72 65 6d 6f 74 65 t.resolve.host..The.given.remote
20000 20 68 6f 73 74 20 77 61 73 20 6e 6f 74 20 72 65 73 6f 6c 76 65 64 2e 22 29 0a 20 20 20 20 28 37 .host.was.not.resolved.").....(7
20020 20 2e 20 22 46 61 69 6c 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 20 68 6f 73 74 2e 22 29 ..."Failed.to.connect.to.host.")
20040 0a 20 20 20 20 28 38 20 2e 20 22 46 54 50 20 77 65 69 72 64 20 73 65 72 76 65 72 20 72 65 70 6c .....(8..."FTP.weird.server.repl
20060 79 2e 20 54 68 65 20 73 65 72 76 65 72 20 73 65 6e 74 20 64 61 74 61 20 63 75 72 6c 20 63 6f 75 y..The.server.sent.data.curl.cou
20080 6c 64 6e 27 74 20 70 61 72 73 65 2e 22 29 0a 20 20 20 20 28 39 20 2e 20 22 46 54 50 20 61 63 63 ldn't.parse.").....(9..."FTP.acc
200a0 65 73 73 20 64 65 6e 69 65 64 2e 22 29 0a 20 20 20 20 28 31 31 20 2e 20 22 46 54 50 20 77 65 69 ess.denied.").....(11..."FTP.wei
200c0 72 64 20 50 41 53 53 20 72 65 70 6c 79 2e 22 29 0a 20 20 20 20 28 31 33 20 2e 20 22 46 54 50 20 rd.PASS.reply.").....(13..."FTP.
200e0 77 65 69 72 64 20 50 41 53 56 20 72 65 70 6c 79 2e 22 29 0a 20 20 20 20 28 31 34 20 2e 20 22 46 weird.PASV.reply.").....(14..."F
20100 54 50 20 77 65 69 72 64 20 32 32 37 20 66 6f 72 6d 61 74 2e 22 29 0a 20 20 20 20 28 31 35 20 2e TP.weird.227.format.").....(15..
20120 20 22 46 54 50 20 63 61 6e 27 74 20 67 65 74 20 68 6f 73 74 2e 22 29 0a 20 20 20 20 28 31 36 20 ."FTP.can't.get.host.").....(16.
20140 2e 20 22 41 20 70 72 6f 62 6c 65 6d 20 77 61 73 20 64 65 74 65 63 74 65 64 20 69 6e 20 74 68 65 .."A.problem.was.detected.in.the
20160 20 48 54 54 50 32 20 66 72 61 6d 69 6e 67 20 6c 61 79 65 72 2e 22 29 0a 20 20 20 20 28 31 37 20 .HTTP2.framing.layer.").....(17.
20180 2e 20 22 46 54 50 20 63 6f 75 6c 64 6e 27 74 20 73 65 74 20 62 69 6e 61 72 79 2e 22 29 0a 20 20 .."FTP.couldn't.set.binary.")...
201a0 20 20 28 31 38 20 2e 20 22 50 61 72 74 69 61 6c 20 66 69 6c 65 2e 20 4f 6e 6c 79 20 61 20 70 61 ..(18..."Partial.file..Only.a.pa
201c0 72 74 20 6f 66 20 74 68 65 20 66 69 6c 65 20 77 61 73 20 74 72 61 6e 73 66 65 72 72 65 64 2e 22 rt.of.the.file.was.transferred."
201e0 29 0a 20 20 20 20 28 31 39 20 2e 20 22 46 54 50 20 63 6f 75 6c 64 6e 27 74 20 64 6f 77 6e 6c 6f ).....(19..."FTP.couldn't.downlo
20200 61 64 2f 61 63 63 65 73 73 20 74 68 65 20 67 69 76 65 6e 20 66 69 6c 65 2c 20 74 68 65 20 52 45 ad/access.the.given.file,.the.RE
20220 54 52 20 28 6f 72 20 73 69 6d 69 6c 61 72 29 20 63 6f 6d 6d 61 6e 64 20 66 61 69 6c 65 64 2e 22 TR.(or.similar).command.failed."
20240 29 0a 20 20 20 20 28 32 31 20 2e 20 22 46 54 50 20 71 75 6f 74 65 20 65 72 72 6f 72 2e 20 41 20 ).....(21..."FTP.quote.error..A.
20260 71 75 6f 74 65 20 63 6f 6d 6d 61 6e 64 20 72 65 74 75 72 6e 65 64 20 65 72 72 6f 72 20 66 72 6f quote.command.returned.error.fro
20280 6d 20 74 68 65 20 73 65 72 76 65 72 2e 22 29 0a 20 20 20 20 28 32 32 20 2e 20 22 48 54 54 50 20 m.the.server.").....(22..."HTTP.
202a0 70 61 67 65 20 6e 6f 74 20 72 65 74 72 69 65 76 65 64 2e 22 29 0a 20 20 20 20 28 32 33 20 2e 20 page.not.retrieved.").....(23...
202c0 22 57 72 69 74 65 20 65 72 72 6f 72 2e 22 29 0a 20 20 20 20 28 32 35 20 2e 20 22 46 54 50 20 63 "Write.error.").....(25..."FTP.c
202e0 6f 75 6c 64 6e 27 74 20 53 54 4f 52 20 66 69 6c 65 2e 22 29 0a 20 20 20 20 28 32 36 20 2e 20 22 ouldn't.STOR.file.").....(26..."
20300 52 65 61 64 20 65 72 72 6f 72 2e 20 56 61 72 69 6f 75 73 20 72 65 61 64 69 6e 67 20 70 72 6f 62 Read.error..Various.reading.prob
20320 6c 65 6d 73 2e 22 29 0a 20 20 20 20 28 32 37 20 2e 20 22 4f 75 74 20 6f 66 20 6d 65 6d 6f 72 79 lems.").....(27..."Out.of.memory
20340 2e 20 41 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 72 65 71 75 65 73 74 20 66 61 ..A.memory.allocation.request.fa
20360 69 6c 65 64 2e 22 29 0a 20 20 20 20 28 32 38 20 2e 20 22 4f 70 65 72 61 74 69 6f 6e 20 74 69 6d iled.").....(28..."Operation.tim
20380 65 6f 75 74 2e 22 29 0a 20 20 20 20 28 33 30 20 2e 20 22 46 54 50 20 50 4f 52 54 20 66 61 69 6c eout.").....(30..."FTP.PORT.fail
203a0 65 64 2e 22 29 0a 20 20 20 20 28 33 31 20 2e 20 22 46 54 50 20 63 6f 75 6c 64 6e 27 74 20 75 73 ed.").....(31..."FTP.couldn't.us
203c0 65 20 52 45 53 54 2e 22 29 0a 20 20 20 20 28 33 33 20 2e 20 22 48 54 54 50 20 72 61 6e 67 65 20 e.REST.").....(33..."HTTP.range.
203e0 65 72 72 6f 72 2e 20 54 68 65 20 72 61 6e 67 65 20 5c 22 63 6f 6d 6d 61 6e 64 5c 22 20 64 69 64 error..The.range.\"command\".did
20400 6e 27 74 20 77 6f 72 6b 2e 22 29 0a 20 20 20 20 28 33 34 20 2e 20 22 48 54 54 50 20 70 6f 73 74 n't.work.").....(34..."HTTP.post
20420 20 65 72 72 6f 72 2e 20 49 6e 74 65 72 6e 61 6c 20 70 6f 73 74 2d 72 65 71 75 65 73 74 20 67 65 .error..Internal.post-request.ge
20440 6e 65 72 61 74 69 6f 6e 20 65 72 72 6f 72 2e 22 29 0a 20 20 20 20 28 33 35 20 2e 20 22 53 53 4c neration.error.").....(35..."SSL
20460 20 63 6f 6e 6e 65 63 74 20 65 72 72 6f 72 2e 20 54 68 65 20 53 53 4c 20 68 61 6e 64 73 68 61 6b .connect.error..The.SSL.handshak
20480 69 6e 67 20 66 61 69 6c 65 64 2e 22 29 0a 20 20 20 20 28 33 36 20 2e 20 22 46 54 50 20 62 61 64 ing.failed.").....(36..."FTP.bad
204a0 20 64 6f 77 6e 6c 6f 61 64 20 72 65 73 75 6d 65 2e 22 29 0a 20 20 20 20 28 33 37 20 2e 20 22 46 .download.resume.").....(37..."F
204c0 49 4c 45 20 63 6f 75 6c 64 6e 27 74 20 72 65 61 64 20 66 69 6c 65 2e 22 29 0a 20 20 20 20 28 33 ILE.couldn't.read.file.").....(3
204e0 38 20 2e 20 22 4c 44 41 50 20 62 69 6e 64 20 6f 70 65 72 61 74 69 6f 6e 20 66 61 69 6c 65 64 2e 8..."LDAP.bind.operation.failed.
20500 22 29 0a 20 20 20 20 28 33 39 20 2e 20 22 4c 44 41 50 20 73 65 61 72 63 68 20 66 61 69 6c 65 64 ").....(39..."LDAP.search.failed
20520 2e 22 29 0a 20 20 20 20 28 34 31 20 2e 20 22 46 75 6e 63 74 69 6f 6e 20 6e 6f 74 20 66 6f 75 6e .").....(41..."Function.not.foun
20540 64 2e 20 41 20 72 65 71 75 69 72 65 64 20 4c 44 41 50 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 d..A.required.LDAP.function.was.
20560 6e 6f 74 20 66 6f 75 6e 64 2e 22 29 0a 20 20 20 20 28 34 32 20 2e 20 22 41 62 6f 72 74 65 64 20 not.found.").....(42..."Aborted.
20580 62 79 20 63 61 6c 6c 62 61 63 6b 2e 22 29 0a 20 20 20 20 28 34 33 20 2e 20 22 49 6e 74 65 72 6e by.callback.").....(43..."Intern
205a0 61 6c 20 65 72 72 6f 72 2e 20 41 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 63 61 6c 6c 65 64 20 al.error..A.function.was.called.
205c0 77 69 74 68 20 61 20 62 61 64 20 70 61 72 61 6d 65 74 65 72 2e 22 29 0a 20 20 20 20 28 34 35 20 with.a.bad.parameter.").....(45.
205e0 2e 20 22 49 6e 74 65 72 66 61 63 65 20 65 72 72 6f 72 2e 20 41 20 73 70 65 63 69 66 69 65 64 20 .."Interface.error..A.specified.
20600 6f 75 74 67 6f 69 6e 67 20 69 6e 74 65 72 66 61 63 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 outgoing.interface.could.not.be.
20620 75 73 65 64 2e 22 29 0a 20 20 20 20 28 34 37 20 2e 20 22 54 6f 6f 20 6d 61 6e 79 20 72 65 64 69 used.").....(47..."Too.many.redi
20640 72 65 63 74 73 2e 22 29 0a 20 20 20 20 28 34 38 20 2e 20 22 55 6e 6b 6e 6f 77 6e 20 6f 70 74 69 rects.").....(48..."Unknown.opti
20660 6f 6e 20 73 70 65 63 69 66 69 65 64 20 74 6f 20 6c 69 62 63 75 72 6c 2e 22 29 0a 20 20 20 20 28 on.specified.to.libcurl.").....(
20680 34 39 20 2e 20 22 4d 61 6c 66 6f 72 6d 65 64 20 74 65 6c 6e 65 74 20 6f 70 74 69 6f 6e 2e 22 29 49..."Malformed.telnet.option.")
206a0 0a 20 20 20 20 28 35 31 20 2e 20 22 54 68 65 20 70 65 65 72 27 73 20 53 53 4c 20 63 65 72 74 69 .....(51..."The.peer's.SSL.certi
206c0 66 69 63 61 74 65 20 6f 72 20 53 53 48 20 4d 44 35 20 66 69 6e 67 65 72 70 72 69 6e 74 20 77 61 ficate.or.SSH.MD5.fingerprint.wa
206e0 73 20 6e 6f 74 20 4f 4b 2e 22 29 0a 20 20 20 20 28 35 32 20 2e 20 22 54 68 65 20 73 65 72 76 65 s.not.OK.").....(52..."The.serve
20700 72 20 64 69 64 6e 27 74 20 72 65 70 6c 79 20 61 6e 79 74 68 69 6e 67 2c 20 77 68 69 63 68 20 68 r.didn't.reply.anything,.which.h
20720 65 72 65 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 61 6e 20 65 72 72 6f 72 2e 22 29 0a 20 20 ere.is.considered.an.error.")...
20740 20 20 28 35 33 20 2e 20 22 53 53 4c 20 63 72 79 70 74 6f 20 65 6e 67 69 6e 65 20 6e 6f 74 20 66 ..(53..."SSL.crypto.engine.not.f
20760 6f 75 6e 64 2e 22 29 0a 20 20 20 20 28 35 34 20 2e 20 22 43 61 6e 6e 6f 74 20 73 65 74 20 53 53 ound.").....(54..."Cannot.set.SS
20780 4c 20 63 72 79 70 74 6f 20 65 6e 67 69 6e 65 20 61 73 20 64 65 66 61 75 6c 74 2e 22 29 0a 20 20 L.crypto.engine.as.default.")...
207a0 20 20 28 35 35 20 2e 20 22 46 61 69 6c 65 64 20 73 65 6e 64 69 6e 67 20 6e 65 74 77 6f 72 6b 20 ..(55..."Failed.sending.network.
207c0 64 61 74 61 2e 22 29 0a 20 20 20 20 28 35 36 20 2e 20 22 46 61 69 6c 75 72 65 20 69 6e 20 72 65 data.").....(56..."Failure.in.re
207e0 63 65 69 76 69 6e 67 20 6e 65 74 77 6f 72 6b 20 64 61 74 61 2e 22 29 0a 20 20 20 20 28 35 38 20 ceiving.network.data.").....(58.
20800 2e 20 22 50 72 6f 62 6c 65 6d 20 77 69 74 68 20 74 68 65 20 6c 6f 63 61 6c 20 63 65 72 74 69 66 .."Problem.with.the.local.certif
20820 69 63 61 74 65 2e 22 29 0a 20 20 20 20 28 35 39 20 2e 20 22 43 6f 75 6c 64 6e 27 74 20 75 73 65 icate.").....(59..."Couldn't.use
20840 20 73 70 65 63 69 66 69 65 64 20 53 53 4c 20 63 69 70 68 65 72 2e 22 29 0a 20 20 20 20 28 36 30 .specified.SSL.cipher.").....(60
20860 20 2e 20 22 50 65 65 72 20 63 65 72 74 69 66 69 63 61 74 65 20 63 61 6e 6e 6f 74 20 62 65 20 61 ..."Peer.certificate.cannot.be.a
20880 75 74 68 65 6e 74 69 63 61 74 65 64 20 77 69 74 68 20 6b 6e 6f 77 6e 20 43 41 20 63 65 72 74 69 uthenticated.with.known.CA.certi
208a0 66 69 63 61 74 65 73 2e 22 29 0a 20 20 20 20 28 36 31 20 2e 20 22 55 6e 72 65 63 6f 67 6e 69 7a ficates.").....(61..."Unrecogniz
208c0 65 64 20 74 72 61 6e 73 66 65 72 20 65 6e 63 6f 64 69 6e 67 2e 22 29 0a 20 20 20 20 28 36 32 20 ed.transfer.encoding.").....(62.
208e0 2e 20 22 49 6e 76 61 6c 69 64 20 4c 44 41 50 20 55 52 4c 2e 22 29 0a 20 20 20 20 28 36 33 20 2e .."Invalid.LDAP.URL.").....(63..
20900 20 22 4d 61 78 69 6d 75 6d 20 66 69 6c 65 20 73 69 7a 65 20 65 78 63 65 65 64 65 64 2e 22 29 0a ."Maximum.file.size.exceeded.").
20920 20 20 20 20 28 36 34 20 2e 20 22 52 65 71 75 65 73 74 65 64 20 46 54 50 20 53 53 4c 20 6c 65 76 ....(64..."Requested.FTP.SSL.lev
20940 65 6c 20 66 61 69 6c 65 64 2e 22 29 0a 20 20 20 20 28 36 35 20 2e 20 22 53 65 6e 64 69 6e 67 20 el.failed.").....(65..."Sending.
20960 74 68 65 20 64 61 74 61 20 72 65 71 75 69 72 65 73 20 61 20 72 65 77 69 6e 64 20 74 68 61 74 20 the.data.requires.a.rewind.that.
20980 66 61 69 6c 65 64 2e 22 29 0a 20 20 20 20 28 36 36 20 2e 20 22 46 61 69 6c 65 64 20 74 6f 20 69 failed.").....(66..."Failed.to.i
209a0 6e 69 74 69 61 6c 69 73 65 20 53 53 4c 20 45 6e 67 69 6e 65 2e 22 29 0a 20 20 20 20 28 36 37 20 nitialise.SSL.Engine.").....(67.
209c0 2e 20 22 54 68 65 20 75 73 65 72 20 6e 61 6d 65 2c 20 70 61 73 73 77 6f 72 64 2c 20 6f 72 20 73 .."The.user.name,.password,.or.s
209e0 69 6d 69 6c 61 72 20 77 61 73 20 6e 6f 74 20 61 63 63 65 70 74 65 64 20 61 6e 64 20 63 75 72 6c imilar.was.not.accepted.and.curl
20a00 20 66 61 69 6c 65 64 20 74 6f 20 6c 6f 67 20 69 6e 2e 22 29 0a 20 20 20 20 28 36 38 20 2e 20 22 .failed.to.log.in.").....(68..."
20a20 46 69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 20 6f 6e 20 54 46 54 50 20 73 65 72 76 65 72 2e 22 29 File.not.found.on.TFTP.server.")
20a40 0a 20 20 20 20 28 36 39 20 2e 20 22 50 65 72 6d 69 73 73 69 6f 6e 20 70 72 6f 62 6c 65 6d 20 6f .....(69..."Permission.problem.o
20a60 6e 20 54 46 54 50 20 73 65 72 76 65 72 2e 22 29 0a 20 20 20 20 28 37 30 20 2e 20 22 4f 75 74 20 n.TFTP.server.").....(70..."Out.
20a80 6f 66 20 64 69 73 6b 20 73 70 61 63 65 20 6f 6e 20 54 46 54 50 20 73 65 72 76 65 72 2e 22 29 0a of.disk.space.on.TFTP.server.").
20aa0 20 20 20 20 28 37 31 20 2e 20 22 49 6c 6c 65 67 61 6c 20 54 46 54 50 20 6f 70 65 72 61 74 69 6f ....(71..."Illegal.TFTP.operatio
20ac0 6e 2e 22 29 0a 20 20 20 20 28 37 32 20 2e 20 22 55 6e 6b 6e 6f 77 6e 20 54 46 54 50 20 74 72 61 n.").....(72..."Unknown.TFTP.tra
20ae0 6e 73 66 65 72 20 49 44 2e 22 29 0a 20 20 20 20 28 37 33 20 2e 20 22 46 69 6c 65 20 61 6c 72 65 nsfer.ID.").....(73..."File.alre
20b00 61 64 79 20 65 78 69 73 74 73 20 28 54 46 54 50 29 2e 22 29 0a 20 20 20 20 28 37 34 20 2e 20 22 ady.exists.(TFTP).").....(74..."
20b20 4e 6f 20 73 75 63 68 20 75 73 65 72 20 28 54 46 54 50 29 2e 22 29 0a 20 20 20 20 28 37 35 20 2e No.such.user.(TFTP).").....(75..
20b40 20 22 43 68 61 72 61 63 74 65 72 20 63 6f 6e 76 65 72 73 69 6f 6e 20 66 61 69 6c 65 64 2e 22 29 ."Character.conversion.failed.")
20b60 0a 20 20 20 20 28 37 36 20 2e 20 22 43 68 61 72 61 63 74 65 72 20 63 6f 6e 76 65 72 73 69 6f 6e .....(76..."Character.conversion
20b80 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 71 75 69 72 65 64 2e 22 29 0a 20 20 20 20 28 37 37 20 2e .functions.required.").....(77..
20ba0 20 22 50 72 6f 62 6c 65 6d 20 77 69 74 68 20 72 65 61 64 69 6e 67 20 74 68 65 20 53 53 4c 20 43 ."Problem.with.reading.the.SSL.C
20bc0 41 20 63 65 72 74 20 28 70 61 74 68 3f 20 61 63 63 65 73 73 20 72 69 67 68 74 73 3f 29 2e 22 29 A.cert.(path?.access.rights?).")
20be0 0a 20 20 20 20 28 37 38 20 2e 20 22 54 68 65 20 72 65 73 6f 75 72 63 65 20 72 65 66 65 72 65 6e .....(78..."The.resource.referen
20c00 63 65 64 20 69 6e 20 74 68 65 20 55 52 4c 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 22 29 ced.in.the.URL.does.not.exist.")
20c20 0a 20 20 20 20 28 37 39 20 2e 20 22 41 6e 20 75 6e 73 70 65 63 69 66 69 65 64 20 65 72 72 6f 72 .....(79..."An.unspecified.error
20c40 20 6f 63 63 75 72 72 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 53 53 48 20 73 65 73 73 69 6f 6e .occurred.during.the.SSH.session
20c60 2e 22 29 0a 20 20 20 20 28 38 30 20 2e 20 22 46 61 69 6c 65 64 20 74 6f 20 73 68 75 74 20 64 6f .").....(80..."Failed.to.shut.do
20c80 77 6e 20 74 68 65 20 53 53 4c 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 22 29 0a 20 20 20 20 28 38 32 wn.the.SSL.connection.").....(82
20ca0 20 2e 20 22 43 6f 75 6c 64 20 6e 6f 74 20 6c 6f 61 64 20 43 52 4c 20 66 69 6c 65 2c 20 6d 69 73 ..."Could.not.load.CRL.file,.mis
20cc0 73 69 6e 67 20 6f 72 20 77 72 6f 6e 67 20 66 6f 72 6d 61 74 20 28 61 64 64 65 64 20 69 6e 20 37 sing.or.wrong.format.(added.in.7
20ce0 2e 31 39 2e 30 29 2e 22 29 0a 20 20 20 20 28 38 33 20 2e 20 22 49 73 73 75 65 72 20 63 68 65 63 .19.0).").....(83..."Issuer.chec
20d00 6b 20 66 61 69 6c 65 64 20 28 61 64 64 65 64 20 69 6e 20 37 2e 31 39 2e 30 29 2e 22 29 0a 20 20 k.failed.(added.in.7.19.0).")...
20d20 20 20 28 38 34 20 2e 20 22 54 68 65 20 46 54 50 20 50 52 45 54 20 63 6f 6d 6d 61 6e 64 20 66 61 ..(84..."The.FTP.PRET.command.fa
20d40 69 6c 65 64 22 29 0a 20 20 20 20 28 38 35 20 2e 20 22 52 54 53 50 3a 20 6d 69 73 6d 61 74 63 68 iled").....(85..."RTSP:.mismatch
20d60 20 6f 66 20 43 53 65 71 20 6e 75 6d 62 65 72 73 22 29 0a 20 20 20 20 28 38 36 20 2e 20 22 52 54 .of.CSeq.numbers").....(86..."RT
20d80 53 50 3a 20 6d 69 73 6d 61 74 63 68 20 6f 66 20 53 65 73 73 69 6f 6e 20 49 64 65 6e 74 69 66 69 SP:.mismatch.of.Session.Identifi
20da0 65 72 73 22 29 0a 20 20 20 20 28 38 37 20 2e 20 22 75 6e 61 62 6c 65 20 74 6f 20 70 61 72 73 65 ers").....(87..."unable.to.parse
20dc0 20 46 54 50 20 66 69 6c 65 20 6c 69 73 74 22 29 0a 20 20 20 20 28 38 38 20 2e 20 22 46 54 50 20 .FTP.file.list").....(88..."FTP.
20de0 63 68 75 6e 6b 20 63 61 6c 6c 62 61 63 6b 20 72 65 70 6f 72 74 65 64 20 65 72 72 6f 72 22 29 0a chunk.callback.reported.error").
20e00 20 20 20 20 28 38 39 20 2e 20 22 4e 6f 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 61 76 61 69 6c 61 62 ....(89..."No.connection.availab
20e20 6c 65 2c 20 74 68 65 20 73 65 73 73 69 6f 6e 20 77 69 6c 6c 20 62 65 20 71 75 65 75 65 64 22 29 le,.the.session.will.be.queued")
20e40 0a 20 20 20 20 28 39 30 20 2e 20 22 53 53 4c 20 70 75 62 6c 69 63 20 6b 65 79 20 64 6f 65 73 20 .....(90..."SSL.public.key.does.
20e60 6e 6f 74 20 6d 61 74 63 68 65 64 20 70 69 6e 6e 65 64 20 70 75 62 6c 69 63 20 6b 65 79 22 29 29 not.matched.pinned.public.key"))
20e80 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 63 61 70 61 62 69 6c 69 )..(defvar.elfeed-curl--capabili
20ea0 74 69 65 73 2d 63 61 63 68 65 0a 20 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 ties-cache...(make-hash-table.:t
20ec0 65 73 74 20 27 65 71 20 3a 77 65 61 6b 6e 65 73 73 20 27 6b 65 79 29 0a 20 20 22 55 73 65 64 20 est.'eq.:weakness.'key)..."Used.
20ee0 74 6f 20 61 76 6f 69 64 20 69 6e 76 6f 6b 69 6e 67 20 63 75 72 6c 20 6d 6f 72 65 20 74 68 61 6e to.avoid.invoking.curl.more.than
20f00 20 6f 6e 63 65 20 66 6f 72 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 2e 22 29 0a 0a 28 64 65 66 75 .once.for.version.info.")..(defu
20f20 6e 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 67 65 74 2d 63 61 70 61 62 69 6c 69 74 69 65 73 20 28 n.elfeed-curl-get-capabilities.(
20f40 29 0a 20 20 22 52 65 74 75 72 6e 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 70 6c 69 73 74 20 66 )..."Return.capabilities.plist.f
20f60 6f 72 20 74 68 65 20 63 75 72 6c 20 61 74 20 60 65 6c 66 65 65 64 2d 63 75 72 6c 2d 70 72 6f 67 or.the.curl.at.`elfeed-curl-prog
20f80 72 61 6d 2d 6e 61 6d 65 27 2e 0a 3a 76 65 72 73 69 6f 6e 20 20 20 20 20 2d 2d 20 63 55 52 4c 27 ram-name'..:version.....--.cURL'
20fa0 73 20 76 65 72 73 69 6f 6e 20 73 74 72 69 6e 67 0a 3a 63 6f 6d 70 72 65 73 73 69 6f 6e 20 2d 2d s.version.string.:compression.--
20fc0 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 2d 2d 63 6f 6d 70 72 65 73 73 65 64 20 69 73 20 73 75 70 70 .non-nil.if.--compressed.is.supp
20fe0 6f 72 74 65 64 0a 3a 70 72 6f 74 6f 63 6f 6c 73 20 20 20 2d 2d 20 73 79 6d 62 6f 6c 20 6c 69 73 orted.:protocols...--.symbol.lis
21000 74 20 6f 66 20 73 75 70 70 6f 72 74 65 64 20 70 72 6f 74 6f 63 6f 6c 73 0a 3a 66 65 61 74 75 72 t.of.supported.protocols.:featur
21020 65 73 20 20 20 20 2d 2d 20 73 74 72 69 6e 67 20 6c 69 73 74 20 6f 66 20 73 75 70 70 6f 72 74 65 es....--.string.list.of.supporte
21040 64 20 66 65 61 74 75 72 65 73 22 0a 20 20 28 6c 65 74 2a 20 28 28 63 61 63 68 65 20 65 6c 66 65 d.features"...(let*.((cache.elfe
21060 65 64 2d 63 75 72 6c 2d 2d 63 61 70 61 62 69 6c 69 74 69 65 73 2d 63 61 63 68 65 29 0a 20 20 20 ed-curl--capabilities-cache)....
21080 20 20 20 20 20 20 28 63 61 63 68 65 2d 76 61 6c 75 65 20 28 67 65 74 68 61 73 68 20 65 6c 66 65 ......(cache-value.(gethash.elfe
210a0 65 64 2d 63 75 72 6c 2d 70 72 6f 67 72 61 6d 2d 6e 61 6d 65 20 63 61 63 68 65 29 29 29 0a 20 20 ed-curl-program-name.cache)))...
210c0 20 20 28 69 66 20 63 61 63 68 65 2d 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 63 61 63 68 65 2d ..(if.cache-value.........cache-
210e0 76 61 6c 75 65 0a 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 value.......(with-temp-buffer...
21100 20 20 20 20 20 20 28 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d ......(call-process.elfeed-curl-
21120 70 72 6f 67 72 61 6d 2d 6e 61 6d 65 20 6e 69 6c 20 74 20 6e 69 6c 20 22 2d 2d 76 65 72 73 69 6f program-name.nil.t.nil."--versio
21140 6e 22 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 n").........(let.((version......
21160 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........(progn................
21180 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 ..(goto-char.(point-min)).......
211a0 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 ...........(when.(re-search-forw
211c0 61 72 64 20 22 5b 2e 30 2d 39 5d 2b 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 ard."[.0-9]+".nil.t)............
211e0 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 30 29 29 29 29 0a 20 20 20 20 ........(match-string.0)))).....
21200 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 74 6f 63 6f 6c 73 0a 20 20 20 20 20 20 20 20 20 20 20 ..........(protocols............
21220 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 ....(progn..................(got
21240 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 o-char.(point-min)).............
21260 20 20 20 20 20 28 77 68 65 6e 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 5e .....(when.(re-search-forward."^
21280 50 72 6f 74 6f 63 6f 6c 73 3a 20 5c 5c 28 2e 2a 5c 5c 29 24 22 20 6e 69 6c 20 74 29 0a 20 20 20 Protocols:.\\(.*\\)$".nil.t)....
212a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 23 27 69 6e 74 65 72 6e ................(mapcar.#'intern
212c0 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 29 29 .(split-string.(match-string.1))
212e0 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 65 61 74 75 72 65 73 0a 20 20 20 ))))...............(features....
21300 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ............(progn..............
21320 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 ....(goto-char.(point-min)).....
21340 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f .............(when.(re-search-fo
21360 72 77 61 72 64 20 22 5e 46 65 61 74 75 72 65 73 3a 20 5c 5c 28 2e 2a 5c 5c 29 24 22 29 0a 20 20 rward."^Features:.\\(.*\\)$")...
21380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 28 .................(split-string.(
213a0 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 match-string.1))))))...........(
213c0 73 65 74 66 20 28 67 65 74 68 61 73 68 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 70 72 6f 67 72 61 setf.(gethash.elfeed-curl-progra
213e0 6d 2d 6e 61 6d 65 20 63 61 63 68 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c m-name.cache).................(l
21400 69 73 74 20 3a 76 65 72 73 69 6f 6e 20 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 ist.:version.version............
21420 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 70 72 65 73 73 69 6f 6e 20 28 6e 6f 74 20 28 6e 75 ...........:compression.(not.(nu
21440 6c 6c 20 28 6d 65 6d 62 65 72 20 22 6c 69 62 7a 22 20 66 65 61 74 75 72 65 73 29 29 29 0a 20 20 ll.(member."libz".features)))...
21460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 70 72 6f 74 6f 63 6f 6c 73 20 70 ....................:protocols.p
21480 72 6f 74 6f 63 6f 6c 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a rotocols.......................:
214a0 66 65 61 74 75 72 65 73 20 66 65 61 74 75 72 65 73 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e features.features)))))))..(defun
214c0 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 67 65 74 2d 76 65 72 73 69 6f 6e 20 28 29 0a 20 20 22 52 .elfeed-curl-get-version.()..."R
214e0 65 74 75 72 6e 20 74 68 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 63 75 72 6c 20 66 6f 72 20 60 65 eturn.the.version.of.curl.for.`e
21500 6c 66 65 65 64 2d 63 75 72 6c 2d 70 72 6f 67 72 61 6d 2d 6e 61 6d 65 27 2e 22 0a 20 20 28 70 6c lfeed-curl-program-name'."...(pl
21520 69 73 74 2d 67 65 74 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 67 65 74 2d 63 61 70 61 62 69 6c ist-get.(elfeed-curl-get-capabil
21540 69 74 69 65 73 29 20 3a 76 65 72 73 69 6f 6e 29 29 0a 28 6d 61 6b 65 2d 6f 62 73 6f 6c 65 74 65 ities).:version)).(make-obsolete
21560 20 27 65 6c 66 65 65 64 2d 63 75 72 6c 2d 67 65 74 2d 76 65 72 73 69 6f 6e 20 27 65 6c 66 65 65 .'elfeed-curl-get-version.'elfee
21580 64 2d 63 75 72 6c 2d 67 65 74 2d 63 61 70 61 62 69 6c 69 74 69 65 73 20 22 33 2e 30 2e 31 22 29 d-curl-get-capabilities."3.0.1")
215a0 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 74 6f 6b 65 6e 20 28 29 0a 20 ..(defun.elfeed-curl--token.()..
215c0 20 22 52 65 74 75 72 6e 20 61 20 75 6e 69 71 75 65 2c 20 72 61 6e 64 6f 6d 20 73 74 72 69 6e 67 ."Return.a.unique,.random.string
215e0 20 74 68 61 74 20 70 72 69 6e 74 73 20 61 73 20 61 20 73 79 6d 62 6f 6c 20 77 69 74 68 6f 75 74 .that.prints.as.a.symbol.without
21600 20 65 73 63 61 70 65 73 2e 0a 54 68 69 73 20 74 6f 6b 65 6e 20 69 73 20 75 73 65 64 20 74 6f 20 .escapes..This.token.is.used.to.
21620 73 70 6c 69 74 20 72 65 71 75 65 73 74 73 2e 20 54 68 65 20 25 20 69 73 20 65 78 63 6c 75 64 65 split.requests..The.%.is.exclude
21640 64 20 73 69 6e 63 65 0a 69 74 27 73 20 73 70 65 63 69 61 6c 20 74 6f 20 2d 2d 77 72 69 74 65 2d d.since.it's.special.to.--write-
21660 6f 75 74 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 74 6f 6b 65 6e 20 28 6d 61 6b 65 2d 73 74 72 69 out."...(let*.((token.(make-stri
21680 6e 67 20 32 32 20 3f 3d 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 20 22 21 24 26 2a 2b 2d ng.22.?=))..........(set."!$&*+-
216a0 2f 30 31 32 33 34 35 36 37 38 39 3a 3c 3e 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 /0123456789:<>@ABCDEFGHIJKLMNOPQ
216c0 52 53 54 55 56 57 58 59 5a 5e 5f 5c 0a 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 RSTUVWXYZ^_\.abcdefghijklmnopqrs
216e0 74 75 76 77 78 79 7a 7c 7e 22 29 29 0a 20 20 20 20 28 70 72 6f 67 31 20 74 6f 6b 65 6e 20 3b 20 tuvwxyz|~")).....(prog1.token.;.
21700 77 6f 72 6b 61 72 6f 75 6e 64 20 62 75 67 23 31 36 32 30 36 0a 20 20 20 20 20 20 28 64 6f 74 69 workaround.bug#16206.......(doti
21720 6d 65 73 20 28 69 20 28 2d 20 28 6c 65 6e 67 74 68 20 74 6f 6b 65 6e 29 20 32 29 29 0a 20 20 20 mes.(i.(-.(length.token).2))....
21740 20 20 20 20 20 28 73 65 74 66 20 28 61 72 65 66 20 74 6f 6b 65 6e 20 28 31 2b 20 69 29 29 20 28 .....(setf.(aref.token.(1+.i)).(
21760 61 72 65 66 20 73 65 74 20 28 63 6c 2d 72 61 6e 64 6f 6d 20 28 6c 65 6e 67 74 68 20 73 65 74 29 aref.set.(cl-random.(length.set)
21780 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 70 61 72 )))))))..(defun.elfeed-curl--par
217a0 73 65 2d 77 72 69 74 65 2d 6f 75 74 20 28 29 0a 20 20 22 50 61 72 73 65 20 63 75 72 6c 27 73 20 se-write-out.()..."Parse.curl's.
217c0 77 72 69 74 65 2d 6f 75 74 20 28 2d 77 29 20 6d 65 73 73 61 67 65 73 20 69 6e 74 6f 20 60 65 6c write-out.(-w).messages.into.`el
217e0 66 65 65 64 2d 63 75 72 6c 2d 2d 72 65 67 69 6f 6e 73 27 2e 22 0a 20 20 28 77 69 64 65 6e 29 0a feed-curl--regions'."...(widen).
21800 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 28 73 65 74 ..(goto-char.(point-max))...(set
21820 66 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 72 65 67 69 6f 6e 73 20 28 29 29 0a 20 20 28 77 68 f.elfeed-curl--regions.())...(wh
21840 69 6c 65 20 28 3e 20 28 70 6f 69 6e 74 29 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 ile.(>.(point).(point-min)).....
21860 28 73 65 61 72 63 68 2d 62 61 63 6b 77 61 72 64 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 74 6f (search-backward.elfeed-curl--to
21880 6b 65 6e 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 31 2d 20 28 70 6f 69 6e 74 29 29 ken).....(goto-char.(1-.(point))
218a0 29 0a 20 20 20 20 28 6c 65 74 20 28 28 65 6e 64 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 ).....(let.((end.(point)))......
218c0 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 5f 20 2e 20 68 65 61 .(cl-destructuring-bind.(_...hea
218e0 64 65 72 29 20 28 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 der).(read.(current-buffer))....
21900 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 .....(goto-char.end).........;;.
21920 46 69 6e 64 20 6e 65 78 74 20 73 65 6e 74 69 6e 65 6c 20 74 6f 6b 65 6e 0a 20 20 20 20 20 20 20 Find.next.sentinel.token........
21940 20 28 69 66 20 28 73 65 61 72 63 68 2d 62 61 63 6b 77 61 72 64 20 65 6c 66 65 65 64 2d 63 75 72 .(if.(search-backward.elfeed-cur
21960 6c 2d 2d 74 6f 6b 65 6e 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 61 l--token.nil.t).............(sea
21980 72 63 68 2d 66 6f 72 77 61 72 64 20 22 29 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 rch-forward.")".nil.t)..........
219a0 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 0a 20 20 20 20 20 20 .(goto-char.(point-min))).......
219c0 20 20 28 6c 65 74 2a 20 28 28 68 65 61 64 65 72 2d 73 74 61 72 74 20 28 70 6f 69 6e 74 29 29 0a ..(let*.((header-start.(point)).
219e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 65 61 64 65 72 2d 65 6e 64 20 28 2b 20 28 70 ...............(header-end.(+.(p
21a00 6f 69 6e 74 29 20 68 65 61 64 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 oint).header))................(c
21a20 6f 6e 74 65 6e 74 2d 73 74 61 72 74 20 28 2b 20 28 70 6f 69 6e 74 29 20 68 65 61 64 65 72 29 29 ontent-start.(+.(point).header))
21a40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 74 65 6e 74 2d 65 6e 64 20 65 6e 64 ................(content-end.end
21a60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 67 69 6f 6e 73 20 28 6c 69 73 74 20 )................(regions.(list.
21a80 68 65 61 64 65 72 2d 73 74 61 72 74 20 68 65 61 64 65 72 2d 65 6e 64 0a 20 20 20 20 20 20 20 20 header-start.header-end.........
21aa0 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 65 6e 74 2d 73 74 ......................content-st
21ac0 61 72 74 20 63 6f 6e 74 65 6e 74 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 art.content-end))...............
21ae0 20 28 6d 61 72 6b 65 72 73 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 70 20 69 6e 20 72 65 67 69 .(markers.(cl-loop.for.p.in.regi
21b00 6f 6e 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 ons.............................
21b20 20 20 20 20 20 66 6f 72 20 6d 61 72 6b 65 72 20 3d 20 28 6d 61 6b 65 2d 6d 61 72 6b 65 72 29 0a .....for.marker.=.(make-marker).
21b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
21b60 20 63 6f 6c 6c 65 63 74 20 28 73 65 74 2d 6d 61 72 6b 65 72 20 6d 61 72 6b 65 72 20 70 29 29 29 .collect.(set-marker.marker.p)))
21b80 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 6d 61 72 6b 65 72 73 20 65 6c 66 65 65 64 )...........(push.markers.elfeed
21ba0 2d 63 75 72 6c 2d 2d 72 65 67 69 6f 6e 73 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 -curl--regions))))))..(defun.elf
21bc0 65 65 64 2d 63 75 72 6c 2d 2d 6e 61 72 72 6f 77 20 28 6b 69 6e 64 20 6e 29 0a 20 20 22 4e 61 72 eed-curl--narrow.(kind.n)..."Nar
21be0 72 6f 77 20 74 6f 20 4e 74 68 20 72 65 67 69 6f 6e 20 6f 66 20 4b 49 4e 44 20 28 3a 68 65 61 64 row.to.Nth.region.of.KIND.(:head
21c00 65 72 2c 20 3a 63 6f 6e 74 65 6e 74 29 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 65 67 69 6f 6e 20 er,.:content)."...(let.((region.
21c20 28 6e 74 68 20 6e 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 72 65 67 69 6f 6e 73 29 29 29 0a 20 (nth.n.elfeed-curl--regions)))..
21c40 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 68 2d 73 74 61 ...(cl-destructuring-bind.(h-sta
21c60 72 74 20 68 2d 65 6e 64 20 63 2d 73 74 61 72 74 20 63 2d 65 6e 64 29 20 72 65 67 69 6f 6e 0a 20 rt.h-end.c-start.c-end).region..
21c80 20 20 20 20 20 28 63 6c 2d 65 63 61 73 65 20 6b 69 6e 64 0a 20 20 20 20 20 20 20 20 28 3a 68 65 .....(cl-ecase.kind.........(:he
21ca0 61 64 65 72 20 28 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 68 2d 73 74 61 72 74 20 68 ader.(narrow-to-region.h-start.h
21cc0 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 28 3a 63 6f 6e 74 65 6e 74 20 28 6e 61 72 72 6f 77 -end)).........(:content.(narrow
21ce0 2d 74 6f 2d 72 65 67 69 6f 6e 20 63 2d 73 74 61 72 74 20 63 2d 65 6e 64 29 29 29 29 29 29 0a 0a -to-region.c-start.c-end))))))..
21d00 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 70 61 72 73 65 2d 68 74 74 70 2d 68 (defun.elfeed-curl--parse-http-h
21d20 65 61 64 65 72 73 20 28 29 0a 20 20 22 50 61 72 73 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 48 eaders.()..."Parse.the.current.H
21d40 54 54 50 20 72 65 73 70 6f 6e 73 65 20 68 65 61 64 65 72 73 20 69 6e 74 6f 20 62 75 66 66 65 72 TTP.response.headers.into.buffer
21d60 2d 6c 6f 63 61 6c 73 2e 0a 53 65 74 73 20 60 65 6c 66 65 65 64 2d 63 75 72 6c 2d 68 65 61 64 65 -locals..Sets.`elfeed-curl-heade
21d80 72 73 27 61 6e 64 20 60 65 6c 66 65 65 64 2d 63 75 72 6c 2d 73 74 61 74 75 73 2d 63 6f 64 65 27 rs'and.`elfeed-curl-status-code'
21da0 2e 0a 55 73 65 20 60 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 6e 61 72 72 6f 77 27 20 74 6f 20 73 ..Use.`elfeed-curl--narrow'.to.s
21dc0 65 6c 65 63 74 20 61 20 68 65 61 64 65 72 2e 22 0a 20 20 28 77 68 65 6e 20 28 3e 20 28 2d 20 28 elect.a.header."...(when.(>.(-.(
21de0 70 6f 69 6e 74 2d 6d 61 78 29 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 20 30 29 0a 20 20 20 20 28 point-max).(point-min)).0).....(
21e00 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 28 72 65 2d 73 goto-char.(point-max)).....(re-s
21e20 65 61 72 63 68 2d 62 61 63 6b 77 61 72 64 20 22 48 54 54 50 2f 5b 2e 30 2d 39 5d 2b 20 2b 5c 5c earch-backward."HTTP/[.0-9]+.+\\
21e40 28 5b 30 2d 39 5d 2b 5c 5c 29 22 29 0a 20 20 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 63 75 ([0-9]+\\)").....(setf.elfeed-cu
21e60 72 6c 2d 73 74 61 74 75 73 2d 63 6f 64 65 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 rl-status-code.(string-to-number
21e80 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 29 29 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 .(match-string.1))).....(cl-loop
21ea0 20 69 6e 69 74 69 61 6c 6c 79 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 .initially.(goto-char.(point-max
21ec0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 72 65 2d 73 65 61 72 63 68 ))..............while.(re-search
21ee0 2d 62 61 63 6b 77 61 72 64 20 22 5e 5c 5c 28 5b 5e 3a 5d 2b 5c 5c 29 3a 20 2b 5c 5c 28 5b 5e 5c -backward."^\\([^:]+\\):.+\\([^\
21f00 72 5c 6e 5d 2b 5c 5c 29 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f r\n]+\\)".nil.t)..............fo
21f20 72 20 6b 65 79 20 3d 20 28 64 6f 77 6e 63 61 73 65 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 r.key.=.(downcase.(match-string.
21f40 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 76 61 6c 75 65 20 3d 20 28 6d 61 1))..............for.value.=.(ma
21f60 74 63 68 2d 73 74 72 69 6e 67 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 tch-string.2)..............colle
21f80 63 74 20 28 63 6f 6e 73 20 6b 65 79 20 76 61 6c 75 65 29 20 69 6e 74 6f 20 68 65 61 64 65 72 73 ct.(cons.key.value).into.headers
21fa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 28 73 65 74 66 20 65 6c 66 65 ..............finally.(setf.elfe
21fc0 65 64 2d 63 75 72 6c 2d 68 65 61 64 65 72 73 20 68 65 61 64 65 72 73 29 29 29 29 0a 0a 28 64 65 ed-curl-headers.headers))))..(de
21fe0 66 75 6e 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 64 65 63 6f 64 65 20 28 29 0a 20 20 22 54 72 fun.elfeed-curl--decode.()..."Tr
22000 79 20 74 6f 20 64 65 63 6f 64 65 20 74 68 65 20 62 75 66 66 65 72 20 62 61 73 65 64 20 6f 6e 20 y.to.decode.the.buffer.based.on.
22020 74 68 65 20 68 65 61 64 65 72 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 6f 6e 74 65 6e 74 2d 74 the.headers."...(let.((content-t
22040 79 70 65 20 28 63 64 72 20 28 61 73 73 6f 63 20 22 43 6f 6e 74 65 6e 74 2d 54 79 70 65 22 20 65 ype.(cdr.(assoc."Content-Type".e
22060 6c 66 65 65 64 2d 63 75 72 6c 2d 68 65 61 64 65 72 73 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 lfeed-curl-headers)))).....(if.(
22080 61 6e 64 20 63 6f 6e 74 65 6e 74 2d 74 79 70 65 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 and.content-type.(string-match."
220a0 63 68 61 72 73 65 74 3d 5c 5c 28 2e 2b 5c 5c 29 22 20 63 6f 6e 74 65 6e 74 2d 74 79 70 65 29 29 charset=\\(.+\\)".content-type))
220c0 0a 20 20 20 20 20 20 20 20 28 64 65 63 6f 64 65 2d 63 6f 64 69 6e 67 2d 72 65 67 69 6f 6e 20 28 .........(decode-coding-region.(
220e0 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 0a 20 20 20 20 20 20 20 20 20 point-min).(point-max)..........
22100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 64 69 6e 67 2d 73 79 73 .....................(coding-sys
22120 74 65 6d 2d 66 72 6f 6d 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tem-from-name...................
22140 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 63 6f 6e .............(match-string.1.con
22160 74 65 6e 74 2d 74 79 70 65 29 29 29 0a 20 20 20 20 20 20 28 64 65 63 6f 64 65 2d 63 6f 64 69 6e tent-type))).......(decode-codin
22180 67 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 g-region.(point-min).(point-max)
221a0 20 27 75 74 66 2d 38 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d .'utf-8))))..(defun.elfeed-curl-
221c0 2d 66 69 6e 61 6c 2d 6c 6f 63 61 74 69 6f 6e 20 28 6c 6f 63 61 74 69 6f 6e 20 68 65 61 64 65 72 -final-location.(location.header
221e0 73 29 0a 20 20 22 47 69 76 65 6e 20 73 74 61 72 74 20 4c 4f 43 41 54 49 4f 4e 20 61 6e 64 20 48 s)..."Given.start.LOCATION.and.H
22200 45 41 44 45 52 53 2c 20 66 69 6e 64 20 74 68 65 20 66 69 6e 61 6c 20 6c 6f 63 61 74 69 6f 6e 2e EADERS,.find.the.final.location.
22220 22 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 6b 65 79 20 2e 20 76 61 6c 75 65 29 20 69 "...(cl-loop.for.(key...value).i
22240 6e 20 68 65 61 64 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 28 65 71 75 61 6c n.headers............when.(equal
22260 20 6b 65 79 20 22 6c 6f 63 61 74 69 6f 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 .key."location")............do.(
22280 73 65 74 66 20 6c 6f 63 61 74 69 6f 6e 20 28 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 6c 6f 63 setf.location.(elfeed-update-loc
222a0 61 74 69 6f 6e 20 6c 6f 63 61 74 69 6f 6e 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 20 ation.location.value))..........
222c0 20 20 66 69 6e 61 6c 6c 79 20 72 65 74 75 72 6e 20 6c 6f 63 61 74 69 6f 6e 29 29 0a 0a 28 64 65 ..finally.return.location))..(de
222e0 66 75 6e 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 61 72 67 73 20 28 75 72 6c 20 74 6f 6b 65 6e fun.elfeed-curl--args.(url.token
22300 20 26 6f 70 74 69 6f 6e 61 6c 20 68 65 61 64 65 72 73 20 6d 65 74 68 6f 64 20 64 61 74 61 29 0a .&optional.headers.method.data).
22320 20 20 22 42 75 69 6c 64 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 20 66 6f 72 20 63 75 .."Build.an.argument.list.for.cu
22340 72 6c 20 66 6f 72 20 55 52 4c 2e 0a 55 52 4c 20 63 61 6e 20 62 65 20 61 20 73 74 72 69 6e 67 20 rl.for.URL..URL.can.be.a.string.
22360 6f 72 20 61 20 6c 69 73 74 20 6f 66 20 55 52 4c 20 73 74 72 69 6e 67 73 2e 22 0a 20 20 28 6c 65 or.a.list.of.URL.strings."...(le
22380 74 2a 20 28 28 61 72 67 73 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 61 70 61 62 69 6c 69 t*.((args.())..........(capabili
223a0 74 69 65 73 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 67 65 74 2d 63 61 70 61 62 69 6c 69 74 69 ties.(elfeed-curl-get-capabiliti
223c0 65 73 29 29 29 0a 20 20 20 20 28 70 75 73 68 20 22 2d 2d 64 69 73 61 62 6c 65 22 20 61 72 67 73 es))).....(push."--disable".args
223e0 29 0a 20 20 20 20 28 77 68 65 6e 20 28 70 6c 69 73 74 2d 67 65 74 20 63 61 70 61 62 69 6c 69 74 ).....(when.(plist-get.capabilit
22400 69 65 73 20 3a 63 6f 6d 70 72 65 73 73 69 6f 6e 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 22 2d ies.:compression).......(push."-
22420 2d 63 6f 6d 70 72 65 73 73 65 64 22 20 61 72 67 73 29 29 0a 20 20 20 20 28 70 75 73 68 20 22 2d -compressed".args)).....(push."-
22440 2d 73 69 6c 65 6e 74 22 20 61 72 67 73 29 0a 20 20 20 20 28 70 75 73 68 20 22 2d 2d 6c 6f 63 61 -silent".args).....(push."--loca
22460 74 69 6f 6e 22 20 61 72 67 73 29 0a 20 20 20 20 28 70 75 73 68 20 28 66 6f 72 6d 61 74 20 22 2d tion".args).....(push.(format."-
22480 77 28 25 73 20 2e 20 25 25 7b 73 69 7a 65 5f 68 65 61 64 65 72 7d 29 22 20 74 6f 6b 65 6e 29 20 w(%s...%%{size_header})".token).
224a0 61 72 67 73 29 0a 20 20 20 20 28 70 75 73 68 20 28 66 6f 72 6d 61 74 20 22 2d 6d 25 73 22 20 65 args).....(push.(format."-m%s".e
224c0 6c 66 65 65 64 2d 63 75 72 6c 2d 74 69 6d 65 6f 75 74 29 20 61 72 67 73 29 0a 20 20 20 20 28 70 lfeed-curl-timeout).args).....(p
224e0 75 73 68 20 22 2d 44 2d 22 20 61 72 67 73 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 68 65 61 ush."-D-".args).....(dolist.(hea
22500 64 65 72 20 68 65 61 64 65 72 73 29 0a 20 20 20 20 20 20 28 63 6c 2d 64 65 73 74 72 75 63 74 75 der.headers).......(cl-destructu
22520 72 69 6e 67 2d 62 69 6e 64 20 28 6b 65 79 20 2e 20 76 61 6c 75 65 29 20 68 65 61 64 65 72 0a 20 ring-bind.(key...value).header..
22540 20 20 20 20 20 20 20 28 70 75 73 68 20 28 66 6f 72 6d 61 74 20 22 2d 48 25 73 3a 20 25 73 22 20 .......(push.(format."-H%s:.%s".
22560 6b 65 79 20 76 61 6c 75 65 29 20 61 72 67 73 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 6d 65 74 key.value).args))).....(when.met
22580 68 6f 64 20 28 70 75 73 68 20 28 66 6f 72 6d 61 74 20 22 2d 58 25 73 22 20 6d 65 74 68 6f 64 29 hod.(push.(format."-X%s".method)
225a0 20 61 72 67 73 29 29 0a 20 20 20 20 28 77 68 65 6e 20 64 61 74 61 20 28 70 75 73 68 20 28 66 6f .args)).....(when.data.(push.(fo
225c0 72 6d 61 74 20 22 2d 64 25 73 22 20 64 61 74 61 29 20 61 72 67 73 29 29 0a 20 20 20 20 28 73 65 rmat."-d%s".data).args)).....(se
225e0 74 66 20 61 72 67 73 20 28 6e 63 6f 6e 63 20 28 72 65 76 65 72 73 65 20 65 6c 66 65 65 64 2d 63 tf.args.(nconc.(reverse.elfeed-c
22600 75 72 6c 2d 65 78 74 72 61 2d 61 72 67 75 6d 65 6e 74 73 29 20 61 72 67 73 29 29 0a 20 20 20 20 url-extra-arguments).args)).....
22620 28 69 66 20 28 6c 69 73 74 70 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 28 6e 63 6f 6e 63 20 28 (if.(listp.url).........(nconc.(
22640 6e 72 65 76 65 72 73 65 20 61 72 67 73 29 20 75 72 6c 29 0a 20 20 20 20 20 20 28 6e 72 65 76 65 nreverse.args).url).......(nreve
22660 72 73 65 20 28 63 6f 6e 73 20 75 72 6c 20 61 72 67 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 rse.(cons.url.args)))))..(defun.
22680 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 70 72 65 70 61 72 65 2d 72 65 73 70 6f 6e 73 65 20 28 75 elfeed-curl--prepare-response.(u
226a0 72 6c 20 6e 20 70 72 6f 74 6f 63 6f 6c 29 0a 20 20 22 50 72 65 70 61 72 65 20 72 65 73 70 6f 6e rl.n.protocol)..."Prepare.respon
226c0 73 65 20 4e 20 66 6f 72 20 64 65 6c 69 76 65 72 79 20 74 6f 20 75 73 65 72 2e 22 0a 20 20 28 65 se.N.for.delivery.to.user."...(e
226e0 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 6e 61 72 72 6f 77 20 3a 68 65 61 64 65 72 20 6e 29 0a 20 20 lfeed-curl--narrow.:header.n)...
22700 28 77 68 65 6e 20 28 65 71 20 70 72 6f 74 6f 63 6f 6c 20 27 68 74 74 70 29 0a 20 20 20 20 28 65 (when.(eq.protocol.'http).....(e
22720 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 70 61 72 73 65 2d 68 74 74 70 2d 68 65 61 64 65 72 73 29 29 lfeed-curl--parse-http-headers))
22740 0a 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 6c 6f 63 61 74 69 6f 6e 0a 20 20 ...(setf.elfeed-curl-location...
22760 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 66 69 6e 61 6c 2d 6c 6f 63 61 74 69 ......(elfeed-curl--final-locati
22780 6f 6e 20 75 72 6c 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 68 65 61 64 65 72 73 29 29 0a 20 20 28 on.url.elfeed-curl-headers))...(
227a0 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 6e 61 72 72 6f 77 20 3a 63 6f 6e 74 65 6e 74 20 6e 29 0a elfeed-curl--narrow.:content.n).
227c0 20 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 64 65 63 6f 64 65 29 0a 20 20 28 63 75 72 72 65 ..(elfeed-curl--decode)...(curre
227e0 6e 74 2d 62 75 66 66 65 72 29 29 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 63 75 nt-buffer))..(cl-defun.elfeed-cu
22800 72 6c 2d 72 65 74 72 69 65 76 65 2d 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 20 28 75 72 6c 20 26 rl-retrieve-synchronously.(url.&
22820 6b 65 79 20 68 65 61 64 65 72 73 20 6d 65 74 68 6f 64 20 64 61 74 61 29 0a 20 20 22 52 65 74 72 key.headers.method.data)..."Retr
22840 69 65 76 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 66 6f 72 20 55 52 4c 20 61 6e 64 20 72 65 ieve.the.contents.for.URL.and.re
22860 74 75 72 6e 20 61 20 6e 65 77 20 62 75 66 66 65 72 20 77 69 74 68 20 74 68 65 6d 2e 0a 0a 48 45 turn.a.new.buffer.with.them...HE
22880 41 44 45 52 53 20 69 73 20 61 6e 20 61 6c 69 73 74 20 6f 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 ADERS.is.an.alist.of.additional.
228a0 68 65 61 64 65 72 73 20 74 6f 20 61 64 64 20 74 6f 20 74 68 65 20 48 54 54 50 20 72 65 71 75 65 headers.to.add.to.the.HTTP.reque
228c0 73 74 2e 0a 4d 45 54 48 4f 44 20 69 73 20 74 68 65 20 48 54 54 50 20 6d 65 74 68 6f 64 20 74 6f st..METHOD.is.the.HTTP.method.to
228e0 20 75 73 65 2e 0a 44 41 54 41 20 69 73 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 74 6f 20 69 6e 63 .use..DATA.is.the.content.to.inc
22900 6c 75 64 65 20 69 6e 20 74 68 65 20 72 65 71 75 65 73 74 2e 22 0a 20 20 28 77 69 74 68 2d 63 75 lude.in.the.request."...(with-cu
22920 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 67 65 6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 rrent-buffer.(generate-new-buffe
22940 72 20 22 20 2a 63 75 72 6c 2a 22 29 0a 20 20 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 63 75 r.".*curl*").....(setf.elfeed-cu
22960 72 6c 2d 2d 74 6f 6b 65 6e 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 74 6f 6b 65 6e 29 29 0a rl--token.(elfeed-curl--token)).
22980 20 20 20 20 28 6c 65 74 20 28 28 61 72 67 73 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 61 72 ....(let.((args.(elfeed-curl--ar
229a0 67 73 20 75 72 6c 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 74 6f 6b 65 6e 20 68 65 61 64 65 72 gs.url.elfeed-curl--token.header
229c0 73 20 6d 65 74 68 6f 64 20 64 61 74 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 64 69 6e s.method.data))...........(codin
229e0 67 2d 73 79 73 74 65 6d 2d 66 6f 72 2d 72 65 61 64 20 27 62 69 6e 61 72 79 29 29 0a 20 20 20 20 g-system-for-read.'binary)).....
22a00 20 20 28 61 70 70 6c 79 20 23 27 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 65 6c 66 65 65 64 2d 63 ..(apply.#'call-process.elfeed-c
22a20 75 72 6c 2d 70 72 6f 67 72 61 6d 2d 6e 61 6d 65 20 6e 69 6c 20 74 20 6e 69 6c 20 61 72 67 73 29 url-program-name.nil.t.nil.args)
22a40 29 0a 20 20 20 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 70 61 72 73 65 2d 77 72 69 74 65 2d ).....(elfeed-curl--parse-write-
22a60 6f 75 74 29 0a 20 20 20 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 70 72 65 70 61 72 65 2d 72 out).....(elfeed-curl--prepare-r
22a80 65 73 70 6f 6e 73 65 20 75 72 6c 20 30 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 70 72 6f 74 esponse.url.0.(elfeed-curl--prot
22aa0 6f 63 6f 6c 2d 74 79 70 65 20 75 72 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 ocol-type.url))))..(defun.elfeed
22ac0 2d 63 75 72 6c 2d 2d 70 72 6f 74 6f 63 6f 6c 2d 74 79 70 65 20 28 75 72 6c 29 0a 20 20 28 6c 65 -curl--protocol-type.(url)...(le
22ae0 74 20 28 28 73 63 68 65 6d 65 20 28 69 6e 74 65 72 6e 20 28 6f 72 20 28 75 72 6c 2d 74 79 70 65 t.((scheme.(intern.(or.(url-type
22b00 20 28 75 72 6c 2d 67 65 6e 65 72 69 63 2d 70 61 72 73 65 2d 75 72 6c 20 75 72 6c 29 29 20 22 6e .(url-generic-parse-url.url))."n
22b20 69 6c 22 29 29 29 29 0a 20 20 20 20 28 63 6c 2d 63 61 73 65 20 73 63 68 65 6d 65 0a 20 20 20 20 il")))).....(cl-case.scheme.....
22b40 20 20 28 28 68 74 74 70 73 20 6e 69 6c 29 20 27 68 74 74 70 29 0a 20 20 20 20 20 20 28 6f 74 68 ..((https.nil).'http).......(oth
22b60 65 72 77 69 73 65 20 73 63 68 65 6d 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 erwise.scheme))))..(defun.elfeed
22b80 2d 63 75 72 6c 2d 2d 63 61 6c 6c 2d 63 61 6c 6c 62 61 63 6b 20 28 62 75 66 66 65 72 20 6e 20 75 -curl--call-callback.(buffer.n.u
22ba0 72 6c 20 63 62 29 0a 20 20 22 50 72 65 70 61 72 65 20 74 68 65 20 62 75 66 66 65 72 20 66 6f 72 rl.cb)..."Prepare.the.buffer.for
22bc0 20 63 61 6c 6c 62 61 63 6b 20 4e 20 61 6e 64 20 63 61 6c 6c 20 69 74 2e 22 0a 20 20 28 6c 65 74 .callback.N.and.call.it."...(let
22be0 20 28 28 72 65 73 75 6c 74 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 74 6f 63 6f 6c .((result.nil).........(protocol
22c00 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 70 72 6f 74 6f 63 6f 6c 2d 74 79 70 65 20 75 72 6c .(elfeed-curl--protocol-type.url
22c20 29 29 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 62 75 66 ))).....(with-current-buffer.buf
22c40 66 65 72 0a 20 20 20 20 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 65 72 72 6f fer.......(setf.elfeed-curl-erro
22c60 72 2d 6d 65 73 73 61 67 65 20 22 75 6e 61 62 6c 65 20 74 6f 20 70 61 72 73 65 20 63 75 72 6c 20 r-message."unable.to.parse.curl.
22c80 72 65 73 70 6f 6e 73 65 22 29 0a 20 20 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 response").......(unwind-protect
22ca0 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 65 ...........(progn.............(e
22cc0 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 70 72 65 70 61 72 65 2d 72 65 73 70 6f 6e 73 65 20 75 72 6c lfeed-curl--prepare-response.url
22ce0 20 6e 20 70 72 6f 74 6f 63 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 .n.protocol).............(cond.(
22d00 28 65 71 20 70 72 6f 74 6f 63 6f 6c 20 27 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (eq.protocol.'file).............
22d20 20 20 20 20 20 20 20 3b 3b 20 4e 6f 20 73 74 61 74 75 73 20 63 6f 64 65 20 69 73 20 72 65 74 75 .......;;.No.status.code.is.retu
22d40 72 6e 65 64 20 62 79 20 63 75 72 6c 20 66 6f 72 20 66 69 6c 65 3a 2f 2f 20 75 72 6c 73 0a 20 20 rned.by.curl.for.file://.urls...
22d60 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 73 75 6c 74 20 74 0a .................(setf.result.t.
22d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 66 65 65 64 2d .........................elfeed-
22da0 63 75 72 6c 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 curl-error-message.nil))........
22dc0 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 70 72 6f 74 6f 63 6f 6c 20 27 67 6f 70 68 65 72 ...........((eq.protocol.'gopher
22de0 29 0a 20 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 73 75 6c )....................(setf.resul
22e00 74 20 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 65 6c 66 t.t..........................elf
22e20 65 65 64 2d 63 75 72 6c 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 20 6e 69 6c 0a 20 20 20 20 20 eed-curl-error-message.nil......
22e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d ....................elfeed-curl-
22e60 73 74 61 74 75 73 2d 63 6f 64 65 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 status-code.nil))...............
22e80 20 20 20 20 28 28 61 6e 64 20 28 3e 3d 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 73 74 61 74 75 73 ....((and.(>=.elfeed-curl-status
22ea0 2d 63 6f 64 65 20 34 30 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -code.400)......................
22ec0 20 20 20 28 3c 3d 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 73 74 61 74 75 73 2d 63 6f 64 65 20 35 ...(<=.elfeed-curl-status-code.5
22ee0 39 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 65 6c 99))....................(setf.el
22f00 66 65 65 64 2d 63 75 72 6c 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 0a 20 20 20 20 20 20 20 20 feed-curl-error-message.........
22f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 48 54 54 50 20 25 .................(format."HTTP.%
22f40 64 22 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 73 74 61 74 75 73 2d 63 6f 64 65 29 29 29 0a 20 20 d".elfeed-curl-status-code)))...
22f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ................(t..............
22f80 20 20 20 20 20 20 28 73 65 74 66 20 72 65 73 75 6c 74 20 74 0a 20 20 20 20 20 20 20 20 20 20 20 ......(setf.result.t............
22fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 65 72 72 6f 72 2d ..............elfeed-curl-error-
22fc0 6d 65 73 73 61 67 65 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 6c message.nil))).............;;.Al
22fe0 77 61 79 73 20 63 61 6c 6c 20 63 61 6c 6c 62 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 ways.call.callback.............(
23000 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 unwind-protect.................(
23020 66 75 6e 63 61 6c 6c 20 63 62 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 funcall.cb.result)..............
23040 20 3b 3b 20 41 6c 77 61 79 73 20 63 6c 65 61 6e 20 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 .;;.Always.clean.up.............
23060 20 20 28 77 68 65 6e 20 28 7a 65 72 6f 70 20 28 63 6c 2d 64 65 63 66 20 65 6c 66 65 65 64 2d 63 ..(when.(zerop.(cl-decf.elfeed-c
23080 75 72 6c 2d 2d 72 65 66 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 url--refcount)).................
230a0 28 6b 69 6c 6c 2d 62 75 66 66 65 72 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 (kill-buffer))))))))..(defun.elf
230c0 65 65 64 2d 63 75 72 6c 2d 2d 66 61 69 6c 2d 63 61 6c 6c 62 61 63 6b 20 28 62 75 66 66 65 72 20 eed-curl--fail-callback.(buffer.
230e0 63 62 29 0a 20 20 22 49 6e 66 6f 72 6d 20 74 68 65 20 63 61 6c 6c 62 61 63 6b 20 74 68 65 20 72 cb)..."Inform.the.callback.the.r
23100 65 71 75 65 73 74 20 66 61 69 6c 65 64 2e 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d equest.failed."...(with-current-
23120 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 buffer.buffer.....(unwind-protec
23140 74 0a 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 63 62 20 6e 69 6c 29 0a 20 20 20 20 20 t.........(funcall.cb.nil)......
23160 20 28 77 68 65 6e 20 28 7a 65 72 6f 70 20 28 63 6c 2d 64 65 63 66 20 65 6c 66 65 65 64 2d 63 75 .(when.(zerop.(cl-decf.elfeed-cu
23180 72 6c 2d 2d 72 65 66 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 rl--refcount)).........(kill-buf
231a0 66 65 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 73 65 fer)))))..(defun.elfeed-curl--se
231c0 6e 74 69 6e 65 6c 20 28 70 72 6f 63 65 73 73 20 73 74 61 74 75 73 29 0a 20 20 22 4d 61 6e 61 67 ntinel.(process.status)..."Manag
231e0 65 20 74 68 65 20 65 6e 64 20 6f 66 20 61 20 63 75 72 6c 20 70 72 6f 63 65 73 73 27 20 6c 69 66 e.the.end.of.a.curl.process'.lif
23200 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 20 28 70 72 6f 63 65 73 73 2d 62 75 66 e."...(let.((buffer.(process-buf
23220 66 65 72 20 70 72 6f 63 65 73 73 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 fer.process))).....(with-current
23240 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 3b 3b 20 46 69 72 65 20 6f 66 66 -buffer.buffer.......;;.Fire.off
23260 20 63 61 6c 6c 62 61 63 6b 73 20 69 6e 20 73 65 70 61 72 61 74 65 20 69 6e 74 65 72 70 72 65 74 .callbacks.in.separate.interpret
23280 65 72 20 74 75 72 6e 73 20 73 6f 20 74 68 65 79 20 63 61 6e 0a 20 20 20 20 20 20 3b 3b 20 65 61 er.turns.so.they.can.......;;.ea
232a0 63 68 20 66 61 69 6c 20 69 6e 20 69 73 6f 6c 61 74 69 6f 6e 20 66 72 6f 6d 20 65 61 63 68 20 6f ch.fail.in.isolation.from.each.o
232c0 74 68 65 72 2e 0a 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c 20 73 74 61 74 75 73 20 22 66 ther........(if.(equal.status."f
232e0 69 6e 69 73 68 65 64 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 77 inished\n")...........(cl-loop.w
23300 69 74 68 20 68 61 6e 64 6c 65 72 20 3d 20 23 27 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 63 61 6c ith.handler.=.#'elfeed-curl--cal
23320 6c 2d 63 61 6c 6c 62 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e l-callback....................in
23340 69 74 69 61 6c 6c 79 20 64 6f 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 70 61 72 73 65 2d 77 itially.do.(elfeed-curl--parse-w
23360 72 69 74 65 2d 6f 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 rite-out)....................for
23380 20 28 75 72 6c 20 2e 20 63 62 29 20 69 6e 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 72 65 71 75 .(url...cb).in.elfeed-curl--requ
233a0 65 73 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 6e 20 75 70 ests....................for.n.up
233c0 66 72 6f 6d 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 72 75 from.0....................do.(ru
233e0 6e 2d 61 74 2d 74 69 6d 65 20 30 20 6e 69 6c 20 68 61 6e 64 6c 65 72 20 62 75 66 66 65 72 20 6e n-at-time.0.nil.handler.buffer.n
23400 20 75 72 6c 20 63 62 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 .url.cb)).........(if.(string-ma
23420 74 63 68 20 22 65 78 69 74 65 64 20 61 62 6e 6f 72 6d 61 6c 6c 79 20 77 69 74 68 20 63 6f 64 65 tch."exited.abnormally.with.code
23440 20 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 22 20 73 74 61 74 75 73 29 0a 20 20 20 20 20 20 20 20 20 .\\([0-9]+\\)".status)..........
23460 20 20 20 28 6c 65 74 2a 20 28 28 63 6f 64 65 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 ...(let*.((code.(string-to-numbe
23480 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 73 74 61 74 75 73 29 29 29 0a 20 20 20 20 r.(match-string.1.status))).....
234a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 28 63 64 72 20 28 61 73 ...............(message.(cdr.(as
234c0 73 6f 63 20 63 6f 64 65 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 65 72 72 6f 72 2d 63 6f 64 65 soc.code.elfeed-curl--error-code
234e0 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 s))))...............(setf.elfeed
23500 2d 63 75 72 6c 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 -curl-error-message.............
23520 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 28 25 64 29 20 25 73 22 20 63 6f 64 65 0a 20 ........(format."(%d).%s".code..
23540 20 20 20 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 6d ...........................(or.m
23560 65 73 73 61 67 65 20 22 55 6e 6b 6e 6f 77 6e 20 63 75 72 6c 20 65 72 72 6f 72 21 22 29 29 29 29 essage."Unknown.curl.error!"))))
23580 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 65 72 72 ...........(setf.elfeed-curl-err
235a0 6f 72 2d 6d 65 73 73 61 67 65 20 73 74 61 74 75 73 29 29 0a 20 20 20 20 20 20 20 20 28 63 6c 2d or-message.status)).........(cl-
235c0 6c 6f 6f 70 20 77 69 74 68 20 68 61 6e 64 6c 65 72 20 3d 20 23 27 65 6c 66 65 65 64 2d 63 75 72 loop.with.handler.=.#'elfeed-cur
235e0 6c 2d 2d 66 61 69 6c 2d 63 61 6c 6c 62 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l--fail-callback................
23600 20 20 66 6f 72 20 28 5f 20 2e 20 63 62 29 20 69 6e 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 72 ..for.(_...cb).in.elfeed-curl--r
23620 65 71 75 65 73 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 72 75 6e equests..................do.(run
23640 2d 61 74 2d 74 69 6d 65 20 30 20 6e 69 6c 20 68 61 6e 64 6c 65 72 20 62 75 66 66 65 72 20 63 62 -at-time.0.nil.handler.buffer.cb
23660 29 29 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 72 65 ))))))..(cl-defun.elfeed-curl-re
23680 74 72 69 65 76 65 20 28 75 72 6c 20 63 62 20 26 6b 65 79 20 68 65 61 64 65 72 73 20 6d 65 74 68 trieve.(url.cb.&key.headers.meth
236a0 6f 64 20 64 61 74 61 29 0a 20 20 22 52 65 74 72 69 65 76 65 20 55 52 4c 20 63 6f 6e 74 65 6e 74 od.data)..."Retrieve.URL.content
236c0 73 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 2c 20 63 61 6c 6c 69 6e 67 20 43 42 20 77 69 74 s.asynchronously,.calling.CB.wit
236e0 68 20 6f 6e 65 20 73 74 61 74 75 73 20 61 72 67 75 6d 65 6e 74 2e 0a 0a 54 68 65 20 63 61 6c 6c h.one.status.argument...The.call
23700 62 61 63 6b 20 6d 75 73 74 20 2a 6e 6f 74 2a 20 6b 69 6c 6c 20 74 68 65 20 62 75 66 66 65 72 21 back.must.*not*.kill.the.buffer!
23720 0a 0a 54 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 62 75 66 66 65 72 20 69 73 20 73 65 74 20 ..The.destination.buffer.is.set.
23740 61 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 66 6f 72 20 74 68 65 0a 63 61 at.the.current.buffer.for.the.ca
23760 6c 6c 62 61 63 6b 2e 0a 0a 48 45 41 44 45 52 53 20 69 73 20 61 6e 20 61 6c 69 73 74 20 6f 66 20 llback...HEADERS.is.an.alist.of.
23780 61 64 64 69 74 69 6f 6e 61 6c 20 68 65 61 64 65 72 73 20 74 6f 20 61 64 64 20 74 6f 20 48 54 54 additional.headers.to.add.to.HTT
237a0 50 20 72 65 71 75 65 73 74 73 2e 0a 4d 45 54 48 4f 44 20 69 73 20 74 68 65 20 48 54 54 50 20 6d P.requests..METHOD.is.the.HTTP.m
237c0 65 74 68 6f 64 20 74 6f 20 75 73 65 2e 0a 44 41 54 41 20 69 73 20 74 68 65 20 63 6f 6e 74 65 6e ethod.to.use..DATA.is.the.conten
237e0 74 20 74 6f 20 69 6e 63 6c 75 64 65 20 69 6e 20 74 68 65 20 72 65 71 75 65 73 74 2e 0a 0a 55 52 t.to.include.in.the.request...UR
23800 4c 20 63 61 6e 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 55 52 4c 73 2c 20 77 68 69 63 68 20 77 L.can.be.a.list.of.URLs,.which.w
23820 69 6c 6c 20 66 65 74 63 68 20 74 68 65 6d 20 61 6c 6c 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 63 ill.fetch.them.all.in.the.same.c
23840 75 72 6c 20 70 72 6f 63 65 73 73 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 43 42 20 63 61 url.process..In.this.case,.CB.ca
23860 6e 20 61 6c 73 6f 20 62 65 20 65 69 74 68 65 72 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 0a 73 n.also.be.either.a.list.of.the.s
23880 61 6d 65 20 6c 65 6e 67 74 68 2c 20 6f 72 20 6a 75 73 74 20 61 20 73 69 6e 67 6c 65 20 66 75 6e ame.length,.or.just.a.single.fun
238a0 63 74 69 6f 6e 20 74 6f 20 62 65 20 63 61 6c 6c 65 64 20 6f 6e 63 65 20 66 6f 72 20 65 61 63 68 ction.to.be.called.once.for.each
238c0 0a 55 52 4c 20 69 6e 20 74 68 65 20 6c 69 73 74 2e 20 48 65 61 64 65 72 73 20 77 69 6c 6c 20 62 .URL.in.the.list..Headers.will.b
238e0 65 20 63 6f 6d 6d 6f 6e 20 74 6f 20 61 6c 6c 20 72 65 71 75 65 73 74 73 2e 20 41 20 54 43 50 20 e.common.to.all.requests..A.TCP.
23900 6f 72 0a 44 4e 53 20 66 61 69 6c 75 72 65 20 69 6e 20 6f 6e 65 20 77 69 6c 6c 20 63 61 75 73 65 or.DNS.failure.in.one.will.cause
23920 20 61 6c 6c 20 74 6f 20 66 61 69 6c 2c 20 62 75 74 20 34 78 78 20 61 6e 64 20 35 78 78 0a 72 65 .all.to.fail,.but.4xx.and.5xx.re
23940 73 75 6c 74 73 20 77 69 6c 6c 20 6e 6f 74 2e 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 sults.will.not."...(with-current
23960 2d 62 75 66 66 65 72 20 28 67 65 6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 20 22 20 2a -buffer.(generate-new-buffer.".*
23980 63 75 72 6c 2a 22 29 0a 20 20 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 74 curl*").....(setf.elfeed-curl--t
239a0 6f 6b 65 6e 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 74 6f 6b 65 6e 29 29 0a 20 20 20 20 28 oken.(elfeed-curl--token)).....(
239c0 6c 65 74 2a 20 28 28 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d 66 6f 72 2d 72 65 61 64 20 27 62 let*.((coding-system-for-read.'b
239e0 69 6e 61 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 63 6f 6e 6e 65 inary)............(process-conne
23a00 63 74 69 6f 6e 2d 74 79 70 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 61 72 67 73 ction-type.nil)............(args
23a20 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 61 72 67 73 20 75 72 6c 20 65 6c 66 65 65 64 2d 63 .(elfeed-curl--args.url.elfeed-c
23a40 75 72 6c 2d 2d 74 6f 6b 65 6e 20 68 65 61 64 65 72 73 20 6d 65 74 68 6f 64 20 64 61 74 61 29 29 url--token.headers.method.data))
23a60 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 20 28 61 70 70 6c 79 20 23 27 73 74 ............(process.(apply.#'st
23a80 61 72 74 2d 70 72 6f 63 65 73 73 20 22 65 6c 66 65 65 64 2d 63 75 72 6c 22 20 28 63 75 72 72 65 art-process."elfeed-curl".(curre
23aa0 6e 74 2d 62 75 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 20 20 nt-buffer)......................
23ac0 20 20 20 20 20 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 70 72 6f 67 72 61 6d 2d 6e 61 6d 65 20 61 ......elfeed-curl-program-name.a
23ae0 72 67 73 29 29 29 0a 20 20 20 20 20 20 28 70 72 6f 67 31 20 70 72 6f 63 65 73 73 0a 20 20 20 20 rgs))).......(prog1.process.....
23b00 20 20 20 20 28 69 66 20 28 6c 69 73 74 70 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....(if.(listp.url).............
23b20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 75 6e 63 (progn...............(when.(func
23b40 74 69 6f 6e 70 20 63 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 tionp.cb).................(setf.
23b60 63 62 20 28 6d 61 6b 65 2d 6c 69 73 74 20 28 6c 65 6e 67 74 68 20 75 72 6c 29 20 63 62 29 29 29 cb.(make-list.(length.url).cb)))
23b80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 63 75 72 6c ...............(setf.elfeed-curl
23ba0 2d 2d 72 65 71 75 65 73 74 73 20 28 63 6c 2d 6d 61 70 63 61 72 20 23 27 63 6f 6e 73 20 75 72 6c --requests.(cl-mapcar.#'cons.url
23bc0 20 63 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 66 65 65 64 2d .cb).....................elfeed-
23be0 63 75 72 6c 2d 2d 72 65 66 63 6f 75 6e 74 20 28 6c 65 6e 67 74 68 20 75 72 6c 29 29 29 0a 20 20 curl--refcount.(length.url)))...
23c00 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 73 20 75 72 6c 20 63 62 29 20 65 6c 66 65 ........(push.(cons.url.cb).elfe
23c20 65 64 2d 63 75 72 6c 2d 2d 72 65 71 75 65 73 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 ed-curl--requests)...........(se
23c40 74 66 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 72 65 66 63 6f 75 6e 74 20 31 29 29 0a 20 20 20 tf.elfeed-curl--refcount.1))....
23c60 20 20 20 20 20 28 73 65 74 2d 70 72 6f 63 65 73 73 2d 71 75 65 72 79 2d 6f 6e 2d 65 78 69 74 2d .....(set-process-query-on-exit-
23c80 66 6c 61 67 20 70 72 6f 63 65 73 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 66 20 flag.process.nil).........(setf.
23ca0 28 70 72 6f 63 65 73 73 2d 73 65 6e 74 69 6e 65 6c 20 70 72 6f 63 65 73 73 29 20 23 27 65 6c 66 (process-sentinel.process).#'elf
23cc0 65 65 64 2d 63 75 72 6c 2d 2d 73 65 6e 74 69 6e 65 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 eed-curl--sentinel)))))..(defun.
23ce0 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 72 65 71 75 65 73 74 2d 6b 65 79 20 28 75 72 6c 20 68 65 elfeed-curl--request-key.(url.he
23d00 61 64 65 72 73 20 6d 65 74 68 6f 64 20 64 61 74 61 29 0a 20 20 22 54 72 79 20 74 6f 20 66 65 74 aders.method.data)..."Try.to.fet
23d20 63 68 20 55 52 4c 73 20 77 69 74 68 20 6d 61 74 63 68 69 6e 67 20 6b 65 79 73 20 61 74 20 74 68 ch.URLs.with.matching.keys.at.th
23d40 65 20 73 61 6d 65 20 74 69 6d 65 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 6c 69 73 74 70 20 75 e.same.time."...(unless.(listp.u
23d60 72 6c 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 75 72 6c 6f 62 6a 20 28 75 72 6c 2d 67 65 6e 65 rl).....(let*.((urlobj.(url-gene
23d80 72 69 63 2d 70 61 72 73 65 2d 75 72 6c 20 75 72 6c 29 29 29 0a 20 20 20 20 20 20 28 6c 69 73 74 ric-parse-url.url))).......(list
23da0 20 28 75 72 6c 2d 74 79 70 65 20 75 72 6c 6f 62 6a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 .(url-type.urlobj).............(
23dc0 75 72 6c 2d 68 6f 73 74 20 75 72 6c 6f 62 6a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 75 72 url-host.urlobj).............(ur
23de0 6c 2d 70 6f 72 74 73 70 65 63 20 75 72 6c 6f 62 6a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 l-portspec.urlobj).............h
23e00 65 61 64 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 74 68 6f 64 0a 20 20 20 20 20 20 eaders.............method.......
23e20 20 20 20 20 20 20 64 61 74 61 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 63 75 ......data))))..(defun.elfeed-cu
23e40 72 6c 2d 2d 71 75 65 75 65 2d 63 6f 6e 73 6f 6c 69 64 61 74 65 20 28 71 75 65 75 65 2d 69 6e 29 rl--queue-consolidate.(queue-in)
23e60 0a 20 20 22 47 72 6f 75 70 20 63 6f 6d 70 61 74 69 62 6c 65 20 72 65 71 75 65 73 74 73 20 74 6f ..."Group.compatible.requests.to
23e80 67 65 74 68 65 72 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 6e 65 77 20 71 75 65 75 65 2e 0a 43 gether.and.return.a.new.queue..C
23ea0 6f 6d 70 61 74 69 62 6c 65 20 6d 65 61 6e 73 20 74 68 65 20 72 65 71 75 65 73 74 73 20 68 61 76 ompatible.means.the.requests.hav
23ec0 65 20 74 68 65 20 73 61 6d 65 20 70 72 6f 74 6f 63 6f 6c 2c 20 64 6f 6d 61 69 6e 2c 0a 70 6f 72 e.the.same.protocol,.domain,.por
23ee0 74 2c 20 68 65 61 64 65 72 73 2c 20 6d 65 74 68 6f 64 2c 20 61 6e 64 20 62 6f 64 79 2c 20 61 6c t,.headers,.method,.and.body,.al
23f00 6c 6f 77 69 6e 67 20 74 68 65 6d 20 74 6f 20 62 65 20 75 73 65 64 20 73 61 66 65 6c 79 0a 69 6e lowing.them.to.be.used.safely.in
23f20 20 74 68 65 20 73 61 6d 65 20 63 75 72 6c 20 69 6e 76 6f 63 61 74 69 6f 6e 2e 22 0a 20 20 28 6c .the.same.curl.invocation."...(l
23f40 65 74 20 28 28 74 61 62 6c 65 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 et.((table.(make-hash-table.:tes
23f60 74 20 27 65 71 75 61 6c 29 29 0a 20 20 20 20 20 20 20 20 28 6b 65 79 73 20 28 29 29 0a 20 20 20 t.'equal)).........(keys.())....
23f80 20 20 20 20 20 28 71 75 65 75 65 2d 6f 75 74 20 28 29 29 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 .....(queue-out.())).....(dolist
23fa0 20 28 65 6e 74 72 79 20 71 75 65 75 65 2d 69 6e 29 0a 20 20 20 20 20 20 28 63 6c 2d 64 65 73 74 .(entry.queue-in).......(cl-dest
23fc0 72 75 63 74 75 72 69 6e 67 2d 62 69 6e 64 20 28 75 72 6c 20 5f 20 68 65 61 64 65 72 73 20 6d 65 ructuring-bind.(url._.headers.me
23fe0 74 68 6f 64 20 64 61 74 61 29 20 65 6e 74 72 79 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 thod.data).entry.........(let*.(
24000 28 6b 65 79 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 72 65 71 75 65 73 74 2d 6b 65 79 20 75 (key.(elfeed-curl--request-key.u
24020 72 6c 20 68 65 61 64 65 72 73 20 6d 65 74 68 6f 64 20 64 61 74 61 29 29 29 0a 20 20 20 20 20 20 rl.headers.method.data))).......
24040 20 20 20 20 28 70 75 73 68 20 6b 65 79 20 6b 65 79 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 ....(push.key.keys)...........(p
24060 75 73 68 20 65 6e 74 72 79 20 28 67 65 74 68 61 73 68 20 6b 65 79 20 74 61 62 6c 65 20 6e 69 6c ush.entry.(gethash.key.table.nil
24080 29 29 29 29 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6b 65 79 20 28 6e 72 65 76 65 72 73 65 ))))).....(dolist.(key.(nreverse
240a0 20 6b 65 79 73 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 6e 74 72 79 20 28 67 65 74 68 .keys)).......(let.((entry.(geth
240c0 61 73 68 20 6b 65 79 20 74 61 62 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 65 ash.key.table))).........(when.e
240e0 6e 74 72 79 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 6f 74 61 74 65 64 20 28 6c ntry...........(let.((rotated.(l
24100 69 73 74 20 28 6e 72 65 76 65 72 73 65 20 28 63 6c 2d 6d 61 70 63 61 72 20 23 27 63 61 72 20 65 ist.(nreverse.(cl-mapcar.#'car.e
24120 6e 74 72 79 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 ntry))..........................
24140 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 28 63 6c 2d 6d 61 70 63 61 72 20 23 27 63 61 64 ......(nreverse.(cl-mapcar.#'cad
24160 72 20 65 6e 74 72 79 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 r.entry)).......................
24180 20 20 20 20 20 20 20 20 20 28 63 6c 2d 63 61 64 64 61 72 20 65 6e 74 72 79 29 0a 20 20 20 20 20 .........(cl-caddar.entry)......
241a0 20 20 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 6c 74 20 28 ..........................(elt.(
241c0 63 61 72 20 65 6e 74 72 79 29 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 car.entry).3)...................
241e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 74 20 28 63 61 72 20 65 6e 74 72 79 29 20 34 29 .............(elt.(car.entry).4)
24200 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 72 6f 74 61 74 65 64 20 71 75 ))).............(push.rotated.qu
24220 65 75 65 2d 6f 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 67 65 74 68 eue-out).............(setf.(geth
24240 61 73 68 20 6b 65 79 20 74 61 62 6c 65 29 20 6e 69 6c 29 29 29 29 29 0a 20 20 20 20 28 6e 72 65 ash.key.table).nil))))).....(nre
24260 76 65 72 73 65 20 71 75 65 75 65 2d 6f 75 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 verse.queue-out)))..(defun.elfee
24280 64 2d 63 75 72 6c 2d 2d 71 75 65 75 65 2d 77 72 61 70 20 28 63 62 29 0a 20 20 22 57 72 61 70 20 d-curl--queue-wrap.(cb)..."Wrap.
242a0 74 68 65 20 63 75 72 6c 20 43 42 20 73 6f 20 74 68 61 74 20 69 74 20 6f 70 65 72 61 74 65 73 20 the.curl.CB.so.that.it.operates.
242c0 74 68 65 20 71 75 65 75 65 2e 22 0a 20 20 28 6c 61 6d 62 64 61 20 28 73 74 61 74 75 73 29 0a 20 the.queue."...(lambda.(status)..
242e0 20 20 20 28 63 6c 2d 64 65 63 66 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 71 75 65 75 65 2d 61 63 ...(cl-decf.elfeed-curl-queue-ac
24300 74 69 76 65 29 0a 20 20 20 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 72 75 6e 2d 71 75 65 75 tive).....(elfeed-curl--run-queu
24320 65 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 63 62 20 73 74 61 74 75 73 29 29 29 0a 0a 28 64 e).....(funcall.cb.status)))..(d
24340 65 66 76 61 72 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 72 75 6e 2d 71 75 65 75 65 2d 71 75 65 efvar.elfeed-curl--run-queue-que
24360 75 65 64 20 6e 69 6c 0a 20 20 22 4e 6f 6e 2d 6e 69 6c 20 69 66 20 72 75 6e 2d 71 75 65 75 65 20 ued.nil..."Non-nil.if.run-queue.
24380 68 61 73 20 61 6c 72 65 61 64 79 20 62 65 65 6e 20 71 75 65 75 65 64 20 66 6f 72 20 74 68 65 20 has.already.been.queued.for.the.
243a0 6e 65 78 74 20 74 75 72 6e 2e 22 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 63 75 72 6c next.turn.")..(defun.elfeed-curl
243c0 2d 2d 72 75 6e 2d 71 75 65 75 65 20 28 29 0a 20 20 22 50 6f 73 73 69 62 6c 79 20 66 69 72 65 20 --run-queue.()..."Possibly.fire.
243e0 6f 66 66 20 73 6f 6d 65 20 6e 65 77 20 72 65 71 75 65 73 74 73 2e 22 0a 20 20 28 77 68 65 6e 20 off.some.new.requests."...(when.
24400 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 72 75 6e 2d 71 75 65 75 65 2d 71 75 65 75 65 64 0a 20 20 elfeed-curl--run-queue-queued...
24420 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 72 75 6e 2d 71 75 65 75 65 2d 71 ..(setf.elfeed-curl--run-queue-q
24440 75 65 75 65 64 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 72 79 20 74 6f 20 63 6f ueued.nil...........;;.Try.to.co
24460 6e 73 6f 6c 69 64 61 74 65 20 74 68 65 20 6e 65 77 20 72 65 71 75 65 73 74 73 2e 0a 20 20 20 20 nsolidate.the.new.requests......
24480 20 20 20 20 20 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 71 75 65 75 65 0a 20 20 20 20 20 20 20 20 ......elfeed-curl-queue.........
244a0 20 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 71 75 65 75 65 2d 63 6f 6e 73 6f 6c 69 64 61 74 ..(elfeed-curl--queue-consolidat
244c0 65 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 71 75 65 75 65 29 29 29 0a 20 20 28 77 68 69 6c 65 20 e.elfeed-curl-queue)))...(while.
244e0 28 61 6e 64 20 28 3c 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 71 75 65 75 65 2d 61 63 74 69 76 65 (and.(<.elfeed-curl-queue-active
24500 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 6d 61 78 2d 63 6f 6e 6e 65 63 74 69 6f 6e 73 29 0a 20 20 .elfeed-curl-max-connections)...
24520 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 6c 65 6e 67 74 68 20 65 6c 66 65 65 64 2d 63 75 ............(>.(length.elfeed-cu
24540 72 6c 2d 71 75 65 75 65 29 20 30 29 29 0a 20 20 20 20 28 63 6c 2d 64 65 73 74 72 75 63 74 75 72 rl-queue).0)).....(cl-destructur
24560 69 6e 67 2d 62 69 6e 64 20 28 75 72 6c 20 63 62 20 68 65 61 64 65 72 73 20 6d 65 74 68 6f 64 20 ing-bind.(url.cb.headers.method.
24580 64 61 74 61 29 20 28 70 6f 70 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 71 75 65 75 65 29 0a 20 20 data).(pop.elfeed-curl-queue)...
245a0 20 20 20 20 28 65 6c 66 65 65 64 2d 6c 6f 67 20 27 64 65 62 75 67 20 22 72 65 74 72 69 65 76 65 ....(elfeed-log.'debug."retrieve
245c0 20 25 73 22 20 75 72 6c 29 0a 20 20 20 20 20 20 28 63 6c 2d 69 6e 63 66 20 65 6c 66 65 65 64 2d .%s".url).......(cl-incf.elfeed-
245e0 63 75 72 6c 2d 71 75 65 75 65 2d 61 63 74 69 76 65 20 31 29 0a 20 20 20 20 20 20 28 65 6c 66 65 curl-queue-active.1).......(elfe
24600 65 64 2d 63 75 72 6c 2d 72 65 74 72 69 65 76 65 0a 20 20 20 20 20 20 20 75 72 6c 0a 20 20 20 20 ed-curl-retrieve........url.....
24620 20 20 20 28 69 66 20 28 66 75 6e 63 74 69 6f 6e 70 20 63 62 29 0a 20 20 20 20 20 20 20 20 20 20 ...(if.(functionp.cb)...........
24640 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 71 75 65 75 65 2d 77 72 61 70 20 63 62 29 0a 20 20 .(elfeed-curl--queue-wrap.cb)...
24660 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 71 75 65 75 65 .......(cons.(elfeed-curl--queue
24680 2d 77 72 61 70 20 28 63 61 72 20 63 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 -wrap.(car.cb))................(
246a0 63 64 72 20 63 62 29 29 29 0a 20 20 20 20 20 20 20 3a 68 65 61 64 65 72 73 20 68 65 61 64 65 72 cdr.cb)))........:headers.header
246c0 73 0a 20 20 20 20 20 20 20 3a 6d 65 74 68 6f 64 20 6d 65 74 68 6f 64 0a 20 20 20 20 20 20 20 3a s........:method.method........:
246e0 64 61 74 61 20 64 61 74 61 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 65 6c 66 65 65 64 2d data.data))))..(cl-defun.elfeed-
24700 63 75 72 6c 2d 65 6e 71 75 65 75 65 20 28 75 72 6c 20 63 62 20 26 6b 65 79 20 68 65 61 64 65 72 curl-enqueue.(url.cb.&key.header
24720 73 20 6d 65 74 68 6f 64 20 64 61 74 61 29 0a 20 20 22 4a 75 73 74 20 6c 69 6b 65 20 60 65 6c 66 s.method.data)..."Just.like.`elf
24740 65 65 64 2d 63 75 72 6c 2d 72 65 74 72 69 65 76 65 27 2c 20 62 75 74 20 72 65 73 74 72 69 63 74 eed-curl-retrieve',.but.restrict
24760 73 20 63 6f 6e 63 75 72 72 65 6e 74 20 66 65 74 63 68 65 73 2e 22 0a 20 20 28 75 6e 6c 65 73 73 s.concurrent.fetches."...(unless
24780 20 28 6f 72 20 28 73 74 72 69 6e 67 70 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(or.(stringp.url)..............
247a0 20 28 61 6e 64 20 28 6c 69 73 74 70 20 75 72 6c 29 20 28 63 6c 2d 65 76 65 72 79 20 23 27 73 74 .(and.(listp.url).(cl-every.#'st
247c0 72 69 6e 67 70 20 75 72 6c 29 29 29 0a 20 20 20 20 3b 3b 20 53 69 67 6e 61 6c 20 65 72 72 6f 72 ringp.url))).....;;.Signal.error
247e0 20 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 20 69 6e 73 74 65 61 64 20 6f 66 20 61 73 79 6e 63 68 .synchronously.instead.of.asynch
24800 72 6f 6e 6f 75 73 6c 79 20 69 6e 20 74 68 65 20 74 69 6d 65 72 0a 20 20 20 20 28 73 69 67 6e 61 ronously.in.the.timer.....(signa
24820 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 20 28 6c 69 73 74 20 27 73 74 l.'wrong-type-argument.(list.'st
24840 72 69 6e 67 2d 70 2d 6f 72 2d 73 74 72 69 6e 67 2d 6c 69 73 74 2d 70 20 75 72 6c 29 29 29 0a 20 ring-p-or-string-list-p.url)))..
24860 20 28 6c 65 74 20 28 28 65 6e 74 72 79 20 28 6c 69 73 74 20 75 72 6c 20 63 62 20 68 65 61 64 65 .(let.((entry.(list.url.cb.heade
24880 72 73 20 6d 65 74 68 6f 64 20 64 61 74 61 29 29 29 0a 20 20 20 20 28 73 65 74 66 20 65 6c 66 65 rs.method.data))).....(setf.elfe
248a0 65 64 2d 63 75 72 6c 2d 71 75 65 75 65 20 28 6e 63 6f 6e 63 20 65 6c 66 65 65 64 2d 63 75 72 6c ed-curl-queue.(nconc.elfeed-curl
248c0 2d 71 75 65 75 65 20 28 6c 69 73 74 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 -queue.(list.entry))).....(unles
248e0 73 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 72 75 6e 2d 71 75 65 75 65 2d 71 75 65 75 65 64 0a s.elfeed-curl--run-queue-queued.
24900 20 20 20 20 20 20 28 72 75 6e 2d 61 74 2d 74 69 6d 65 20 30 20 6e 69 6c 20 23 27 65 6c 66 65 65 ......(run-at-time.0.nil.#'elfee
24920 64 2d 63 75 72 6c 2d 2d 72 75 6e 2d 71 75 65 75 65 29 0a 20 20 20 20 20 20 28 73 65 74 66 20 65 d-curl--run-queue).......(setf.e
24940 6c 66 65 65 64 2d 63 75 72 6c 2d 2d 72 75 6e 2d 71 75 65 75 65 2d 71 75 65 75 65 64 20 74 29 29 lfeed-curl--run-queue-queued.t))
24960 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 65 6c 66 65 65 64 2d 63 75 72 6c 29 0a 0a 3b 3b 3b 20 ))..(provide.'elfeed-curl)..;;;.
24980 65 6c 66 65 65 64 2d 63 75 72 6c 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 elfeed-curl.el.ends.here........
249a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
249c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
249e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24a00 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2d 63 73 76 2e elfeed-20240331.1348/elfeed-csv.
24a20 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 00 00 el..............................
24a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24a60 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
24a80 30 30 31 33 31 34 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 37 36 00 20 30 00 00 00 0013145.00000000000.014576..0...
24aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24b00 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...................
24b20 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...................
24b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24c00 3b 3b 3b 20 65 6c 66 65 65 64 2d 63 73 76 2e 65 6c 20 2d 2d 2d 20 65 78 70 6f 72 74 20 64 61 74 ;;;.elfeed-csv.el.---.export.dat
24c20 61 62 61 73 65 20 74 6f 20 43 53 56 20 66 69 6c 65 73 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 abase.to.CSV.files.-*-.lexical-b
24c40 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a inding:.t;.-*-..;;;.Commentary:.
24c60 0a 3b 3b 20 54 68 65 20 60 65 6c 66 65 65 64 2d 63 73 76 2d 65 78 70 6f 72 74 27 20 64 6f 63 73 .;;.The.`elfeed-csv-export'.docs
24c80 74 72 69 6e 67 20 68 61 73 20 61 20 53 51 4c 20 73 63 68 65 6d 61 20 72 65 63 6f 6d 6d 65 6e 64 tring.has.a.SQL.schema.recommend
24ca0 61 74 69 6f 6e 2e 0a 3b 3b 20 47 69 76 65 6e 20 74 68 65 73 65 20 73 63 68 65 6d 61 73 2c 20 74 ation..;;.Given.these.schemas,.t
24cc0 68 65 73 65 20 43 53 56 20 66 69 6c 65 73 20 61 72 65 20 74 72 69 76 69 61 6c 6c 79 20 69 6d 70 hese.CSV.files.are.trivially.imp
24ce0 6f 72 74 65 64 20 69 6e 74 6f 20 61 0a 3b 3b 20 53 51 4c 69 74 65 20 64 61 74 61 62 61 73 65 20 orted.into.a.;;.SQLite.database.
24d00 75 73 69 6e 67 20 74 68 65 20 73 71 6c 69 74 65 33 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 using.the.sqlite3.command.line.p
24d20 72 6f 67 72 61 6d 3a 0a 0a 3b 3b 20 20 20 73 71 6c 69 74 65 3e 20 2e 6d 6f 64 65 20 63 73 76 0a rogram:..;;...sqlite>..mode.csv.
24d40 3b 3b 20 20 20 73 71 6c 69 74 65 3e 20 2e 69 6d 70 6f 72 74 20 66 65 65 64 73 2e 63 73 76 20 66 ;;...sqlite>..import.feeds.csv.f
24d60 65 65 64 73 0a 3b 3b 20 20 20 73 71 6c 69 74 65 3e 20 2e 69 6d 70 6f 72 74 20 65 6e 74 72 69 65 eeds.;;...sqlite>..import.entrie
24d80 73 2e 63 73 76 20 65 6e 74 72 69 65 73 0a 3b 3b 20 20 20 73 71 6c 69 74 65 3e 20 2e 69 6d 70 6f s.csv.entries.;;...sqlite>..impo
24da0 72 74 20 74 61 67 73 2e 63 73 76 20 74 61 67 73 0a 0a 3b 3b 20 4e 6f 74 65 3a 20 6e 69 6c 20 76 rt.tags.csv.tags..;;.Note:.nil.v
24dc0 61 6c 75 65 73 20 77 6f 6e 27 74 20 62 65 20 69 6d 70 6f 72 74 65 64 20 61 73 20 4e 55 4c 4c 2c alues.won't.be.imported.as.NULL,
24de0 20 62 75 74 20 61 73 20 65 6d 70 74 79 20 73 74 72 69 6e 67 73 2e 0a 0a 3b 3b 20 48 65 72 65 20 .but.as.empty.strings...;;.Here.
24e00 61 72 65 20 61 20 66 65 77 20 69 6e 74 65 72 65 73 74 69 6e 67 20 71 75 65 72 69 65 73 20 74 6f are.a.few.interesting.queries.to
24e20 20 6d 61 6b 65 20 6f 6e 20 79 6f 75 72 20 6f 77 6e 20 64 61 74 61 3a 0a 0a 3b 3b 20 46 6f 72 20 .make.on.your.own.data:..;;.For.
24e40 65 61 63 68 20 74 61 67 20 69 6e 20 79 6f 75 72 20 64 61 74 61 62 61 73 65 2c 20 63 6f 6d 70 75 each.tag.in.your.database,.compu
24e60 74 65 20 61 20 68 69 73 74 6f 67 72 61 6d 20 6f 66 20 70 6f 73 74 73 20 77 69 74 68 0a 3b 3b 20 te.a.histogram.of.posts.with.;;.
24e80 31 2d 68 6f 75 72 20 62 69 6e 73 20 61 63 72 6f 73 73 20 74 68 65 20 74 68 65 20 64 61 79 20 28 1-hour.bins.across.the.the.day.(
24ea0 30 2d 32 33 29 2c 20 69 6e 20 79 6f 75 72 20 6c 6f 63 61 6c 20 74 69 6d 65 7a 6f 6e 65 2e 0a 0a 0-23),.in.your.local.timezone...
24ec0 3b 3b 20 53 45 4c 45 43 54 20 74 61 67 2c 0a 3b 3b 20 20 20 20 20 20 20 20 63 61 73 74 28 73 74 ;;.SELECT.tag,.;;........cast(st
24ee0 72 66 74 69 6d 65 28 27 25 48 27 2c 20 64 61 74 65 2c 20 27 75 6e 69 78 65 70 6f 63 68 27 2c 20 rftime('%H',.date,.'unixepoch',.
24f00 27 6c 6f 63 61 6c 74 69 6d 65 27 29 20 41 53 20 49 4e 54 29 20 41 53 20 68 6f 75 72 2c 0a 3b 3b 'localtime').AS.INT).AS.hour,.;;
24f20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 28 69 64 29 20 41 53 20 63 6f 75 6e 74 0a 3b 3b 20 46 52 ........count(id).AS.count.;;.FR
24f40 4f 4d 20 65 6e 74 72 69 65 73 0a 3b 3b 20 4a 4f 49 4e 20 74 61 67 73 20 4f 4e 20 74 61 67 73 2e OM.entries.;;.JOIN.tags.ON.tags.
24f60 65 6e 74 72 79 20 3d 20 65 6e 74 72 69 65 73 2e 69 64 20 41 4e 44 20 74 61 67 73 2e 66 65 65 64 entry.=.entries.id.AND.tags.feed
24f80 20 3d 20 65 6e 74 72 69 65 73 2e 66 65 65 64 0a 3b 3b 20 47 52 4f 55 50 20 42 59 20 74 61 67 2c .=.entries.feed.;;.GROUP.BY.tag,
24fa0 20 68 6f 75 72 3b 0a 0a 3b 3b 20 4c 69 6b 65 20 61 62 6f 76 65 2c 20 62 75 74 20 70 65 72 20 77 .hour;..;;.Like.above,.but.per.w
24fc0 65 65 6b 2d 64 61 79 20 28 30 2d 36 29 2e 0a 0a 3b 3b 20 53 45 4c 45 43 54 20 74 61 67 2c 0a 3b eek-day.(0-6)...;;.SELECT.tag,.;
24fe0 3b 20 20 20 20 20 20 20 20 63 61 73 74 28 73 74 72 66 74 69 6d 65 28 27 25 77 27 2c 20 64 61 74 ;........cast(strftime('%w',.dat
25000 65 2c 20 27 75 6e 69 78 65 70 6f 63 68 27 2c 20 27 6c 6f 63 61 6c 74 69 6d 65 27 29 20 41 53 20 e,.'unixepoch',.'localtime').AS.
25020 49 4e 54 29 20 41 53 20 64 61 79 2c 0a 3b 3b 20 20 20 20 20 20 20 20 63 6f 75 6e 74 28 69 64 29 INT).AS.day,.;;........count(id)
25040 20 41 53 20 63 6f 75 6e 74 0a 3b 3b 20 46 52 4f 4d 20 65 6e 74 72 69 65 73 0a 3b 3b 20 4a 4f 49 .AS.count.;;.FROM.entries.;;.JOI
25060 4e 20 74 61 67 73 20 4f 4e 20 74 61 67 73 2e 65 6e 74 72 79 20 3d 20 65 6e 74 72 69 65 73 2e 69 N.tags.ON.tags.entry.=.entries.i
25080 64 20 41 4e 44 20 74 61 67 73 2e 66 65 65 64 20 3d 20 65 6e 74 72 69 65 73 2e 66 65 65 64 0a 3b d.AND.tags.feed.=.entries.feed.;
250a0 3b 20 47 52 4f 55 50 20 42 59 20 74 61 67 2c 20 64 61 79 3b 0a 0a 3b 3b 20 46 6f 72 20 65 61 63 ;.GROUP.BY.tag,.day;..;;.For.eac
250c0 68 20 66 65 65 64 2c 20 63 6f 6d 70 75 74 65 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 65 6e h.feed,.compute.the.number.of.en
250e0 74 72 69 65 73 20 61 6e 64 20 6c 61 73 74 20 65 6e 74 72 79 20 64 61 74 65 2e 0a 0a 3b 3b 20 53 tries.and.last.entry.date...;;.S
25100 45 4c 45 43 54 20 66 65 65 64 73 2e 74 69 74 6c 65 20 41 53 20 74 69 74 6c 65 2c 0a 3b 3b 20 20 ELECT.feeds.title.AS.title,.;;..
25120 20 20 20 20 20 20 63 6f 75 6e 74 28 75 72 6c 29 20 41 53 20 65 6e 74 72 79 5f 63 6f 75 6e 74 2c ......count(url).AS.entry_count,
25140 0a 3b 3b 20 20 20 20 20 20 20 20 64 61 74 65 74 69 6d 65 28 6d 61 78 28 64 61 74 65 29 2c 20 27 .;;........datetime(max(date),.'
25160 75 6e 69 78 65 70 6f 63 68 27 29 20 41 53 20 6c 61 73 74 5f 65 6e 74 72 79 5f 64 61 74 65 0a 3b unixepoch').AS.last_entry_date.;
25180 3b 20 46 52 4f 4d 20 66 65 65 64 73 0a 3b 3b 20 4a 4f 49 4e 20 65 6e 74 72 69 65 73 20 4f 4e 20 ;.FROM.feeds.;;.JOIN.entries.ON.
251a0 66 65 65 64 73 2e 75 72 6c 20 3d 20 65 6e 74 72 69 65 73 2e 66 65 65 64 0a 3b 3b 20 47 52 4f 55 feeds.url.=.entries.feed.;;.GROU
251c0 50 20 42 59 20 75 72 6c 0a 3b 3b 20 4f 52 44 45 52 20 42 59 20 6d 61 78 28 64 61 74 65 29 20 44 P.BY.url.;;.ORDER.BY.max(date).D
251e0 45 53 43 3b 0a 0a 3b 3b 20 43 6f 6d 70 75 74 65 20 61 20 68 69 73 74 6f 67 72 61 6d 20 6f 66 20 ESC;..;;.Compute.a.histogram.of.
25200 65 6e 74 72 79 20 74 69 74 6c 65 20 6c 65 6e 67 74 68 73 2e 0a 0a 3b 3b 20 53 45 4c 45 43 54 20 entry.title.lengths...;;.SELECT.
25220 6c 65 6e 67 74 68 28 74 69 74 6c 65 29 20 41 53 20 6c 65 6e 67 74 68 2c 0a 3b 3b 20 20 20 20 20 length(title).AS.length,.;;.....
25240 20 20 20 63 6f 75 6e 74 28 2a 29 20 41 53 20 63 6f 75 6e 74 0a 3b 3b 20 46 52 4f 4d 20 65 6e 74 ...count(*).AS.count.;;.FROM.ent
25260 72 69 65 73 0a 3b 3b 20 47 52 4f 55 50 20 42 59 20 6c 65 6e 67 74 68 0a 3b 3b 20 4f 52 44 45 52 ries.;;.GROUP.BY.length.;;.ORDER
25280 20 42 59 20 6c 65 6e 67 74 68 3b 0a 0a 3b 3b 20 41 67 61 69 6e 2c 20 62 75 74 20 74 68 69 73 20 .BY.length;..;;.Again,.but.this.
252a0 74 69 6d 65 20 67 72 6f 75 70 20 62 79 20 74 61 67 2e 0a 0a 3b 3b 20 53 45 4c 45 43 54 20 74 61 time.group.by.tag...;;.SELECT.ta
252c0 67 2c 0a 3b 3b 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 28 74 69 74 6c 65 29 20 41 53 20 6c 65 g,.;;........length(title).AS.le
252e0 6e 67 74 68 2c 0a 3b 3b 20 20 20 20 20 20 20 20 63 6f 75 6e 74 28 2a 29 20 41 53 20 63 6f 75 6e ngth,.;;........count(*).AS.coun
25300 74 0a 3b 3b 20 46 52 4f 4d 20 65 6e 74 72 69 65 73 0a 3b 3b 20 4a 4f 49 4e 20 74 61 67 73 20 4f t.;;.FROM.entries.;;.JOIN.tags.O
25320 4e 20 74 61 67 73 2e 65 6e 74 72 79 20 3d 20 65 6e 74 72 69 65 73 2e 69 64 20 41 4e 44 20 74 61 N.tags.entry.=.entries.id.AND.ta
25340 67 73 2e 66 65 65 64 20 3d 20 65 6e 74 72 69 65 73 2e 66 65 65 64 0a 3b 3b 20 47 52 4f 55 50 20 gs.feed.=.entries.feed.;;.GROUP.
25360 42 59 20 74 61 67 2c 20 6c 65 6e 67 74 68 0a 3b 3b 20 4f 52 44 45 52 20 42 59 20 6c 65 6e 67 74 BY.tag,.length.;;.ORDER.BY.lengt
25380 68 3b 0a 0a 3b 3b 20 57 68 61 74 27 73 20 74 68 65 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 20 62 h;..;;.What's.the.relationship.b
253a0 65 74 77 65 65 6e 20 74 69 74 6c 65 20 6c 65 6e 67 74 68 20 61 6e 64 20 74 69 6d 65 20 6f 66 20 etween.title.length.and.time.of.
253c0 64 61 79 20 6f 66 20 61 6e 0a 3b 3b 20 65 6e 74 72 79 3f 20 28 53 63 61 74 74 65 72 20 70 6c 6f day.of.an.;;.entry?.(Scatter.plo
253e0 74 20 74 68 69 73 20 72 65 73 75 6c 74 2e 29 0a 0a 3b 3b 20 53 45 4c 45 43 54 20 28 64 61 74 65 t.this.result.)..;;.SELECT.(date
25400 20 25 20 28 32 34 2a 36 30 2a 36 30 29 29 20 2f 20 28 32 34 2a 36 30 2a 36 30 29 20 41 53 20 64 .%.(24*60*60))./.(24*60*60).AS.d
25420 61 79 5f 74 69 6d 65 2c 0a 3b 3b 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 28 74 69 74 6c 65 29 ay_time,.;;........length(title)
25440 20 41 53 20 6c 65 6e 67 74 68 0a 3b 3b 20 46 52 4f 4d 20 65 6e 74 72 69 65 73 0a 3b 3b 20 4a 4f .AS.length.;;.FROM.entries.;;.JO
25460 49 4e 20 74 61 67 73 20 4f 4e 20 74 61 67 73 2e 65 6e 74 72 79 20 3d 20 65 6e 74 72 69 65 73 2e IN.tags.ON.tags.entry.=.entries.
25480 69 64 20 41 4e 44 20 74 61 67 73 2e 66 65 65 64 20 3d 20 65 6e 74 72 69 65 73 2e 66 65 65 64 3b id.AND.tags.feed.=.entries.feed;
254a0 0a 0a 3b 3b 3b 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 ..;;;.Code:..(require.'cl-lib).(
254c0 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 64 2d 64 62 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 require.'elfeed-db)..(defvar.elf
254e0 65 65 64 2d 63 73 76 2d 6e 69 6c 20 22 22 0a 20 20 22 54 68 65 20 73 74 72 69 6e 67 20 72 65 70 eed-csv-nil.""..."The.string.rep
25500 72 65 73 65 6e 74 61 74 69 6f 6e 20 74 6f 20 75 73 65 20 66 6f 72 20 6e 69 6c 2e 0a 43 6f 6e 73 resentation.to.use.for.nil..Cons
25520 69 64 65 72 20 6c 65 74 2d 62 69 6e 64 69 6e 67 20 74 68 69 73 20 61 72 6f 75 6e 64 20 79 6f 75 ider.let-binding.this.around.you
25540 72 20 60 65 6c 66 65 65 64 2d 63 73 76 2d 71 75 6f 74 65 27 20 63 61 6c 6c 2e 22 29 0a 0a 28 64 r.`elfeed-csv-quote'.call.")..(d
25560 65 66 75 6e 20 65 6c 66 65 65 64 2d 63 73 76 2d 71 75 6f 74 65 20 28 73 65 78 70 29 0a 20 20 22 efun.elfeed-csv-quote.(sexp)..."
25580 52 65 74 75 72 6e 20 43 53 56 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e Return.CSV.string.representation
255a0 20 6f 66 20 53 45 58 50 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 73 65 78 70 29 0a .of.SEXP."...(cond.((null.sexp).
255c0 20 20 20 20 20 20 20 20 20 65 6c 66 65 65 64 2d 63 73 76 2d 6e 69 6c 29 0a 20 20 20 20 20 20 20 .........elfeed-csv-nil)........
255e0 20 28 28 6e 6f 74 20 28 73 74 72 69 6e 67 70 20 73 65 78 70 29 29 0a 20 20 20 20 20 20 20 20 20 .((not.(stringp.sexp))..........
25600 28 65 6c 66 65 65 64 2d 63 73 76 2d 71 75 6f 74 65 20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 (elfeed-csv-quote.(prin1-to-stri
25620 6e 67 20 73 65 78 70 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 ng.sexp))).........((string-matc
25640 68 2d 70 20 22 5b 5c 22 5c 6e 2c 5d 22 20 73 65 78 70 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f h-p."[\"\n,]".sexp)..........(co
25660 6e 63 61 74 20 22 5c 22 22 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 ncat."\"".(replace-regexp-in-str
25680 69 6e 67 20 22 5c 22 22 20 22 5c 22 5c 22 22 20 73 65 78 70 29 20 22 5c 22 22 29 29 0a 20 20 20 ing."\""."\"\"".sexp)."\""))....
256a0 20 20 20 20 20 28 73 65 78 70 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 63 73 76 .....(sexp)))..(defun.elfeed-csv
256c0 2d 69 6e 73 65 72 74 20 28 73 65 71 29 0a 20 20 22 49 6e 73 65 72 74 20 61 20 72 6f 77 20 6f 66 -insert.(seq)..."Insert.a.row.of
256e0 20 43 53 56 20 64 61 74 61 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e .CSV.data.to.the.current.buffer.
25700 22 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 76 61 6c 75 65 20 62 65 69 6e 67 20 74 68 65 "...(cl-loop.for.value.being.the
25720 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 73 65 71 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 .elements.of.seq............for.
25740 63 6f 6c 75 6d 6e 20 75 70 66 72 6f 6d 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 column.upfrom.0............when.
25760 28 3e 20 63 6f 6c 75 6d 6e 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 69 6e 73 65 (>.column.0)............do.(inse
25780 72 74 20 22 2c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 69 6e 73 65 72 74 20 28 65 rt.",")............do.(insert.(e
257a0 6c 66 65 65 64 2d 63 73 76 2d 71 75 6f 74 65 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 lfeed-csv-quote.value)).........
257c0 20 20 20 66 69 6e 61 6c 6c 79 20 28 6e 65 77 6c 69 6e 65 29 29 29 0a 0a 28 63 6c 2d 64 65 66 75 ...finally.(newline)))..(cl-defu
257e0 6e 20 65 6c 66 65 65 64 2d 63 73 76 2d 65 78 70 6f 72 74 20 28 66 65 65 64 73 2d 66 69 6c 65 20 n.elfeed-csv-export.(feeds-file.
25800 65 6e 74 72 69 65 73 2d 66 69 6c 65 20 74 61 67 73 2d 66 69 6c 65 20 26 6b 65 79 20 68 65 61 64 entries-file.tags-file.&key.head
25820 65 72 73 2d 70 29 0a 20 20 22 43 72 65 61 74 65 20 73 65 70 61 72 61 74 65 20 43 53 56 20 66 69 ers-p)..."Create.separate.CSV.fi
25840 6c 65 73 20 66 6f 72 20 66 65 65 64 73 2c 20 65 6e 74 72 69 65 73 2c 20 61 6e 64 20 74 61 67 73 les.for.feeds,.entries,.and.tags
25860 2e 0a 0a 54 68 65 73 65 20 43 53 56 20 66 69 6c 65 73 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 ...These.CSV.files.are.intended.
25880 66 6f 72 20 61 6e 20 61 6e 61 6c 79 73 69 73 20 6f 66 20 61 6e 20 45 6c 66 65 65 64 0a 64 61 74 for.an.analysis.of.an.Elfeed.dat
258a0 61 62 61 73 65 2e 20 54 68 65 79 20 61 72 65 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 69 6d 70 abase..They.are.suitable.for.imp
258c0 6f 72 74 69 6e 67 20 61 73 20 74 61 62 6c 65 73 20 69 6e 74 6f 20 61 0a 72 65 6c 61 74 69 6f 6e orting.as.tables.into.a.relation
258e0 61 6c 20 64 61 74 61 62 61 73 65 20 73 75 63 68 20 61 73 20 53 51 4c 69 74 65 2e 20 48 65 72 65 al.database.such.as.SQLite..Here
25900 27 73 20 74 68 65 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 53 51 4c 0a 73 63 68 65 6d 61 2c 20 72 's.the.recommended.SQL.schema,.r
25920 65 66 6c 65 63 74 69 6e 67 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 6f 66 20 74 68 65 20 64 eflecting.the.structure.of.the.d
25940 61 74 61 2e 0a 0a 43 52 45 41 54 45 20 54 41 42 4c 45 20 66 65 65 64 73 20 28 0a 20 20 20 20 75 ata...CREATE.TABLE.feeds.(.....u
25960 72 6c 20 54 45 58 54 20 50 52 49 4d 41 52 59 20 4b 45 59 2c 0a 20 20 20 20 74 69 74 6c 65 20 54 rl.TEXT.PRIMARY.KEY,.....title.T
25980 45 58 54 2c 0a 20 20 20 20 63 61 6e 6f 6e 69 63 61 6c 5f 75 72 6c 20 54 45 58 54 2c 0a 20 20 20 EXT,.....canonical_url.TEXT,....
259a0 20 61 75 74 68 6f 72 20 54 45 58 54 0a 29 3b 0a 0a 43 52 45 41 54 45 20 54 41 42 4c 45 20 65 6e .author.TEXT.);..CREATE.TABLE.en
259c0 74 72 69 65 73 20 28 0a 20 20 20 20 69 64 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c 0a 20 20 tries.(.....id.TEXT.NOT.NULL,...
259e0 20 20 66 65 65 64 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 20 52 45 46 45 52 45 4e 43 45 53 20 ..feed.TEXT.NOT.NULL.REFERENCES.
25a00 66 65 65 64 73 20 28 75 72 6c 29 2c 0a 20 20 20 20 74 69 74 6c 65 20 54 45 58 54 2c 0a 20 20 20 feeds.(url),.....title.TEXT,....
25a20 20 6c 69 6e 6b 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 64 61 74 65 20 52 45 .link.TEXT.NOT.NULL,.....date.RE
25a40 41 4c 20 4e 4f 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 50 52 49 4d 41 52 59 20 4b 45 59 20 28 69 64 AL.NOT.NULL,.....PRIMARY.KEY.(id
25a60 2c 20 66 65 65 64 29 0a 29 3b 0a 0a 43 52 45 41 54 45 20 54 41 42 4c 45 20 74 61 67 73 20 28 0a ,.feed).);..CREATE.TABLE.tags.(.
25a80 20 20 20 20 65 6e 74 72 79 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 66 65 65 ....entry.TEXT.NOT.NULL,.....fee
25aa0 64 20 54 45 58 54 20 4e 4f 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 74 61 67 20 54 45 58 54 20 4e 4f d.TEXT.NOT.NULL,.....tag.TEXT.NO
25ac0 54 20 4e 55 4c 4c 2c 0a 20 20 20 20 46 4f 52 45 49 47 4e 20 4b 45 59 20 28 65 6e 74 72 79 2c 20 T.NULL,.....FOREIGN.KEY.(entry,.
25ae0 66 65 65 64 29 20 52 45 46 45 52 45 4e 43 45 53 20 65 6e 74 72 69 65 73 20 28 69 64 2c 20 66 65 feed).REFERENCES.entries.(id,.fe
25b00 65 64 29 0a 29 3b 22 0a 20 20 28 6c 65 74 20 28 28 66 65 65 64 73 2d 62 75 66 66 65 72 20 28 67 ed).);"...(let.((feeds-buffer.(g
25b20 65 6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 20 22 20 2a 63 73 76 2d 66 65 65 64 73 2a enerate-new-buffer.".*csv-feeds*
25b40 22 29 29 0a 20 20 20 20 20 20 20 20 28 65 6e 74 72 69 65 73 2d 62 75 66 66 65 72 20 28 67 65 6e ")).........(entries-buffer.(gen
25b60 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 20 22 20 2a 63 73 76 2d 65 6e 74 72 69 65 73 2a erate-new-buffer.".*csv-entries*
25b80 22 29 29 0a 20 20 20 20 20 20 20 20 28 74 61 67 73 2d 62 75 66 66 65 72 20 28 67 65 6e 65 72 61 ")).........(tags-buffer.(genera
25ba0 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 20 22 20 2a 63 73 76 2d 74 61 67 73 2a 22 29 29 0a 20 20 te-new-buffer.".*csv-tags*"))...
25bc0 20 20 20 20 20 20 28 73 65 65 6e 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 ......(seen.(make-hash-table.:te
25be0 73 74 20 27 65 71 29 29 29 0a 20 20 20 20 3b 3b 20 57 72 69 74 65 20 68 65 61 64 65 72 73 0a 20 st.'eq))).....;;.Write.headers..
25c00 20 20 20 28 77 68 65 6e 20 68 65 61 64 65 72 73 2d 70 0a 20 20 20 20 20 20 28 77 69 74 68 2d 63 ...(when.headers-p.......(with-c
25c20 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 66 65 65 64 73 2d 62 75 66 66 65 72 0a 20 20 20 20 20 urrent-buffer.feeds-buffer......
25c40 20 20 20 28 65 6c 66 65 65 64 2d 63 73 76 2d 69 6e 73 65 72 74 20 5b 75 72 6c 20 74 69 74 6c 65 ...(elfeed-csv-insert.[url.title
25c60 20 63 61 6e 6f 6e 69 63 61 6c 2d 75 72 6c 20 61 75 74 68 6f 72 5d 29 29 0a 20 20 20 20 20 20 28 .canonical-url.author])).......(
25c80 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 65 6e 74 72 69 65 73 2d 62 75 66 66 with-current-buffer.entries-buff
25ca0 65 72 0a 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 63 73 76 2d 69 6e 73 65 72 74 20 5b 69 er.........(elfeed-csv-insert.[i
25cc0 64 20 66 65 65 64 20 74 69 74 6c 65 20 6c 69 6e 6b 20 64 61 74 65 5d 29 29 0a 20 20 20 20 20 20 d.feed.title.link.date])).......
25ce0 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 74 61 67 73 2d 62 75 66 66 65 72 (with-current-buffer.tags-buffer
25d00 0a 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 63 73 76 2d 69 6e 73 65 72 74 20 5b 65 6e 74 .........(elfeed-csv-insert.[ent
25d20 72 79 20 66 65 65 64 20 74 61 67 5d 29 29 29 0a 20 20 20 20 3b 3b 20 57 72 69 74 65 20 64 61 74 ry.feed.tag]))).....;;.Write.dat
25d40 61 0a 20 20 20 20 28 77 69 74 68 2d 65 6c 66 65 65 64 2d 64 62 2d 76 69 73 69 74 20 28 65 6e 74 a.....(with-elfeed-db-visit.(ent
25d60 72 79 20 66 65 65 64 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 67 65 74 68 61 73 68 20 ry.feed).......(unless.(gethash.
25d80 66 65 65 64 20 73 65 65 6e 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 67 65 74 68 61 73 feed.seen).........(setf.(gethas
25da0 68 20 66 65 65 64 20 73 65 65 6e 29 20 74 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 75 h.feed.seen).t).........(let.((u
25dc0 72 6c 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 75 72 6c 20 66 65 65 64 29 29 0a 20 20 20 20 20 rl.(elfeed-feed-url.feed))......
25de0 20 20 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 74 69 74 .........(title.(elfeed-feed-tit
25e00 6c 65 20 66 65 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6e 6f 6e 69 63 le.feed))...............(canonic
25e20 61 6c 2d 75 72 6c 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 20 66 65 65 64 20 3a 63 61 6e 6f 6e 69 al-url.(elfeed-meta.feed.:canoni
25e40 63 61 6c 2d 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 75 74 68 6f 72 20 cal-url))...............(author.
25e60 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 61 75 74 68 6f 72 20 66 65 65 64 29 29 29 0a 20 20 20 20 (elfeed-feed-author.feed))).....
25e80 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 66 65 65 64 73 ......(with-current-buffer.feeds
25ea0 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 63 73 76 2d -buffer.............(elfeed-csv-
25ec0 69 6e 73 65 72 74 20 28 6c 69 73 74 20 75 72 6c 20 74 69 74 6c 65 20 63 61 6e 6f 6e 69 63 61 6c insert.(list.url.title.canonical
25ee0 2d 75 72 6c 20 61 75 74 68 6f 72 29 29 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 64 -url.author))))).......(let.((id
25f00 20 28 63 64 72 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 69 64 20 65 6e 74 72 79 29 29 29 0a .(cdr.(elfeed-entry-id.entry))).
25f20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 65 65 64 2d 69 64 20 28 65 6c 66 65 65 64 2d 65 6e 74 ............(feed-id.(elfeed-ent
25f40 72 79 2d 66 65 65 64 2d 69 64 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 ry-feed-id.entry)).............(
25f60 74 69 74 6c 65 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 69 74 6c 65 20 65 6e 74 72 79 29 title.(elfeed-entry-title.entry)
25f80 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 6b 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 ).............(link.(elfeed-entr
25fa0 79 2d 6c 69 6e 6b 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 74 65 y-link.entry)).............(date
25fc0 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 64 61 74 65 20 65 6e 74 72 79 29 29 29 0a 20 20 20 .(elfeed-entry-date.entry)))....
25fe0 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 65 6e 74 72 69 65 .....(with-current-buffer.entrie
26000 73 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 63 73 76 2d 69 s-buffer...........(elfeed-csv-i
26020 6e 73 65 72 74 20 28 6c 69 73 74 20 69 64 20 66 65 65 64 2d 69 64 20 74 69 74 6c 65 20 6c 69 6e nsert.(list.id.feed-id.title.lin
26040 6b 20 64 61 74 65 29 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 k.date))).........(with-current-
26060 62 75 66 66 65 72 20 74 61 67 73 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 28 64 6f buffer.tags-buffer...........(do
26080 6c 69 73 74 20 28 74 61 67 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 61 67 73 20 65 6e 74 list.(tag.(elfeed-entry-tags.ent
260a0 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 63 73 76 2d 69 6e 73 ry)).............(elfeed-csv-ins
260c0 65 72 74 20 28 6c 69 73 74 20 69 64 20 66 65 65 64 2d 69 64 20 74 61 67 29 29 29 29 29 29 0a 20 ert.(list.id.feed-id.tag))))))..
260e0 20 20 20 3b 3b 20 57 72 69 74 65 20 66 69 6c 65 73 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 ...;;.Write.files.....(with-curr
26100 65 6e 74 2d 62 75 66 66 65 72 20 74 61 67 73 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 77 72 ent-buffer.tags-buffer.......(wr
26120 69 74 65 2d 72 65 67 69 6f 6e 20 6e 69 6c 20 6e 69 6c 20 74 61 67 73 2d 66 69 6c 65 20 6e 69 6c ite-region.nil.nil.tags-file.nil
26140 20 30 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 28 77 69 .0).......(kill-buffer)).....(wi
26160 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 65 6e 74 72 69 65 73 2d 62 75 66 66 65 72 th-current-buffer.entries-buffer
26180 0a 20 20 20 20 20 20 28 77 72 69 74 65 2d 72 65 67 69 6f 6e 20 6e 69 6c 20 6e 69 6c 20 65 6e 74 .......(write-region.nil.nil.ent
261a0 72 69 65 73 2d 66 69 6c 65 20 6e 69 6c 20 30 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 ries-file.nil.0).......(kill-buf
261c0 66 65 72 29 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 66 fer)).....(with-current-buffer.f
261e0 65 65 64 73 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 77 72 69 74 65 2d 72 65 67 69 6f 6e 20 eeds-buffer.......(write-region.
26200 6e 69 6c 20 6e 69 6c 20 66 65 65 64 73 2d 66 69 6c 65 20 6e 69 6c 20 30 29 0a 20 20 20 20 20 20 nil.nil.feeds-file.nil.0).......
26220 28 6b 69 6c 6c 2d 62 75 66 66 65 72 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 65 6c 66 65 (kill-buffer))))..(provide.'elfe
26240 65 64 2d 63 73 76 29 0a 0a 3b 3b 3b 20 65 6c 66 65 65 64 2d 63 73 76 2e 65 6c 20 65 6e 64 73 20 ed-csv)..;;;.elfeed-csv.el.ends.
26260 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 here............................
26280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
262a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
262c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
262e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
263a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
263c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
263e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26400 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 52 45 41 44 4d 45 2e 6d 64 00 00 elfeed-20240331.1348/README.md..
26420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26460 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
26480 30 30 34 30 30 37 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 35 32 31 00 20 30 00 00 00 0040076.00000000000.013521..0...
264a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
264c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
264e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26500 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...................
26520 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...................
26540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
265a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
265c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
265e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26600 23 20 45 6c 66 65 65 64 20 45 6d 61 63 73 20 57 65 62 20 46 65 65 64 20 52 65 61 64 65 72 0a 0a #.Elfeed.Emacs.Web.Feed.Reader..
26620 45 6c 66 65 65 64 20 69 73 20 61 6e 20 65 78 74 65 6e 73 69 62 6c 65 20 77 65 62 20 66 65 65 64 Elfeed.is.an.extensible.web.feed
26640 20 72 65 61 64 65 72 20 66 6f 72 20 45 6d 61 63 73 2c 20 73 75 70 70 6f 72 74 69 6e 67 20 62 6f .reader.for.Emacs,.supporting.bo
26660 74 68 0a 41 74 6f 6d 20 61 6e 64 20 52 53 53 2e 20 49 74 20 72 65 71 75 69 72 65 73 20 45 6d 61 th.Atom.and.RSS..It.requires.Ema
26680 63 73 20 32 34 2e 33 20 61 6e 64 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 64 6f 77 cs.24.3.and.is.available.for.dow
266a0 6e 6c 6f 61 64 0a 66 72 6f 6d 20 5b 4d 45 4c 50 41 5d 28 68 74 74 70 3a 2f 2f 6d 65 6c 70 61 2e nload.from.[MELPA](http://melpa.
266c0 6d 69 6c 6b 62 6f 78 2e 6e 65 74 2f 29 20 6f 72 0a 5b 65 6c 2d 67 65 74 5d 28 68 74 74 70 73 3a milkbox.net/).or.[el-get](https:
266e0 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 64 69 6d 69 74 72 69 2f 65 6c 2d 67 65 74 29 2e 20 45 6c //github.com/dimitri/el-get)..El
26700 66 65 65 64 20 77 61 73 20 69 6e 73 70 69 72 65 64 20 62 79 0a 5b 6e 6f 74 6d 75 63 68 5d 28 68 feed.was.inspired.by.[notmuch](h
26720 74 74 70 3a 2f 2f 6e 6f 74 6d 75 63 68 6d 61 69 6c 2e 6f 72 67 2f 29 2e 0a 0a 46 6f 72 20 61 20 ttp://notmuchmail.org/)...For.a.
26740 6c 6f 6e 67 65 72 20 6f 76 65 72 76 69 65 77 2c 0a 0a 20 2a 20 5b 49 6e 74 72 6f 64 75 63 69 6e longer.overview,...*.[Introducin
26760 67 20 45 6c 66 65 65 64 2c 20 61 6e 20 45 6d 61 63 73 20 57 65 62 20 46 65 65 64 20 52 65 61 64 g.Elfeed,.an.Emacs.Web.Feed.Read
26780 65 72 5d 28 68 74 74 70 3a 2f 2f 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d 2f 62 6c 6f 67 2f er](http://nullprogram.com/blog/
267a0 32 30 31 33 2f 30 39 2f 30 34 2f 29 2e 0a 20 2a 20 5b 54 69 70 73 20 61 6e 64 20 54 72 69 63 6b 2013/09/04/)...*.[Tips.and.Trick
267c0 73 5d 28 68 74 74 70 3a 2f 2f 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d 2f 62 6c 6f 67 2f 32 s](http://nullprogram.com/blog/2
267e0 30 31 33 2f 31 31 2f 32 36 2f 29 0a 20 2a 20 5b 52 65 61 64 20 79 6f 75 72 20 52 53 53 20 66 65 013/11/26/)..*.[Read.your.RSS.fe
26800 65 64 73 20 69 6e 20 45 6d 61 63 73 20 77 69 74 68 20 45 6c 66 65 65 64 0a 5d 28 68 74 74 70 3a eds.in.Emacs.with.Elfeed.](http:
26820 2f 2f 70 72 61 67 6d 61 74 69 63 65 6d 61 63 73 2e 63 6f 6d 2f 65 6d 61 63 73 2f 72 65 61 64 2d //pragmaticemacs.com/emacs/read-
26840 79 6f 75 72 2d 72 73 73 2d 66 65 65 64 73 2d 69 6e 2d 65 6d 61 63 73 2d 77 69 74 68 2d 65 6c 66 your-rss-feeds-in-emacs-with-elf
26860 65 65 64 2f 29 0a 20 2a 20 5b 53 63 6f 72 69 6e 67 20 45 6c 66 65 65 64 20 61 72 74 69 63 6c 65 eed/)..*.[Scoring.Elfeed.article
26880 73 5d 28 68 74 74 70 3a 2f 2f 6b 69 74 63 68 69 6e 67 72 6f 75 70 2e 63 68 65 6d 65 2e 63 6d 75 s](http://kitchingroup.cheme.cmu
268a0 2e 65 64 75 2f 62 6c 6f 67 2f 32 30 31 37 2f 30 31 2f 30 35 2f 53 63 6f 72 69 6e 67 2d 65 6c 66 .edu/blog/2017/01/05/Scoring-elf
268c0 65 65 64 2d 61 72 74 69 63 6c 65 73 2f 29 0a 20 2a 20 5b 55 73 69 6e 67 20 45 6d 61 63 73 20 32 eed-articles/)..*.[Using.Emacs.2
268e0 39 5d 28 68 74 74 70 73 3a 2f 2f 77 77 77 2e 79 6f 75 74 75 62 65 2e 63 6f 6d 2f 77 61 74 63 68 9](https://www.youtube.com/watch
26900 3f 76 3d 70 4f 46 71 7a 4b 31 59 6d 72 34 29 2c 0a 20 20 20 5b 33 30 5d 28 68 74 74 70 73 3a 2f ?v=pOFqzK1Ymr4),....[30](https:/
26920 2f 77 77 77 2e 79 6f 75 74 75 62 65 2e 63 6f 6d 2f 77 61 74 63 68 3f 76 3d 74 6a 6e 4b 31 72 6b /www.youtube.com/watch?v=tjnK1rk
26940 4f 37 52 55 29 2c 0a 20 20 20 5b 33 31 5d 28 68 74 74 70 73 3a 2f 2f 77 77 77 2e 79 6f 75 74 75 O7RU),....[31](https://www.youtu
26960 62 65 2e 63 6f 6d 2f 77 61 74 63 68 3f 76 3d 35 7a 75 53 55 62 41 48 48 38 63 29 0a 20 2a 20 5b be.com/watch?v=5zuSUbAHH8c)..*.[
26980 54 61 6b 65 20 45 6c 66 65 65 64 20 65 76 65 72 79 77 68 65 72 65 3a 20 4d 6f 62 69 6c 65 20 72 Take.Elfeed.everywhere:.Mobile.r
269a0 73 73 20 72 65 61 64 69 6e 67 20 45 6d 61 63 73 2d 73 74 79 6c 65 20 28 66 6f 72 20 66 72 65 65 ss.reading.Emacs-style.(for.free
269c0 2f 63 68 65 61 70 29 5d 28 68 74 74 70 3a 2f 2f 62 61 62 62 61 67 65 66 69 6c 65 73 2e 62 6c 6f /cheap)](http://babbagefiles.blo
269e0 67 73 70 6f 74 2e 63 6f 6d 2f 32 30 31 37 2f 30 33 2f 74 61 6b 65 2d 65 6c 66 65 65 64 2d 65 76 gspot.com/2017/03/take-elfeed-ev
26a00 65 72 79 77 68 65 72 65 2d 6d 6f 62 69 6c 65 2d 72 73 73 2e 68 74 6d 6c 29 0a 20 2a 20 5b 45 6c erywhere-mobile-rss.html)..*.[El
26a20 66 65 65 64 20 52 75 6c 65 73 21 5d 28 68 74 74 70 73 3a 2f 2f 6e 6f 6f 6e 6b 65 72 2e 67 69 74 feed.Rules!](https://noonker.git
26a40 68 75 62 2e 69 6f 2f 70 6f 73 74 73 2f 32 30 32 30 2d 30 34 2d 32 32 2d 65 6c 66 65 65 64 2f 29 hub.io/posts/2020-04-22-elfeed/)
26a60 20 28 5b 72 65 64 64 69 74 5d 28 68 74 74 70 73 3a 2f 2f 6f 6c 64 2e 72 65 64 64 69 74 2e 63 6f .([reddit](https://old.reddit.co
26a80 6d 2f 72 2f 65 6d 61 63 73 2f 63 6f 6d 6d 65 6e 74 73 2f 67 36 6f 6f 77 7a 2f 65 6c 66 65 65 64 m/r/emacs/comments/g6oowz/elfeed
26aa0 5f 72 75 6c 65 73 2f 29 29 0a 20 2a 20 5b 45 6c 66 65 65 64 20 77 69 74 68 20 54 69 6e 79 20 54 _rules/))..*.[Elfeed.with.Tiny.T
26ac0 69 6e 79 20 52 53 53 5d 28 68 74 74 70 73 3a 2f 2f 63 6f 64 69 6e 67 71 75 61 72 6b 2e 63 6f 6d iny.RSS](https://codingquark.com
26ae0 2f 65 6d 61 63 73 2f 32 30 32 30 2f 30 34 2f 31 39 2f 65 6c 66 65 65 64 2d 70 72 6f 74 6f 63 6f /emacs/2020/04/19/elfeed-protoco
26b00 6c 2d 74 74 72 73 73 2e 68 74 6d 6c 29 20 28 5b 68 6e 5d 28 68 74 74 70 73 3a 2f 2f 6e 65 77 73 l-ttrss.html).([hn](https://news
26b20 2e 79 63 6f 6d 62 69 6e 61 74 6f 72 2e 63 6f 6d 2f 69 74 65 6d 3f 69 64 3d 32 32 39 31 35 32 30 .ycombinator.com/item?id=2291520
26b40 30 29 29 0a 20 2a 20 5b 4f 70 65 6e 20 45 6d 61 63 73 20 65 6c 66 65 65 64 20 6c 69 6e 6b 73 20 0))..*.[Open.Emacs.elfeed.links.
26b60 69 6e 20 74 68 65 20 62 61 63 6b 67 72 6f 75 6e 64 5d 28 68 74 74 70 3a 2f 2f 78 65 6e 6f 64 69 in.the.background](http://xenodi
26b80 75 6d 2e 63 6f 6d 2f 6f 70 65 6e 2d 65 6d 61 63 73 2d 65 6c 66 65 65 64 2d 6c 69 6e 6b 73 2d 69 um.com/open-emacs-elfeed-links-i
26ba0 6e 2d 62 61 63 6b 67 72 6f 75 6e 64 2f 29 0a 20 2a 20 5b 55 73 69 6e 67 20 45 6d 61 63 73 20 37 n-background/)..*.[Using.Emacs.7
26bc0 32 5d 28 68 74 74 70 73 3a 2f 2f 63 65 73 74 6c 61 7a 2e 67 69 74 68 75 62 2e 69 6f 2f 70 6f 73 2](https://cestlaz.github.io/pos
26be0 74 2f 75 73 69 6e 67 2d 65 6d 61 63 73 2d 37 32 2d 63 75 73 74 6f 6d 69 7a 69 6e 67 2d 65 6c 66 t/using-emacs-72-customizing-elf
26c00 65 65 64 2f 29 0a 20 2a 20 5b 4c 61 7a 79 20 45 6c 66 65 65 64 5d 28 68 74 74 70 73 3a 2f 2f 6b eed/)..*.[Lazy.Elfeed](https://k
26c20 61 72 74 68 69 6e 6b 73 2e 63 6f 6d 2f 62 6c 6f 67 2f 6c 61 7a 79 2d 65 6c 66 65 65 64 2f 29 0a arthinks.com/blog/lazy-elfeed/).
26c40 20 2a 20 5b 55 73 69 6e 67 20 45 6c 66 65 65 64 20 74 6f 20 56 69 65 77 20 56 69 64 65 6f 73 5d .*.[Using.Elfeed.to.View.Videos]
26c60 28 68 74 74 70 73 3a 2f 2f 6a 6f 73 68 72 6f 6c 6c 69 6e 73 77 72 69 74 65 73 2e 63 6f 6d 2f 68 (https://joshrollinswrites.com/h
26c80 65 6c 70 2d 64 65 73 6b 2d 68 65 61 64 2d 64 65 73 6b 2f 32 30 32 30 30 36 31 31 2f 29 0a 20 2a elp-desk-head-desk/20200611/)..*
26ca0 20 5b 4d 61 6e 61 67 65 20 70 6f 64 63 61 73 74 73 20 69 6e 20 45 6d 61 63 73 20 77 69 74 68 20 .[Manage.podcasts.in.Emacs.with.
26cc0 45 6c 66 65 65 64 20 61 6e 64 20 42 6f 6e 67 6f 5d 28 68 74 74 70 73 3a 2f 2f 70 72 6f 74 65 73 Elfeed.and.Bongo](https://protes
26ce0 69 6c 61 6f 73 2e 63 6f 6d 2f 63 6f 64 65 6c 6f 67 2f 32 30 32 30 2d 30 39 2d 31 31 2d 65 6d 61 ilaos.com/codelog/2020-09-11-ema
26d00 63 73 2d 65 6c 66 65 65 64 2d 62 6f 6e 67 6f 2f 29 0a 20 2a 20 5b 2e 2e 2e 20 6d 6f 72 65 20 2e cs-elfeed-bongo/)..*.[....more..
26d20 2e 2e 5d 28 68 74 74 70 3a 2f 2f 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d 2f 74 61 67 73 2f ..](http://nullprogram.com/tags/
26d40 65 6c 66 65 65 64 2f 29 0a 20 2a 20 5b 2e 2e 2e 20 61 6e 64 20 6d 6f 72 65 20 2e 2e 2e 5d 28 68 elfeed/)..*.[....and.more....](h
26d60 74 74 70 3a 2f 2f 70 72 61 67 6d 61 74 69 63 65 6d 61 63 73 2e 63 6f 6d 2f 63 61 74 65 67 6f 72 ttp://pragmaticemacs.com/categor
26d80 79 2f 65 6c 66 65 65 64 2f 29 0a 0a 5b 21 5b 5d 28 68 74 74 70 3a 2f 2f 69 2e 69 6d 67 75 72 2e y/elfeed/)..[![](http://i.imgur.
26da0 63 6f 6d 2f 6b 78 67 46 35 41 48 2e 70 6e 67 29 5d 28 68 74 74 70 3a 2f 2f 69 2e 69 6d 67 75 72 com/kxgF5AH.png)](http://i.imgur
26dc0 2e 63 6f 6d 2f 6b 78 67 46 35 41 48 2e 70 6e 67 29 0a 0a 54 68 65 20 64 61 74 61 62 61 73 65 20 .com/kxgF5AH.png)..The.database.
26de0 66 6f 72 6d 61 74 20 69 73 20 73 74 61 62 6c 65 20 61 6e 64 20 69 73 20 6e 65 76 65 72 20 65 78 format.is.stable.and.is.never.ex
26e00 70 65 63 74 65 64 20 74 6f 20 63 68 61 6e 67 65 2e 0a 0a 23 23 20 50 72 65 72 65 71 75 69 73 69 pected.to.change...##.Prerequisi
26e20 74 65 73 0a 0a 2a 2a 49 74 20 69 73 20 2a 73 74 72 6f 6e 67 6c 79 2a 20 72 65 63 6f 6d 6d 65 6e tes..**It.is.*strongly*.recommen
26e40 64 65 64 20 79 6f 75 20 68 61 76 65 20 63 55 52 4c 20 69 6e 73 74 61 6c 6c 65 64 2a 2a 2c 20 65 ded.you.have.cURL.installed**,.e
26e60 69 74 68 65 72 20 69 6e 0a 79 6f 75 72 20 50 41 54 48 20 6f 72 20 63 6f 6e 66 69 67 75 72 65 64 ither.in.your.PATH.or.configured
26e80 20 76 69 61 20 60 65 6c 66 65 65 64 2d 63 75 72 6c 2d 70 72 6f 67 72 61 6d 2d 6e 61 6d 65 60 2e .via.`elfeed-curl-program-name`.
26ea0 20 45 6c 66 65 65 64 20 77 69 6c 6c 0a 70 72 65 66 65 72 20 69 74 20 74 6f 20 45 6d 61 63 73 27 .Elfeed.will.prefer.it.to.Emacs'
26ec0 20 6f 77 6e 20 55 52 4c 2d 66 65 74 63 68 69 6e 67 20 6d 65 63 68 61 6e 69 73 6d 2c 20 60 75 72 .own.URL-fetching.mechanism,.`ur
26ee0 6c 2d 72 65 74 72 69 65 76 65 60 2e 20 49 74 27 73 0a 61 6c 73 6f 20 65 73 73 65 6e 74 69 61 6c l-retrieve`..It's.also.essential
26f00 20 66 6f 72 20 72 75 6e 6e 69 6e 67 20 45 6c 66 65 65 64 20 6f 6e 20 57 69 6e 64 6f 77 73 2c 20 .for.running.Elfeed.on.Windows,.
26f20 77 68 65 72 65 20 60 75 72 6c 2d 72 65 74 72 69 65 76 65 60 20 69 73 0a 62 72 6f 6b 65 6e 2e 20 where.`url-retrieve`.is.broken..
26f40 55 70 64 61 74 65 73 20 75 73 69 6e 67 20 63 55 52 4c 20 61 72 65 20 73 69 67 6e 69 66 69 63 61 Updates.using.cURL.are.significa
26f60 6e 74 6c 79 20 66 61 73 74 65 72 20 74 68 61 6e 20 74 68 65 20 62 75 69 6c 74 2d 69 6e 0a 6d 65 ntly.faster.than.the.built-in.me
26f80 74 68 6f 64 2c 20 62 6f 74 68 20 66 6f 72 20 79 6f 75 20 61 6e 64 20 74 68 65 20 66 65 65 64 20 thod,.both.for.you.and.the.feed.
26fa0 68 6f 73 74 73 2e 0a 0a 49 66 20 74 68 69 73 20 69 73 20 67 69 76 69 6e 67 20 79 6f 75 20 70 72 hosts...If.this.is.giving.you.pr
26fc0 6f 62 6c 65 6d 73 2c 20 66 65 74 63 68 69 6e 67 20 77 69 74 68 20 63 55 52 4c 20 63 61 6e 20 62 oblems,.fetching.with.cURL.can.b
26fe0 65 20 64 69 73 61 62 6c 65 64 20 62 79 0a 73 65 74 74 69 6e 67 20 60 65 6c 66 65 65 64 2d 75 73 e.disabled.by.setting.`elfeed-us
27000 65 2d 63 75 72 6c 60 20 74 6f 20 6e 69 6c 2e 0a 0a 23 23 20 45 78 74 65 6e 73 69 6f 6e 73 0a 0a e-curl`.to.nil...##.Extensions..
27020 54 68 65 73 65 20 70 72 6f 6a 65 63 74 73 20 65 78 74 65 6e 64 20 45 6c 66 65 65 64 20 77 69 74 These.projects.extend.Elfeed.wit
27040 68 20 61 64 64 69 74 69 6f 6e 61 6c 20 66 65 61 74 75 72 65 73 3a 0a 0a 2a 20 5b 65 6c 66 65 65 h.additional.features:..*.[elfee
27060 64 2d 6f 72 67 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 6d 79 68 6f d-org](https://github.com/remyho
27080 6e 69 67 2f 65 6c 66 65 65 64 2d 6f 72 67 29 0a 2a 20 5b 65 6c 66 65 65 64 2d 67 6f 6f 64 69 65 nig/elfeed-org).*.[elfeed-goodie
270a0 73 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 61 6c 67 65 72 6e 6f 6e 2f 65 s](https://github.com/algernon/e
270c0 6c 66 65 65 64 2d 67 6f 6f 64 69 65 73 29 0a 2a 20 5b 65 6c 66 65 65 64 2d 70 72 6f 74 6f 63 6f lfeed-goodies).*.[elfeed-protoco
270e0 6c 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 66 61 73 68 65 6e 67 2f 65 6c l](https://github.com/fasheng/el
27100 66 65 65 64 2d 70 72 6f 74 6f 63 6f 6c 29 0a 2a 20 5b 65 6c 66 65 65 64 2d 73 63 6f 72 65 5d 28 feed-protocol).*.[elfeed-score](
27120 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 70 31 66 66 2f 65 6c 66 65 65 64 2d https://github.com/sp1ff/elfeed-
27140 73 63 6f 72 65 29 0a 2a 20 5b 45 6c 66 65 65 64 20 41 6e 64 72 6f 69 64 20 69 6e 74 65 72 66 61 score).*.[Elfeed.Android.interfa
27160 63 65 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 61 72 65 69 6e 61 2f 65 6c ce](https://github.com/areina/el
27180 66 65 65 64 2d 63 6c 6a 73 72 6e 29 0a 20 20 28 5b 47 6f 6f 67 6c 65 20 50 6c 61 79 5d 28 68 74 feed-cljsrn)...([Google.Play](ht
271a0 74 70 73 3a 2f 2f 70 6c 61 79 2e 67 6f 6f 67 6c 65 2e 63 6f 6d 2f 73 74 6f 72 65 2f 61 70 70 73 tps://play.google.com/store/apps
271c0 2f 64 65 74 61 69 6c 73 3f 69 64 3d 63 6f 6d 2e 65 6c 66 65 65 64 63 6c 6a 73 72 6e 29 29 0a 2a /details?id=com.elfeedcljsrn)).*
271e0 20 5b 65 6c 66 65 65 64 2d 64 61 73 68 62 6f 61 72 64 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 .[elfeed-dashboard](https://gith
27200 75 62 2e 63 6f 6d 2f 4d 61 6e 6f 6a 33 32 31 2f 65 6c 66 65 65 64 2d 64 61 73 68 62 6f 61 72 64 ub.com/Manoj321/elfeed-dashboard
27220 29 0a 0a 23 23 20 47 65 74 74 69 6e 67 20 53 74 61 72 74 65 64 0a 0a 45 6c 66 65 65 64 20 69 73 )..##.Getting.Started..Elfeed.is
27240 20 62 72 6f 6b 65 6e 20 69 6e 74 6f 20 61 20 6d 75 6c 74 69 70 6c 65 20 73 6f 75 72 63 65 20 66 .broken.into.a.multiple.source.f
27260 69 6c 65 73 2c 20 73 6f 20 69 66 20 79 6f 75 20 6d 61 6e 75 61 6c 6c 79 0a 69 6e 73 74 61 6c 6c iles,.so.if.you.manually.install
27280 20 69 74 20 79 6f 75 20 77 69 6c 6c 20 6e 65 65 64 20 74 6f 20 61 64 64 20 74 68 65 20 45 6c 66 .it.you.will.need.to.add.the.Elf
272a0 65 65 64 20 70 61 63 6b 61 67 65 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 79 6f 75 72 0a 60 6c eed.package.directory.to.your.`l
272c0 6f 61 64 2d 70 61 74 68 60 2e 20 49 66 20 69 6e 73 74 61 6c 6c 65 64 20 76 69 61 20 70 61 63 6b oad-path`..If.installed.via.pack
272e0 61 67 65 2e 65 6c 20 6f 72 20 65 6c 2d 67 65 74 2c 20 74 68 69 73 20 77 69 6c 6c 20 62 65 20 64 age.el.or.el-get,.this.will.be.d
27300 6f 6e 65 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2e 0a 0a 49 74 20 69 73 20 72 65 63 6f 6d 6d one.automatically...It.is.recomm
27320 65 6e 64 65 64 20 74 68 61 74 20 79 6f 75 20 6d 61 6b 65 20 61 20 67 6c 6f 62 61 6c 20 62 69 6e ended.that.you.make.a.global.bin
27340 64 69 6e 67 20 66 6f 72 20 60 65 6c 66 65 65 64 60 2e 0a 0a 60 60 60 65 6c 0a 28 67 6c 6f 62 61 ding.for.`elfeed`...```el.(globa
27360 6c 2d 73 65 74 2d 6b 65 79 20 28 6b 62 64 20 22 43 2d 78 20 77 22 29 20 27 65 6c 66 65 65 64 29 l-set-key.(kbd."C-x.w").'elfeed)
27380 0a 60 60 60 0a 0a 52 75 6e 6e 69 6e 67 20 74 68 65 20 69 6e 74 65 72 61 63 74 69 76 65 20 66 75 .```..Running.the.interactive.fu
273a0 6e 63 74 69 6f 6e 20 60 65 6c 66 65 65 64 60 20 77 69 6c 6c 20 70 6f 70 20 75 70 20 74 68 65 0a nction.`elfeed`.will.pop.up.the.
273c0 60 2a 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2a 60 20 62 75 66 66 65 72 2c 20 77 68 69 63 68 20 `*elfeed-search*`.buffer,.which.
273e0 77 69 6c 6c 20 64 69 73 70 6c 61 79 20 66 65 65 64 20 69 74 65 6d 73 2e 0a 0a 20 2a 20 3c 6b 62 will.display.feed.items....*.<kb
27400 64 3e 67 3c 2f 6b 62 64 3e 3a 20 72 65 66 72 65 73 68 20 76 69 65 77 20 6f 66 20 74 68 65 20 66 d>g</kbd>:.refresh.view.of.the.f
27420 65 65 64 20 6c 69 73 74 69 6e 67 0a 20 2a 20 3c 6b 62 64 3e 47 3c 2f 6b 62 64 3e 3a 20 66 65 74 eed.listing..*.<kbd>G</kbd>:.fet
27440 63 68 20 66 65 65 64 20 75 70 64 61 74 65 73 20 66 72 6f 6d 20 74 68 65 20 73 65 72 76 65 72 73 ch.feed.updates.from.the.servers
27460 0a 20 2a 20 3c 6b 62 64 3e 73 3c 2f 6b 62 64 3e 3a 20 75 70 64 61 74 65 20 74 68 65 20 73 65 61 ..*.<kbd>s</kbd>:.update.the.sea
27480 72 63 68 20 66 69 6c 74 65 72 20 28 73 65 65 20 74 61 67 73 29 0a 20 2a 20 3c 6b 62 64 3e 63 3c rch.filter.(see.tags)..*.<kbd>c<
274a0 2f 6b 62 64 3e 3a 20 63 6c 65 61 72 20 74 68 65 20 73 65 61 72 63 68 20 66 69 6c 74 65 72 0a 0a /kbd>:.clear.the.search.filter..
274c0 54 68 69 73 20 62 75 66 66 65 72 20 77 69 6c 6c 20 62 65 20 65 6d 70 74 79 20 75 6e 74 69 6c 20 This.buffer.will.be.empty.until.
274e0 79 6f 75 20 61 64 64 20 79 6f 75 72 20 66 65 65 64 73 20 74 6f 20 74 68 65 0a 60 65 6c 66 65 65 you.add.your.feeds.to.the.`elfee
27500 64 2d 66 65 65 64 73 60 20 6c 69 73 74 20 61 6e 64 20 69 6e 69 74 69 61 74 65 20 61 6e 20 75 70 d-feeds`.list.and.initiate.an.up
27520 64 61 74 65 20 77 69 74 68 20 60 4d 2d 78 20 65 6c 66 65 65 64 2d 75 70 64 61 74 65 60 0a 28 6f date.with.`M-x.elfeed-update`.(o
27540 72 20 3c 6b 62 64 3e 47 3c 2f 6b 62 64 3e 20 69 6e 20 74 68 65 20 45 6c 66 65 65 64 20 62 75 66 r.<kbd>G</kbd>.in.the.Elfeed.buf
27560 66 65 72 29 2e 20 54 68 69 73 20 77 69 6c 6c 20 70 6f 70 75 6c 61 74 65 20 74 68 65 20 45 6c 66 fer)..This.will.populate.the.Elf
27580 65 65 64 0a 64 61 74 61 62 61 73 65 20 77 69 74 68 20 65 6e 74 72 69 65 73 2e 0a 0a 60 60 60 65 eed.database.with.entries...```e
275a0 6c 0a 3b 3b 20 53 6f 6d 65 77 68 65 72 65 20 69 6e 20 79 6f 75 72 20 2e 65 6d 61 63 73 20 66 69 l.;;.Somewhere.in.your..emacs.fi
275c0 6c 65 0a 28 73 65 74 71 20 65 6c 66 65 65 64 2d 66 65 65 64 73 0a 20 20 20 20 20 20 27 28 22 68 le.(setq.elfeed-feeds.......'("h
275e0 74 74 70 3a 2f 2f 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d 2f 66 65 65 64 2f 22 0a 20 20 20 ttp://nullprogram.com/feed/"....
27600 20 20 20 20 20 22 68 74 74 70 73 3a 2f 2f 70 6c 61 6e 65 74 2e 65 6d 61 63 73 6c 69 66 65 2e 63 ....."https://planet.emacslife.c
27620 6f 6d 2f 61 74 6f 6d 2e 78 6d 6c 22 29 29 0a 60 60 60 0a 0a 41 6e 6f 74 68 65 72 20 6f 70 74 69 om/atom.xml")).```..Another.opti
27640 6f 6e 20 66 6f 72 20 70 72 6f 76 69 64 69 6e 67 20 61 20 66 65 65 64 20 6c 69 73 74 20 69 73 20 on.for.providing.a.feed.list.is.
27660 77 69 74 68 20 61 6e 20 4f 50 4d 4c 20 66 69 6c 65 2e 20 52 75 6e 6e 69 6e 67 0a 60 4d 2d 78 20 with.an.OPML.file..Running.`M-x.
27680 65 6c 66 65 65 64 2d 6c 6f 61 64 2d 6f 70 6d 6c 60 20 77 69 6c 6c 20 66 69 6c 6c 20 60 65 6c 66 elfeed-load-opml`.will.fill.`elf
276a0 65 65 64 2d 66 65 65 64 73 60 20 77 69 74 68 20 66 65 65 64 73 20 6c 69 73 74 65 64 20 69 6e 0a eed-feeds`.with.feeds.listed.in.
276c0 61 6e 20 4f 50 4d 4c 20 66 69 6c 65 2e 20 57 68 65 6e 20 60 65 6c 66 65 65 64 2d 6c 6f 61 64 2d an.OPML.file..When.`elfeed-load-
276e0 6f 70 6d 6c 60 20 69 73 20 63 61 6c 6c 65 64 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 69 opml`.is.called.interactively,.i
27700 74 20 77 69 6c 6c 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 73 61 76 65 20 74 68 65 20 66 65 t.will.automatically.save.the.fe
27720 65 64 6c 69 73 74 20 74 6f 20 79 6f 75 72 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 20 66 69 6c edlist.to.your.customization.fil
27740 65 2c 20 73 6f 20 79 6f 75 0a 77 69 6c 6c 20 6f 6e 6c 79 20 6e 65 65 64 20 74 6f 20 64 6f 20 74 e,.so.you.will.only.need.to.do.t
27760 68 69 73 20 6f 6e 63 65 2e 0a 0a 49 66 20 74 68 65 72 65 20 61 72 65 20 61 20 6c 6f 74 20 6f 66 his.once...If.there.are.a.lot.of
27780 20 66 65 65 64 73 2c 20 74 68 65 20 69 6e 69 74 69 61 6c 20 75 70 64 61 74 65 20 77 69 6c 6c 20 .feeds,.the.initial.update.will.
277a0 74 61 6b 65 20 6e 6f 74 69 63 65 61 62 6c 79 0a 6c 6f 6e 67 65 72 20 74 68 61 6e 20 6e 6f 72 6d take.noticeably.longer.than.norm
277c0 61 6c 20 6f 70 65 72 61 74 69 6f 6e 20 62 65 63 61 75 73 65 20 6f 66 20 74 68 65 20 6c 61 72 67 al.operation.because.of.the.larg
277e0 65 20 61 6d 6f 75 6e 74 20 6f 66 0a 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 62 65 69 6e 67 20 77 72 e.amount.of.information.being.wr
27800 69 74 74 65 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 20 46 75 74 75 72 65 20 75 70 64 61 74 itten.the.database..Future.updat
27820 65 73 20 77 69 6c 6c 20 6f 6e 6c 79 20 6e 65 65 64 0a 74 6f 20 77 72 69 74 65 20 6e 65 77 20 6f es.will.only.need.to.write.new.o
27840 72 20 63 68 61 6e 67 65 64 20 64 61 74 61 2e 20 49 66 20 75 70 64 61 74 69 6e 67 20 66 65 65 64 r.changed.data..If.updating.feed
27860 73 20 73 6c 6f 77 73 20 64 6f 77 6e 20 45 6d 61 63 73 20 74 6f 6f 0a 6d 75 63 68 20 66 6f 72 20 s.slows.down.Emacs.too.much.for.
27880 79 6f 75 2c 20 72 65 64 75 63 65 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6e 63 75 72 you,.reduce.the.number.of.concur
278a0 72 65 6e 74 20 66 65 74 63 68 65 73 20 76 69 61 0a 60 65 6c 66 65 65 64 2d 73 65 74 2d 6d 61 78 rent.fetches.via.`elfeed-set-max
278c0 2d 63 6f 6e 6e 65 63 74 69 6f 6e 73 60 2e 0a 0a 49 66 20 79 6f 75 27 72 65 20 67 65 74 74 69 6e -connections`...If.you're.gettin
278e0 67 20 6d 61 6e 79 20 22 51 75 65 75 65 20 74 69 6d 65 6f 75 74 20 65 78 63 65 65 64 65 64 22 20 g.many."Queue.timeout.exceeded".
27900 65 72 72 6f 72 73 2c 20 69 6e 63 72 65 61 73 65 20 74 68 65 0a 66 65 74 63 68 20 74 69 6d 65 6f errors,.increase.the.fetch.timeo
27920 75 74 20 76 69 61 20 60 65 6c 66 65 65 64 2d 73 65 74 2d 74 69 6d 65 6f 75 74 60 2e 0a 0a 7e 7e ut.via.`elfeed-set-timeout`...~~
27940 7e 65 6c 0a 28 73 65 74 66 20 75 72 6c 2d 71 75 65 75 65 2d 74 69 6d 65 6f 75 74 20 33 30 29 0a ~el.(setf.url-queue-timeout.30).
27960 7e 7e 7e 0a 0a 46 72 6f 6d 20 74 68 65 20 73 65 61 72 63 68 20 62 75 66 66 65 72 20 74 68 65 72 ~~~..From.the.search.buffer.ther
27980 65 20 61 72 65 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 77 61 79 73 20 74 6f 20 69 6e 74 65 72 61 e.are.a.number.of.ways.to.intera
279a0 63 74 20 77 69 74 68 0a 65 6e 74 72 69 65 73 2e 20 45 6e 74 72 69 65 73 20 61 72 65 20 73 65 6c ct.with.entries..Entries.are.sel
279c0 65 63 74 65 64 20 62 79 20 70 6c 61 63 69 6e 67 20 74 68 65 20 70 6f 69 6e 74 20 6f 76 65 72 20 ected.by.placing.the.point.over.
279e0 61 6e 20 65 6e 74 72 79 2e 0a 4d 75 6c 74 69 70 6c 65 20 65 6e 74 72 69 65 73 20 61 72 65 20 73 an.entry..Multiple.entries.are.s
27a00 65 6c 65 63 74 65 64 20 61 74 20 6f 6e 63 65 20 62 79 20 75 73 69 6e 67 20 61 6e 20 61 63 74 69 elected.at.once.by.using.an.acti
27a20 76 65 20 72 65 67 69 6f 6e 2e 0a 0a 20 2a 20 3c 6b 62 64 3e 52 45 54 3c 2f 6b 62 64 3e 3a 20 76 ve.region....*.<kbd>RET</kbd>:.v
27a40 69 65 77 20 73 65 6c 65 63 74 65 64 20 65 6e 74 72 79 20 69 6e 20 61 20 62 75 66 66 65 72 0a 20 iew.selected.entry.in.a.buffer..
27a60 2a 20 3c 6b 62 64 3e 62 3c 2f 6b 62 64 3e 3a 20 6f 70 65 6e 20 73 65 6c 65 63 74 65 64 20 65 6e *.<kbd>b</kbd>:.open.selected.en
27a80 74 72 69 65 73 20 69 6e 20 79 6f 75 72 20 62 72 6f 77 73 65 72 20 28 60 62 72 6f 77 73 65 2d 75 tries.in.your.browser.(`browse-u
27aa0 72 6c 60 29 0a 20 2a 20 3c 6b 62 64 3e 79 3c 2f 6b 62 64 3e 3a 20 63 6f 70 79 20 73 65 6c 65 63 rl`)..*.<kbd>y</kbd>:.copy.selec
27ac0 74 65 64 20 65 6e 74 72 69 65 73 20 55 52 4c 20 74 6f 20 74 68 65 20 63 6c 69 70 62 6f 61 72 64 ted.entries.URL.to.the.clipboard
27ae0 0a 20 2a 20 3c 6b 62 64 3e 72 3c 2f 6b 62 64 3e 3a 20 6d 61 72 6b 20 73 65 6c 65 63 74 65 64 20 ..*.<kbd>r</kbd>:.mark.selected.
27b00 65 6e 74 72 69 65 73 20 61 73 20 72 65 61 64 0a 20 2a 20 3c 6b 62 64 3e 75 3c 2f 6b 62 64 3e 3a entries.as.read..*.<kbd>u</kbd>:
27b20 20 6d 61 72 6b 20 73 65 6c 65 63 74 65 64 20 65 6e 74 72 69 65 73 20 61 73 20 75 6e 72 65 61 64 .mark.selected.entries.as.unread
27b40 0a 20 2a 20 3c 6b 62 64 3e 2b 3c 2f 6b 62 64 3e 3a 20 61 64 64 20 61 20 73 70 65 63 69 66 69 63 ..*.<kbd>+</kbd>:.add.a.specific
27b60 20 74 61 67 20 74 6f 20 73 65 6c 65 63 74 65 64 20 65 6e 74 72 69 65 73 0a 20 2a 20 3c 6b 62 64 .tag.to.selected.entries..*.<kbd
27b80 3e 2d 3c 2f 6b 62 64 3e 3a 20 72 65 6d 6f 76 65 20 61 20 73 70 65 63 69 66 69 63 20 74 61 67 20 >-</kbd>:.remove.a.specific.tag.
27ba0 66 72 6f 6d 20 73 65 6c 65 63 74 65 64 20 65 6e 74 72 69 65 73 0a 0a 23 23 20 54 61 67 73 0a 0a from.selected.entries..##.Tags..
27bc0 45 6c 66 65 65 64 20 6d 61 69 6e 74 61 69 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 61 72 62 69 74 Elfeed.maintains.a.list.of.arbit
27be0 72 61 72 79 20 74 61 67 73 20 2d 2d 20 73 79 6d 62 6f 6c 73 20 61 74 74 61 63 68 65 64 20 74 6f rary.tags.--.symbols.attached.to
27c00 20 61 6e 0a 65 6e 74 72 79 2e 20 54 68 65 20 74 61 67 20 60 75 6e 72 65 61 64 60 20 69 73 20 74 .an.entry..The.tag.`unread`.is.t
27c20 72 65 61 74 65 64 20 73 70 65 63 69 61 6c 6c 79 20 62 79 20 64 65 66 61 75 6c 74 2c 20 77 69 74 reated.specially.by.default,.wit
27c40 68 20 75 6e 72 65 61 64 0a 65 6e 74 72 69 65 73 20 61 70 70 65 61 72 69 6e 67 20 69 6e 20 62 6f h.unread.entries.appearing.in.bo
27c60 6c 64 2e 0a 0a 23 23 23 20 41 75 74 6f 74 61 67 67 69 6e 67 0a 0a 54 61 67 73 20 63 61 6e 20 61 ld...###.Autotagging..Tags.can.a
27c80 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 62 65 20 61 70 70 6c 69 65 64 20 74 6f 20 65 6e 74 72 69 utomatically.be.applied.to.entri
27ca0 65 73 20 64 69 73 63 6f 76 65 72 65 64 20 69 6e 20 73 70 65 63 69 66 69 63 0a 66 65 65 64 73 20 es.discovered.in.specific.feeds.
27cc0 74 68 72 6f 75 67 68 20 65 78 74 72 61 20 73 79 6e 74 61 78 20 69 6e 20 60 65 6c 66 65 65 64 2d through.extra.syntax.in.`elfeed-
27ce0 66 65 65 64 73 60 2e 20 4e 6f 72 6d 61 6c 6c 79 20 74 68 69 73 20 69 73 20 61 20 6c 69 73 74 0a feeds`..Normally.this.is.a.list.
27d00 6f 66 20 73 74 72 69 6e 67 73 2c 20 62 75 74 20 61 6e 20 69 74 65 6d 20 63 61 6e 20 61 6c 73 6f of.strings,.but.an.item.can.also
27d20 20 62 65 20 61 20 6c 69 73 74 2c 20 70 72 6f 76 69 64 69 6e 67 20 73 65 74 20 6f 66 0a 22 61 75 .be.a.list,.providing.set.of."au
27d40 74 6f 74 61 67 73 22 20 66 6f 72 20 61 20 66 65 65 64 27 73 20 65 6e 74 72 69 65 73 2e 0a 0a 60 totags".for.a.feed's.entries...`
27d60 60 60 65 6c 0a 28 73 65 74 71 20 65 6c 66 65 65 64 2d 66 65 65 64 73 0a 20 20 20 20 20 20 27 28 ``el.(setq.elfeed-feeds.......'(
27d80 28 22 68 74 74 70 3a 2f 2f 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d 2f 66 65 65 64 2f 22 20 ("http://nullprogram.com/feed/".
27da0 62 6c 6f 67 20 65 6d 61 63 73 29 0a 20 20 20 20 20 20 20 20 22 68 74 74 70 3a 2f 2f 77 77 77 2e blog.emacs)........."http://www.
27dc0 35 30 70 6c 79 2e 63 6f 6d 2f 61 74 6f 6d 2e 78 6d 6c 22 20 20 3b 20 6e 6f 20 61 75 74 6f 74 61 50ply.com/atom.xml"..;.no.autota
27de0 67 67 69 6e 67 0a 20 20 20 20 20 20 20 20 28 22 68 74 74 70 3a 2f 2f 6e 65 64 72 6f 69 64 2e 63 gging.........("http://nedroid.c
27e00 6f 6d 2f 66 65 65 64 2f 22 20 77 65 62 63 6f 6d 69 63 29 29 29 0a 60 60 60 0a 0a 23 23 23 20 46 om/feed/".webcomic))).```..###.F
27e20 69 6c 74 65 72 20 53 79 6e 74 61 78 0a 0a 54 6f 20 6d 61 6b 65 20 74 61 67 73 20 75 73 65 66 75 ilter.Syntax..To.make.tags.usefu
27e40 6c 2c 20 74 68 65 20 45 6c 66 65 65 64 20 65 6e 74 72 79 20 6c 69 73 74 69 6e 67 20 62 75 66 66 l,.the.Elfeed.entry.listing.buff
27e60 65 72 20 63 61 6e 20 62 65 20 66 69 6c 74 65 72 65 64 0a 62 79 20 74 61 67 73 2e 20 55 73 65 20 er.can.be.filtered.by.tags..Use.
27e80 60 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 73 65 74 2d 66 69 6c 74 65 72 60 20 28 6f 72 20 3c `elfeed-search-set-filter`.(or.<
27ea0 6b 62 64 3e 73 3c 2f 6b 62 64 3e 29 20 74 6f 20 75 70 64 61 74 65 0a 74 68 65 20 66 69 6c 74 65 kbd>s</kbd>).to.update.the.filte
27ec0 72 2e 20 55 73 65 20 60 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 63 6c 65 61 72 2d 66 69 6c 74 r..Use.`elfeed-search-clear-filt
27ee0 65 72 60 20 74 6f 20 72 65 73 74 6f 72 65 20 74 68 65 20 64 65 66 61 75 6c 74 2e 0a 0a 41 6e 79 er`.to.restore.the.default...Any
27f00 20 63 6f 6d 70 6f 6e 65 6e 74 20 6f 66 20 74 68 65 20 73 65 61 72 63 68 20 73 74 72 69 6e 67 20 .component.of.the.search.string.
27f20 62 65 67 69 6e 6e 69 6e 67 20 77 69 74 68 20 61 20 60 2b 60 20 6f 72 0a 61 20 60 2d 60 20 69 73 beginning.with.a.`+`.or.a.`-`.is
27f40 20 74 72 65 61 74 65 64 20 6c 69 6b 65 20 61 20 74 61 67 2e 20 60 2b 60 20 6d 65 61 6e 73 20 74 .treated.like.a.tag..`+`.means.t
27f60 68 65 20 74 61 67 20 69 73 20 72 65 71 75 69 72 65 64 2c 20 60 2d 60 20 6d 65 61 6e 73 0a 74 68 he.tag.is.required,.`-`.means.th
27f80 65 20 74 61 67 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 70 72 65 73 65 6e 74 2e 0a 0a 41 20 63 6f e.tag.must.not.be.present...A.co
27fa0 6d 70 6f 6e 65 6e 74 20 62 65 67 69 6e 6e 69 6e 67 20 77 69 74 68 20 61 20 60 40 60 20 69 6e 64 mponent.beginning.with.a.`@`.ind
27fc0 69 63 61 74 65 73 20 61 6e 20 61 67 65 20 6f 72 20 61 20 64 61 74 65 20 72 61 6e 67 65 2e 20 41 icates.an.age.or.a.date.range..A
27fe0 6e 0a 61 67 65 20 69 73 20 61 20 72 65 6c 61 74 69 76 65 20 74 69 6d 65 20 65 78 70 72 65 73 73 n.age.is.a.relative.time.express
28000 69 6f 6e 20 6f 72 20 61 6e 20 61 62 73 6f 6c 75 74 65 20 64 61 74 65 20 65 78 70 72 65 73 73 69 ion.or.an.absolute.date.expressi
28020 6f 6e 2e 0a 45 6e 74 72 69 65 73 20 6f 6c 64 65 72 20 74 68 61 6e 20 74 68 69 73 20 61 67 65 20 on..Entries.older.than.this.age.
28040 61 72 65 20 66 69 6c 74 65 72 65 64 20 6f 75 74 2e 20 54 68 65 20 61 67 65 20 64 65 73 63 72 69 are.filtered.out..The.age.descri
28060 70 74 69 6f 6e 0a 61 63 63 65 70 74 73 20 70 6c 61 69 6e 20 45 6e 67 6c 69 73 68 2c 20 62 75 74 ption.accepts.plain.English,.but
28080 20 63 61 6e 6e 6f 74 20 68 61 76 65 20 73 70 61 63 65 73 2c 20 73 6f 20 75 73 65 20 64 61 73 68 .cannot.have.spaces,.so.use.dash
280a0 65 73 2e 20 46 6f 72 0a 65 78 61 6d 70 6c 65 2c 20 60 22 40 32 2d 79 65 61 72 73 2d 6f 6c 64 22 es..For.example,.`"@2-years-old"
280c0 60 2c 20 60 22 40 33 2d 64 61 79 73 2d 61 67 6f 22 60 20 6f 72 20 60 22 40 32 30 31 39 2d 30 36 `,.`"@3-days-ago"`.or.`"@2019-06
280e0 2d 32 34 22 60 2e 20 41 20 64 61 74 65 0a 72 61 6e 67 65 20 61 72 65 20 74 77 6f 20 61 67 65 73 -24"`..A.date.range.are.two.ages
28100 20 73 65 70 65 72 61 74 65 64 20 62 79 20 61 20 60 2d 2d 60 2c 20 65 2e 67 2e 0a 60 22 40 32 30 .seperated.by.a.`--`,.e.g..`"@20
28120 31 39 2d 30 36 2d 32 30 2d 2d 32 30 31 39 2d 30 36 2d 32 34 22 60 20 6f 72 20 60 22 40 35 2d 64 19-06-20--2019-06-24"`.or.`"@5-d
28140 61 79 73 2d 61 67 6f 2d 2d 31 2d 64 61 79 2d 61 67 6f 22 60 2e 20 54 68 65 20 65 6e 74 72 79 0a ays-ago--1-day-ago"`..The.entry.
28160 6d 75 73 74 20 62 65 20 6e 65 77 65 72 20 74 68 61 6e 20 74 68 65 20 66 69 72 73 74 20 65 78 70 must.be.newer.than.the.first.exp
28180 72 65 73 73 69 6f 6e 20 62 75 74 20 6f 6c 64 65 72 20 74 68 61 6e 20 74 68 65 20 73 65 63 6f 6e ression.but.older.than.the.secon
281a0 64 2e 20 54 68 65 0a 64 61 74 61 62 61 73 65 20 69 73 20 64 61 74 65 2d 6f 72 69 65 6e 74 65 64 d..The.database.is.date-oriented
281c0 2c 20 73 6f 20 2a 2a 66 69 6c 74 65 72 73 20 74 68 61 74 20 69 6e 63 6c 75 64 65 20 61 6e 20 61 ,.so.**filters.that.include.an.a
281e0 67 65 0a 72 65 73 74 72 69 63 74 69 6f 6e 20 61 72 65 20 73 69 67 6e 69 66 69 63 61 6e 74 6c 79 ge.restriction.are.significantly
28200 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 2e 2a 2a 0a 0a 41 20 63 6f 6d 70 6f 6e 65 6e 74 20 .more.efficient.**..A.component.
28220 62 65 67 69 6e 6e 69 6e 67 20 77 69 74 68 20 61 20 60 21 60 20 69 73 20 74 72 65 61 74 65 64 20 beginning.with.a.`!`.is.treated.
28240 61 73 20 61 6e 20 22 69 6e 76 65 72 73 65 22 20 72 65 67 75 6c 61 72 0a 65 78 70 72 65 73 73 69 as.an."inverse".regular.expressi
28260 6f 6e 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 61 6e 79 20 65 6e 74 72 79 20 6d 61 on..This.means.that.any.entry.ma
28280 74 63 68 69 6e 67 20 74 68 69 73 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 0a 77 tching.this.regular.expression.w
282a0 69 6c 6c 20 62 65 20 66 69 6c 74 65 72 65 64 20 6f 75 74 2e 20 54 68 65 20 72 65 67 75 6c 61 72 ill.be.filtered.out..The.regular
282c0 20 65 78 70 72 65 73 73 69 6f 6e 20 62 65 67 69 6e 73 20 2a 61 66 74 65 72 2a 20 74 68 65 20 60 .expression.begins.*after*.the.`
282e0 21 60 0a 63 68 61 72 61 63 74 65 72 2e 20 59 6f 75 20 63 61 6e 20 72 65 61 64 20 74 68 69 73 20 !`.character..You.can.read.this.
28300 61 73 20 22 65 6e 74 72 79 20 6e 6f 74 20 6d 61 74 63 68 69 6e 67 20 60 66 6f 6f 60 22 2e 0a 0a as."entry.not.matching.`foo`"...
28320 41 20 63 6f 6d 70 6f 6e 65 6e 74 20 62 65 67 69 6e 6e 69 6e 67 20 77 69 74 68 20 61 20 60 23 60 A.component.beginning.with.a.`#`
28340 20 6c 69 6d 69 74 73 20 74 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 65 6e 74 72 .limits.the.total.number.of.entr
28360 69 65 73 0a 64 69 73 70 6c 61 79 65 64 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 69 6d 6d 65 ies.displayed.to.the.number.imme
28380 64 69 61 74 65 6c 79 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 73 79 6d 62 6f 6c 2e 20 46 6f diately.following.the.symbol..Fo
283a0 72 20 65 78 61 6d 70 6c 65 2c 0a 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 64 69 73 70 6c 61 79 20 r.example,.to.limit.the.display.
283c0 74 6f 20 32 30 20 65 6e 74 72 69 65 73 3a 20 60 23 32 30 60 2e 0a 0a 41 20 63 6f 6d 70 6f 6e 65 to.20.entries:.`#20`...A.compone
283e0 6e 74 20 62 65 67 69 6e 6e 69 6e 67 20 77 69 74 68 20 61 20 60 3d 60 20 69 73 20 61 20 72 65 67 nt.beginning.with.a.`=`.is.a.reg
28400 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 6d 61 74 63 68 69 6e 67 20 74 68 65 0a 65 6e 74 ular.expression.matching.the.ent
28420 72 79 27 73 20 66 65 65 64 20 28 74 69 74 6c 65 20 6f 72 20 55 52 4c 29 2e 20 4f 6e 6c 79 20 65 ry's.feed.(title.or.URL)..Only.e
28440 6e 74 72 69 65 73 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 61 20 66 65 65 64 20 74 68 61 74 0a ntries.belonging.to.a.feed.that.
28460 6d 61 74 63 68 65 73 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 6f 66 20 74 68 65 20 60 3d 60 20 matches.at.least.one.of.the.`=`.
28480 65 78 70 72 65 73 73 69 6f 6e 73 20 77 69 6c 6c 20 62 65 20 73 68 6f 77 6e 2e 0a 0a 41 20 63 6f expressions.will.be.shown...A.co
284a0 6d 70 6f 6e 65 6e 74 20 62 65 67 69 6e 6e 69 6e 67 20 77 69 74 68 20 61 20 60 7e 60 20 69 73 20 mponent.beginning.with.a.`~`.is.
284c0 61 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 6d 61 74 63 68 69 6e 67 20 74 68 a.regular.expression.matching.th
284e0 65 0a 65 6e 74 72 79 27 73 20 66 65 65 64 20 28 74 69 74 6c 65 20 6f 72 20 55 52 4c 29 2e 20 4f e.entry's.feed.(title.or.URL)..O
28500 6e 6c 79 20 65 6e 74 72 69 65 73 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 61 20 66 65 65 64 20 nly.entries.belonging.to.a.feed.
28520 74 68 61 74 0a 6d 61 74 63 68 65 73 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 60 7e 60 20 65 78 70 that.matches.none.of.the.`~`.exp
28540 72 65 73 73 69 6f 6e 73 20 77 69 6c 6c 20 62 65 20 73 68 6f 77 6e 2e 0a 0a 41 6c 6c 20 6f 74 68 ressions.will.be.shown...All.oth
28560 65 72 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 61 72 65 20 74 72 65 61 74 65 64 20 61 73 20 61 20 72 er.components.are.treated.as.a.r
28580 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 61 6e 64 20 6f 6e 6c 79 0a 65 6e 74 72 egular.expression,.and.only.entr
285a0 69 65 73 20 6d 61 74 63 68 69 6e 67 20 69 74 20 28 74 69 74 6c 65 20 6f 72 20 55 52 4c 29 20 77 ies.matching.it.(title.or.URL).w
285c0 69 6c 6c 20 62 65 20 73 68 6f 77 6e 2e 0a 0a 48 65 72 65 20 61 72 65 20 73 6f 6d 65 20 65 78 61 ill.be.shown...Here.are.some.exa
285e0 6d 70 6c 65 20 66 69 6c 74 65 72 73 2e 0a 0a 20 2a 20 60 40 36 2d 6d 6f 6e 74 68 73 2d 61 67 6f mple.filters....*.`@6-months-ago
28600 20 2b 75 6e 72 65 61 64 60 0a 0a 4f 6e 6c 79 20 73 68 6f 77 20 75 6e 72 65 61 64 20 65 6e 74 72 .+unread`..Only.show.unread.entr
28620 69 65 73 20 6f 66 20 74 68 65 20 6c 61 73 74 20 73 69 78 20 6d 6f 6e 74 68 73 2e 20 54 68 69 73 ies.of.the.last.six.months..This
28640 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 66 69 6c 74 65 72 2e 0a 0a 20 2a 20 60 6c 69 6e .is.the.default.filter....*.`lin
28660 75 5b 78 73 5d 20 40 31 2d 79 65 61 72 2d 6f 6c 64 60 0a 0a 4f 6e 6c 79 20 73 68 6f 77 20 65 6e u[xs].@1-year-old`..Only.show.en
28680 74 72 69 65 73 20 61 62 6f 75 74 20 4c 69 6e 75 78 20 6f 72 20 4c 69 6e 75 73 20 66 72 6f 6d 20 tries.about.Linux.or.Linus.from.
286a0 74 68 65 20 6c 61 73 74 20 79 65 61 72 2e 0a 0a 20 2a 20 60 2d 75 6e 72 65 61 64 20 2b 79 6f 75 the.last.year....*.`-unread.+you
286c0 74 75 62 65 20 23 31 30 60 0a 0a 4f 6e 6c 79 20 73 68 6f 77 20 74 68 65 20 6d 6f 73 74 20 72 65 tube.#10`..Only.show.the.most.re
286e0 63 65 6e 74 20 31 30 20 70 72 65 76 69 6f 75 73 6c 79 2d 72 65 61 64 20 65 6e 74 72 69 65 73 20 cent.10.previously-read.entries.
28700 74 61 67 67 65 64 20 61 73 0a 60 79 6f 75 74 75 62 65 60 2e 0a 0a 20 2a 20 60 2b 75 6e 72 65 61 tagged.as.`youtube`....*.`+unrea
28720 64 20 21 78 3f 65 6d 61 63 73 60 0a 0a 4f 6e 6c 79 20 73 68 6f 77 20 75 6e 72 65 61 64 20 65 6e d.!x?emacs`..Only.show.unread.en
28740 74 72 69 65 73 20 6e 6f 74 20 68 61 76 69 6e 67 20 60 65 6d 61 63 73 60 20 6f 72 20 60 78 65 6d tries.not.having.`emacs`.or.`xem
28760 61 63 73 60 20 69 6e 20 74 68 65 20 74 69 74 6c 65 0a 6f 72 20 6c 69 6e 6b 2e 0a 0a 2a 20 60 2b acs`.in.the.title.or.link...*.`+
28780 65 6d 61 63 73 20 3d 68 74 74 70 3a 2f 2f 65 78 61 6d 70 6c 65 2e 6f 72 67 2f 66 65 65 64 2f 60 emacs.=http://example.org/feed/`
287a0 0a 0a 4f 6e 6c 79 20 73 68 6f 77 20 65 6e 74 72 69 65 73 20 74 61 67 67 65 64 20 61 73 20 60 65 ..Only.show.entries.tagged.as.`e
287c0 6d 61 63 73 60 20 66 72 6f 6d 20 61 20 73 70 65 63 69 66 69 63 20 66 65 65 64 2e 0a 0a 23 23 23 macs`.from.a.specific.feed...###
287e0 23 20 44 65 66 61 75 6c 74 20 53 65 61 72 63 68 20 46 69 6c 74 65 72 0a 0a 59 6f 75 20 63 61 6e #.Default.Search.Filter..You.can
28800 20 73 65 74 20 79 6f 75 72 20 64 65 66 61 75 6c 74 20 73 65 61 72 63 68 20 66 69 6c 74 65 72 20 .set.your.default.search.filter.
28820 62 79 20 63 68 61 6e 67 69 6e 67 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 0a 6f 66 by.changing.the.default.value.of
28840 20 60 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 60 2e 20 49 74 20 6f 6e 6c 79 .`elfeed-search-filter`..It.only
28860 20 63 68 61 6e 67 65 73 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 6c 79 20 77 68 65 6e 20 79 6f 75 .changes.buffer-locally.when.you
28880 27 72 65 0a 61 64 6a 75 73 74 69 6e 67 20 74 68 65 20 66 69 6c 74 65 72 20 77 69 74 68 69 6e 20 're.adjusting.the.filter.within.
288a0 45 6c 66 65 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 73 6f 6d 65 20 75 73 65 72 73 20 Elfeed..For.example,.some.users.
288c0 70 72 65 66 65 72 20 74 6f 0a 68 61 76 65 20 61 20 73 70 61 63 65 20 6f 6e 20 74 68 65 20 65 6e prefer.to.have.a.space.on.the.en
288e0 64 20 66 6f 72 20 65 61 73 69 65 72 20 71 75 69 63 6b 20 73 65 61 72 63 68 69 6e 67 2e 0a 0a 20 d.for.easier.quick.searching....
28900 20 20 20 28 73 65 74 71 2d 64 65 66 61 75 6c 74 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 ...(setq-default.elfeed-search-f
28920 69 6c 74 65 72 20 22 40 31 2d 77 65 65 6b 2d 61 67 6f 20 2b 75 6e 72 65 61 64 20 22 29 0a 0a 23 ilter."@1-week-ago.+unread.")..#
28940 23 23 20 54 61 67 20 48 6f 6f 6b 73 0a 0a 54 68 65 20 6c 61 73 74 20 65 78 61 6d 70 6c 65 20 61 ##.Tag.Hooks..The.last.example.a
28960 73 73 75 6d 65 73 20 79 6f 75 27 76 65 20 74 61 67 67 65 64 20 70 6f 73 74 73 20 77 69 74 68 20 ssumes.you've.tagged.posts.with.
28980 60 79 6f 75 74 75 62 65 60 2e 20 59 6f 75 0a 70 72 6f 62 61 62 6c 79 20 77 61 6e 74 20 74 6f 20 `youtube`..You.probably.want.to.
289a0 64 6f 20 74 68 69 73 20 73 6f 72 74 20 6f 66 20 74 68 69 6e 67 20 61 75 74 6f 6d 61 74 69 63 61 do.this.sort.of.thing.automatica
289c0 6c 6c 79 2c 20 65 69 74 68 65 72 20 74 68 72 6f 75 67 68 0a 74 68 65 20 22 61 75 74 6f 74 61 67 lly,.either.through.the."autotag
289e0 73 22 20 66 65 61 74 75 72 65 20 6d 65 6e 74 69 6f 6e 65 64 20 61 62 6f 76 65 2c 20 6f 72 20 77 s".feature.mentioned.above,.or.w
28a00 69 74 68 20 74 68 65 0a 60 65 6c 66 65 65 64 2d 6e 65 77 2d 65 6e 74 72 79 2d 68 6f 6f 6b 60 2e ith.the.`elfeed-new-entry-hook`.
28a20 20 46 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 69 73 20 68 6f 6f 6b 20 61 72 65 20 63 61 6c 6c .Functions.in.this.hook.are.call
28a40 65 64 20 77 69 74 68 20 6e 65 77 0a 65 6e 74 72 69 65 73 2c 20 61 6c 6c 6f 77 69 6e 67 20 74 68 ed.with.new.entries,.allowing.th
28a60 65 6d 20 74 6f 20 62 65 20 6d 61 6e 69 70 75 6c 61 74 65 64 2c 20 73 75 63 68 20 61 73 20 61 64 em.to.be.manipulated,.such.as.ad
28a80 64 69 6e 67 20 74 61 67 73 2e 0a 0a 60 60 60 65 6c 0a 3b 3b 20 4d 61 72 6b 20 61 6c 6c 20 59 6f ding.tags...```el.;;.Mark.all.Yo
28aa0 75 54 75 62 65 20 65 6e 74 72 69 65 73 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 65 6c 66 65 65 64 2d uTube.entries.(add-hook.'elfeed-
28ac0 6e 65 77 2d 65 6e 74 72 79 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 new-entry-hook...........(elfeed
28ae0 2d 6d 61 6b 65 2d 74 61 67 67 65 72 20 3a 66 65 65 64 2d 75 72 6c 20 22 79 6f 75 74 75 62 65 5c -make-tagger.:feed-url."youtube\
28b00 5c 2e 63 6f 6d 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 \.com"..........................
28b20 20 20 20 20 20 3a 61 64 64 20 27 28 76 69 64 65 6f 20 79 6f 75 74 75 62 65 29 29 29 0a 60 60 60 .....:add.'(video.youtube))).```
28b40 0a 0a 41 76 6f 69 64 69 6e 67 20 74 61 67 67 69 6e 67 20 6f 6c 64 20 65 6e 74 72 69 65 73 20 61 ..Avoiding.tagging.old.entries.a
28b60 73 20 60 75 6e 72 65 61 64 60 3a 0a 0a 60 60 60 65 6c 0a 3b 3b 20 45 6e 74 72 69 65 73 20 6f 6c s.`unread`:..```el.;;.Entries.ol
28b80 64 65 72 20 74 68 61 6e 20 32 20 77 65 65 6b 73 20 61 72 65 20 6d 61 72 6b 65 64 20 61 73 20 72 der.than.2.weeks.are.marked.as.r
28ba0 65 61 64 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 65 6c 66 65 65 64 2d 6e 65 77 2d 65 6e 74 72 79 2d ead.(add-hook.'elfeed-new-entry-
28bc0 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 6d 61 6b 65 2d 74 61 67 67 hook...........(elfeed-make-tagg
28be0 65 72 20 3a 62 65 66 6f 72 65 20 22 32 20 77 65 65 6b 73 20 61 67 6f 22 0a 20 20 20 20 20 20 20 er.:before."2.weeks.ago"........
28c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 72 65 6d 6f 76 65 20 27 .......................:remove.'
28c20 75 6e 72 65 61 64 29 29 0a 60 60 60 0a 0a 4f 72 20 62 75 69 6c 64 69 6e 67 20 79 6f 75 72 20 6f unread)).```..Or.building.your.o
28c40 77 6e 20 73 75 62 73 65 74 20 66 65 65 64 73 3a 0a 0a 60 60 60 65 6c 0a 28 61 64 64 2d 68 6f 6f wn.subset.feeds:..```el.(add-hoo
28c60 6b 20 27 65 6c 66 65 65 64 2d 6e 65 77 2d 65 6e 74 72 79 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 k.'elfeed-new-entry-hook........
28c80 20 20 20 28 65 6c 66 65 65 64 2d 6d 61 6b 65 2d 74 61 67 67 65 72 20 3a 66 65 65 64 2d 75 72 6c ...(elfeed-make-tagger.:feed-url
28ca0 20 22 65 78 61 6d 70 6c 65 5c 5c 2e 63 6f 6d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."example\\.com"................
28cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 65 6e 74 72 79 2d 74 69 74 6c 65 20 27 28 6e 6f ...............:entry-title.'(no
28ce0 74 20 22 73 6f 6d 65 74 68 69 6e 67 20 69 6e 74 65 72 65 73 74 69 6e 67 22 29 0a 20 20 20 20 20 t."something.interesting")......
28d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 61 64 64 20 27 6a .........................:add.'j
28d20 75 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 20 20 20 20 20 20 unk.............................
28d40 20 20 3a 72 65 6d 6f 76 65 20 27 75 6e 72 65 61 64 29 29 0a 60 60 60 0a 0a 55 73 65 20 60 4d 2d ..:remove.'unread)).```..Use.`M-
28d60 78 20 65 6c 66 65 65 64 2d 61 70 70 6c 79 2d 68 6f 6f 6b 73 2d 6e 6f 77 60 20 74 6f 20 61 70 70 x.elfeed-apply-hooks-now`.to.app
28d80 6c 79 20 60 65 6c 66 65 65 64 2d 6e 65 77 2d 65 6e 74 72 79 2d 68 6f 6f 6b 60 20 74 6f 0a 61 6c ly.`elfeed-new-entry-hook`.to.al
28da0 6c 20 65 78 69 73 74 69 6e 67 20 65 6e 74 72 69 65 73 2e 20 4f 74 68 65 72 77 69 73 65 20 68 6f l.existing.entries..Otherwise.ho
28dc0 6f 6b 73 20 77 69 6c 6c 20 6f 6e 6c 79 20 61 70 70 6c 79 20 74 6f 20 6e 65 77 20 65 6e 74 72 69 oks.will.only.apply.to.new.entri
28de0 65 73 0a 6f 6e 20 64 69 73 63 6f 76 65 72 79 2e 0a 0a 23 23 23 20 43 75 73 74 6f 6d 20 54 61 67 es.on.discovery...###.Custom.Tag
28e00 20 46 61 63 65 73 0a 0a 42 79 20 64 65 66 61 75 6c 74 2c 20 65 6e 74 72 69 65 73 20 6d 61 72 6b .Faces..By.default,.entries.mark
28e20 65 64 20 60 75 6e 72 65 61 64 60 20 77 69 6c 6c 20 68 61 76 65 20 62 6f 6c 64 65 64 20 74 69 74 ed.`unread`.will.have.bolded.tit
28e40 6c 65 73 20 69 6e 20 74 68 65 0a 60 2a 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2a 60 20 6c 69 73 les.in.the.`*elfeed-search*`.lis
28e60 74 69 6e 67 2e 20 59 6f 75 20 63 61 6e 20 63 75 73 74 6f 6d 69 7a 65 20 68 6f 77 20 74 61 67 73 ting..You.can.customize.how.tags
28e80 20 61 66 66 65 63 74 20 61 6e 0a 65 6e 74 72 79 27 73 20 61 70 70 65 61 72 61 6e 63 65 20 62 79 .affect.an.entry's.appearance.by
28ea0 20 63 75 73 74 6f 6d 69 7a 69 6e 67 20 60 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 61 63 65 .customizing.`elfeed-search-face
28ec0 2d 61 6c 69 73 74 60 2e 20 46 6f 72 0a 65 78 61 6d 70 6c 65 2c 20 74 68 69 73 20 63 6f 6e 66 69 -alist`..For.example,.this.confi
28ee0 67 75 72 61 74 69 6f 6e 20 6d 61 6b 65 73 20 65 6e 74 72 69 65 73 20 74 61 67 67 65 64 20 60 69 guration.makes.entries.tagged.`i
28f00 6d 70 6f 72 74 61 6e 74 60 20 73 74 61 6e 64 20 6f 75 74 0a 69 6e 20 72 65 64 2e 0a 0a 7e 7e 7e mportant`.stand.out.in.red...~~~
28f20 65 6c 0a 28 64 65 66 66 61 63 65 20 69 6d 70 6f 72 74 61 6e 74 2d 65 6c 66 65 65 64 2d 65 6e 74 el.(defface.important-elfeed-ent
28f40 72 79 0a 20 20 27 28 28 74 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 66 37 37 22 29 29 0a 20 ry...'((t.:foreground."#f77"))..
28f60 20 22 4d 61 72 6b 73 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 45 6c 66 65 65 64 20 65 6e 74 72 ."Marks.an.important.Elfeed.entr
28f80 79 2e 22 29 0a 0a 28 70 75 73 68 20 27 28 69 6d 70 6f 72 74 61 6e 74 20 69 6d 70 6f 72 74 61 6e y.")..(push.'(important.importan
28fa0 74 2d 65 6c 66 65 65 64 2d 65 6e 74 72 79 29 0a 20 20 20 20 20 20 65 6c 66 65 65 64 2d 73 65 61 t-elfeed-entry).......elfeed-sea
28fc0 72 63 68 2d 66 61 63 65 2d 61 6c 69 73 74 29 0a 7e 7e 7e 0a 0a 41 6c 6c 20 66 61 63 65 73 20 66 rch-face-alist).~~~..All.faces.f
28fe0 72 6f 6d 20 61 6c 6c 20 74 61 67 73 20 77 69 6c 6c 20 62 65 20 61 70 70 6c 69 65 64 20 74 6f 20 rom.all.tags.will.be.applied.to.
29000 74 68 65 20 65 6e 74 72 79 20 74 69 74 6c 65 2e 20 54 68 65 20 66 61 63 65 73 0a 77 69 6c 6c 20 the.entry.title..The.faces.will.
29020 62 65 20 6f 72 64 65 72 65 64 20 61 73 20 74 68 65 79 20 61 70 70 65 61 72 20 69 6e 20 60 65 6c be.ordered.as.they.appear.in.`el
29040 66 65 65 64 2d 73 65 61 72 63 68 2d 66 61 63 65 2d 61 6c 69 73 74 60 2e 0a 0a 23 23 20 42 6f 6f feed-search-face-alist`...##.Boo
29060 6b 6d 61 72 6b 73 0a 0a 46 69 6c 74 65 72 73 20 63 61 6e 20 62 65 20 73 61 76 65 64 20 61 6e 64 kmarks..Filters.can.be.saved.and
29080 20 72 65 73 74 6f 72 65 64 20 75 73 69 6e 67 20 45 6d 61 63 73 27 20 62 75 69 6c 74 2d 69 6e 20 .restored.using.Emacs'.built-in.
290a0 5b 62 6f 6f 6b 6d 61 72 6b 73 0a 66 65 61 74 75 72 65 5d 5b 62 6d 5d 2e 20 57 68 69 6c 65 20 69 [bookmarks.feature][bm]..While.i
290c0 6e 20 74 68 65 20 73 65 61 72 63 68 20 62 75 66 66 65 72 2c 20 75 73 65 20 60 4d 2d 78 20 62 6f n.the.search.buffer,.use.`M-x.bo
290e0 6f 6b 6d 61 72 6b 2d 73 65 74 60 20 74 6f 0a 73 61 76 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 okmark-set`.to.save.the.current.
29100 66 69 6c 74 65 72 2c 20 61 6e 64 20 60 4d 2d 78 20 62 6f 6f 6b 6d 61 72 6b 2d 6a 75 6d 70 60 20 filter,.and.`M-x.bookmark-jump`.
29120 74 6f 20 72 65 73 74 6f 72 65 20 61 20 73 61 76 65 64 0a 66 69 6c 74 65 72 2e 20 45 6d 61 63 73 to.restore.a.saved.filter..Emacs
29140 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 70 65 72 73 69 73 74 73 20 62 6f 6f 6b 6d 61 72 6b .automatically.persists.bookmark
29160 73 20 61 63 72 6f 73 73 20 73 65 73 73 69 6f 6e 73 2e 0a 0a 5b 62 6d 5d 3a 20 68 74 74 70 73 3a s.across.sessions...[bm]:.https:
29180 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e //www.gnu.org/software/emacs/man
291a0 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 42 6f 6f 6b 6d 61 72 6b 73 2e 68 74 ual/html_node/emacs/Bookmarks.ht
291c0 6d 6c 0a 0a 23 23 20 4d 65 74 61 64 61 74 61 20 50 6c 69 73 74 0a 0a 41 6c 6c 20 66 65 65 64 20 ml..##.Metadata.Plist..All.feed.
291e0 61 6e 64 20 65 6e 74 72 79 20 6f 62 6a 65 63 74 73 20 68 61 76 65 20 70 6c 69 73 74 20 77 68 65 and.entry.objects.have.plist.whe
29200 72 65 20 79 6f 75 20 63 61 6e 20 73 74 6f 72 65 20 79 6f 75 72 20 6f 77 6e 0a 61 72 62 69 74 72 re.you.can.store.your.own.arbitr
29220 61 72 79 2c 20 5b 72 65 61 64 61 62 6c 65 20 76 61 6c 75 65 73 5d 5b 72 64 5d 2e 20 54 68 65 73 ary,.[readable.values][rd]..Thes
29240 65 20 76 61 6c 75 65 73 20 61 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 70 65 72 73 69 e.values.are.automatically.persi
29260 73 74 65 64 20 69 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 20 54 68 69 73 20 6d 65 74 61 64 sted.in.the.database..This.metad
29280 61 74 61 20 69 73 20 61 63 63 65 73 73 65 64 20 75 73 69 6e 67 20 74 68 65 0a 70 6f 6c 79 6d 6f ata.is.accessed.using.the.polymo
292a0 72 70 68 69 63 20 60 65 6c 66 65 65 64 2d 6d 65 74 61 60 20 66 75 6e 63 74 69 6f 6e 2e 20 49 74 rphic.`elfeed-meta`.function..It
292c0 27 73 20 73 65 74 66 2d 61 62 6c 65 2e 0a 0a 7e 7e 7e 65 6c 0a 28 73 65 74 66 20 28 65 6c 66 65 's.setf-able...~~~el.(setf.(elfe
292e0 65 64 2d 6d 65 74 61 20 65 6e 74 72 79 20 3a 72 61 74 69 6e 67 29 20 34 29 0a 28 65 6c 66 65 65 ed-meta.entry.:rating).4).(elfee
29300 64 2d 6d 65 74 61 20 65 6e 74 72 79 20 3a 72 61 74 69 6e 67 29 0a 3b 3b 20 3d 3e 20 34 0a 0a 28 d-meta.entry.:rating).;;.=>.4..(
29320 73 65 74 66 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 20 66 65 65 64 20 3a 74 69 74 6c 65 29 20 22 setf.(elfeed-meta.feed.:title)."
29340 4d 79 20 42 65 74 74 65 72 20 54 69 74 6c 65 22 29 0a 7e 7e 7e 0a 0a 45 6c 66 65 65 64 20 69 74 My.Better.Title").~~~..Elfeed.it
29360 73 65 6c 66 20 61 64 64 73 20 73 6f 6d 65 20 65 6e 74 72 69 65 73 20 74 6f 20 74 68 69 73 20 70 self.adds.some.entries.to.this.p
29380 6c 69 73 74 2c 20 73 6f 6d 65 20 66 6f 72 20 79 6f 75 72 20 75 73 65 2c 20 73 6f 6d 65 0a 66 6f list,.some.for.your.use,.some.fo
293a0 72 20 69 74 73 20 6f 77 6e 20 75 73 65 2e 20 48 65 72 65 20 61 72 65 20 74 68 65 20 70 72 6f 70 r.its.own.use..Here.are.the.prop
293c0 65 72 74 69 65 73 20 74 68 61 74 20 45 6c 66 65 65 64 20 75 73 65 73 3a 0a 0a 2a 20 60 3a 61 75 erties.that.Elfeed.uses:..*.`:au
293e0 74 68 6f 72 73 60 20 3a 20 41 20 6c 69 73 74 20 6f 66 20 61 75 74 68 6f 72 20 70 6c 69 73 74 73 thors`.:.A.list.of.author.plists
29400 20 28 60 3a 6e 61 6d 65 60 2c 20 60 3a 75 72 69 60 2c 20 60 3a 65 6d 61 69 6c 60 29 2e 0a 2a 20 .(`:name`,.`:uri`,.`:email`)..*.
29420 60 3a 63 61 6e 6f 6e 69 63 61 6c 2d 75 72 6c 60 20 3a 20 54 68 65 20 66 69 6e 61 6c 20 55 52 4c `:canonical-url`.:.The.final.URL
29440 20 66 6f 72 20 74 68 65 20 66 65 65 64 20 61 66 74 65 72 20 61 6c 6c 20 72 65 64 69 72 65 63 74 .for.the.feed.after.all.redirect
29460 73 2e 0a 2a 20 60 3a 63 61 74 65 67 6f 72 69 65 73 60 20 3a 20 54 68 65 20 66 65 65 64 2d 73 75 s..*.`:categories`.:.The.feed-su
29480 70 70 6c 69 65 64 20 63 61 74 65 67 6f 72 69 65 73 20 66 6f 72 20 74 68 69 73 20 65 6e 74 72 79 pplied.categories.for.this.entry
294a0 2e 0a 2a 20 60 3a 65 74 61 67 60 20 3a 20 48 54 54 50 20 45 74 61 67 20 68 65 61 64 65 72 2c 20 ..*.`:etag`.:.HTTP.Etag.header,.
294c0 66 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 47 45 54 73 2e 0a 2a 20 60 3a 66 61 69 6c 75 72 for.conditional.GETs..*.`:failur
294e0 65 73 60 20 3a 20 4e 75 6d 62 65 72 20 6f 66 20 74 69 6d 65 73 20 74 68 69 73 20 66 65 65 64 20 es`.:.Number.of.times.this.feed.
29500 68 61 73 20 66 61 69 6c 65 64 20 74 6f 20 75 70 64 61 74 65 2e 0a 2a 20 60 3a 6c 61 73 74 2d 6d has.failed.to.update..*.`:last-m
29520 6f 64 69 66 69 65 64 60 20 3a 20 48 54 54 50 20 4c 61 73 74 2d 4d 6f 64 69 66 69 65 64 20 68 65 odified`.:.HTTP.Last-Modified.he
29540 61 64 65 72 2c 20 66 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 47 45 54 73 2e 0a 2a 20 60 3a ader,.for.conditional.GETs..*.`:
29560 74 69 74 6c 65 60 20 3a 20 4f 76 65 72 72 69 64 65 73 20 74 68 65 20 66 65 65 64 2d 73 75 70 70 title`.:.Overrides.the.feed-supp
29580 6c 69 65 64 20 74 69 74 6c 65 20 66 6f 72 20 64 69 73 70 6c 61 79 20 70 75 72 70 6f 73 65 73 2c lied.title.for.display.purposes,
295a0 0a 20 20 62 6f 74 68 20 66 6f 72 20 66 65 65 64 73 20 61 6e 64 20 65 6e 74 72 69 65 73 2e 20 53 ...both.for.feeds.and.entries..S
295c0 65 65 20 61 6c 73 6f 20 60 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 73 65 74 2d 66 65 65 64 2d ee.also.`elfeed-search-set-feed-
295e0 74 69 74 6c 65 60 0a 20 20 61 6e 64 20 60 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 73 65 74 2d title`...and.`elfeed-search-set-
29600 65 6e 74 72 79 2d 74 69 74 6c 65 60 2e 0a 0a 54 68 69 73 20 6c 69 73 74 20 77 69 6c 6c 20 67 72 entry-title`...This.list.will.gr
29620 6f 77 20 69 6e 20 74 69 6d 65 2c 20 73 6f 20 79 6f 75 20 6d 69 67 68 74 20 63 6f 6e 73 69 64 65 ow.in.time,.so.you.might.conside
29640 72 20 6e 61 6d 65 73 70 61 63 69 6e 67 20 79 6f 75 72 0a 6f 77 6e 20 70 72 6f 70 65 72 74 69 65 r.namespacing.your.own.propertie
29660 73 20 74 6f 20 61 76 6f 69 64 20 63 6f 6c 6c 69 73 69 6f 6e 73 20 28 65 2e 67 2e 20 60 3a 78 79 s.to.avoid.collisions.(e.g..`:xy
29680 7a 2f 72 61 74 69 6e 67 60 29 2c 20 6f 72 20 73 69 6d 70 6c 79 20 6e 6f 74 0a 75 73 69 6e 67 20 z/rating`),.or.simply.not.using.
296a0 6b 65 79 77 6f 72 64 73 20 61 73 20 6b 65 79 73 2e 20 45 6c 66 65 65 64 20 77 69 6c 6c 20 61 6c keywords.as.keys..Elfeed.will.al
296c0 77 61 79 73 20 75 73 65 20 6b 65 79 77 6f 72 64 73 20 77 69 74 68 6f 75 74 20 61 0a 73 6c 61 73 ways.use.keywords.without.a.slas
296e0 68 2e 0a 0a 5b 72 64 5d 3a 20 68 74 74 70 3a 2f 2f 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d h...[rd]:.http://nullprogram.com
29700 2f 62 6c 6f 67 2f 32 30 31 33 2f 31 32 2f 33 30 2f 0a 0a 23 23 20 48 6f 6f 6b 73 0a 0a 41 20 6e /blog/2013/12/30/..##.Hooks..A.n
29720 75 6d 62 65 72 20 6f 66 20 68 6f 6f 6b 73 20 61 72 65 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 umber.of.hooks.are.available.to.
29740 63 75 73 74 6f 6d 69 7a 65 20 74 68 65 20 62 65 68 61 76 69 6f 72 20 6f 66 20 45 6c 66 65 65 64 customize.the.behavior.of.Elfeed
29760 20 61 74 0a 6b 65 79 20 70 6f 69 6e 74 73 20 77 69 74 68 6f 75 74 20 72 65 73 6f 72 74 69 6e 67 .at.key.points.without.resorting
29780 20 74 6f 20 61 64 76 69 63 65 2e 0a 0a 2a 20 60 65 6c 66 65 65 64 2d 6e 65 77 2d 65 6e 74 72 79 .to.advice...*.`elfeed-new-entry
297a0 2d 68 6f 6f 6b 60 20 3a 20 43 61 6c 6c 65 64 20 65 61 63 68 20 74 69 6d 65 20 61 20 6e 65 77 20 -hook`.:.Called.each.time.a.new.
297c0 65 6e 74 72 79 20 69 74 20 61 64 64 65 64 20 74 6f 0a 20 20 74 68 65 20 64 61 74 61 62 61 73 65 entry.it.added.to...the.database
297e0 2c 20 61 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 61 75 74 6f 6d 61 74 69 6e 67 20 74 61 67 67 69 6e ,.allowing.for.automating.taggin
29800 67 20 61 6e 64 20 73 75 63 68 2e 0a 2a 20 60 65 6c 66 65 65 64 2d 6e 65 77 2d 65 6e 74 72 79 2d g.and.such..*.`elfeed-new-entry-
29820 70 61 72 73 65 2d 68 6f 6f 6b 60 20 3a 20 43 61 6c 6c 65 64 20 77 69 74 68 20 65 61 63 68 20 6e parse-hook`.:.Called.with.each.n
29840 65 77 20 65 6e 74 72 79 20 61 6e 64 20 74 68 65 0a 20 20 66 75 6c 6c 20 58 4d 4c 20 73 74 72 75 ew.entry.and.the...full.XML.stru
29860 63 74 75 72 65 20 66 72 6f 6d 20 77 68 69 63 68 20 69 74 20 77 61 73 20 70 61 72 73 65 64 2c 20 cture.from.which.it.was.parsed,.
29880 61 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 61 64 64 69 74 69 6f 6e 61 6c 0a 20 20 69 6e 66 6f 72 6d allowing.for.additional...inform
298a0 61 74 69 6f 6e 20 74 6f 20 62 65 20 64 72 61 77 6e 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 ation.to.be.drawn.from.the.origi
298c0 6e 61 6c 20 66 65 65 64 20 58 4d 4c 2e 0a 2a 20 60 65 6c 66 65 65 64 2d 68 74 74 70 2d 65 72 72 nal.feed.XML..*.`elfeed-http-err
298e0 6f 72 2d 68 6f 6f 6b 73 60 20 3a 20 41 6c 6c 6f 77 73 20 66 6f 72 20 73 70 65 63 69 61 6c 20 62 or-hooks`.:.Allows.for.special.b
29900 65 68 61 76 69 6f 72 20 77 68 65 6e 20 48 54 54 50 0a 20 20 65 72 72 6f 72 73 20 6f 63 63 75 72 ehavior.when.HTTP...errors.occur
29920 2c 20 62 65 79 6f 6e 64 20 73 69 6d 70 6c 79 20 6c 6f 67 67 69 6e 67 20 74 68 65 20 65 72 72 6f ,.beyond.simply.logging.the.erro
29940 72 20 74 6f 20 60 2a 65 6c 66 65 65 64 2d 6c 6f 67 2a 60 20 2e 0a 2a 20 60 65 6c 66 65 65 64 2d r.to.`*elfeed-log*`...*.`elfeed-
29960 70 61 72 73 65 2d 65 72 72 6f 72 2d 68 6f 6f 6b 73 60 20 3a 20 41 6c 6c 6f 77 73 20 66 6f 72 20 parse-error-hooks`.:.Allows.for.
29980 73 70 65 63 69 61 6c 20 62 65 68 61 76 69 6f 72 20 77 68 65 6e 20 66 65 65 64 0a 20 20 70 61 72 special.behavior.when.feed...par
299a0 73 69 6e 67 20 66 61 69 6c 73 2c 20 62 65 79 6f 6e 64 20 6c 6f 67 67 69 6e 67 2e 0a 2a 20 60 65 sing.fails,.beyond.logging..*.`e
299c0 6c 66 65 65 64 2d 64 62 2d 75 70 64 61 74 65 2d 68 6f 6f 6b 60 20 3a 20 43 61 6c 6c 65 64 20 61 lfeed-db-update-hook`.:.Called.a
299e0 6e 79 20 74 69 6d 65 20 74 68 65 20 64 61 74 61 62 61 73 65 20 68 61 73 20 68 61 64 20 61 0a 20 ny.time.the.database.has.had.a..
29a00 20 6d 61 6a 6f 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2e 0a 0a 23 23 20 56 69 65 77 69 6e 67 .major.modification...##.Viewing
29a20 20 45 6e 74 72 69 65 73 0a 0a 45 6e 74 72 69 65 73 20 61 72 65 20 76 69 65 77 65 64 20 6c 6f 63 .Entries..Entries.are.viewed.loc
29a40 61 6c 6c 79 20 69 6e 20 45 6d 61 63 73 20 62 79 20 74 79 70 69 6e 67 20 60 52 45 54 60 20 77 68 ally.in.Emacs.by.typing.`RET`.wh
29a60 69 6c 65 20 6f 76 65 72 20 61 6e 0a 65 6e 74 72 79 20 69 6e 20 74 68 65 20 73 65 61 72 63 68 20 ile.over.an.entry.in.the.search.
29a80 6c 69 73 74 69 6e 67 2e 20 54 68 65 20 63 6f 6e 74 65 6e 74 20 77 69 6c 6c 20 62 65 20 64 69 73 listing..The.content.will.be.dis
29aa0 70 6c 61 79 65 64 20 69 6e 20 61 0a 73 65 70 61 72 61 74 65 20 62 75 66 66 65 72 20 75 73 69 6e played.in.a.separate.buffer.usin
29ac0 67 20 60 65 6c 66 65 65 64 2d 73 68 6f 77 2d 6d 6f 64 65 60 2c 20 72 65 6e 64 65 72 65 64 20 75 g.`elfeed-show-mode`,.rendered.u
29ae0 73 69 6e 67 20 45 6d 61 63 73 27 0a 62 75 69 6c 74 2d 69 6e 20 73 68 72 20 70 61 63 6b 61 67 65 sing.Emacs'.built-in.shr.package
29b00 2e 20 54 68 69 73 20 72 65 71 75 69 72 65 73 20 61 6e 20 45 6d 61 63 73 20 63 6f 6d 70 69 6c 65 ..This.requires.an.Emacs.compile
29b20 64 20 77 69 74 68 20 60 6c 69 62 78 6d 6c 32 60 0a 62 69 6e 64 69 6e 67 73 2c 20 77 68 69 63 68 d.with.`libxml2`.bindings,.which
29b40 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 48 54 4d 4c 20 70 61 72 .provides.the.necessary.HTML.par
29b60 73 65 72 2e 0a 0a 53 6f 6d 65 74 69 6d 65 73 20 64 69 73 70 6c 61 79 69 6e 67 20 69 6d 61 67 65 ser...Sometimes.displaying.image
29b80 73 20 63 61 6e 20 73 6c 6f 77 20 64 6f 77 6e 20 6f 72 20 65 76 65 6e 20 63 72 61 73 68 20 45 6d s.can.slow.down.or.even.crash.Em
29ba0 61 63 73 2e 20 53 65 74 0a 60 73 68 72 2d 69 6e 68 69 62 69 74 2d 69 6d 61 67 65 73 60 20 74 6f acs..Set.`shr-inhibit-images`.to
29bc0 20 64 69 73 61 62 6c 65 20 69 6d 61 67 65 73 20 69 66 20 74 68 69 73 20 69 73 20 61 20 70 72 6f .disable.images.if.this.is.a.pro
29be0 62 6c 65 6d 2e 0a 0a 23 23 20 57 65 62 20 49 6e 74 65 72 66 61 63 65 0a 0a 45 6c 66 65 65 64 20 blem...##.Web.Interface..Elfeed.
29c00 69 6e 63 6c 75 64 65 73 20 61 20 64 65 6d 6f 6e 73 74 72 61 74 69 6f 6e 2f 74 6f 79 20 77 65 62 includes.a.demonstration/toy.web
29c20 20 69 6e 74 65 72 66 61 63 65 20 66 6f 72 20 72 65 6d 6f 74 65 20 6e 65 74 77 6f 72 6b 0a 61 63 .interface.for.remote.network.ac
29c40 63 65 73 73 2e 20 49 74 27 73 20 61 20 73 69 6e 67 6c 65 2d 70 61 67 65 20 77 65 62 20 61 70 70 cess..It's.a.single-page.web.app
29c60 6c 69 63 61 74 69 6f 6e 20 74 68 61 74 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 64 61 74 61 62 61 lication.that.follows.the.databa
29c80 73 65 0a 6c 69 76 65 20 61 73 20 6e 65 77 20 65 6e 74 72 69 65 73 20 61 72 72 69 76 65 2e 20 49 se.live.as.new.entries.arrive..I
29ca0 74 27 73 20 70 61 63 6b 61 67 65 64 20 73 65 70 61 72 61 74 65 6c 79 20 61 73 20 60 65 6c 66 65 t's.packaged.separately.as.`elfe
29cc0 65 64 2d 77 65 62 60 2e 0a 54 6f 20 66 69 72 65 20 69 74 20 75 70 2c 20 72 75 6e 20 60 4d 2d 78 ed-web`..To.fire.it.up,.run.`M-x
29ce0 20 65 6c 66 65 65 64 2d 77 65 62 2d 73 74 61 72 74 60 20 61 6e 64 20 76 69 73 69 74 0a 68 74 74 .elfeed-web-start`.and.visit.htt
29d00 70 3a 2f 2f 6c 6f 63 61 6c 68 6f 73 74 3a 38 30 38 30 2f 65 6c 66 65 65 64 2f 20 28 63 68 65 63 p://localhost:8080/elfeed/.(chec
29d20 6b 20 79 6f 75 72 20 60 68 74 74 70 64 2d 70 6f 72 74 60 29 20 77 69 74 68 20 61 0a 62 72 6f 77 k.your.`httpd-port`).with.a.brow
29d40 73 65 72 2e 20 53 65 65 20 74 68 65 20 60 65 6c 66 65 65 64 2d 77 65 62 2e 65 6c 60 20 68 65 61 ser..See.the.`elfeed-web.el`.hea
29d60 64 65 72 20 66 6f 72 20 65 6e 64 70 6f 69 6e 74 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 der.for.endpoint.documentation.i
29d80 66 0a 79 6f 75 27 64 20 6c 69 6b 65 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 45 6c 66 65 65 f.you'd.like.to.access.the.Elfee
29da0 64 20 64 61 74 61 62 61 73 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 65 62 20 41 50 49 2e 0a d.database.through.the.web.API..
29dc0 0a 49 74 27 73 20 72 6f 75 67 68 20 61 6e 64 20 75 6e 66 69 6e 69 73 68 65 64 20 2d 2d 20 6e 6f .It's.rough.and.unfinished.--.no
29de0 20 6b 65 79 62 6f 61 72 64 20 73 68 6f 72 74 63 75 74 73 2c 20 72 65 61 64 2d 6f 6e 6c 79 2c 20 .keyboard.shortcuts,.read-only,.
29e00 6e 6f 0a 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 2c 20 61 6e 64 20 61 20 6e 61 72 72 6f 77 20 no.authentication,.and.a.narrow.
29e20 65 6e 74 72 79 20 76 69 65 77 65 72 2e 20 54 68 69 73 20 69 73 20 62 61 73 69 63 61 6c 6c 79 20 entry.viewer..This.is.basically.
29e40 45 6c 66 65 65 64 27 73 0a 22 6d 6f 62 69 6c 65 22 20 69 6e 74 65 72 66 61 63 65 2e 20 50 61 74 Elfeed's."mobile".interface..Pat
29e60 63 68 65 73 20 77 65 6c 63 6f 6d 65 2e 0a 0a 23 23 20 50 6c 61 74 66 6f 72 6d 20 53 75 70 70 6f ches.welcome...##.Platform.Suppo
29e80 72 74 0a 0a 53 75 6d 6d 61 72 79 3a 20 49 6e 73 74 61 6c 6c 20 63 55 52 4c 20 61 6e 64 20 6d 6f rt..Summary:.Install.cURL.and.mo
29ea0 73 74 20 70 72 6f 62 6c 65 6d 73 20 64 69 73 61 70 70 65 61 72 20 66 6f 72 20 61 6c 6c 20 70 6c st.problems.disappear.for.all.pl
29ec0 61 74 66 6f 72 6d 73 2e 0a 0a 49 20 70 65 72 73 6f 6e 61 6c 6c 79 20 6f 6e 6c 79 20 75 73 65 20 atforms...I.personally.only.use.
29ee0 45 6c 66 65 65 64 20 6f 6e 20 4c 69 6e 75 78 2c 20 62 75 74 20 69 74 27 73 20 6f 63 63 61 73 69 Elfeed.on.Linux,.but.it's.occasi
29f00 6f 6e 61 6c 6c 79 20 74 65 73 74 65 64 20 6f 6e 0a 57 69 6e 64 6f 77 73 2e 20 55 6e 66 6f 72 74 onally.tested.on.Windows..Unfort
29f20 75 6e 61 74 65 6c 79 20 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6f 72 74 20 6f 66 20 45 6d 61 63 unately.the.Windows.port.of.Emac
29f40 73 20 69 73 20 61 20 62 69 74 20 74 6f 6f 20 75 6e 73 74 61 62 6c 65 0a 66 6f 72 20 70 61 72 61 s.is.a.bit.too.unstable.for.para
29f60 6c 6c 65 6c 20 66 65 65 64 20 64 6f 77 6e 6c 6f 61 64 73 20 77 69 74 68 20 60 75 72 6c 2d 72 65 llel.feed.downloads.with.`url-re
29f80 74 72 69 65 76 65 60 2c 20 6e 6f 74 20 74 6f 20 6d 65 6e 74 69 6f 6e 20 74 68 65 0a 5b 74 69 6e trieve`,.not.to.mention.the.[tin
29fa0 79 2c 20 68 61 72 64 2d 63 6f 64 65 64 2c 20 35 31 32 20 6f 70 65 6e 20 64 65 73 63 72 69 70 74 y,.hard-coded,.512.open.descript
29fc0 6f 72 20 6c 69 6d 69 74 61 74 69 6f 6e 5d 5b 66 69 6c 65 73 5d 2c 20 73 6f 20 69 74 0a 6c 69 6d or.limitation][files],.so.it.lim
29fe0 69 74 73 20 69 74 73 65 6c 66 20 74 6f 20 6f 6e 65 20 66 65 65 64 20 61 74 20 61 20 74 69 6d 65 its.itself.to.one.feed.at.a.time
2a000 20 6f 6e 20 74 68 69 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 0a 5b 66 69 6c 65 73 5d 3a 20 68 74 74 .on.this.platform...[files]:.htt
2a020 70 3a 2f 2f 6d 73 64 6e 2e 6d 69 63 72 6f 73 6f 66 74 2e 63 6f 6d 2f 65 6e 2d 75 73 2f 6c 69 62 p://msdn.microsoft.com/en-us/lib
2a040 72 61 72 79 2f 6b 64 66 61 78 61 61 79 25 32 38 76 73 2e 37 31 25 32 39 2e 61 73 70 78 0a 0a 49 rary/kdfaxaay%28vs.71%29.aspx..I
2a060 66 20 79 6f 75 20 66 65 74 63 68 20 48 54 54 50 53 20 66 65 65 64 73 20 77 69 74 68 6f 75 74 20 f.you.fetch.HTTPS.feeds.without.
2a080 63 55 52 4c 20 6f 6e 20 2a 61 6e 79 2a 20 70 6c 61 74 66 6f 72 6d 2c 20 69 74 27 73 0a 65 73 73 cURL.on.*any*.platform,.it's.ess
2a0a0 65 6e 74 69 61 6c 20 74 68 61 74 20 45 6d 61 63 73 20 69 73 20 62 75 69 6c 74 20 77 69 74 68 20 ential.that.Emacs.is.built.with.
2a0c0 74 68 65 20 60 2d 2d 77 69 74 68 2d 67 6e 75 74 6c 73 60 20 6f 70 74 69 6f 6e 2e 0a 4f 74 68 65 the.`--with-gnutls`.option..Othe
2a0e0 72 77 69 73 65 20 45 6d 61 63 73 20 72 75 6e 73 20 67 6e 75 74 6c 73 20 69 6e 20 61 6e 20 69 6e rwise.Emacs.runs.gnutls.in.an.in
2a100 66 65 72 69 6f 72 20 70 72 6f 63 65 73 73 2c 20 77 68 69 63 68 20 72 61 72 65 6c 79 20 77 6f 72 ferior.process,.which.rarely.wor
2a120 6b 73 0a 77 65 6c 6c 2e 0a 0a 23 23 20 44 61 74 61 62 61 73 65 20 4d 61 6e 61 67 65 6d 65 6e 74 ks.well...##.Database.Management
2a140 0a 0a 54 68 65 20 64 61 74 61 62 61 73 65 20 73 68 6f 75 6c 64 20 6b 65 65 70 20 69 74 73 65 6c ..The.database.should.keep.itsel
2a160 66 20 75 6e 64 65 72 20 63 6f 6e 74 72 6f 6c 20 77 69 74 68 6f 75 74 20 61 6e 79 20 6d 61 6e 75 f.under.control.without.any.manu
2a180 61 6c 0a 69 6e 74 65 72 76 65 6e 74 69 6f 6e 2c 20 62 75 74 20 73 74 65 70 73 20 63 61 6e 20 62 al.intervention,.but.steps.can.b
2a1a0 65 20 74 61 6b 65 6e 20 74 6f 20 6d 69 6e 69 6d 69 7a 65 20 74 68 65 20 64 61 74 61 62 61 73 65 e.taken.to.minimize.the.database
2a1c0 20 73 69 7a 65 20 69 66 0a 64 65 73 69 72 65 64 2e 20 54 68 65 20 73 69 6d 70 6c 65 73 74 20 6f .size.if.desired..The.simplest.o
2a1e0 70 74 69 6f 6e 20 69 73 20 74 6f 20 72 75 6e 20 74 68 65 20 60 65 6c 66 65 65 64 2d 64 62 2d 63 ption.is.to.run.the.`elfeed-db-c
2a200 6f 6d 70 61 63 74 60 0a 63 6f 6d 6d 61 6e 64 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 70 61 63 6b ompact`.command,.which.will.pack
2a220 20 74 68 65 20 6c 6f 6f 73 65 2d 66 69 6c 65 20 63 6f 6e 74 65 6e 74 20 64 61 74 61 62 61 73 65 .the.loose-file.content.database
2a240 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 0a 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 2e 20 .into.a.single.compressed.file..
2a260 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 6f 72 6b 73 20 77 65 6c 6c 20 69 6e 20 60 6b 69 6c This.function.works.well.in.`kil
2a280 6c 2d 65 6d 61 63 73 2d 68 6f 6f 6b 60 2e 0a 0a 47 6f 69 6e 67 20 66 75 72 74 68 65 72 2c 20 61 l-emacs-hook`...Going.further,.a
2a2a0 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6c 64 20 62 65 20 61 64 64 65 64 20 74 6f 20 60 65 6c 66 .function.could.be.added.to.`elf
2a2c0 65 65 64 2d 6e 65 77 2d 65 6e 74 72 79 2d 68 6f 6f 6b 60 20 74 6f 0a 73 74 72 69 70 20 75 6e 77 eed-new-entry-hook`.to.strip.unw
2a2e0 61 6e 74 65 64 2f 75 6e 6e 65 65 64 65 64 20 63 6f 6e 74 65 6e 74 20 66 72 6f 6d 20 73 65 6c 65 anted/unneeded.content.from.sele
2a300 63 74 20 65 6e 74 72 69 65 73 20 62 65 66 6f 72 65 20 62 65 69 6e 67 0a 73 74 6f 72 65 64 20 69 ct.entries.before.being.stored.i
2a320 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 66 6f 72 n.the.database..For.example,.for
2a340 20 59 6f 75 54 75 62 65 20 76 69 64 65 6f 73 20 6f 6e 6c 79 20 74 68 65 20 65 6e 74 72 79 0a 6c .YouTube.videos.only.the.entry.l
2a360 69 6e 6b 20 69 73 20 6f 66 20 69 6e 74 65 72 65 73 74 20 61 6e 64 20 74 68 65 20 72 65 67 75 6c ink.is.of.interest.and.the.regul
2a380 61 72 6c 79 2d 63 68 61 6e 67 69 6e 67 20 65 6e 74 72 79 20 63 6f 6e 74 65 6e 74 20 63 6f 75 6c arly-changing.entry.content.coul
2a3a0 64 20 62 65 0a 74 6f 73 73 65 64 20 74 6f 20 73 61 76 65 20 74 69 6d 65 20 61 6e 64 20 73 74 6f d.be.tossed.to.save.time.and.sto
2a3c0 72 61 67 65 2e 0a 0a 23 23 20 53 74 61 74 75 73 20 61 6e 64 20 52 6f 61 64 6d 61 70 0a 0a 45 6c rage...##.Status.and.Roadmap..El
2a3e0 66 65 65 64 20 69 73 20 74 6f 20 74 68 65 20 70 6f 69 6e 74 20 77 68 65 72 65 20 69 74 20 63 61 feed.is.to.the.point.where.it.ca
2a400 6e 20 73 65 72 76 65 20 31 30 30 25 20 6f 66 20 6d 79 20 6f 77 6e 20 77 65 62 20 66 65 65 64 0a n.serve.100%.of.my.own.web.feed.
2a420 6e 65 65 64 73 2e 20 4d 79 20 70 65 72 73 6f 6e 61 6c 20 73 65 6c 65 63 74 69 6f 6e 20 6f 66 20 needs..My.personal.selection.of.
2a440 61 62 6f 75 74 20 31 35 30 20 66 65 65 64 73 20 68 61 73 20 62 65 65 6e 20 61 63 74 69 6e 67 20 about.150.feeds.has.been.acting.
2a460 61 73 20 6d 79 0a 74 65 73 74 20 63 61 73 65 20 61 73 20 49 20 6f 70 74 69 6d 69 7a 65 20 61 6e as.my.test.case.as.I.optimize.an
2a480 64 20 61 64 64 20 66 65 61 74 75 72 65 73 2e 0a 0a 53 6f 6d 65 20 74 68 69 6e 67 73 20 49 20 73 d.add.features...Some.things.I.s
2a4a0 74 69 6c 6c 20 6d 69 67 68 74 20 77 61 6e 74 20 74 6f 20 61 64 64 3a 0a 0a 2a 20 44 61 74 61 62 till.might.want.to.add:..*.Datab
2a4c0 61 73 65 20 73 79 6e 63 68 72 6f 6e 69 7a 61 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 63 6f 6d 70 ase.synchronization.between.comp
2a4e0 75 74 65 72 73 0a 2a 20 50 61 72 61 6c 6c 65 6c 20 66 65 65 64 20 66 65 74 63 68 69 6e 67 20 76 uters.*.Parallel.feed.fetching.v
2a500 69 61 20 73 65 70 61 72 61 74 65 20 45 6d 61 63 73 20 73 75 62 70 72 6f 63 65 73 73 65 73 0a 0a ia.separate.Emacs.subprocesses..
2a520 23 23 20 4d 6f 74 69 76 61 74 69 6f 6e 0a 0a 41 73 20 66 61 72 20 61 73 20 49 20 6b 6e 6f 77 2c ##.Motivation..As.far.as.I.know,
2a540 20 6f 75 74 73 69 64 65 20 6f 66 20 45 6c 66 65 65 64 20 74 68 65 72 65 20 64 6f 65 73 20 6e 6f .outside.of.Elfeed.there.does.no
2a560 74 20 65 78 69 73 74 20 61 6e 0a 65 78 74 65 6e 73 69 62 6c 65 2c 20 74 65 78 74 2d 66 69 6c 65 t.exist.an.extensible,.text-file
2a580 20 63 6f 6e 66 69 67 75 72 65 64 2c 20 70 6f 77 65 72 2d 75 73 65 72 20 77 65 62 20 66 65 65 64 .configured,.power-user.web.feed
2a5a0 20 63 6c 69 65 6e 74 20 74 68 61 74 20 63 61 6e 0a 68 61 6e 64 6c 65 20 61 20 72 65 61 73 6f 6e .client.that.can.handle.a.reason
2a5c0 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 66 65 65 64 73 2e 20 54 68 65 20 65 78 69 73 74 69 able.number.of.feeds..The.existi
2a5e0 6e 67 20 63 6c 69 65 6e 74 73 20 49 27 76 65 20 74 72 69 65 64 0a 61 72 65 20 6d 69 73 73 69 6e ng.clients.I've.tried.are.missin
2a600 67 20 73 6f 6d 65 20 69 6d 70 6f 72 74 61 6e 74 20 63 61 70 61 62 69 6c 69 74 79 20 74 68 61 74 g.some.important.capability.that
2a620 20 6c 69 6d 69 74 73 20 69 74 73 20 75 73 65 66 75 6c 6e 65 73 73 20 74 6f 0a 6d 65 2e 0a 00 00 .limits.its.usefulness.to.me....
2a640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a800 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2d 73 68 6f 77 elfeed-20240331.1348/elfeed-show
2a820 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 00 .el.............................
2a840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a860 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
2a880 30 30 34 35 36 32 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 37 36 36 00 20 30 00 00 00 0045620.00000000000.014766..0...
2a8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a900 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...................
2a920 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...................
2a940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2aa00 3b 3b 3b 20 65 6c 66 65 65 64 2d 73 68 6f 77 2e 65 6c 20 2d 2d 2d 20 64 69 73 70 6c 61 79 20 66 ;;;.elfeed-show.el.---.display.f
2aa20 65 65 64 20 65 6e 74 72 69 65 73 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a eed.entries.-*-.lexical-binding:
2aa40 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 66 72 65 65 20 61 6e 64 20 75 6e 65 .t;.-*-..;;.This.is.free.and.une
2aa60 6e 63 75 6d 62 65 72 65 64 20 73 6f 66 74 77 61 72 65 20 72 65 6c 65 61 73 65 64 20 69 6e 74 6f ncumbered.software.released.into
2aa80 20 74 68 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a .the.public.domain...;;;.Code:..
2aaa0 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 73 68 72 29 (require.'cl-lib).(require.'shr)
2aac0 0a 28 72 65 71 75 69 72 65 20 27 75 72 6c 2d 70 61 72 73 65 29 0a 28 72 65 71 75 69 72 65 20 27 .(require.'url-parse).(require.'
2aae0 62 72 6f 77 73 65 2d 75 72 6c 29 0a 28 72 65 71 75 69 72 65 20 27 6d 65 73 73 61 67 65 29 20 3b browse-url).(require.'message).;
2ab00 20 66 61 63 65 73 0a 28 72 65 71 75 69 72 65 20 27 62 6f 6f 6b 6d 61 72 6b 29 0a 28 62 6f 6f 6b .faces.(require.'bookmark).(book
2ab20 6d 61 72 6b 2d 6d 61 79 62 65 2d 6c 6f 61 64 2d 64 65 66 61 75 6c 74 2d 66 69 6c 65 29 0a 0a 28 mark-maybe-load-default-file)..(
2ab40 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 64 29 0a 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 require.'elfeed).(require.'elfee
2ab60 64 2d 64 62 29 0a 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 64 2d 6c 69 62 29 0a 28 72 65 71 d-db).(require.'elfeed-lib).(req
2ab80 75 69 72 65 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d uire.'elfeed-search)..(defcustom
2aba0 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 74 72 75 6e 63 61 74 65 2d 6c 6f 6e 67 2d 75 72 6c 73 20 .elfeed-show-truncate-long-urls.
2abc0 74 0a 20 20 22 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 75 73 65 20 61 6e 20 65 6c 6c 69 70 73 t..."When.non-nil,.use.an.ellips
2abe0 69 73 20 74 6f 20 73 68 6f 72 74 65 6e 20 76 65 72 79 20 6c 6f 6e 67 20 64 69 73 70 6c 61 79 65 is.to.shorten.very.long.displaye
2ac00 64 20 55 52 4c 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 d.URLs."...:group.'elfeed...:typ
2ac20 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 73 e.'boolean)..(defcustom.elfeed-s
2ac40 68 6f 77 2d 65 6e 74 72 79 2d 61 75 74 68 6f 72 20 74 0a 20 20 22 57 68 65 6e 20 6e 6f 6e 2d 6e how-entry-author.t..."When.non-n
2ac60 69 6c 2c 20 73 68 6f 77 20 74 68 65 20 65 6e 74 72 79 27 73 20 61 75 74 68 6f 72 20 28 69 66 20 il,.show.the.entry's.author.(if.
2ac80 69 74 27 73 20 69 6e 20 74 68 65 20 65 6e 74 72 79 27 73 20 6d 65 74 61 64 61 74 61 29 2e 22 0a it's.in.the.entry's.metadata).".
2aca0 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 ..:group.'elfeed...:type.'boolea
2acc0 6e 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 20 6e 69 n)..(defvar.elfeed-show-entry.ni
2ace0 6c 0a 20 20 22 54 68 65 20 65 6e 74 72 79 20 62 65 69 6e 67 20 64 69 73 70 6c 61 79 65 64 20 69 l..."The.entry.being.displayed.i
2ad00 6e 20 74 68 69 73 20 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 n.this.buffer.")..(defcustom.elf
2ad20 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 2d 73 77 69 74 63 68 20 23 27 73 77 69 74 63 68 2d 74 eed-show-entry-switch.#'switch-t
2ad40 6f 2d 62 75 66 66 65 72 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 75 73 65 64 20 74 6f 20 64 69 73 o-buffer..."Function.used.to.dis
2ad60 70 6c 61 79 20 74 68 65 20 66 65 65 64 20 65 6e 74 72 79 20 62 75 66 66 65 72 2e 22 0a 20 20 3a play.the.feed.entry.buffer."...:
2ad80 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 28 group.'elfeed...:type.'(choice.(
2ada0 66 75 6e 63 74 69 6f 6e 2d 69 74 65 6d 20 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 29 0a function-item.switch-to-buffer).
2adc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 2d 69 74 65 6d 20 .................(function-item.
2ade0 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pop-to-buffer)..................
2ae00 66 75 6e 63 74 69 6f 6e 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 73 68 function))..(defcustom.elfeed-sh
2ae20 6f 77 2d 65 6e 74 72 79 2d 64 65 6c 65 74 65 20 23 27 65 6c 66 65 65 64 2d 6b 69 6c 6c 2d 62 75 ow-entry-delete.#'elfeed-kill-bu
2ae40 66 66 65 72 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 71 75 69 ffer..."Function.called.when.qui
2ae60 74 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 65 6c 66 65 65 64 2d 65 6e 74 72 79 20 62 75 66 66 tting.from.the.elfeed-entry.buff
2ae80 65 72 2e 0a 43 61 6c 6c 65 64 20 77 69 74 68 6f 75 74 20 61 72 67 75 6d 65 6e 74 73 2e 22 0a 20 er..Called.without.arguments."..
2aea0 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 .:group.'elfeed...:type.'(choice
2aec0 20 28 66 75 6e 63 74 69 6f 6e 2d 69 74 65 6d 20 65 6c 66 65 65 64 2d 6b 69 6c 6c 2d 62 75 66 66 .(function-item.elfeed-kill-buff
2aee0 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 2d 69 er)..................(function-i
2af00 74 65 6d 20 64 65 6c 65 74 65 2d 77 69 6e 64 6f 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 tem.delete-window)..............
2af20 20 20 20 20 66 75 6e 63 74 69 6f 6e 29 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 73 ....function))..(defvar.elfeed-s
2af40 68 6f 77 2d 72 65 66 72 65 73 68 2d 66 75 6e 63 74 69 6f 6e 20 23 27 65 6c 66 65 65 64 2d 73 68 how-refresh-function.#'elfeed-sh
2af60 6f 77 2d 72 65 66 72 65 73 68 2d 2d 6d 61 69 6c 2d 73 74 79 6c 65 0a 20 20 22 46 75 6e 63 74 69 ow-refresh--mail-style..."Functi
2af80 6f 6e 20 63 61 6c 6c 65 64 20 74 6f 20 72 65 66 72 65 73 68 20 74 68 65 20 60 2a 65 6c 66 65 65 on.called.to.refresh.the.`*elfee
2afa0 64 2d 65 6e 74 72 79 2a 27 20 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 d-entry*'.buffer.")..(defvar.elf
2afc0 65 65 64 2d 73 68 6f 77 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 28 6c 65 74 20 28 28 6d 61 70 20 28 eed-show-mode-map...(let.((map.(
2afe0 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 70 72 6f 67 31 make-sparse-keymap))).....(prog1
2b000 20 6d 61 70 0a 20 20 20 20 20 20 28 73 75 70 70 72 65 73 73 2d 6b 65 79 6d 61 70 20 6d 61 70 29 .map.......(suppress-keymap.map)
2b020 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 68 22 20 23 27 64 65 73 .......(define-key.map."h".#'des
2b040 63 72 69 62 65 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 cribe-mode).......(define-key.ma
2b060 70 20 22 64 22 20 23 27 65 6c 66 65 65 64 2d 73 68 6f 77 2d 73 61 76 65 2d 65 6e 63 6c 6f 73 75 p."d".#'elfeed-show-save-enclosu
2b080 72 65 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 71 22 20 23 27 re).......(define-key.map."q".#'
2b0a0 65 6c 66 65 65 64 2d 6b 69 6c 6c 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e elfeed-kill-buffer).......(defin
2b0c0 65 2d 6b 65 79 20 6d 61 70 20 22 67 22 20 23 27 65 6c 66 65 65 64 2d 73 68 6f 77 2d 72 65 66 72 e-key.map."g".#'elfeed-show-refr
2b0e0 65 73 68 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 6e 22 20 23 esh).......(define-key.map."n".#
2b100 27 65 6c 66 65 65 64 2d 73 68 6f 77 2d 6e 65 78 74 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 'elfeed-show-next).......(define
2b120 2d 6b 65 79 20 6d 61 70 20 22 70 22 20 23 27 65 6c 66 65 65 64 2d 73 68 6f 77 2d 70 72 65 76 29 -key.map."p".#'elfeed-show-prev)
2b140 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 73 22 20 23 27 65 6c 66 .......(define-key.map."s".#'elf
2b160 65 65 64 2d 73 68 6f 77 2d 6e 65 77 2d 6c 69 76 65 2d 73 65 61 72 63 68 29 0a 20 20 20 20 20 20 eed-show-new-live-search).......
2b180 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 62 22 20 23 27 65 6c 66 65 65 64 2d 73 68 6f (define-key.map."b".#'elfeed-sho
2b1a0 77 2d 76 69 73 69 74 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 w-visit).......(define-key.map."
2b1c0 79 22 20 23 27 65 6c 66 65 65 64 2d 73 68 6f 77 2d 79 61 6e 6b 29 0a 20 20 20 20 20 20 28 64 65 y".#'elfeed-show-yank).......(de
2b1e0 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 75 22 20 23 27 65 6c 66 65 65 64 2d 73 68 6f 77 2d 74 fine-key.map."u".#'elfeed-show-t
2b200 61 67 2d 2d 75 6e 72 65 61 64 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 ag--unread).......(define-key.ma
2b220 70 20 22 2b 22 20 23 27 65 6c 66 65 65 64 2d 73 68 6f 77 2d 74 61 67 29 0a 20 20 20 20 20 20 28 p."+".#'elfeed-show-tag).......(
2b240 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 2d 22 20 23 27 65 6c 66 65 65 64 2d 73 68 6f 77 define-key.map."-".#'elfeed-show
2b260 2d 75 6e 74 61 67 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 3c -untag).......(define-key.map."<
2b280 22 20 23 27 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 28 ".#'beginning-of-buffer).......(
2b2a0 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 3e 22 20 23 27 65 6e 64 2d 6f 66 2d 62 75 66 66 define-key.map.">".#'end-of-buff
2b2c0 65 72 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 er).......(define-key.map.(kbd."
2b2e0 53 50 43 22 29 20 23 27 73 63 72 6f 6c 6c 2d 75 70 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 20 SPC").#'scroll-up-command)......
2b300 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 44 45 4c 22 29 20 23 27 73 .(define-key.map.(kbd."DEL").#'s
2b320 63 72 6f 6c 6c 2d 64 6f 77 6e 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e croll-down-command).......(defin
2b340 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 54 41 42 22 29 20 23 27 65 6c 66 65 65 64 2d 73 e-key.map.(kbd."TAB").#'elfeed-s
2b360 68 6f 77 2d 6e 65 78 74 2d 6c 69 6e 6b 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 how-next-link).......(define-key
2b380 20 6d 61 70 20 22 5c 65 5c 74 22 20 23 27 73 68 72 2d 70 72 65 76 69 6f 75 73 2d 6c 69 6e 6b 29 .map."\e\t".#'shr-previous-link)
2b3a0 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 62 61 63 6b 74 61 62 5d .......(define-key.map.[backtab]
2b3c0 20 23 27 73 68 72 2d 70 72 65 76 69 6f 75 73 2d 6c 69 6e 6b 29 0a 20 20 20 20 20 20 28 64 65 66 .#'shr-previous-link).......(def
2b3e0 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 63 22 20 23 27 65 6c 66 65 65 64 2d 6b 69 6c 6c 2d 6c 69 ine-key.map."c".#'elfeed-kill-li
2b400 6e 6b 2d 75 72 6c 2d 61 74 2d 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b nk-url-at-point).......(define-k
2b420 65 79 20 6d 61 70 20 5b 6d 6f 75 73 65 2d 32 5d 20 23 27 73 68 72 2d 62 72 6f 77 73 65 2d 75 72 ey.map.[mouse-2].#'shr-browse-ur
2b440 6c 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 41 22 20 23 27 65 l).......(define-key.map."A".#'e
2b460 6c 66 65 65 64 2d 73 68 6f 77 2d 61 64 64 2d 65 6e 63 6c 6f 73 75 72 65 2d 74 6f 2d 70 6c 61 79 lfeed-show-add-enclosure-to-play
2b480 6c 69 73 74 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 50 22 20 list).......(define-key.map."P".
2b4a0 23 27 65 6c 66 65 65 64 2d 73 68 6f 77 2d 70 6c 61 79 2d 65 6e 63 6c 6f 73 75 72 65 29 29 29 0a #'elfeed-show-play-enclosure))).
2b4c0 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 60 65 6c 66 65 65 64 2d 73 68 6f 77 2d 6d 6f 64 65 27 .."Keymap.for.`elfeed-show-mode'
2b4e0 2e 22 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 6d 6f 64 65 20 28 29 0a .")..(defun.elfeed-show-mode.().
2b500 20 20 22 4d 6f 64 65 20 66 6f 72 20 64 69 73 70 6c 61 79 69 6e 67 20 45 6c 66 65 65 64 20 66 65 .."Mode.for.displaying.Elfeed.fe
2b520 65 64 20 65 6e 74 72 69 65 73 2e 0a 5c 5c 7b 65 6c 66 65 65 64 2d 73 68 6f 77 2d 6d 6f 64 65 2d ed.entries..\\{elfeed-show-mode-
2b540 6d 61 70 7d 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6b 69 6c 6c 2d 61 6c map}"...(interactive)...(kill-al
2b560 6c 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 73 29 0a 20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d l-local-variables)...(use-local-
2b580 6d 61 70 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 6d 6f 64 65 2d 6d 61 70 29 0a 20 20 28 73 65 74 map.elfeed-show-mode-map)...(set
2b5a0 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 65 6c 66 65 65 64 2d 73 68 6f 77 2d 6d 6f 64 65 0a 20 q.major-mode.'elfeed-show-mode..
2b5c0 20 20 20 20 20 20 20 6d 6f 64 65 2d 6e 61 6d 65 20 22 65 6c 66 65 65 64 2d 73 68 6f 77 22 0a 20 .......mode-name."elfeed-show"..
2b5e0 20 20 20 20 20 20 20 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 0a 20 20 28 62 75 .......buffer-read-only.t)...(bu
2b600 66 66 65 72 2d 64 69 73 61 62 6c 65 2d 75 6e 64 6f 29 0a 20 20 28 6d 61 6b 65 2d 6c 6f 63 61 6c ffer-disable-undo)...(make-local
2b620 2d 76 61 72 69 61 62 6c 65 20 27 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 0a 20 20 -variable.'elfeed-show-entry)...
2b640 28 73 65 74 20 28 6d 61 6b 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 27 62 6f 6f 6b 6d (set.(make-local-variable.'bookm
2b660 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 2d 66 75 6e 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 ark-make-record-function).......
2b680 20 23 27 65 6c 66 65 65 64 2d 73 68 6f 77 2d 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 .#'elfeed-show-bookmark-make-rec
2b6a0 6f 72 64 29 0a 20 20 28 72 75 6e 2d 6d 6f 64 65 2d 68 6f 6f 6b 73 20 27 65 6c 66 65 65 64 2d 73 ord)...(run-mode-hooks.'elfeed-s
2b6c0 68 6f 77 2d 6d 6f 64 65 2d 68 6f 6f 6b 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 65 6c 66 65 how-mode-hook))..(defalias.'elfe
2b6e0 65 64 2d 73 68 6f 77 2d 74 61 67 2d 2d 75 6e 72 65 61 64 0a 20 20 28 65 6c 66 65 65 64 2d 65 78 ed-show-tag--unread...(elfeed-ex
2b700 70 6f 73 65 20 23 27 65 6c 66 65 65 64 2d 73 68 6f 77 2d 74 61 67 20 27 75 6e 72 65 61 64 29 0a pose.#'elfeed-show-tag.'unread).
2b720 20 20 22 4d 61 72 6b 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6e 74 72 79 20 75 6e 72 65 61 64 .."Mark.the.current.entry.unread
2b740 2e 22 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 69 6e 73 65 72 74 2d 68 74 6d 6c 20 28 .")..(defun.elfeed-insert-html.(
2b760 68 74 6d 6c 20 26 6f 70 74 69 6f 6e 61 6c 20 62 61 73 65 2d 75 72 6c 29 0a 20 20 22 43 6f 6e 76 html.&optional.base-url)..."Conv
2b780 65 72 74 65 64 20 48 54 4d 4c 20 6d 61 72 6b 75 70 20 74 6f 20 61 20 70 72 6f 70 65 72 74 69 7a erted.HTML.markup.to.a.propertiz
2b7a0 65 64 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 73 68 72 2d 69 6e 73 65 72 74 2d 64 6f 63 75 6d 65 ed.string."...(shr-insert-docume
2b7c0 6e 74 0a 20 20 20 28 69 66 20 28 65 6c 66 65 65 64 2d 6c 69 62 78 6d 6c 2d 73 75 70 70 6f 72 74 nt....(if.(elfeed-libxml-support
2b7e0 65 64 2d 70 29 0a 20 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 ed-p)........(with-temp-buffer..
2b800 20 20 20 20 20 20 20 20 3b 3b 20 69 6e 73 65 72 74 20 3c 62 61 73 65 3e 20 74 6f 20 77 6f 72 6b ........;;.insert.<base>.to.work
2b820 20 61 72 6f 75 6e 64 20 6c 69 62 78 6d 6c 2d 70 61 72 73 65 2d 68 74 6d 6c 2d 72 65 67 69 6f 6e .around.libxml-parse-html-region
2b840 20 62 75 67 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 62 61 73 65 2d 75 72 6c 0a 20 20 20 .bug..........(when.base-url....
2b860 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 3c 62 61 73 65 20 68 ........(insert.(format."<base.h
2b880 72 65 66 3d 5c 22 25 73 5c 22 3e 22 20 62 61 73 65 2d 75 72 6c 29 29 29 0a 20 20 20 20 20 20 20 ref=\"%s\">".base-url)))........
2b8a0 20 20 28 69 6e 73 65 72 74 20 68 74 6d 6c 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 62 78 6d 6c ..(insert.html)..........(libxml
2b8c0 2d 70 61 72 73 65 2d 68 74 6d 6c 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 -parse-html-region.(point-min).(
2b8e0 70 6f 69 6e 74 2d 6d 61 78 29 20 62 61 73 65 2d 75 72 6c 29 29 0a 20 20 20 20 20 27 28 69 20 28 point-max).base-url))......'(i.(
2b900 29 20 22 45 6c 66 65 65 64 3a 20 6c 69 62 78 6d 6c 32 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 )."Elfeed:.libxml2.functionality
2b920 20 69 73 20 75 6e 61 76 61 69 6c 61 62 6c 65 22 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 .is.unavailable"))))..(cl-defun.
2b940 65 6c 66 65 65 64 2d 69 6e 73 65 72 74 2d 6c 69 6e 6b 20 28 75 72 6c 20 26 6f 70 74 69 6f 6e 61 elfeed-insert-link.(url.&optiona
2b960 6c 20 28 63 6f 6e 74 65 6e 74 20 75 72 6c 29 29 0a 20 20 22 49 6e 73 65 72 74 20 61 20 63 6c 69 l.(content.url))..."Insert.a.cli
2b980 63 6b 61 62 6c 65 20 68 79 70 65 72 6c 69 6e 6b 20 74 6f 20 55 52 4c 20 74 69 74 6c 65 64 20 43 ckable.hyperlink.to.URL.titled.C
2b9a0 4f 4e 54 45 4e 54 2e 22 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 65 6c 66 65 65 64 2d 73 68 6f ONTENT."...(when.(and.elfeed-sho
2b9c0 77 2d 74 72 75 6e 63 61 74 65 2d 6c 6f 6e 67 2d 75 72 6c 73 0a 20 20 20 20 20 20 20 20 20 20 20 w-truncate-long-urls............
2b9e0 20 20 28 69 6e 74 65 67 65 72 70 20 73 68 72 2d 77 69 64 74 68 29 0a 20 20 20 20 20 20 20 20 20 ..(integerp.shr-width)..........
2ba00 20 20 20 20 28 3e 20 28 6c 65 6e 67 74 68 20 63 6f 6e 74 65 6e 74 29 20 28 2d 20 73 68 72 2d 77 ....(>.(length.content).(-.shr-w
2ba20 69 64 74 68 20 38 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 6c 65 6e 20 28 2d 20 28 2f 20 73 idth.8))).....(let.((len.(-.(/.s
2ba40 68 72 2d 77 69 64 74 68 20 32 29 20 31 30 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 6f hr-width.2).10))).......(setq.co
2ba60 6e 74 65 6e 74 20 28 66 6f 72 6d 61 74 20 22 25 73 5b 2e 2e 2e 5d 25 73 22 0a 20 20 20 20 20 20 ntent.(format."%s[...]%s".......
2ba80 20 20 20 20 20 20 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 ......................(substring
2baa0 20 63 6f 6e 74 65 6e 74 20 30 20 6c 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .content.0.len).................
2bac0 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 63 6f 6e 74 65 6e 74 20 28 ............(substring.content.(
2bae0 2d 20 6c 65 6e 29 29 29 29 29 29 0a 20 20 28 65 6c 66 65 65 64 2d 69 6e 73 65 72 74 2d 68 74 6d -.len))))))...(elfeed-insert-htm
2bb00 6c 20 28 66 6f 72 6d 61 74 20 22 3c 61 20 68 72 65 66 3d 5c 22 25 73 5c 22 3e 25 73 3c 2f 61 3e l.(format."<a.href=\"%s\">%s</a>
2bb20 22 20 75 72 6c 20 63 6f 6e 74 65 6e 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d ".url.content)))..(defun.elfeed-
2bb40 63 6f 6d 70 75 74 65 2d 62 61 73 65 20 28 75 72 6c 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 compute-base.(url)..."Return.the
2bb60 20 62 61 73 65 20 55 52 4c 20 66 6f 72 20 55 52 4c 2c 20 75 73 65 66 75 6c 20 66 6f 72 20 72 65 .base.URL.for.URL,.useful.for.re
2bb80 6c 61 74 69 76 65 20 70 61 74 68 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 6f 62 6a 20 28 75 72 6c lative.paths."...(let.((obj.(url
2bba0 2d 67 65 6e 65 72 69 63 2d 70 61 72 73 65 2d 75 72 6c 20 75 72 6c 29 29 29 0a 20 20 20 20 28 73 -generic-parse-url.url))).....(s
2bbc0 65 74 66 20 28 75 72 6c 2d 66 69 6c 65 6e 61 6d 65 20 6f 62 6a 29 20 6e 69 6c 29 0a 20 20 20 20 etf.(url-filename.obj).nil).....
2bbe0 28 73 65 74 66 20 28 75 72 6c 2d 74 61 72 67 65 74 20 6f 62 6a 29 20 6e 69 6c 29 0a 20 20 20 20 (setf.(url-target.obj).nil).....
2bc00 28 75 72 6c 2d 72 65 63 72 65 61 74 65 2d 75 72 6c 20 6f 62 6a 29 29 29 0a 0a 28 64 65 66 75 6e (url-recreate-url.obj)))..(defun
2bc20 20 65 6c 66 65 65 64 2d 2d 73 68 6f 77 2d 66 6f 72 6d 61 74 2d 61 75 74 68 6f 72 20 28 61 75 74 .elfeed--show-format-author.(aut
2bc40 68 6f 72 29 0a 20 20 22 46 6f 72 6d 61 74 20 61 75 74 68 6f 72 20 70 6c 69 73 74 20 66 6f 72 20 hor)..."Format.author.plist.for.
2bc60 74 68 65 20 68 65 61 64 65 72 2e 22 0a 20 20 28 63 6c 2d 64 65 73 74 72 75 63 74 75 72 69 6e 67 the.header."...(cl-destructuring
2bc80 2d 62 69 6e 64 20 28 26 6b 65 79 20 6e 61 6d 65 20 75 72 69 20 65 6d 61 69 6c 20 26 61 6c 6c 6f -bind.(&key.name.uri.email.&allo
2bca0 77 2d 6f 74 68 65 72 2d 6b 65 79 73 29 0a 20 20 20 20 20 20 61 75 74 68 6f 72 0a 20 20 20 20 28 w-other-keys).......author.....(
2bcc0 63 6f 6e 64 20 28 28 61 6e 64 20 6e 61 6d 65 20 75 72 69 20 65 6d 61 69 6c 29 0a 20 20 20 20 20 cond.((and.name.uri.email)......
2bce0 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 20 3c 25 73 3e 20 28 25 73 29 22 20 6e 61 6d ......(format."%s.<%s>.(%s)".nam
2bd00 65 20 65 6d 61 69 6c 20 75 72 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 6e 61 e.email.uri))...........((and.na
2bd20 6d 65 20 65 6d 61 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 me.email)............(format."%s
2bd40 20 3c 25 73 3e 22 20 6e 61 6d 65 20 65 6d 61 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 .<%s>".name.email))...........((
2bd60 61 6e 64 20 6e 61 6d 65 20 75 72 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 and.name.uri)............(format
2bd80 20 22 25 73 20 28 25 73 29 22 20 6e 61 6d 65 20 75 72 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 ."%s.(%s)".name.uri))...........
2bda0 28 6e 61 6d 65 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 6d 61 69 6c 20 65 6d 61 (name.name)...........(email.ema
2bdc0 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 75 72 69 20 75 72 69 29 0a 20 20 20 20 20 20 20 20 il)...........(uri.uri).........
2bde0 20 20 28 22 5b 75 6e 6b 6e 6f 77 6e 5d 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 ..("[unknown]"))))..(defun.elfee
2be00 64 2d 73 68 6f 77 2d 72 65 66 72 65 73 68 2d 2d 6d 61 69 6c 2d 73 74 79 6c 65 20 28 29 0a 20 20 d-show-refresh--mail-style.()...
2be20 22 55 70 64 61 74 65 20 74 68 65 20 62 75 66 66 65 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 "Update.the.buffer.to.match.the.
2be40 73 65 6c 65 63 74 65 64 20 65 6e 74 72 79 2c 20 75 73 69 6e 67 20 61 20 6d 61 69 6c 2d 73 74 79 selected.entry,.using.a.mail-sty
2be60 6c 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 2a 20 28 28 69 le."...(interactive)...(let*.((i
2be80 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 0a 20 20 20 20 20 20 20 20 20 28 74 69 nhibit-read-only.t)..........(ti
2bea0 74 6c 65 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 69 74 6c 65 20 65 6c 66 65 65 64 2d 73 tle.(elfeed-entry-title.elfeed-s
2bec0 68 6f 77 2d 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 61 74 65 20 28 73 65 63 6f how-entry))..........(date.(seco
2bee0 6e 64 73 2d 74 6f 2d 74 69 6d 65 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 64 61 74 65 20 65 nds-to-time.(elfeed-entry-date.e
2bf00 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 75 lfeed-show-entry)))..........(au
2bf20 74 68 6f 72 73 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 thors.(elfeed-meta.elfeed-show-e
2bf40 6e 74 72 79 20 3a 61 75 74 68 6f 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 6e 6b 20 28 ntry.:authors))..........(link.(
2bf60 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 6c 69 6e 6b 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e elfeed-entry-link.elfeed-show-en
2bf80 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 61 67 73 20 28 65 6c 66 65 65 64 2d 65 6e 74 try))..........(tags.(elfeed-ent
2bfa0 72 79 2d 74 61 67 73 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 0a 20 20 20 20 ry-tags.elfeed-show-entry)).....
2bfc0 20 20 20 20 20 28 74 61 67 73 73 74 72 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 73 79 6d 62 6f .....(tagsstr.(mapconcat.#'symbo
2bfe0 6c 2d 6e 61 6d 65 20 74 61 67 73 20 22 2c 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 69 63 l-name.tags.",."))..........(nic
2c000 65 64 61 74 65 20 28 66 6f 72 6d 61 74 2d 74 69 6d 65 2d 73 74 72 69 6e 67 20 22 25 61 2c 20 25 edate.(format-time-string."%a,.%
2c020 65 20 25 62 20 25 59 20 25 54 20 25 5a 22 20 64 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 e.%b.%Y.%T.%Z".date))..........(
2c040 63 6f 6e 74 65 6e 74 20 28 65 6c 66 65 65 64 2d 64 65 72 65 66 20 28 65 6c 66 65 65 64 2d 65 6e content.(elfeed-deref.(elfeed-en
2c060 74 72 79 2d 63 6f 6e 74 65 6e 74 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 29 try-content.elfeed-show-entry)))
2c080 0a 20 20 20 20 20 20 20 20 20 28 74 79 70 65 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 63 6f ..........(type.(elfeed-entry-co
2c0a0 6e 74 65 6e 74 2d 74 79 70 65 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 0a 20 ntent-type.elfeed-show-entry))..
2c0c0 20 20 20 20 20 20 20 20 28 66 65 65 64 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 66 65 65 64 ........(feed.(elfeed-entry-feed
2c0e0 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 .elfeed-show-entry))..........(f
2c100 65 65 64 2d 74 69 74 6c 65 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 74 69 74 6c 65 20 66 65 65 eed-title.(elfeed-feed-title.fee
2c120 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 62 61 73 65 20 28 61 6e 64 20 66 65 65 64 20 28 65 6c d))..........(base.(and.feed.(el
2c140 66 65 65 64 2d 63 6f 6d 70 75 74 65 2d 62 61 73 65 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 75 feed-compute-base.(elfeed-feed-u
2c160 72 6c 20 66 65 65 64 29 29 29 29 29 0a 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a rl.feed))))).....(erase-buffer).
2c180 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 28 70 72 6f 70 65 72 74 69 7a 65 20 ....(insert.(format.(propertize.
2c1a0 22 54 69 74 6c 65 3a 20 25 73 5c 6e 22 20 27 66 61 63 65 20 27 6d 65 73 73 61 67 65 2d 68 65 61 "Title:.%s\n".'face.'message-hea
2c1c0 64 65 72 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 der-name).....................(p
2c1e0 72 6f 70 65 72 74 69 7a 65 20 74 69 74 6c 65 20 27 66 61 63 65 20 27 6d 65 73 73 61 67 65 2d 68 ropertize.title.'face.'message-h
2c200 65 61 64 65 72 2d 73 75 62 6a 65 63 74 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 65 6c 66 65 65 eader-subject))).....(when.elfee
2c220 64 2d 73 68 6f 77 2d 65 6e 74 72 79 2d 61 75 74 68 6f 72 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 d-show-entry-author.......(dolis
2c240 74 20 28 61 75 74 68 6f 72 20 61 75 74 68 6f 72 73 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 t.(author.authors).........(let.
2c260 28 28 66 6f 72 6d 61 74 74 65 64 20 28 65 6c 66 65 65 64 2d 2d 73 68 6f 77 2d 66 6f 72 6d 61 74 ((formatted.(elfeed--show-format
2c280 2d 61 75 74 68 6f 72 20 61 75 74 68 6f 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 -author.author)))...........(ins
2c2a0 65 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 28 70 72 6f 70 65 72 74 69 ert............(format.(properti
2c2c0 7a 65 20 22 41 75 74 68 6f 72 3a 20 25 73 5c 6e 22 20 27 66 61 63 65 20 27 6d 65 73 73 61 67 65 ze."Author:.%s\n".'face.'message
2c2e0 2d 68 65 61 64 65 72 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -header-name)...................
2c300 20 28 70 72 6f 70 65 72 74 69 7a 65 20 66 6f 72 6d 61 74 74 65 64 20 27 66 61 63 65 20 27 6d 65 .(propertize.formatted.'face.'me
2c320 73 73 61 67 65 2d 68 65 61 64 65 72 2d 74 6f 29 29 29 29 29 29 0a 20 20 20 20 28 69 6e 73 65 72 ssage-header-to)))))).....(inser
2c340 74 20 28 66 6f 72 6d 61 74 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 44 61 74 65 3a 20 25 73 5c t.(format.(propertize."Date:.%s\
2c360 6e 22 20 27 66 61 63 65 20 27 6d 65 73 73 61 67 65 2d 68 65 61 64 65 72 2d 6e 61 6d 65 29 0a 20 n".'face.'message-header-name)..
2c380 20 20 20 20 20 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 6e ...................(propertize.n
2c3a0 69 63 65 64 61 74 65 20 27 66 61 63 65 20 27 6d 65 73 73 61 67 65 2d 68 65 61 64 65 72 2d 6f 74 icedate.'face.'message-header-ot
2c3c0 68 65 72 29 29 29 0a 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 28 70 72 6f 70 her))).....(insert.(format.(prop
2c3e0 65 72 74 69 7a 65 20 22 46 65 65 64 3a 20 25 73 5c 6e 22 20 27 66 61 63 65 20 27 6d 65 73 73 61 ertize."Feed:.%s\n".'face.'messa
2c400 67 65 2d 68 65 61 64 65 72 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ge-header-name).................
2c420 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 66 65 65 64 2d 74 69 74 6c 65 20 27 66 61 63 65 ....(propertize.feed-title.'face
2c440 20 27 6d 65 73 73 61 67 65 2d 68 65 61 64 65 72 2d 6f 74 68 65 72 29 29 29 0a 20 20 20 20 28 77 .'message-header-other))).....(w
2c460 68 65 6e 20 74 61 67 73 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 28 hen.tags.......(insert.(format.(
2c480 70 72 6f 70 65 72 74 69 7a 65 20 22 54 61 67 73 3a 20 25 73 5c 6e 22 20 27 66 61 63 65 20 27 6d propertize."Tags:.%s\n".'face.'m
2c4a0 65 73 73 61 67 65 2d 68 65 61 64 65 72 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 essage-header-name).............
2c4c0 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 74 61 67 73 73 74 72 20 27 66 ..........(propertize.tagsstr.'f
2c4e0 61 63 65 20 27 6d 65 73 73 61 67 65 2d 68 65 61 64 65 72 2d 6f 74 68 65 72 29 29 29 29 0a 20 20 ace.'message-header-other))))...
2c500 20 20 28 69 6e 73 65 72 74 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 4c 69 6e 6b 3a 20 22 20 27 ..(insert.(propertize."Link:.".'
2c520 66 61 63 65 20 27 6d 65 73 73 61 67 65 2d 68 65 61 64 65 72 2d 6e 61 6d 65 29 29 0a 20 20 20 20 face.'message-header-name)).....
2c540 28 65 6c 66 65 65 64 2d 69 6e 73 65 72 74 2d 6c 69 6e 6b 20 6c 69 6e 6b 20 6c 69 6e 6b 29 0a 20 (elfeed-insert-link.link.link)..
2c560 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f ...(insert."\n").....(cl-loop.fo
2c580 72 20 65 6e 63 6c 6f 73 75 72 65 20 69 6e 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 65 6e 63 r.enclosure.in.(elfeed-entry-enc
2c5a0 6c 6f 73 75 72 65 73 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 0a 20 20 20 20 20 losures.elfeed-show-entry)......
2c5c0 20 20 20 20 20 20 20 20 64 6f 20 28 69 6e 73 65 72 74 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 ........do.(insert.(propertize."
2c5e0 45 6e 63 6c 6f 73 75 72 65 3a 20 22 20 27 66 61 63 65 20 27 6d 65 73 73 61 67 65 2d 68 65 61 64 Enclosure:.".'face.'message-head
2c600 65 72 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 65 6c 66 65 65 er-name))..............do.(elfee
2c620 64 2d 69 6e 73 65 72 74 2d 6c 69 6e 6b 20 28 63 61 72 20 65 6e 63 6c 6f 73 75 72 65 29 29 0a 20 d-insert-link.(car.enclosure))..
2c640 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 0a 20 20 ............do.(insert."\n"))...
2c660 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 0a 20 20 20 20 28 69 66 20 63 6f 6e 74 65 6e 74 0a ..(insert."\n").....(if.content.
2c680 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 20 74 79 70 65 20 27 68 74 6d 6c 29 0a 20 20 20 20 ........(if.(eq.type.'html).....
2c6a0 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 69 6e 73 65 72 74 2d 68 74 6d 6c 20 63 6f 6e 74 ........(elfeed-insert-html.cont
2c6c0 65 6e 74 20 62 61 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 63 6f 6e 74 ent.base)...........(insert.cont
2c6e0 65 6e 74 29 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 70 72 6f 70 65 72 74 69 7a 65 20 ent)).......(insert.(propertize.
2c700 22 28 65 6d 70 74 79 29 5c 6e 22 20 27 66 61 63 65 20 27 69 74 61 6c 69 63 29 29 29 0a 20 20 20 "(empty)\n".'face.'italic)))....
2c720 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 29 0a 0a 28 64 65 66 .(goto-char.(point-min))))..(def
2c740 75 6e 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 72 65 66 72 65 73 68 20 28 29 0a 20 20 22 55 70 64 un.elfeed-show-refresh.()..."Upd
2c760 61 74 65 20 74 68 65 20 62 75 66 66 65 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 73 65 6c 65 ate.the.buffer.to.match.the.sele
2c780 63 74 65 64 20 65 6e 74 72 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 cted.entry."...(interactive)...(
2c7a0 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 72 call-interactively.elfeed-show-r
2c7c0 65 66 72 65 73 68 2d 66 75 6e 63 74 69 6f 6e 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c efresh-function))..(defcustom.el
2c7e0 66 65 65 64 2d 73 68 6f 77 2d 75 6e 69 71 75 65 2d 62 75 66 66 65 72 73 20 6e 69 6c 0a 20 20 22 feed-show-unique-buffers.nil..."
2c800 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 76 65 72 79 20 65 6e 74 72 79 20 62 75 66 66 65 72 When.non-nil,.every.entry.buffer
2c820 20 67 65 74 73 20 61 20 75 6e 69 71 75 65 20 6e 61 6d 65 2e 0a 54 68 69 73 20 61 6c 6c 6f 77 73 .gets.a.unique.name..This.allows
2c840 20 66 6f 72 20 64 69 73 70 6c 61 79 69 6e 67 20 6d 75 6c 74 69 70 6c 65 20 73 68 6f 77 20 62 75 .for.displaying.multiple.show.bu
2c860 66 66 65 72 73 20 61 74 20 74 68 65 20 73 61 6d 65 0a 74 69 6d 65 2e 22 0a 20 20 3a 67 72 6f 75 ffers.at.the.same.time."...:grou
2c880 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 p.'elfeed...:type.'boolean)..(de
2c8a0 66 75 6e 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 28 65 6e fun.elfeed-show--buffer-name.(en
2c8c0 74 72 79 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 62 try)..."Return.the.appropriate.b
2c8e0 75 66 66 65 72 20 6e 61 6d 65 20 66 6f 72 20 45 4e 54 52 59 2e 0a 54 68 65 20 72 65 73 75 6c 74 uffer.name.for.ENTRY..The.result
2c900 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 60 65 6c 66 65 65 64 .depends.on.the.value.of.`elfeed
2c920 2d 73 68 6f 77 2d 75 6e 69 71 75 65 2d 62 75 66 66 65 72 73 27 2e 22 0a 20 20 28 69 66 20 65 6c -show-unique-buffers'."...(if.el
2c940 66 65 65 64 2d 73 68 6f 77 2d 75 6e 69 71 75 65 2d 62 75 66 66 65 72 73 0a 20 20 20 20 20 20 28 feed-show-unique-buffers.......(
2c960 66 6f 72 6d 61 74 20 22 2a 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 3c 25 73 20 25 73 3e 2a 22 0a format."*elfeed-entry-<%s.%s>*".
2c980 09 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 69 74 6c 65 20 65 6e 74 72 79 .......(elfeed-entry-title.entry
2c9a0 29 0a 09 20 20 20 20 20 20 28 66 6f 72 6d 61 74 2d 74 69 6d 65 2d 73 74 72 69 6e 67 20 22 25 46 )........(format-time-string."%F
2c9c0 22 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 64 61 74 65 20 65 6e 74 72 79 29 29 29 0a 20 20 ".(elfeed-entry-date.entry)))...
2c9e0 20 20 22 2a 65 6c 66 65 65 64 2d 65 6e 74 72 79 2a 22 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 .."*elfeed-entry*"))..(defun.elf
2ca00 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 20 28 65 6e 74 72 79 29 0a 20 20 22 44 69 73 70 6c 61 eed-show-entry.(entry)..."Displa
2ca20 79 20 45 4e 54 52 59 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 22 0a y.ENTRY.in.the.current.buffer.".
2ca40 20 20 28 6c 65 74 20 28 28 62 75 66 66 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 ..(let.((buff.(get-buffer-create
2ca60 20 28 65 6c 66 65 65 64 2d 73 68 6f 77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 65 6e 74 72 79 .(elfeed-show--buffer-name.entry
2ca80 29 29 29 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 62 75 )))).....(with-current-buffer.bu
2caa0 66 66 0a 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 ff.......(elfeed-show-mode).....
2cac0 20 20 28 73 65 74 71 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 20 65 6e 74 72 79 29 ..(setq.elfeed-show-entry.entry)
2cae0 0a 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 73 68 6f 77 2d 72 65 66 72 65 73 68 29 29 0a 20 20 .......(elfeed-show-refresh))...
2cb00 20 20 28 66 75 6e 63 61 6c 6c 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 2d 73 77 69 ..(funcall.elfeed-show-entry-swi
2cb20 74 63 68 20 62 75 66 66 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d tch.buff)))..(defun.elfeed-show-
2cb40 6e 65 78 74 20 28 29 0a 20 20 22 53 68 6f 77 20 74 68 65 20 6e 65 78 74 20 69 74 65 6d 20 69 6e next.()..."Show.the.next.item.in
2cb60 20 74 68 65 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 .the.elfeed-search.buffer."...(i
2cb80 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 66 75 6e 63 61 6c 6c 20 65 6c 66 65 65 64 2d 73 68 nteractive)...(funcall.elfeed-sh
2cba0 6f 77 2d 65 6e 74 72 79 2d 64 65 6c 65 74 65 29 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 ow-entry-delete)...(with-current
2cbc0 2d 62 75 66 66 65 72 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 29 0a 20 -buffer.(elfeed-search-buffer)..
2cbe0 20 20 20 28 77 68 65 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 72 65 6d 61 69 6e 2d 6f 6e ...(when.elfeed-search-remain-on
2cc00 2d 65 6e 74 72 79 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29 29 0a 20 20 20 20 28 63 61 -entry.(forward-line.1)).....(ca
2cc20 6c 6c 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 ll-interactively.#'elfeed-search
2cc40 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 68 -show-entry)))..(defun.elfeed-sh
2cc60 6f 77 2d 70 72 65 76 20 28 29 0a 20 20 22 53 68 6f 77 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 ow-prev.()..."Show.the.previous.
2cc80 69 74 65 6d 20 69 6e 20 74 68 65 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 20 62 75 66 66 65 72 item.in.the.elfeed-search.buffer
2cca0 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 66 75 6e 63 61 6c 6c 20 65 6c ."...(interactive)...(funcall.el
2ccc0 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 2d 64 65 6c 65 74 65 29 0a 20 20 28 77 69 74 68 2d feed-show-entry-delete)...(with-
2cce0 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 62 75 current-buffer.(elfeed-search-bu
2cd00 66 66 65 72 29 0a 20 20 20 20 28 77 68 65 6e 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 72 65 ffer).....(when.elfeed-search-re
2cd20 6d 61 69 6e 2d 6f 6e 2d 65 6e 74 72 79 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29 29 0a main-on-entry.(forward-line.1)).
2cd40 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 2d 32 29 0a 20 20 20 20 28 63 61 6c 6c 2d ....(forward-line.-2).....(call-
2cd60 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 23 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 73 68 interactively.#'elfeed-search-sh
2cd80 6f 77 2d 65 6e 74 72 79 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d ow-entry)))..(defun.elfeed-show-
2cda0 6e 65 77 2d 6c 69 76 65 2d 73 65 61 72 63 68 20 28 29 0a 20 20 22 4b 69 6c 6c 20 74 68 65 20 63 new-live-search.()..."Kill.the.c
2cdc0 75 72 72 65 6e 74 20 62 75 66 66 65 72 2c 20 73 65 61 72 63 68 20 61 67 61 69 6e 20 69 6e 20 2a urrent.buffer,.search.again.in.*
2cde0 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2a 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 elfeed-search*."...(interactive)
2ce00 0a 20 20 28 65 6c 66 65 65 64 2d 6b 69 6c 6c 2d 62 75 66 66 65 72 29 0a 20 20 28 65 6c 66 65 65 ...(elfeed-kill-buffer)...(elfee
2ce20 64 29 0a 20 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 6c 69 76 65 2d 66 69 6c 74 65 72 29 d)...(elfeed-search-live-filter)
2ce40 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 76 69 73 69 74 20 28 26 6f 70 )..(defun.elfeed-show-visit.(&op
2ce60 74 69 6f 6e 61 6c 20 75 73 65 2d 67 65 6e 65 72 69 63 2d 70 29 0a 20 20 22 56 69 73 69 74 20 74 tional.use-generic-p)..."Visit.t
2ce80 68 65 20 63 75 72 72 65 6e 74 20 65 6e 74 72 79 20 69 6e 20 79 6f 75 72 20 62 72 6f 77 73 65 72 he.current.entry.in.your.browser
2cea0 20 75 73 69 6e 67 20 60 62 72 6f 77 73 65 2d 75 72 6c 27 2e 0a 49 66 20 74 68 65 72 65 20 69 73 .using.`browse-url'..If.there.is
2cec0 20 61 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 2c 20 76 69 73 69 74 20 74 68 65 20 63 75 .a.prefix.argument,.visit.the.cu
2cee0 72 72 65 6e 74 20 65 6e 74 72 79 20 69 6e 20 74 68 65 0a 62 72 6f 77 73 65 72 20 64 65 66 69 6e rrent.entry.in.the.browser.defin
2cf00 65 64 20 62 79 20 60 62 72 6f 77 73 65 2d 75 72 6c 2d 67 65 6e 65 72 69 63 2d 70 72 6f 67 72 61 ed.by.`browse-url-generic-progra
2cf20 6d 27 2e 22 0a 20 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 m'."...(interactive."P")...(let.
2cf40 28 28 6c 69 6e 6b 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 6c 69 6e 6b 20 65 6c 66 65 65 64 ((link.(elfeed-entry-link.elfeed
2cf60 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 6c 69 6e 6b 0a 20 20 -show-entry))).....(when.link...
2cf80 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 53 65 6e 74 20 74 6f 20 62 72 6f 77 73 65 72 3a 20 25 ....(message."Sent.to.browser:.%
2cfa0 73 22 20 6c 69 6e 6b 29 0a 20 20 20 20 20 20 28 69 66 20 75 73 65 2d 67 65 6e 65 72 69 63 2d 70 s".link).......(if.use-generic-p
2cfc0 0a 20 20 20 20 20 20 20 20 20 20 28 62 72 6f 77 73 65 2d 75 72 6c 2d 67 65 6e 65 72 69 63 20 6c ...........(browse-url-generic.l
2cfe0 69 6e 6b 29 0a 20 20 20 20 20 20 20 20 28 62 72 6f 77 73 65 2d 75 72 6c 20 6c 69 6e 6b 29 29 29 ink).........(browse-url.link)))
2d000 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 79 61 6e 6b 20 28 29 0a 20 ))..(defun.elfeed-show-yank.()..
2d020 20 22 43 6f 70 79 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6e 74 72 79 20 6c 69 6e 6b 20 55 52 ."Copy.the.current.entry.link.UR
2d040 4c 20 74 6f 20 74 68 65 20 63 6c 69 70 62 6f 61 72 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 L.to.the.clipboard."...(interact
2d060 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 6c 69 6e 6b 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 ive)...(let.((link.(elfeed-entry
2d080 2d 6c 69 6e 6b 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 29 0a 20 20 20 20 28 -link.elfeed-show-entry))).....(
2d0a0 77 68 65 6e 20 6c 69 6e 6b 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 6e 65 77 20 6c 69 6e 6b 29 0a when.link.......(kill-new.link).
2d0c0 20 20 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 67 75 69 2d 73 65 74 2d 73 65 6c 65 ......(if.(fboundp.'gui-set-sele
2d0e0 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 75 69 2d 73 65 74 2d 73 65 6c 65 63 74 ction)...........(gui-set-select
2d100 69 6f 6e 20 27 50 52 49 4d 41 52 59 20 6c 69 6e 6b 29 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 ion.'PRIMARY.link).........(with
2d120 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 0a 20 20 20 20 20 20 20 20 20 20 28 78 2d 73 65 74 2d 73 65 -no-warnings...........(x-set-se
2d140 6c 65 63 74 69 6f 6e 20 27 50 52 49 4d 41 52 59 20 6c 69 6e 6b 29 29 29 0a 20 20 20 20 20 20 28 lection.'PRIMARY.link))).......(
2d160 6d 65 73 73 61 67 65 20 22 59 61 6e 6b 65 64 3a 20 25 73 22 20 6c 69 6e 6b 29 29 29 29 0a 0a 28 message."Yanked:.%s".link))))..(
2d180 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 74 61 67 20 28 26 72 65 73 74 20 74 61 67 defun.elfeed-show-tag.(&rest.tag
2d1a0 73 29 0a 20 20 22 41 64 64 20 54 41 47 53 20 74 6f 20 74 68 65 20 64 69 73 70 6c 61 79 65 64 20 s)..."Add.TAGS.to.the.displayed.
2d1c0 65 6e 74 72 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 28 69 6e entry."...(interactive.(list.(in
2d1e0 74 65 72 6e 20 28 72 65 61 64 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 20 22 54 61 67 3a tern.(read-from-minibuffer."Tag:
2d200 20 22 29 29 29 29 0a 20 20 28 6c 65 74 20 28 28 65 6e 74 72 79 20 65 6c 66 65 65 64 2d 73 68 6f ."))))...(let.((entry.elfeed-sho
2d220 77 2d 65 6e 74 72 79 29 29 0a 20 20 20 20 28 61 70 70 6c 79 20 23 27 65 6c 66 65 65 64 2d 74 61 w-entry)).....(apply.#'elfeed-ta
2d240 67 20 65 6e 74 72 79 20 74 61 67 73 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d g.entry.tags).....(with-current-
2d260 62 75 66 66 65 72 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 29 0a 20 20 buffer.(elfeed-search-buffer)...
2d280 20 20 20 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 65 6e 74 72 79 20 ....(elfeed-search-update-entry.
2d2a0 65 6e 74 72 79 29 29 0a 20 20 20 20 28 65 6c 66 65 65 64 2d 73 68 6f 77 2d 72 65 66 72 65 73 68 entry)).....(elfeed-show-refresh
2d2c0 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 75 6e 74 61 67 20 28 26 )))..(defun.elfeed-show-untag.(&
2d2e0 72 65 73 74 20 74 61 67 73 29 0a 20 20 22 52 65 6d 6f 76 65 20 54 41 47 53 20 66 72 6f 6d 20 74 rest.tags)..."Remove.TAGS.from.t
2d300 68 65 20 64 69 73 70 6c 61 79 65 64 20 65 6e 74 72 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 he.displayed.entry."...(interact
2d320 69 76 65 20 28 6c 65 74 2a 20 28 28 74 61 67 73 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 ive.(let*.((tags.(elfeed-entry-t
2d340 61 67 73 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 ags.elfeed-show-entry)).........
2d360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 73 20 28 6d 61 70 63 61 72 20 23 27 73 ..............(names.(mapcar.#'s
2d380 79 6d 62 6f 6c 2d 6e 61 6d 65 20 74 61 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ymbol-name.tags))...............
2d3a0 20 20 20 20 20 20 20 20 28 73 65 6c 65 63 74 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 ........(select.(completing-read
2d3c0 20 22 55 6e 74 61 67 3a 20 22 20 6e 61 6d 65 73 20 6e 69 6c 20 3a 6d 61 74 63 68 29 29 29 0a 20 ."Untag:.".names.nil.:match)))..
2d3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 69 6e 74 65 72 6e 20 73 65 ................(list.(intern.se
2d400 6c 65 63 74 29 29 29 29 0a 20 20 28 6c 65 74 20 28 28 65 6e 74 72 79 20 65 6c 66 65 65 64 2d 73 lect))))...(let.((entry.elfeed-s
2d420 68 6f 77 2d 65 6e 74 72 79 29 29 0a 20 20 20 20 28 61 70 70 6c 79 20 23 27 65 6c 66 65 65 64 2d how-entry)).....(apply.#'elfeed-
2d440 75 6e 74 61 67 20 65 6e 74 72 79 20 74 61 67 73 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 untag.entry.tags).....(with-curr
2d460 65 6e 74 2d 62 75 66 66 65 72 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 ent-buffer.(elfeed-search-buffer
2d480 29 0a 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 65 6e ).......(elfeed-search-update-en
2d4a0 74 72 79 20 65 6e 74 72 79 29 29 0a 20 20 20 20 28 65 6c 66 65 65 64 2d 73 68 6f 77 2d 72 65 66 try.entry)).....(elfeed-show-ref
2d4c0 72 65 73 68 29 29 29 0a 0a 3b 3b 20 45 6e 63 6c 6f 73 75 72 65 73 3a 0a 0a 28 64 65 66 63 75 73 resh)))..;;.Enclosures:..(defcus
2d4e0 74 6f 6d 20 65 6c 66 65 65 64 2d 65 6e 63 6c 6f 73 75 72 65 2d 64 65 66 61 75 6c 74 2d 64 69 72 tom.elfeed-enclosure-default-dir
2d500 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 7e 22 29 0a 20 20 22 44 65 66 61 75 .(expand-file-name."~")..."Defau
2d520 6c 74 20 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 73 61 76 69 6e 67 20 65 6e 63 6c 6f 73 75 72 lt.directory.for.saving.enclosur
2d540 65 73 2e 0a 54 68 69 73 20 63 61 6e 20 62 65 20 65 69 74 68 65 72 20 61 20 73 74 72 69 6e 67 20 es..This.can.be.either.a.string.
2d560 28 61 20 66 69 6c 65 20 73 79 73 74 65 6d 20 70 61 74 68 29 2c 20 6f 72 20 61 20 66 75 6e 63 74 (a.file.system.path),.or.a.funct
2d580 69 6f 6e 0a 74 68 61 74 20 74 61 6b 65 73 20 61 20 66 69 6c 65 6e 61 6d 65 20 61 6e 64 20 74 68 ion.that.takes.a.filename.and.th
2d5a0 65 20 6d 69 6d 65 2d 74 79 70 65 20 61 73 20 61 72 67 75 6d 65 6e 74 73 2c 20 61 6e 64 20 72 65 e.mime-type.as.arguments,.and.re
2d5c0 74 75 72 6e 73 0a 74 68 65 20 65 6e 63 6c 6f 73 75 72 65 20 64 69 72 2e 22 0a 20 20 3a 74 79 70 turns.the.enclosure.dir."...:typ
2d5e0 65 20 27 64 69 72 65 63 74 6f 72 79 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 e.'directory...:group.'elfeed...
2d600 3a 73 61 66 65 20 27 73 74 72 69 6e 67 70 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 :safe.'stringp)..(defcustom.elfe
2d620 65 64 2d 73 61 76 65 2d 6d 75 6c 74 69 70 6c 65 2d 65 6e 63 6c 6f 73 75 72 65 73 2d 77 69 74 68 ed-save-multiple-enclosures-with
2d640 6f 75 74 2d 61 73 6b 69 6e 67 20 6e 69 6c 0a 20 20 22 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 73 61 out-asking.nil..."If.non-nil,.sa
2d660 76 69 6e 67 20 6d 75 6c 74 69 70 6c 65 20 65 6e 63 6c 6f 73 75 72 65 73 20 61 73 6b 73 20 6f 6e ving.multiple.enclosures.asks.on
2d680 63 65 20 66 6f 72 20 61 0a 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20 73 61 76 65 73 20 61 6c 6c ce.for.a.directory.and.saves.all
2d6a0 20 61 74 74 61 63 68 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 63 68 6f 73 65 6e 20 64 69 72 65 63 .attachments.in.the.chosen.direc
2d6c0 74 6f 72 79 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 67 72 6f 75 70 tory."...:type.'boolean...:group
2d6e0 20 27 65 6c 66 65 65 64 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 .'elfeed)..(defvar.elfeed-show-e
2d700 6e 63 6c 6f 73 75 72 65 2d 66 69 6c 65 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 23 27 65 nclosure-filename-function...#'e
2d720 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 63 6c 6f 73 75 72 65 2d 66 69 6c 65 6e 61 6d 65 2d 72 65 lfeed-show-enclosure-filename-re
2d740 6d 6f 74 65 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 65 64 20 74 6f 20 67 65 6e 65 72 mote..."Function.called.to.gener
2d760 61 74 65 20 74 68 65 20 66 69 6c 65 6e 61 6d 65 20 66 6f 72 20 61 6e 20 65 6e 63 6c 6f 73 75 72 ate.the.filename.for.an.enclosur
2d780 65 2e 22 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 2d 64 6f 77 6e 6c 6f 61 64 2d 65 6e e.")..(defun.elfeed--download-en
2d7a0 63 6c 6f 73 75 72 65 20 28 75 72 6c 20 70 61 74 68 29 0a 20 20 22 44 6f 77 6e 6c 6f 61 64 20 61 closure.(url.path)..."Download.a
2d7c0 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 20 74 68 65 20 65 6e 63 6c 6f 73 75 72 65 20 66 72 6f 6d synchronously.the.enclosure.from
2d7e0 20 55 52 4c 20 74 6f 20 50 41 54 48 2e 22 0a 20 20 28 69 66 20 28 72 65 71 75 69 72 65 20 27 61 .URL.to.PATH."...(if.(require.'a
2d800 73 79 6e 63 20 6e 69 6c 20 3a 6e 6f 65 72 72 6f 72 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 6e sync.nil.:noerror).......(with-n
2d820 6f 2d 77 61 72 6e 69 6e 67 73 0a 20 20 20 20 20 20 20 20 28 61 73 79 6e 63 2d 73 74 61 72 74 0a o-warnings.........(async-start.
2d840 20 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 28 .........(lambda.()............(
2d860 75 72 6c 2d 63 6f 70 79 2d 66 69 6c 65 20 75 72 6c 20 70 61 74 68 20 74 29 29 0a 20 20 20 20 20 url-copy-file.url.path.t))......
2d880 20 20 20 20 28 6c 61 6d 62 64 61 20 28 5f 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 ....(lambda.(_)............(mess
2d8a0 61 67 65 20 28 66 6f 72 6d 61 74 20 22 25 73 20 64 6f 77 6e 6c 6f 61 64 65 64 22 20 75 72 6c 29 age.(format."%s.downloaded".url)
2d8c0 29 29 29 29 0a 20 20 20 20 28 75 72 6c 2d 63 6f 70 79 2d 66 69 6c 65 20 75 72 6c 20 70 61 74 68 )))).....(url-copy-file.url.path
2d8e0 20 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 2d 67 65 74 2d 65 6e 63 6c 6f 73 .t)))..(defun.elfeed--get-enclos
2d900 75 72 65 2d 6e 75 6d 20 28 70 72 6f 6d 70 74 20 65 6e 74 72 79 20 26 6f 70 74 69 6f 6e 61 6c 20 ure-num.(prompt.entry.&optional.
2d920 6d 75 6c 74 69 29 0a 20 20 22 41 73 6b 20 74 68 65 20 75 73 65 72 20 77 69 74 68 20 50 52 4f 4d multi)..."Ask.the.user.with.PROM
2d940 50 54 20 66 6f 72 20 61 6e 20 65 6e 63 6c 6f 73 75 72 65 20 6e 75 6d 62 65 72 20 66 6f 72 20 45 PT.for.an.enclosure.number.for.E
2d960 4e 54 52 59 2e 0a 54 68 65 20 6e 75 6d 62 65 72 20 69 73 20 5b 31 2e 2e 6e 5d 20 66 6f 72 20 65 NTRY..The.number.is.[1..n].for.e
2d980 6e 63 6c 6f 73 75 72 65 73 20 5c 5b 30 2e 2e 28 6e 2d 31 29 5d 20 69 6e 20 74 68 65 20 65 6e 74 nclosures.\[0..(n-1)].in.the.ent
2d9a0 72 79 2e 20 49 66 0a 4d 55 4c 54 49 20 69 73 20 6e 69 6c 2c 20 72 65 74 75 72 6e 20 74 68 65 20 ry..If.MULTI.is.nil,.return.the.
2d9c0 6e 75 6d 62 65 72 20 66 6f 72 20 74 68 65 20 65 6e 63 6c 6f 73 75 72 65 3b 0a 6f 74 68 65 72 77 number.for.the.enclosure;.otherw
2d9e0 69 73 65 20 28 4d 55 4c 54 49 20 69 73 20 6e 6f 6e 2d 6e 69 6c 29 2c 20 61 63 63 65 70 74 20 72 ise.(MULTI.is.non-nil),.accept.r
2da00 61 6e 67 65 73 20 6f 66 20 65 6e 63 6c 6f 73 75 72 65 20 6e 75 6d 62 65 72 73 2c 0a 61 73 20 70 anges.of.enclosure.numbers,.as.p
2da20 65 72 20 60 65 6c 66 65 65 64 2d 73 70 6c 69 74 2d 72 61 6e 67 65 73 2d 74 6f 2d 6e 75 6d 62 65 er.`elfeed-split-ranges-to-numbe
2da40 72 73 27 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e rs',.and.return.the.correspondin
2da60 67 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 63 6f 75 6e 74 20 28 6c 65 6e 67 g.string."...(let*.((count.(leng
2da80 74 68 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 65 6e 63 6c 6f 73 75 72 65 73 20 65 6e 74 72 th.(elfeed-entry-enclosures.entr
2daa0 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 64 65 66 29 0a 20 20 20 20 28 77 68 65 6e 20 28 7a 65 y)))..........def).....(when.(ze
2dac0 72 6f 70 20 63 6f 75 6e 74 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 20 65 6e 63 6c rop.count).......(error."No.encl
2dae0 6f 73 75 72 65 73 20 74 6f 20 74 68 69 73 20 65 6e 74 72 79 22 29 29 0a 20 20 20 20 28 69 66 20 osures.to.this.entry")).....(if.
2db00 28 6e 6f 74 20 6d 75 6c 74 69 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 3d 20 63 6f 75 6e 74 (not.multi).........(if.(=.count
2db20 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 6e 75 6d 62 65 72 20 28 66 6f .1).............(read-number.(fo
2db40 72 6d 61 74 20 22 25 73 3a 20 22 20 70 72 6f 6d 70 74 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 rmat."%s:.".prompt).1)..........
2db60 20 28 72 65 61 64 2d 6e 75 6d 62 65 72 20 28 66 6f 72 6d 61 74 20 22 25 73 20 28 31 2d 25 64 29 .(read-number.(format."%s.(1-%d)
2db80 3a 20 22 20 70 72 6f 6d 70 74 20 63 6f 75 6e 74 29 29 29 0a 20 20 20 20 20 20 28 70 72 6f 67 6e :.".prompt.count))).......(progn
2dba0 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 65 66 20 28 69 66 20 28 3d 20 63 6f 75 6e 74 20 .........(setq.def.(if.(=.count.
2dbc0 31 29 20 22 31 22 20 28 66 6f 72 6d 61 74 20 22 31 2d 25 64 22 20 63 6f 75 6e 74 29 29 29 0a 20 1)."1".(format."1-%d".count)))..
2dbe0 20 20 20 20 20 20 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 28 66 6f 72 6d 61 74 20 22 25 73 20 .......(read-string.(format."%s.
2dc00 28 64 65 66 61 75 6c 74 20 25 73 29 3a 20 22 20 70 72 6f 6d 70 74 20 64 65 66 29 0a 20 20 20 20 (default.%s):.".prompt.def).....
2dc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 6e 69 6c 20 64 65 66 29 29 29 29 .................nil.nil.def))))
2dc40 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 2d 72 65 71 75 65 73 74 2d 65 6e 63 6c 6f 73 )..(defun.elfeed--request-enclos
2dc60 75 72 65 2d 70 61 74 68 20 28 66 6e 61 6d 65 20 70 61 74 68 29 0a 20 20 22 41 73 6b 20 74 68 65 ure-path.(fname.path)..."Ask.the
2dc80 20 75 73 65 72 20 77 68 65 72 65 20 74 6f 20 73 61 76 65 20 46 4e 41 4d 45 20 28 64 65 66 61 75 .user.where.to.save.FNAME.(defau
2dca0 6c 74 20 69 73 20 50 41 54 48 2f 46 4e 41 4d 45 29 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 70 61 lt.is.PATH/FNAME)."...(let.((fpa
2dcc0 74 68 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 th.(expand-file-name............
2dce0 20 20 20 20 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 53 61 76 65 20 61 73 3a 20 22 .....(read-file-name."Save.as:."
2dd00 20 70 61 74 68 20 6e 69 6c 20 6e 69 6c 20 66 6e 61 6d 65 29 20 70 61 74 68 29 29 29 0a 20 20 20 .path.nil.nil.fname).path)))....
2dd20 20 28 69 66 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 66 70 61 74 68 29 0a 20 20 .(if.(file-directory-p.fpath)...
2dd40 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 6e 61 6d 65 20 66 70 ......(expand-file-name.fname.fp
2dd60 61 74 68 29 0a 20 20 20 20 20 20 66 70 61 74 68 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 ath).......fpath)))..(defun.elfe
2dd80 65 64 2d 2d 72 65 71 75 65 73 74 2d 65 6e 63 6c 6f 73 75 72 65 73 2d 64 69 72 20 28 70 61 74 68 ed--request-enclosures-dir.(path
2dda0 29 0a 20 20 22 41 73 6b 20 74 68 65 20 75 73 65 72 20 77 68 65 72 65 20 74 6f 20 73 61 76 65 20 )..."Ask.the.user.where.to.save.
2ddc0 6d 75 6c 74 69 70 6c 65 20 65 6e 63 6c 6f 73 75 72 65 73 20 28 64 65 66 61 75 6c 74 20 69 73 20 multiple.enclosures.(default.is.
2dde0 50 41 54 48 29 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 70 61 74 68 20 28 65 78 70 61 6e 64 2d 66 PATH)."...(let.((fpath.(expand-f
2de00 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 64 ile-name.................(read-d
2de20 69 72 65 63 74 6f 72 79 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 irectory-name..................(
2de40 66 6f 72 6d 61 74 20 22 53 61 76 65 20 69 6e 20 64 69 72 65 63 74 6f 72 79 3a 20 22 29 20 70 61 format."Save.in.directory:.").pa
2de60 74 68 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 29 20 70 61 74 68 29 29 29 0a 20 20 20 20 28 69 66 20 th.nil.nil.nil).path))).....(if.
2de80 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 66 70 61 74 68 29 0a 20 20 20 20 20 20 20 (file-directory-p.fpath)........
2dea0 20 66 70 61 74 68 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e .fpath)))..(defun.elfeed-show-en
2dec0 63 6c 6f 73 75 72 65 2d 66 69 6c 65 6e 61 6d 65 2d 72 65 6d 6f 74 65 20 28 5f 65 6e 74 72 79 20 closure-filename-remote.(_entry.
2dee0 75 72 6c 2d 65 6e 63 6c 6f 73 75 72 65 29 0a 20 20 22 52 65 74 75 72 6e 73 20 74 68 65 20 72 65 url-enclosure)..."Returns.the.re
2df00 6d 6f 74 65 20 66 69 6c 65 6e 61 6d 65 20 61 73 20 6c 6f 63 61 6c 20 66 69 6c 65 6e 61 6d 65 20 mote.filename.as.local.filename.
2df20 66 6f 72 20 61 6e 20 65 6e 63 6c 6f 73 75 72 65 2e 22 0a 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d for.an.enclosure."...(file-name-
2df40 6e 6f 6e 64 69 72 65 63 74 6f 72 79 0a 20 20 20 28 75 72 6c 2d 75 6e 68 65 78 2d 73 74 72 69 6e nondirectory....(url-unhex-strin
2df60 67 0a 20 20 20 20 28 63 61 72 20 28 75 72 6c 2d 70 61 74 68 2d 61 6e 64 2d 71 75 65 72 79 20 28 g.....(car.(url-path-and-query.(
2df80 75 72 6c 2d 67 65 6e 65 72 69 63 2d 70 61 72 73 65 2d 75 72 6c 0a 20 20 20 20 20 20 20 20 20 20 url-generic-parse-url...........
2dfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 72 6c 2d 65 6e 63 6c 6f 73 75 72 ....................url-enclosur
2dfc0 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 73 61 76 65 e))))))..(defun.elfeed-show-save
2dfe0 2d 65 6e 63 6c 6f 73 75 72 65 2d 73 69 6e 67 6c 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 65 6e 74 -enclosure-single.(&optional.ent
2e000 72 79 20 65 6e 63 6c 6f 73 75 72 65 2d 69 6e 64 65 78 29 0a 20 20 22 53 61 76 65 20 65 6e 63 6c ry.enclosure-index)..."Save.encl
2e020 6f 73 75 72 65 20 6e 75 6d 62 65 72 20 45 4e 43 4c 4f 53 55 52 45 2d 49 4e 44 45 58 20 66 72 6f osure.number.ENCLOSURE-INDEX.fro
2e040 6d 20 45 4e 54 52 59 2e 0a 49 66 20 45 4e 54 52 59 20 69 73 20 6e 69 6c 20 75 73 65 20 74 68 65 m.ENTRY..If.ENTRY.is.nil.use.the
2e060 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 20 76 61 72 69 61 62 6c 65 2e 0a 49 66 20 .elfeed-show-entry.variable..If.
2e080 45 4e 43 4c 4f 53 55 52 45 2d 49 4e 44 45 58 20 69 73 20 6e 69 6c 20 61 73 6b 20 66 6f 72 20 74 ENCLOSURE-INDEX.is.nil.ask.for.t
2e0a0 68 65 20 65 6e 63 6c 6f 73 75 72 65 20 6e 75 6d 62 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 he.enclosure.number."...(interac
2e0c0 74 69 76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 70 61 74 68 20 65 6c 66 65 65 64 2d 65 6e 63 6c tive)...(let*.((path.elfeed-encl
2e0e0 6f 73 75 72 65 2d 64 65 66 61 75 6c 74 2d 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 28 65 6e 74 osure-default-dir)..........(ent
2e100 72 79 20 28 6f 72 20 65 6e 74 72 79 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 ry.(or.entry.elfeed-show-entry))
2e120 0a 20 20 20 20 20 20 20 20 20 28 65 6e 63 6c 6f 73 75 72 65 2d 69 6e 64 65 78 20 28 6f 72 20 65 ..........(enclosure-index.(or.e
2e140 6e 63 6c 6f 73 75 72 65 2d 69 6e 64 65 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nclosure-index..................
2e160 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 2d 67 65 74 2d 65 6e 63 6c 6f 73 .............(elfeed--get-enclos
2e180 75 72 65 2d 6e 75 6d 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 ure-num.........................
2e1a0 20 20 20 20 20 20 20 22 45 6e 63 6c 6f 73 75 72 65 20 74 6f 20 73 61 76 65 22 20 65 6e 74 72 79 ......."Enclosure.to.save".entry
2e1c0 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 75 72 6c 2d 65 6e 63 6c 6f 73 75 72 65 20 28 63 61 72 )))..........(url-enclosure.(car
2e1e0 20 28 65 6c 74 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 65 6e 63 6c 6f 73 75 72 65 73 20 65 .(elt.(elfeed-entry-enclosures.e
2e200 6e 74 72 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 20 20 20 ntry)...........................
2e220 20 20 20 20 20 20 20 20 28 2d 20 65 6e 63 6c 6f 73 75 72 65 2d 69 6e 64 65 78 20 31 29 29 29 29 ........(-.enclosure-index.1))))
2e240 0a 20 20 20 20 20 20 20 20 20 28 66 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 ..........(fname...........(func
2e260 61 6c 6c 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 63 6c 6f 73 75 72 65 2d 66 69 6c 65 6e 61 all.elfeed-show-enclosure-filena
2e280 6d 65 2d 66 75 6e 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 65 me-function....................e
2e2a0 6e 74 72 79 20 75 72 6c 2d 65 6e 63 6c 6f 73 75 72 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 ntry.url-enclosure))..........(r
2e2c0 65 74 72 79 20 74 29 0a 20 20 20 20 20 20 20 20 20 28 66 70 61 74 68 29 29 0a 20 20 20 20 28 77 etry.t)..........(fpath)).....(w
2e2e0 68 69 6c 65 20 72 65 74 72 79 0a 20 20 20 20 20 20 28 73 65 74 66 20 66 70 61 74 68 20 28 65 6c hile.retry.......(setf.fpath.(el
2e300 66 65 65 64 2d 2d 72 65 71 75 65 73 74 2d 65 6e 63 6c 6f 73 75 72 65 2d 70 61 74 68 20 66 6e 61 feed--request-enclosure-path.fna
2e320 6d 65 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 72 79 20 28 61 6e 64 20 me.path).............retry.(and.
2e340 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 66 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 (file-exists-p.fpath)...........
2e360 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 79 2d 6f 72 2d 6e 2d 70 20 28 66 6f 72 .............(not.(y-or-n-p.(for
2e380 6d 61 74 20 22 4f 76 65 72 77 72 69 74 65 20 27 25 73 27 3f 22 20 66 70 61 74 68 29 29 29 29 29 mat."Overwrite.'%s'?".fpath)))))
2e3a0 29 0a 20 20 20 20 28 65 6c 66 65 65 64 2d 2d 64 6f 77 6e 6c 6f 61 64 2d 65 6e 63 6c 6f 73 75 72 ).....(elfeed--download-enclosur
2e3c0 65 20 75 72 6c 2d 65 6e 63 6c 6f 73 75 72 65 20 66 70 61 74 68 29 29 29 0a 0a 28 64 65 66 75 6e e.url-enclosure.fpath)))..(defun
2e3e0 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 73 61 76 65 2d 65 6e 63 6c 6f 73 75 72 65 2d 6d 75 6c 74 .elfeed-show-save-enclosure-mult
2e400 69 20 28 26 6f 70 74 69 6f 6e 61 6c 20 65 6e 74 72 79 29 0a 20 20 22 4f 66 66 65 72 20 74 6f 20 i.(&optional.entry)..."Offer.to.
2e420 73 61 76 65 20 6d 75 6c 74 69 70 6c 65 20 65 6e 74 72 79 20 65 6e 63 6c 6f 73 75 72 65 73 20 66 save.multiple.entry.enclosures.f
2e440 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6e 74 72 79 2e 0a 44 65 66 61 75 6c 74 20 69 rom.the.current.entry..Default.i
2e460 73 20 74 6f 20 73 61 76 65 20 61 6c 6c 20 65 6e 63 6c 6f 73 75 72 65 73 2c 20 5b 31 2e 2e 6e 5d s.to.save.all.enclosures,.[1..n]
2e480 2c 20 77 68 65 72 65 20 6e 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 65 6e 63 6c 6f ,.where.n.is.the.number.of.enclo
2e4a0 73 75 72 65 73 2e 20 20 59 6f 75 20 63 61 6e 20 74 79 70 65 20 6d 75 6c 74 69 70 6c 65 20 76 61 sures...You.can.type.multiple.va
2e4c0 6c 75 65 73 20 73 65 70 61 72 61 74 65 64 20 62 79 20 73 70 61 63 65 2c 20 65 2e 67 2e 0a 20 20 lues.separated.by.space,.e.g....
2e4e0 31 20 33 2d 36 20 38 0a 77 69 6c 6c 20 73 61 76 65 20 65 6e 63 6c 6f 73 75 72 65 73 20 31 2c 33 1.3-6.8.will.save.enclosures.1,3
2e500 2c 34 2c 35 2c 36 20 61 6e 64 20 38 2e 0a 0a 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 74 68 65 72 ,4,5,6.and.8...Furthermore,.ther
2e520 65 20 69 73 20 61 20 73 68 6f 72 74 63 75 74 20 5c 22 61 5c 22 20 77 68 69 63 68 20 73 6f 20 6d e.is.a.shortcut.\"a\".which.so.m
2e540 65 61 6e 73 20 61 6c 6c 0a 65 6e 63 6c 6f 73 75 72 65 73 2c 20 62 75 74 20 61 73 20 74 68 69 73 eans.all.enclosures,.but.as.this
2e560 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 2c 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 6e 65 65 .is.the.default,.you.may.not.nee
2e580 64 20 69 74 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 2a 20 28 d.it."...(interactive)...(let*.(
2e5a0 28 65 6e 74 72 79 20 28 6f 72 20 65 6e 74 72 79 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 (entry.(or.entry.elfeed-show-ent
2e5c0 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 74 74 61 63 68 73 74 72 20 28 65 6c 66 65 65 64 ry))..........(attachstr.(elfeed
2e5e0 2d 2d 67 65 74 2d 65 6e 63 6c 6f 73 75 72 65 2d 6e 75 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 --get-enclosure-num.............
2e600 20 20 20 20 20 20 20 20 20 22 45 6e 63 6c 6f 73 75 72 65 20 6e 75 6d 62 65 72 20 72 61 6e 67 65 ........."Enclosure.number.range
2e620 20 28 6f 72 20 27 61 27 20 66 6f 72 20 27 61 6c 6c 27 29 22 20 65 6e 74 72 79 20 74 29 29 0a 20 .(or.'a'.for.'all')".entry.t))..
2e640 20 20 20 20 20 20 20 20 28 63 6f 75 6e 74 20 28 6c 65 6e 67 74 68 20 28 65 6c 66 65 65 64 2d 65 ........(count.(length.(elfeed-e
2e660 6e 74 72 79 2d 65 6e 63 6c 6f 73 75 72 65 73 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 20 ntry-enclosures.entry)))........
2e680 20 20 28 61 74 74 61 63 68 6e 75 6d 73 20 28 65 6c 66 65 65 64 2d 73 70 6c 69 74 2d 72 61 6e 67 ..(attachnums.(elfeed-split-rang
2e6a0 65 73 2d 74 6f 2d 6e 75 6d 62 65 72 73 20 61 74 74 61 63 68 73 74 72 20 63 6f 75 6e 74 29 29 0a es-to-numbers.attachstr.count)).
2e6c0 20 20 20 20 20 20 20 20 20 28 70 61 74 68 20 65 6c 66 65 65 64 2d 65 6e 63 6c 6f 73 75 72 65 2d .........(path.elfeed-enclosure-
2e6e0 64 65 66 61 75 6c 74 2d 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 28 66 70 61 74 68 29 29 0a 20 default-dir)..........(fpath))..
2e700 20 20 20 28 69 66 20 65 6c 66 65 65 64 2d 73 61 76 65 2d 6d 75 6c 74 69 70 6c 65 2d 65 6e 63 6c ...(if.elfeed-save-multiple-encl
2e720 6f 73 75 72 65 73 2d 77 69 74 68 6f 75 74 2d 61 73 6b 69 6e 67 0a 20 20 20 20 20 20 20 20 28 6c osures-without-asking.........(l
2e740 65 74 20 28 28 61 74 74 61 63 68 64 69 72 20 28 65 6c 66 65 65 64 2d 2d 72 65 71 75 65 73 74 2d et.((attachdir.(elfeed--request-
2e760 65 6e 63 6c 6f 73 75 72 65 73 2d 64 69 72 20 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 enclosures-dir.path)))..........
2e780 20 28 64 6f 6c 69 73 74 20 28 65 6e 63 6c 6f 73 75 72 65 2d 69 6e 64 65 78 20 61 74 74 61 63 68 .(dolist.(enclosure-index.attach
2e7a0 6e 75 6d 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 75 72 6c 2d 65 6e nums).............(let*.((url-en
2e7c0 63 6c 6f 73 75 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 closure.....................(are
2e7e0 66 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 65 6e 63 6c 6f 73 75 72 65 73 20 65 6e 74 72 79 f.(elfeed-entry-enclosures.entry
2e800 29 20 65 6e 63 6c 6f 73 75 72 65 2d 69 6e 64 65 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ).enclosure-index)).............
2e820 20 20 20 20 20 20 20 28 66 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(fname...................
2e840 20 20 28 66 75 6e 63 61 6c 6c 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 63 6c 6f 73 75 72 65 ..(funcall.elfeed-show-enclosure
2e860 2d 66 69 6c 65 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -filename-function..............
2e880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 74 72 79 20 75 72 6c 2d 65 6e 63 6c 6f 73 ................entry.url-enclos
2e8a0 75 72 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 74 72 79 20 ure))....................(retry.
2e8c0 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 72 65 74 72 79 0a 20 t))...............(while.retry..
2e8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 66 70 61 74 68 20 28 65 78 70 61 ...............(setf.fpath.(expa
2e900 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 63 6f 6e 63 61 74 20 61 74 74 61 63 68 64 69 72 20 66 nd-file-name.(concat.attachdir.f
2e920 6e 61 6d 65 29 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 name).path).....................
2e940 20 20 72 65 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 28 61 ..retry.......................(a
2e960 6e 64 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 66 70 61 74 68 29 0a 20 20 20 20 20 20 20 nd.(file-exists-p.fpath)........
2e980 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 28 79 2d 6f 72 2d 6e ....................(not.(y-or-n
2e9a0 2d 70 20 28 66 6f 72 6d 61 74 20 22 4f 76 65 72 77 72 69 74 65 20 27 25 73 27 3f 22 20 66 70 61 -p.(format."Overwrite.'%s'?".fpa
2e9c0 74 68 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 2d th))))))...............(elfeed--
2e9e0 64 6f 77 6e 6c 6f 61 64 2d 65 6e 63 6c 6f 73 75 72 65 20 75 72 6c 2d 65 6e 63 6c 6f 73 75 72 65 download-enclosure.url-enclosure
2ea00 20 66 70 61 74 68 29 29 29 29 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6e 63 6c 6f 73 .fpath)))).......(dolist.(enclos
2ea20 75 72 65 2d 69 6e 64 65 78 20 61 74 74 61 63 68 6e 75 6d 73 29 0a 20 20 20 20 20 20 20 20 28 65 ure-index.attachnums).........(e
2ea40 6c 66 65 65 64 2d 73 68 6f 77 2d 73 61 76 65 2d 65 6e 63 6c 6f 73 75 72 65 2d 73 69 6e 67 6c 65 lfeed-show-save-enclosure-single
2ea60 20 65 6e 74 72 79 20 65 6e 63 6c 6f 73 75 72 65 2d 69 6e 64 65 78 29 29 29 29 29 0a 0a 28 64 65 .entry.enclosure-index)))))..(de
2ea80 66 75 6e 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 73 61 76 65 2d 65 6e 63 6c 6f 73 75 72 65 20 28 fun.elfeed-show-save-enclosure.(
2eaa0 26 6f 70 74 69 6f 6e 61 6c 20 6d 75 6c 74 69 29 0a 20 20 22 4f 66 66 65 72 20 74 6f 20 73 61 76 &optional.multi)..."Offer.to.sav
2eac0 65 20 65 6e 63 6c 6f 73 75 72 65 28 73 29 2e 0a 49 66 20 4d 55 4c 54 49 20 28 70 72 65 66 69 78 e.enclosure(s)..If.MULTI.(prefix
2eae0 2d 61 72 67 75 6d 65 6e 74 29 20 69 73 20 6e 69 6c 2c 20 73 61 76 65 20 61 20 73 69 6e 67 6c 65 -argument).is.nil,.save.a.single
2eb00 20 6f 6e 65 2c 20 6f 74 68 65 72 77 69 73 65 2c 0a 6f 66 66 65 72 20 74 6f 20 73 61 76 65 20 61 .one,.otherwise,.offer.to.save.a
2eb20 20 72 61 6e 67 65 20 6f 66 20 65 6e 63 6c 6f 73 75 72 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 .range.of.enclosures."...(intera
2eb40 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 69 66 20 6d 75 6c 74 69 0a 20 20 20 20 20 20 28 65 6c ctive."P")...(if.multi.......(el
2eb60 66 65 65 64 2d 73 68 6f 77 2d 73 61 76 65 2d 65 6e 63 6c 6f 73 75 72 65 2d 6d 75 6c 74 69 29 0a feed-show-save-enclosure-multi).
2eb80 20 20 20 20 28 65 6c 66 65 65 64 2d 73 68 6f 77 2d 73 61 76 65 2d 65 6e 63 6c 6f 73 75 72 65 2d ....(elfeed-show-save-enclosure-
2eba0 73 69 6e 67 6c 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 2d 65 6e 63 6c 6f 73 single)))..(defun.elfeed--enclos
2ebc0 75 72 65 2d 6d 61 79 62 65 2d 70 72 6f 6d 70 74 2d 69 6e 64 65 78 20 28 65 6e 74 72 79 29 0a 20 ure-maybe-prompt-index.(entry)..
2ebe0 20 22 50 72 6f 6d 70 74 20 66 6f 72 20 61 6e 20 65 6e 63 6c 6f 73 75 72 65 20 69 66 20 74 68 65 ."Prompt.for.an.enclosure.if.the
2ec00 72 65 20 61 72 65 20 6d 75 6c 74 69 70 6c 65 20 69 6e 20 45 4e 54 52 59 2e 22 0a 20 20 28 69 66 re.are.multiple.in.ENTRY."...(if
2ec20 20 28 3d 20 31 20 28 6c 65 6e 67 74 68 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 65 6e 63 6c .(=.1.(length.(elfeed-entry-encl
2ec40 6f 73 75 72 65 73 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 31 0a 20 20 20 20 28 65 6c 66 osures.entry))).......1.....(elf
2ec60 65 65 64 2d 2d 67 65 74 2d 65 6e 63 6c 6f 73 75 72 65 2d 6e 75 6d 20 22 45 6e 63 6c 6f 73 75 72 eed--get-enclosure-num."Enclosur
2ec80 65 20 74 6f 20 70 6c 61 79 22 20 65 6e 74 72 79 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 e.to.play".entry)))..(defun.elfe
2eca0 65 64 2d 73 68 6f 77 2d 70 6c 61 79 2d 65 6e 63 6c 6f 73 75 72 65 20 28 65 6e 63 6c 6f 73 75 72 ed-show-play-enclosure.(enclosur
2ecc0 65 2d 69 6e 64 65 78 29 0a 20 20 22 50 6c 61 79 20 65 6e 63 6c 6f 73 75 72 65 20 6e 75 6d 62 65 e-index)..."Play.enclosure.numbe
2ece0 72 20 45 4e 43 4c 4f 53 55 52 45 2d 49 4e 44 45 58 20 66 72 6f 6d 20 63 75 72 72 65 6e 74 20 65 r.ENCLOSURE-INDEX.from.current.e
2ed00 6e 74 72 79 20 75 73 69 6e 67 20 45 4d 4d 53 2e 0a 50 72 6f 6d 70 74 73 20 66 6f 72 20 45 4e 43 ntry.using.EMMS..Prompts.for.ENC
2ed20 4c 4f 53 55 52 45 2d 49 4e 44 45 58 20 77 68 65 6e 20 63 61 6c 6c 65 64 20 69 6e 74 65 72 61 63 LOSURE-INDEX.when.called.interac
2ed40 74 69 76 65 6c 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 28 65 tively."...(interactive.(list.(e
2ed60 6c 66 65 65 64 2d 2d 65 6e 63 6c 6f 73 75 72 65 2d 6d 61 79 62 65 2d 70 72 6f 6d 70 74 2d 69 6e lfeed--enclosure-maybe-prompt-in
2ed80 64 65 78 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 29 0a 20 20 28 65 6c 66 65 dex.elfeed-show-entry)))...(elfe
2eda0 65 64 2d 73 68 6f 77 2d 61 64 64 2d 65 6e 63 6c 6f 73 75 72 65 2d 74 6f 2d 70 6c 61 79 6c 69 73 ed-show-add-enclosure-to-playlis
2edc0 74 20 65 6e 63 6c 6f 73 75 72 65 2d 69 6e 64 65 78 29 0a 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 t.enclosure-index)...(with-no-wa
2ede0 72 6e 69 6e 67 73 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 65 6d 6d 73 2d 70 6c rnings.....(with-current-emms-pl
2ee00 61 79 6c 69 73 74 0a 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 aylist.......(save-excursion....
2ee20 20 20 20 20 20 28 65 6d 6d 73 2d 70 6c 61 79 6c 69 73 74 2d 6c 61 73 74 29 0a 20 20 20 20 20 20 .....(emms-playlist-last).......
2ee40 20 20 28 65 6d 6d 73 2d 70 6c 61 79 6c 69 73 74 2d 6d 6f 64 65 2d 70 6c 61 79 2d 63 75 72 72 65 ..(emms-playlist-mode-play-curre
2ee60 6e 74 2d 74 72 61 63 6b 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 68 6f nt-track)))))..(defun.elfeed-sho
2ee80 77 2d 61 64 64 2d 65 6e 63 6c 6f 73 75 72 65 2d 74 6f 2d 70 6c 61 79 6c 69 73 74 20 28 65 6e 63 w-add-enclosure-to-playlist.(enc
2eea0 6c 6f 73 75 72 65 2d 69 6e 64 65 78 29 0a 20 20 22 41 64 64 20 65 6e 63 6c 6f 73 75 72 65 20 6e losure-index)..."Add.enclosure.n
2eec0 75 6d 62 65 72 20 45 4e 43 4c 4f 53 55 52 45 2d 49 4e 44 45 58 20 74 6f 20 63 75 72 72 65 6e 74 umber.ENCLOSURE-INDEX.to.current
2eee0 20 45 4d 4d 53 20 70 6c 61 79 6c 69 73 74 2e 0a 50 72 6f 6d 70 74 73 20 66 6f 72 20 45 4e 43 4c .EMMS.playlist..Prompts.for.ENCL
2ef00 4f 53 55 52 45 2d 49 4e 44 45 58 20 77 68 65 6e 20 63 61 6c 6c 65 64 20 69 6e 74 65 72 61 63 74 OSURE-INDEX.when.called.interact
2ef20 69 76 65 6c 79 2e 22 0a 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 28 65 ively."....(interactive.(list.(e
2ef40 6c 66 65 65 64 2d 2d 65 6e 63 6c 6f 73 75 72 65 2d 6d 61 79 62 65 2d 70 72 6f 6d 70 74 2d 69 6e lfeed--enclosure-maybe-prompt-in
2ef60 64 65 78 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 29 0a 20 20 28 72 65 71 75 dex.elfeed-show-entry)))...(requ
2ef80 69 72 65 20 27 65 6d 6d 73 29 20 3b 3b 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 28 77 69 74 68 2d 6e ire.'emms).;;.optional...(with-n
2efa0 6f 2d 77 61 72 6e 69 6e 67 73 20 3b 3b 20 64 75 65 20 74 6f 20 6c 61 7a 79 20 28 72 65 71 75 69 o-warnings.;;.due.to.lazy.(requi
2efc0 72 65 20 29 0a 20 20 20 20 28 65 6d 6d 73 2d 61 64 64 2d 75 72 6c 20 20 20 28 63 61 72 20 28 65 re.).....(emms-add-url...(car.(e
2efe0 6c 74 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 65 6e 63 6c 6f 73 75 72 65 73 20 65 6c 66 65 lt.(elfeed-entry-enclosures.elfe
2f000 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ed-show-entry)..................
2f020 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 65 6e 63 6c 6f 73 75 72 65 2d 69 6e 64 65 78 20 .............(-.enclosure-index.
2f040 31 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 6e 65 78 74 1))))))..(defun.elfeed-show-next
2f060 2d 6c 69 6e 6b 20 28 29 0a 20 20 22 53 6b 69 70 20 74 6f 20 74 68 65 20 6e 65 78 74 20 6c 69 6e -link.()..."Skip.to.the.next.lin
2f080 6b 2c 20 65 78 63 6c 75 73 69 76 65 20 6f 66 20 74 68 65 20 4c 69 6e 6b 20 68 65 61 64 65 72 2e k,.exclusive.of.the.Link.header.
2f0a0 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 70 72 6f 70 65 "...(interactive)...(let.((prope
2f0c0 72 74 69 65 73 20 28 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 2d 61 74 20 28 6c 69 6e 65 2d rties.(text-properties-at.(line-
2f0e0 62 65 67 69 6e 6e 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e beginning-position)))).....(when
2f100 20 28 6d 65 6d 71 20 27 6d 65 73 73 61 67 65 2d 68 65 61 64 65 72 2d 6e 61 6d 65 20 70 72 6f 70 .(memq.'message-header-name.prop
2f120 65 72 74 69 65 73 29 0a 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 70 61 72 61 67 72 61 70 68 erties).......(forward-paragraph
2f140 29 29 0a 20 20 20 20 28 73 68 72 2d 6e 65 78 74 2d 6c 69 6e 6b 29 29 29 0a 0a 28 64 65 66 75 6e )).....(shr-next-link)))..(defun
2f160 20 65 6c 66 65 65 64 2d 6b 69 6c 6c 2d 6c 69 6e 6b 2d 75 72 6c 2d 61 74 2d 70 6f 69 6e 74 20 28 .elfeed-kill-link-url-at-point.(
2f180 29 0a 20 20 22 47 65 74 20 6c 69 6e 6b 20 55 52 4c 20 61 74 20 70 6f 69 6e 74 20 61 6e 64 20 73 )..."Get.link.URL.at.point.and.s
2f1a0 74 6f 72 65 20 69 6e 20 6b 69 6c 6c 2d 72 69 6e 67 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 tore.in.kill-ring."...(interacti
2f1c0 76 65 29 0a 20 20 28 6c 65 74 20 28 28 75 72 6c 20 28 6f 72 20 28 65 6c 66 65 65 64 2d 67 65 74 ve)...(let.((url.(or.(elfeed-get
2f1e0 2d 6c 69 6e 6b 2d 61 74 2d 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -link-at-point).................
2f200 20 28 65 6c 66 65 65 64 2d 67 65 74 2d 75 72 6c 2d 61 74 2d 70 6f 69 6e 74 29 29 29 29 0a 20 20 .(elfeed-get-url-at-point))))...
2f220 20 20 28 69 66 20 75 72 6c 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 28 6b 69 6c 6c 2d 6e ..(if.url.........(progn.(kill-n
2f240 65 77 20 75 72 6c 29 20 28 6d 65 73 73 61 67 65 20 75 72 6c 29 29 0a 20 20 20 20 20 20 28 63 61 ew.url).(message.url)).......(ca
2f260 6c 6c 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 27 73 68 72 2d 63 6f 70 79 2d 75 72 6c 29 29 ll-interactively.'shr-copy-url))
2f280 29 29 0a 0a 3b 3b 20 42 6f 6f 6b 6d 61 72 6b 73 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 ))..;;.Bookmarks..;;;###autoload
2f2a0 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 62 6f 6f 6b 6d 61 72 6b 2d 68 61 6e .(defun.elfeed-show-bookmark-han
2f2c0 64 6c 65 72 20 28 72 65 63 6f 72 64 29 0a 20 20 22 53 68 6f 77 20 74 68 65 20 62 6f 6f 6b 6d 61 dler.(record)..."Show.the.bookma
2f2e0 72 6b 65 64 20 65 6e 74 72 79 20 73 61 76 65 64 20 69 6e 20 74 68 65 20 60 52 45 43 4f 52 44 27 rked.entry.saved.in.the.`RECORD'
2f300 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 69 64 20 28 62 6f 6f 6b 6d 61 72 6b 2d 70 72 6f 70 2d 67 ."...(let*.((id.(bookmark-prop-g
2f320 65 74 20 72 65 63 6f 72 64 20 27 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 6e 74 72 79 20 et.record.'id))..........(entry.
2f340 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 65 6e 74 72 79 20 69 64 29 29 0a 20 20 20 20 20 20 (elfeed-db-get-entry.id)).......
2f360 20 20 20 28 70 6f 73 69 74 69 6f 6e 20 28 62 6f 6f 6b 6d 61 72 6b 2d 67 65 74 2d 70 6f 73 69 74 ...(position.(bookmark-get-posit
2f380 69 6f 6e 20 72 65 63 6f 72 64 29 29 29 0a 20 20 20 20 28 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 ion.record))).....(elfeed-show-e
2f3a0 6e 74 72 79 20 65 6e 74 72 79 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 73 69 74 ntry.entry).....(goto-char.posit
2f3c0 69 6f 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 62 6f 6f 6b 6d ion)))..(defun.elfeed-show-bookm
2f3e0 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 20 28 29 0a 20 20 22 53 61 76 65 20 74 68 65 20 63 ark-make-record.()..."Save.the.c
2f400 75 72 72 65 6e 74 20 70 6f 73 69 74 69 6f 6e 20 61 6e 64 20 74 68 65 20 65 6e 74 72 79 20 69 6e urrent.position.and.the.entry.in
2f420 74 6f 20 61 20 62 6f 6f 6b 6d 61 72 6b 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 64 20 28 65 6c 66 to.a.bookmark."...(let.((id.(elf
2f440 65 65 64 2d 65 6e 74 72 79 2d 69 64 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 eed-entry-id.elfeed-show-entry))
2f460 0a 20 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 0a 20 20 20 20 .........(position.(point)).....
2f480 20 20 20 20 28 74 69 74 6c 65 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 69 74 6c 65 20 65 ....(title.(elfeed-entry-title.e
2f4a0 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 29 0a 20 20 20 20 60 28 2c 28 66 6f 72 6d lfeed-show-entry))).....`(,(form
2f4c0 61 74 20 22 65 6c 66 65 65 64 20 65 6e 74 72 79 20 5c 22 25 73 5c 22 22 20 74 69 74 6c 65 29 0a at."elfeed.entry.\"%s\"".title).
2f4e0 20 20 20 20 20 20 28 69 64 20 2e 20 2c 69 64 29 0a 20 20 20 20 20 20 28 6c 6f 63 61 74 69 6f 6e ......(id...,id).......(location
2f500 20 2e 20 2c 74 69 74 6c 65 29 0a 20 20 20 20 20 20 28 70 6f 73 69 74 69 6f 6e 20 2e 20 2c 70 6f ...,title).......(position...,po
2f520 73 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 28 68 61 6e 64 6c 65 72 20 2e 20 65 6c 66 65 65 64 2d sition).......(handler...elfeed-
2f540 73 68 6f 77 2d 62 6f 6f 6b 6d 61 72 6b 2d 68 61 6e 64 6c 65 72 29 29 29 29 0a 0a 28 70 72 6f 76 show-bookmark-handler))))..(prov
2f560 69 64 65 20 27 65 6c 66 65 65 64 2d 73 68 6f 77 29 0a 0a 3b 3b 3b 20 65 6c 66 65 65 64 2d 73 68 ide.'elfeed-show)..;;;.elfeed-sh
2f580 6f 77 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ow.el.ends.here.................
2f5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fa00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fa20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fa40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fa60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fa80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2faa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fc00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fc60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fc80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fe00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fe20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fe40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fe60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fe80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ff00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ff20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ff40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ff60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ff80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ffa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ffc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ffe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
300a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
300c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
300e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
301a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
301c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
301e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
302a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
302c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
302e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
303a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
303c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
303e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
304a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
304c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
304e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
305a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
305c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
305e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
306a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
306c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
306e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
307a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
307c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
307e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
308a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
308c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
308e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
309a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
309c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
309e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
310a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
310c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
310e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
311a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
311c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
311e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
312a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
312c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
312e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
313a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
313c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
313e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
314a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
314c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
314e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
315a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
315c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
315e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
316a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
316c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
316e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
317a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
317c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
317e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
318a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
318c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
318e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
319a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
319c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
319e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................