summaryrefslogtreecommitdiff
path: root/.localrepo/elfeed-20241202.22.tar
blob: 8da18c924c6241b46a2d47980c0a326b0ad66c0a (plain)
ofshex dumpascii
0000 65 6c 66 65 65 64 2d 32 30 32 34 31 32 30 32 2e 32 32 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 elfeed-20241202.22/.............
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 30 35 35 00 20 35 00 00 00 0000000.00000000000.012055..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 31 32 30 32 2e 32 32 2f 52 45 41 44 4d 45 2e 6d 64 00 00 00 00 elfeed-20241202.22/README.md....
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 34 34 32 33 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 33 33 37 00 20 30 00 00 00 0044230.00000000000.013337..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 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..
0420 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
0440 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
0460 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
0480 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
04a0 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.
04c0 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:
04e0 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
0500 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
0520 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.
0540 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
0560 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
0580 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/
05a0 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
05c0 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
05e0 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
0600 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:
0620 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-
0640 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
0660 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
0680 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
06a0 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
06c0 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
06e0 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
0700 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:/
0720 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
0740 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
0760 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)..*.[
0780 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
07a0 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
07c0 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
07e0 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
0800 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
0820 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
0840 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/)
0860 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
0880 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
08a0 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
08c0 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
08e0 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
0900 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
0920 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
0940 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.
0960 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
0980 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
09a0 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
09c0 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
09e0 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
0a00 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
0a20 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/).
0a40 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]
0a60 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
0a80 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/)..*
0aa0 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.
0ac0 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
0ae0 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
0b00 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..
0b20 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/
0b40 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
0b60 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
0b80 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.
0ba0 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
0bc0 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.
0be0 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
0c00 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
0c20 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
0c40 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
0c60 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
0c80 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`.
0ca0 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'
0cc0 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
0ce0 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
0d00 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,.
0d20 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..
0d40 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
0d60 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
0d80 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.
0da0 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
0dc0 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
0de0 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
0e00 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..
0e20 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
0e40 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
0e60 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
0e80 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
0ea0 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
0ec0 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
0ee0 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
0f00 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](
0f20 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-
0f40 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
0f60 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
0f80 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
0fa0 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
0fc0 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)).*
0fe0 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
1000 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
1020 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
1040 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
1060 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
1080 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
10a0 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
10c0 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
10e0 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
1100 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
1120 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
1140 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
1160 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)
1180 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
11a0 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.
11c0 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.
11e0 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
1200 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
1220 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
1240 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
1260 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
1280 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<
12a0 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..
12c0 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.
12e0 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
1300 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
1320 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
1340 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
1360 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
1380 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
13a0 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
13c0 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
13e0 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/"....
1400 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
1420 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
1440 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.
1460 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.
1480 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
14a0 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.
14c0 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-
14e0 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
1500 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
1520 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
1540 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
1560 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
1580 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.
15a0 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
15c0 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
15e0 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
1600 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
1620 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
1640 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
1660 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.
1680 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
16a0 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
16c0 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
16e0 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".
1700 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
1720 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`...~~
1740 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).
1760 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
1780 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
17a0 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
17c0 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.
17e0 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
1800 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
1820 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
1840 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..
1860 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
1880 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
18a0 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
18c0 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
18e0 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.
1900 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>:
1920 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
1940 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
1960 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
1980 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.
19a0 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..
19c0 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
19e0 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
1a00 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
1a20 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
1a40 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
1a60 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
1a80 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
1aa0 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.
1ac0 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-
1ae0 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.
1b00 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
1b20 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
1b40 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...`
1b60 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.......'(
1b80 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/".
1ba0 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.
1bc0 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
1be0 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
1c00 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
1c20 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
1c40 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
1c60 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.
1c80 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.<
1ca0 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
1cc0 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
1ce0 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
1d00 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.
1d20 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
1d40 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
1d60 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
1d80 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
1da0 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
1dc0 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
1de0 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
1e00 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
1e20 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.
1e40 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
1e60 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
1e80 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
1ea0 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"
1ec0 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
1ee0 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
1f00 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
1f20 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
1f40 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.
1f60 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
1f80 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
1fa0 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
1fc0 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
1fe0 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
2000 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.
2020 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.
2040 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
2060 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
2080 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
20a0 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
20c0 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.`
20e0 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.
2100 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`"...
2120 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.`#`
2140 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
2160 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
2180 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
21a0 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.
21c0 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
21e0 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
2200 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
2220 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
2240 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.
2260 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.`=`.
2280 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
22a0 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.
22c0 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
22e0 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
2300 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.
2320 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
2340 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
2360 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
2380 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
23a0 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
23c0 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
23e0 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
2400 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
2420 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
2440 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
2460 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
2480 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.
24a0 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
24c0 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
24e0 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.
2500 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
2520 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
2540 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
2560 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...*.`+
2580 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/`
25a0 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
25c0 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...###
25e0 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
2600 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.
2620 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
2640 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
2660 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
2680 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.
26a0 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.
26c0 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
26e0 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....
2700 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
2720 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.")..#
2740 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
2760 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.
2780 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.
27a0 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
27c0 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
27e0 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
2800 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`.
2820 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
2840 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
2860 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
2880 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
28a0 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-
28c0 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
28e0 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\
2900 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"..........................
2920 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))).```
2940 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
2960 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
2980 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
29a0 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-
29c0 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
29e0 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"........
2a00 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.'
2a20 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
2a40 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
2a60 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........
2a80 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
2aa0 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"................
2ac0 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
2ae0 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")......
2b00 20 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
2b20 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.............................
2b40 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-
2b60 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
2b80 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
2ba0 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
2bc0 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
2be0 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
2c00 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
2c20 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
2c40 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
2c60 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
2c80 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
2ca0 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
2cc0 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
2ce0 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
2d00 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...~~~
2d20 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
2d40 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"))..
2d60 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
2d80 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
2da0 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
2dc0 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
2de0 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.
2e00 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.
2e20 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
2e40 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
2e60 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
2e80 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.
2ea0 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
2ec0 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
2ee0 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.
2f00 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`.
2f20 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
2f40 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
2f60 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:
2f80 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
2fa0 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
2fc0 6d 6c 0a 0a 23 23 20 4f 72 67 2d 73 74 6f 72 65 2d 6c 69 6e 6b 20 61 6e 64 20 4f 72 67 2d 63 61 ml..##.Org-store-link.and.Org-ca
2fe0 70 74 75 72 65 0a 0a 57 68 65 6e 20 60 6f 72 67 2d 73 74 6f 72 65 2d 6c 69 6e 6b 60 20 69 73 20 pture..When.`org-store-link`.is.
3000 63 61 6c 6c 65 64 20 66 72 6f 6d 20 61 6e 20 45 6c 66 65 65 64 20 73 65 61 72 63 68 20 6f 72 20 called.from.an.Elfeed.search.or.
3020 61 6e 20 45 6c 66 65 65 64 0a 65 6e 74 72 79 2c 20 61 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 73 an.Elfeed.entry,.a.link.to.the.s
3040 65 72 61 63 68 20 6f 72 20 65 6e 74 72 79 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 4f 72 67 2d erach.or.entry.is.stored.in.Org-
3060 6d 6f 64 65 20 66 6f 72 6d 61 74 2e 0a 0a 54 68 69 73 20 6c 69 6e 6b 20 63 61 6e 20 62 65 20 69 mode.format...This.link.can.be.i
3080 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 61 6e 20 4f 72 67 2d 6d 6f 64 65 20 64 6f 63 75 6d 65 6e nserted.into.an.Org-mode.documen
30a0 74 2e 20 49 66 20 74 68 65 20 6c 69 6e 6b 20 69 73 0a 6f 70 65 6e 6e 65 64 2c 20 74 68 65 20 73 t..If.the.link.is.openned,.the.s
30c0 65 61 72 63 68 20 6f 72 20 65 6e 74 72 79 20 77 69 6c 6c 20 62 65 20 73 68 6f 77 6e 20 69 6e 20 earch.or.entry.will.be.shown.in.
30e0 45 6c 66 65 65 64 2e 0a 0a 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 6c 69 6e 6b Elfeed...In.addition.to.the.link
3100 2c 20 60 6f 72 67 2d 73 74 6f 72 65 2d 6c 69 6e 6b 60 20 61 6c 73 6f 20 73 74 6f 72 65 20 73 6f ,.`org-store-link`.also.store.so
3120 6d 65 20 61 64 64 69 74 6f 6e 6e 61 6c 0a 70 72 6f 70 65 72 74 69 65 73 2e 20 59 6f 75 20 63 61 me.additonnal.properties..You.ca
3140 6e 20 61 63 63 65 73 73 20 74 68 65 6d 20 69 6e 20 61 6e 20 4f 72 67 2d 63 61 70 74 75 72 65 20 n.access.them.in.an.Org-capture.
3160 74 65 6d 70 6c 61 74 65 20 77 69 74 68 20 74 68 65 0a 74 65 6d 70 6c 61 74 65 20 65 78 70 61 6e template.with.the.template.expan
3180 73 69 6f 6e 20 60 25 3a 6b 65 79 77 6f 72 64 60 2e 20 28 60 6f 72 67 2d 73 74 6f 72 65 2d 6c 69 sion.`%:keyword`..(`org-store-li
31a0 6e 6b 60 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 63 61 6c 6c 65 64 20 77 68 65 6e nk`.is.automatically.called.when
31c0 20 79 6f 75 20 64 6f 20 61 20 63 61 70 74 75 72 65 2e 29 0a 0a 4c 69 73 74 20 6f 66 20 61 76 61 .you.do.a.capture.)..List.of.ava
31e0 69 6c 61 62 6c 65 20 6b 65 79 77 6f 72 64 73 2c 20 77 68 65 6e 20 6c 69 6e 6b 20 69 73 20 73 74 ilable.keywords,.when.link.is.st
3200 6f 72 65 64 20 66 72 6f 6d 20 61 6e 20 45 6c 66 65 65 64 20 73 65 61 72 63 68 3a 0a 2d 20 60 74 ored.from.an.Elfeed.search:.-.`t
3220 79 70 65 60 20 20 20 20 20 20 20 20 3a 20 54 79 70 65 20 6f 66 20 4f 72 67 2d 6d 6f 64 65 20 6c ype`........:.Type.of.Org-mode.l
3240 69 6e 6b 0a 2d 20 60 6c 69 6e 6b 60 20 20 20 20 20 20 20 20 3a 20 4f 72 67 2d 6d 6f 64 65 20 6c ink.-.`link`........:.Org-mode.l
3260 69 6e 6b 20 74 6f 20 74 68 69 73 20 73 65 61 72 63 68 2c 20 61 6c 73 6f 20 61 76 61 69 6c 61 62 ink.to.this.search,.also.availab
3280 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 20 25 61 2c 20 25 41 le...................with.%a,.%A
32a0 2c 20 25 6c 20 61 6e 64 20 25 4c 0a 2d 20 60 64 65 73 63 72 69 70 74 69 6f 6e 60 20 3a 20 54 68 ,.%l.and.%L.-.`description`.:.Th
32c0 65 20 73 65 61 72 63 68 20 66 69 6c 74 65 72 0a 0a 0a 4c 69 73 74 20 6f 66 20 61 76 61 69 6c 61 e.search.filter...List.of.availa
32e0 62 6c 65 20 6b 65 79 77 6f 72 64 73 2c 20 77 68 65 6e 20 6c 69 6e 6b 20 69 73 20 73 74 6f 72 65 ble.keywords,.when.link.is.store
3300 64 20 66 72 6f 6d 20 61 6e 20 45 6c 66 65 65 64 20 65 6e 74 72 79 3a 0a 2d 20 60 74 79 70 65 60 d.from.an.Elfeed.entry:.-.`type`
3320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 54 79 70 65 20 6f 66 20 4f 72 ....................:.Type.of.Or
3340 67 2d 6d 6f 64 65 20 6c 69 6e 6b 0a 2d 20 60 6c 69 6e 6b 60 20 20 20 20 20 20 20 20 20 20 20 20 g-mode.link.-.`link`............
3360 20 20 20 20 20 20 20 20 3a 20 4f 72 67 2d 6d 6f 64 65 20 6c 69 6e 6b 20 74 6f 20 74 68 69 73 20 ........:.Org-mode.link.to.this.
3380 65 6e 74 72 79 2c 20 61 6c 73 6f 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 entry,.also.available...........
33a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 20 25 61 2c 20 25 41 2c ....................with.%a,.%A,
33c0 20 25 6c 20 61 6e 64 20 25 4c 0a 2d 20 60 74 69 74 6c 65 60 20 20 20 20 20 20 20 20 20 20 20 20 .%l.and.%L.-.`title`............
33e0 20 20 20 20 20 20 20 3a 20 46 65 65 64 20 65 6e 74 72 79 20 74 69 74 6c 65 0a 2d 20 60 64 65 73 .......:.Feed.entry.title.-.`des
3400 63 72 69 70 74 69 6f 6e 60 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 46 65 65 64 20 65 6e 74 cription`.............:.Feed.ent
3420 72 79 20 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 73 61 6d 65 20 61 73 20 74 69 74 6c 65 0a 2d 20 ry.description,.same.as.title.-.
3440 60 65 78 74 65 72 6e 61 6c 2d 6c 69 6e 6b 60 20 20 20 20 20 20 20 20 20 20 20 3a 20 46 65 65 64 `external-link`...........:.Feed
3460 20 65 6e 74 72 79 20 65 78 74 65 72 6e 61 6c 20 6c 69 6e 6b 0a 2d 20 60 64 61 74 65 60 20 20 20 .entry.external.link.-.`date`...
3480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 44 61 74 65 20 74 69 6d 65 20 6f 66 20 .................:.Date.time.of.
34a0 74 68 65 20 66 65 65 64 20 65 6e 74 72 79 20 70 75 62 6c 69 63 61 74 69 6f 6e 2c 20 69 6e 0a 20 the.feed.entry.publication,.in..
34c0 20 20 20 20 20 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 75 6c .............................ful
34e0 6c 20 49 53 4f 20 38 36 30 31 20 66 6f 72 6d 61 74 0a 2d 20 60 64 61 74 65 2d 74 69 6d 65 73 74 l.ISO.8601.format.-.`date-timest
3500 61 6d 70 60 20 20 20 20 20 20 20 20 20 20 3a 20 44 61 74 65 20 74 69 6d 65 20 6f 66 20 74 68 65 amp`..........:.Date.time.of.the
3520 20 66 65 65 64 20 65 6e 74 72 79 20 70 75 62 6c 69 63 61 74 69 6f 6e 2c 20 69 6e 0a 20 20 20 20 .feed.entry.publication,.in.....
3540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 72 67 2d 6d 6f ..........................Org-mo
3560 64 65 20 61 63 74 69 76 65 20 74 69 6d 65 73 74 61 6d 70 20 66 6f 72 6d 61 74 0a 2d 20 60 64 61 de.active.timestamp.format.-.`da
3580 74 65 2d 69 6e 61 63 74 69 76 65 2d 74 69 6d 65 73 74 61 6d 70 60 20 3a 20 44 61 74 65 20 74 69 te-inactive-timestamp`.:.Date.ti
35a0 6d 65 20 6f 66 20 74 68 65 20 66 65 65 64 20 65 6e 74 72 79 20 70 75 62 6c 69 63 61 74 69 6f 6e me.of.the.feed.entry.publication
35c0 2c 20 69 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 20 ,.in............................
35e0 20 20 20 4f 72 67 2d 6d 6f 64 65 20 69 6e 61 63 74 69 76 65 20 74 69 6d 65 73 74 61 6d 70 20 66 ...Org-mode.inactive.timestamp.f
3600 6f 72 6d 61 74 0a 2d 20 60 61 75 74 68 6f 72 73 60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ormat.-.`authors`...............
3620 20 20 3a 20 4c 69 73 74 20 6f 66 20 66 65 65 64 20 65 6e 74 72 79 20 61 75 74 68 6f 72 73 20 6e ..:.List.of.feed.entry.authors.n
3640 61 6d 65 73 2c 20 6a 6f 69 6e 74 20 62 79 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ames,.joint.by.a................
3660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 61 0a 2d 20 60 74 61 67 73 60 20 20 20 ...............comma.-.`tags`...
3680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 4c 69 73 74 20 6f 66 20 66 65 65 64 20 .................:.List.of.feed.
36a0 65 6e 74 72 79 20 74 61 67 73 2c 20 69 6e 20 4f 72 67 2d 6d 6f 64 65 20 74 61 67 73 0a 20 20 20 entry.tags,.in.Org-mode.tags....
36c0 20 20 20 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 6d 61 ...........................forma
36e0 74 0a 2d 20 60 63 6f 6e 74 65 6e 74 60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 t.-.`content`.................:.
3700 43 6f 6e 74 65 6e 74 20 6f 66 20 74 68 65 20 66 65 65 64 20 65 6e 74 72 79 0a 2d 20 60 66 65 65 Content.of.the.feed.entry.-.`fee
3720 64 2d 74 69 74 6c 65 60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 54 69 74 6c 65 20 6f 66 d-title`..............:.Title.of
3740 20 74 68 65 20 66 65 65 64 0a 2d 20 60 66 65 65 64 2d 65 78 74 65 72 6e 61 6c 2d 6c 69 6e 6b 60 .the.feed.-.`feed-external-link`
3760 20 20 20 20 20 20 3a 20 46 65 65 64 20 65 78 74 65 72 6e 61 6c 20 6c 69 6e 6b 0a 2d 20 60 66 65 ......:.Feed.external.link.-.`fe
3780 65 64 2d 61 75 74 68 6f 72 73 60 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 4c 69 73 74 20 6f 66 ed-authors`............:.List.of
37a0 20 66 65 65 64 20 61 75 74 68 6f 72 73 20 6e 61 6d 65 73 2c 20 6a 6f 69 6e 74 20 62 79 20 61 20 .feed.authors.names,.joint.by.a.
37c0 63 6f 6d 6d 61 0a 0a 49 66 20 60 63 6f 6e 74 65 6e 74 60 20 74 79 70 65 20 69 73 20 48 54 4d 4c comma..If.`content`.type.is.HTML
37e0 2c 20 69 74 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 6d 62 65 64 64 65 64 20 69 ,.it.is.automatically.embedded.i
3800 6e 74 6f 20 61 6e 0a 4f 72 67 2d 6d 6f 64 65 20 48 54 4d 4c 20 71 75 6f 74 65 2e 0a 0a 0a 23 23 nto.an.Org-mode.HTML.quote....##
3820 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 61 6e 64 20 65 6e .Metadata.Plist..All.feed.and.en
3840 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 72 65 20 79 6f 75 try.objects.have.plist.where.you
3860 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 61 72 79 2c 20 5b .can.store.your.own.arbitrary,.[
3880 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 65 20 76 61 6c 75 readable.values][rd]..These.valu
38a0 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 73 74 65 64 20 69 es.are.automatically.persisted.i
38c0 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 61 74 61 20 69 73 n.the.database..This.metadata.is
38e0 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 72 70 68 69 63 20 .accessed.using.the.polymorphic.
3900 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 27 73 20 73 65 74 `elfeed-meta`.function..It's.set
3920 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 65 64 2d 6d 65 74 f-able...~~~el.(setf.(elfeed-met
3940 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 64 2d 6d 65 74 61 a.entry.:rating).4).(elfeed-meta
3960 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 73 65 74 66 20 28 .entry.:rating).;;.=>.4..(setf.(
3980 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 4d 79 20 42 65 74 elfeed-meta.feed.:title)."My.Bet
39a0 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 73 65 6c 66 20 61 ter.Title").~~~..Elfeed.itself.a
39c0 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 6c 69 73 74 2c 20 dds.some.entries.to.this.plist,.
39e0 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 72 20 69 74 73 20 some.for.your.use,.some.for.its.
3a00 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 65 72 74 69 65 73 own.use..Here.are.the.properties
3a20 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 74 68 6f 72 73 60 .that.Elfeed.uses:..*.`:authors`
3a40 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 20 28 60 3a 6e 61 .:.A.list.of.author.plists.(`:na
3a60 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 60 3a 63 61 6e 6f me`,.`:uri`,.`:email`)..*.`:cano
3a80 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 20 66 6f 72 20 74 nical-url`.:.The.final.URL.for.t
3aa0 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 73 2e 0a 2a 20 60 he.feed.after.all.redirects..*.`
3ac0 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 70 70 6c 69 65 64 :categories`.:.The.feed-supplied
3ae0 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 2e 0a 2a 20 60 3a .categories.for.this.entry..*.`:
3b00 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 66 6f 72 20 63 6f etag`.:.HTTP.Etag.header,.for.co
3b20 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 65 73 60 20 3a 20 nditional.GETs..*.`:failures`.:.
3b40 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 68 61 73 20 66 61 Number.of.times.this.feed.has.fa
3b60 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 6f 64 69 66 69 65 iled.to.update..*.`:last-modifie
3b80 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 61 64 65 72 2c 20 d`.:.HTTP.Last-Modified.header,.
3ba0 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 74 69 74 6c 65 60 for.conditional.GETs..*.`:title`
3bc0 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 6c 69 65 64 20 74 .:.Overrides.the.feed-supplied.t
3be0 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 0a 20 20 62 6f 74 itle.for.display.purposes,...bot
3c00 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 65 65 20 61 6c 73 h.for.feeds.and.entries..See.als
3c20 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 74 69 74 6c 65 60 o.`elfeed-search-set-feed-title`
3c40 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 65 6e 74 72 79 2d ...and.`elfeed-search-set-entry-
3c60 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 6f 77 20 69 6e 20 title`...This.list.will.grow.in.
3c80 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 72 20 6e 61 6d 65 time,.so.you.might.consider.name
3ca0 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 73 20 74 6f 20 61 spacing.your.own.properties.to.a
3cc0 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 7a 2f 72 61 74 69 void.collisions.(e.g..`:xyz/rati
3ce0 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 6b 65 79 77 6f 72 ng`),.or.simply.not.using.keywor
3d00 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 77 61 79 73 20 75 ds.as.keys..Elfeed.will.always.u
3d20 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 68 2e 0a 0a 5b 72 se.keywords.without.a.slash...[r
3d40 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 2f 62 6c 6f 67 2f d]:.http://nullprogram.com/blog/
3d60 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 75 6d 62 65 72 20 2013/12/30/..##.Hooks..A.number.
3d80 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 63 75 73 74 6f 6d of.hooks.are.available.to.custom
3da0 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 20 61 74 0a 6b 65 ize.the.behavior.of.Elfeed.at.ke
3dc0 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 20 74 6f 20 61 64 y.points.without.resorting.to.ad
3de0 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 2d 68 6f 6f 6b 60 vice...*.`elfeed-new-entry-hook`
3e00 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 65 6e 74 72 79 20 .:.Called.each.time.a.new.entry.
3e20 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 2c 20 61 6c 6c 6f it.added.to...the.database,.allo
3e40 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 67 20 61 6e 64 20 wing.for.automating.tagging.and.
3e60 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 70 61 72 73 65 2d such..*.`elfeed-new-entry-parse-
3e80 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 65 77 20 65 6e 74 hook`.:.Called.with.each.new.ent
3ea0 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 63 74 75 72 65 20 ry.and.the...full.XML.structure.
3ec0 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 61 6c 6c 6f 77 69 from.which.it.was.parsed,.allowi
3ee0 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 61 74 69 6f 6e 20 ng.for.additional...information.
3f00 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 6e 61 6c 20 66 65 to.be.drawn.from.the.original.fe
3f20 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 6f 72 2d 68 6f 6f ed.XML..*.`elfeed-http-error-hoo
3f40 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 65 68 61 76 69 6f ks`.:.Allows.for.special.behavio
3f60 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 2c 20 62 65 79 6f r.when.HTTP...errors.occur,.beyo
3f80 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 72 20 74 6f 20 60 nd.simply.logging.the.error.to.`
3fa0 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 70 61 72 73 65 2d *elfeed-log*`...*.`elfeed-parse-
3fc0 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 73 70 65 63 69 61 error-hooks`.:.Allows.for.specia
3fe0 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 73 69 6e 67 20 66 l.behavior.when.feed...parsing.f
4000 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 6c 66 65 65 64 2d ails,.beyond.logging..*.`elfeed-
4020 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 6e 79 20 74 69 6d db-update-hook`.:.Called.any.tim
4040 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 20 6d 61 6a 6f 72 e.the.database.has.had.a...major
4060 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 20 45 6e 74 72 69 .modification...##.Viewing.Entri
4080 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 61 6c 6c 79 20 69 es..Entries.are.viewed.locally.i
40a0 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 69 6c 65 20 6f 76 n.Emacs.by.typing.`RET`.while.ov
40c0 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 6c 69 73 74 69 6e er.an.entry.in.the.search.listin
40e0 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 70 6c 61 79 65 64 g..The.content.will.be.displayed
4100 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 67 20 60 65 6c 66 .in.a.separate.buffer.using.`elf
4120 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 73 69 6e 67 20 45 eed-show-mode`,.rendered.using.E
4140 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 2e 20 54 68 69 73 macs'.built-in.shr.package..This
4160 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 64 20 77 69 74 68 .requires.an.Emacs.compiled.with
4180 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 20 70 72 6f 76 69 .`libxml2`.bindings,.which.provi
41a0 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 73 65 72 2e 0a 0a des.the.necessary.HTML.parser...
41c0 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 73 20 63 61 6e 20 Sometimes.displaying.images.can.
41e0 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 61 63 73 2e 20 53 slow.down.or.even.crash.Emacs..S
4200 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 20 64 69 73 61 62 et.`shr-inhibit-images`.to.disab
4220 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 62 6c 65 6d 2e 0a le.images.if.this.is.a.problem..
4240 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 69 6e 63 6c 75 64 .##.Web.Interface..Elfeed.includ
4260 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 20 69 6e 74 65 72 es.a.demonstration/toy.web.inter
4280 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 63 65 73 73 2e 20 face.for.remote.network.access..
42a0 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 6c 69 63 61 74 69 It's.a.single-page.web.applicati
42c0 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 73 65 0a 6c 69 76 on.that.follows.the.database.liv
42e0 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 74 27 73 20 70 61 e.as.new.entries.arrive..It's.pa
4300 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 65 64 2d 77 65 62 ckaged.separately.as.`elfeed-web
4320 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 20 65 6c 66 65 65 `..To.fire.it.up,.run.`M-x.elfee
4340 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 70 3a 2f 2f 6c 6f d-web-start`.and.visit.http://lo
4360 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 6b 20 79 6f 75 72 calhost:8080/elfeed/.(check.your
4380 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 73 65 72 2e 20 53 .`httpd-port`).with.a.browser..S
43a0 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 64 65 72 20 66 6f ee.the.`elfeed-web.el`.header.fo
43c0 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 66 0a 79 6f 75 27 r.endpoint.documentation.if.you'
43e0 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 64 20 64 61 74 61 d.like.to.access.the.Elfeed.data
4400 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 0a 49 74 27 73 20 base.through.the.web.API...It's.
4420 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 20 6b 65 79 62 6f rough.and.unfinished.--.no.keybo
4440 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 6e 6f 0a 61 75 74 ard.shortcuts,.read-only,.no.aut
4460 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 65 6e 74 72 79 20 hentication,.and.a.narrow.entry.
4480 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 45 6c 66 65 65 64 viewer..This.is.basically.Elfeed
44a0 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 63 68 65 73 20 77 's."mobile".interface..Patches.w
44c0 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 72 74 0a 0a 53 75 elcome...##.Platform.Support..Su
44e0 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 73 74 20 70 72 6f mmary:.Install.cURL.and.most.pro
4500 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 61 74 66 6f 72 6d blems.disappear.for.all.platform
4520 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 45 6c 66 65 65 64 s...I.personally.only.use.Elfeed
4540 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 6f 6e 61 6c 6c 79 .on.Linux,.but.it's.occasionally
4560 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 75 6e 61 74 65 6c .tested.on.Windows..Unfortunatel
4580 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 73 20 69 73 20 61 y.the.Windows.port.of.Emacs.is.a
45a0 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 6c 6c 65 6c 20 66 .bit.too.unstable.for.parallel.f
45c0 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 74 72 69 65 76 65 eed.downloads.with.`url-retrieve
45e0 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 79 2c 20 68 61 72 `,.not.to.mention.the.[tiny,.har
4600 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 6f 72 20 6c 69 6d d-coded,.512.open.descriptor.lim
4620 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 69 74 73 20 69 74 itation][files],.so.it.limits.it
4640 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 20 6f 6e 20 74 68 self.to.one.feed.at.a.time.on.th
4660 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 70 3a 2f 2f 6d 73 is.platform...[files]:.http://ms
4680 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 72 61 72 79 2f 6b dn.microsoft.com/en-us/library/k
46a0 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 66 20 79 6f 75 20 dfaxaay%28vs.71%29.aspx..If.you.
46c0 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 63 55 52 4c 20 6f fetch.HTTPS.feeds.without.cURL.o
46e0 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 65 6e 74 69 61 6c n.*any*.platform,.it's.essential
4700 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 74 68 65 20 60 2d .that.Emacs.is.built.with.the.`-
4720 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 72 77 69 73 65 20 -with-gnutls`.option..Otherwise.
4740 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 66 65 72 69 6f 72 Emacs.runs.gnutls.in.an.inferior
4760 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 6b 73 0a 77 65 6c .process,.which.rarely.works.wel
4780 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 0a 0a 54 68 65 20 l...##.Database.Management..The.
47a0 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 66 20 75 6e 64 65 database.should.keep.itself.unde
47c0 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 61 6c 0a 69 6e 74 r.control.without.any.manual.int
47e0 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 65 20 74 61 6b 65 ervention,.but.steps.can.be.take
4800 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 20 73 69 7a 65 20 n.to.minimize.the.database.size.
4820 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 70 74 69 6f 6e 20 if.desired..The.simplest.option.
4840 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 6f 6d 70 61 63 74 is.to.run.the.`elfeed-db-compact
4860 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 20 74 68 65 20 6c `.command,.which.will.pack.the.l
4880 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 20 69 6e 74 6f 20 oose-file.content.database.into.
48a0 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 54 68 69 73 20 66 a.single.compressed.file..This.f
48c0 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 6c 2d 65 6d 61 63 unction.works.well.in.`kill-emac
48e0 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 20 66 75 6e 63 74 s-hook`...Going.further,.a.funct
4900 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 65 65 64 2d 6e 65 ion.could.be.added.to.`elfeed-ne
4920 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 61 6e 74 65 64 2f w-entry-hook`.to.strip.unwanted/
4940 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 63 74 20 65 6e 74 unneeded.content.from.select.ent
4960 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 6e 20 74 68 65 20 ries.before.being.stored.in.the.
4980 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 20 59 6f 75 54 75 database..For.example,.for.YouTu
49a0 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 69 6e 6b 20 69 73 be.videos.only.the.entry.link.is
49c0 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 61 72 6c 79 2d 63 .of.interest.and.the.regularly-c
49e0 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 64 20 62 65 0a 74 hanging.entry.content.could.be.t
4a00 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 72 61 67 65 2e 0a ossed.to.save.time.and.storage..
4a20 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 66 65 65 64 20 69 .##.Status.and.Roadmap..Elfeed.i
4a40 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 6e 20 73 65 72 76 s.to.the.point.where.it.can.serv
4a60 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 6e 65 65 64 73 2e e.100%.of.my.own.web.feed.needs.
4a80 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 61 62 6f 75 74 20 .My.personal.selection.of.about.
4aa0 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 61 73 20 6d 79 0a 150.feeds.has.been.acting.as.my.
4ac0 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 64 20 61 64 64 20 test.case.as.I.optimize.and.add.
4ae0 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 74 69 6c 6c 20 6d features...Some.things.I.still.m
4b00 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 61 73 65 20 73 79 ight.want.to.add:..*.Database.sy
4b20 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 75 74 65 72 73 0a nchronization.between.computers.
4b40 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 69 61 20 73 65 70 *.Parallel.feed.fetching.via.sep
4b60 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 23 23 20 4d 6f 74 arate.Emacs.subprocesses..##.Mot
4b80 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 20 6f 75 74 73 69 ivation..As.far.as.I.know,.outsi
4ba0 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 74 20 65 78 69 73 de.of.Elfeed.there.does.not.exis
4bc0 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 20 63 6f 6e 66 69 t.an.extensible,.text-file.confi
4be0 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 20 63 6c 69 65 6e gured,.power-user.web.feed.clien
4c00 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 61 62 6c 65 20 6e t.that.can.handle.a.reasonable.n
4c20 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 6e 67 20 63 6c 69 umber.of.feeds..The.existing.cli
4c40 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 67 20 73 6f 6d 65 ents.I've.tried.are.missing.some
4c60 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 20 6c 69 6d 69 74 .important.capability.that.limit
4c80 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 00 00 00 00 00 00 s.its.usefulness.to.me..........
4ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e00 65 6c 66 65 65 64 2d 32 30 32 34 31 32 30 32 2e 32 32 2f 65 6c 66 65 65 64 2d 63 73 76 2e 65 6c elfeed-20241202.22/elfeed-csv.el
4e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e60 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
4e80 30 30 31 33 31 34 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 34 32 30 00 20 30 00 00 00 0013145.00000000000.014420..0...
4ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f00 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...................
4f20 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...................
4f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5000 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
5020 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
5040 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:.
5060 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
5080 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
50a0 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
50c0 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
50e0 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.
5100 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
5120 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.
5140 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
5160 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
5180 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
51a0 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
51c0 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,
51e0 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.
5200 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
5220 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.
5240 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
5260 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.;;.
5280 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.(
52a0 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...
52c0 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
52e0 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',.
5300 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,.;;
5320 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
5340 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.
5360 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
5380 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,
53a0 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
53c0 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,.;
53e0 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
5400 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.
5420 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)
5440 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
5460 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
5480 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.;
54a0 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
54c0 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
54e0 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
5500 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,.;;..
5520 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,
5540 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),.'
5560 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.;
5580 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.
55a0 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
55c0 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
55e0 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.
5600 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.
5620 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,.;;.....
5640 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
5660 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
5680 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.
56a0 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
56c0 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
56e0 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
5700 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
5720 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
5740 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.
5760 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
5780 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
57a0 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.
57c0 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
57e0 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
5800 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
5820 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)
5840 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
5860 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.
5880 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;
58a0 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).(
58c0 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
58e0 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
5900 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
5920 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
5940 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
5960 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)..."
5980 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
59a0 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).
59c0 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)........
59e0 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))..........
5a00 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
5a20 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
5a40 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
5a60 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
5a80 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)."\""))....
5aa0 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
5ac0 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
5ae0 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.
5b00 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
5b20 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.
5b40 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.
5b60 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
5b80 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
5ba0 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)).........
5bc0 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
5be0 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.
5c00 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
5c20 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
5c40 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
5c60 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.
5c80 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
5ca0 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
5cc0 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
5ce0 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
5d00 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
5d20 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
5d40 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
5d60 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
5d80 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,....
5da0 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
5dc0 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,...
5de0 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.
5e00 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,....
5e20 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
5e40 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
5e60 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.(.
5e80 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
5ea0 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
5ec0 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,.
5ee0 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
5f00 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
5f20 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*
5f40 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
5f60 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*
5f80 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
5fa0 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*"))...
5fc0 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
5fe0 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..
6000 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
6020 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......
6040 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
6060 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])).......(
6080 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
60a0 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
60c0 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])).......
60e0 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
6100 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
6120 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
6140 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
6160 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.
6180 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
61a0 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
61c0 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))......
61e0 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
6200 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
6220 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
6240 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.
6260 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))).....
6280 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
62a0 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-
62c0 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
62e0 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
6300 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))).
6320 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
6340 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)).............(
6360 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)
6380 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
63a0 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
63c0 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)))....
63e0 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
6400 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
6420 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
6440 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-
6460 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
6480 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
64a0 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
64c0 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))))))..
64e0 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
6500 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
6520 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
6540 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
6560 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
6580 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
65a0 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
65c0 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
65e0 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.
6600 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).......
6620 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
6640 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.
6660 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............................
6680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6800 65 6c 66 65 65 64 2d 32 30 32 34 31 32 30 32 2e 32 32 2f 65 6c 66 65 65 64 2d 63 75 72 6c 2e 65 elfeed-20241202.22/elfeed-curl.e
6820 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...............................
6840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6860 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
6880 30 30 35 33 36 33 31 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 0053631.00000000000.014576..0...
68a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
68c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
68e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6900 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...................
6920 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...................
6940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
69a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
69c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
69e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a00 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
6a20 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
6a40 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
6a60 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
6a80 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
6aa0 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.
6ac0 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
6ae0 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
6b00 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
6b20 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
6b40 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
6b60 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
6b80 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
6ba0 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
6bc0 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
6be0 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'
6c00 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
6c20 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
6c40 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.
6c60 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
6c80 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
6ca0 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
6cc0 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.
6ce0 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
6d00 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
6d20 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.
6d40 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
6d60 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
6d80 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
6da0 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...
6dc0 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
6de0 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.
6e00 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
6e20 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
6e40 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
6e60 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.....
6e80 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
6ea0 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.
6ec0 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'
6ee0 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
6f00 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
6f20 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.(
6f40 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
6f60 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.
6f80 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
6fa0 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
6fc0 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
6fe0 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
7000 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-
7020 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
7040 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
7060 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.
7080 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
70a0 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
70c0 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."...
70e0 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)
7100 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
7120 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
7140 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
7160 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
7180 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
71a0 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
71c0 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
71e0 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
7200 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
7220 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
7240 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
7260 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
7280 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
72a0 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.".
72c0 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
72e0 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-
7300 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
7320 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
7340 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
7360 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
7380 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
73a0 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
73c0 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
73e0 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..."
7400 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.
7420 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
7440 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
7460 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
7480 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
74a0 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
74c0 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
74e0 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
7500 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
7520 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
7540 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
7560 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./
7580 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.
75a0 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-
75c0 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.
75e0 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
7600 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
7620 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.
7640 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
7660 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...'((
7680 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.")....
76a0 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.")..
76c0 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
76e0 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..."
7700 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
7720 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
7740 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
7760 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.")..
7780 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.
77a0 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.
77c0 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'
77e0 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
7800 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
7820 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.")
7840 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
7860 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
7880 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
78a0 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
78c0 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.
78e0 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
7900 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..
7920 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.
7940 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
7960 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.
7980 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.")...
79a0 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
79c0 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."
79e0 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
7a00 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
7a20 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."
7a40 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.
7a60 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
7a80 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.
7aa0 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...
7ac0 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
7ae0 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..."
7b00 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
7b20 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
7b40 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
7b60 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
7b80 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
7ba0 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
7bc0 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.
7be0 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
7c00 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
7c20 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
7c40 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
7c60 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
7c80 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
7ca0 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
7cc0 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
7ce0 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.
7d00 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
7d20 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
7d40 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.
7d60 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.
7d80 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
7da0 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.
7dc0 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.
7de0 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.
7e00 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.
7e20 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
7e40 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
7e60 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.").....(
7e80 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.")
7ea0 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
7ec0 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
7ee0 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
7f00 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
7f20 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.")...
7f40 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
7f60 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
7f80 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.")...
7fa0 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.
7fc0 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
7fe0 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.
8000 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
8020 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
8040 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
8060 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
8080 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
80a0 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
80c0 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.
80e0 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..
8100 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.").
8120 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
8140 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.
8160 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.
8180 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
81a0 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.
81c0 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
81e0 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
8200 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..."
8220 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.")
8240 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
8260 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.
8280 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.").
82a0 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
82c0 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
82e0 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
8300 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..."
8320 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..
8340 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.")
8360 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
8380 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..
83a0 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
83c0 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?).")
83e0 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
8400 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.")
8420 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
8440 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
8460 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
8480 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
84a0 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
84c0 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
84e0 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
8500 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).")...
8520 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
8540 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
8560 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
8580 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
85a0 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
85c0 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.
85e0 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").
8600 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
8620 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")
8640 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.
8660 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"))
8680 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
86a0 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
86c0 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.
86e0 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
8700 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
8720 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.(
8740 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
8760 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
8780 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'
87a0 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.--
87c0 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
87e0 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
8800 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
8820 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
8840 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
8860 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)....
8880 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
88a0 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)))...
88c0 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-
88e0 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...
8900 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-
8920 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
8940 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......
8960 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................
8980 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)).......
89a0 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
89c0 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)............
89e0 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)))).....
8a00 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............
8a20 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
8a40 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)).............
8a60 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."^
8a80 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)....
8aa0 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
8ac0 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))
8ae0 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....
8b00 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..............
8b20 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)).....
8b40 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
8b60 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:.\\(.*\\)$")...
8b80 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.(
8ba0 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))))))...........(
8bc0 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
8be0 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
8c00 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............
8c20 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
8c40 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)))...
8c60 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
8c80 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.......................:
8ca0 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
8cc0 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
8ce0 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
8d00 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
8d20 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
8d40 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
8d60 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
8d80 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")
8da0 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.()..
8dc0 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
8de0 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
8e00 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.
8e20 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
8e40 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-
8e60 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
8e80 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."!$&*+-
8ea0 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
8ec0 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
8ee0 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.;.
8f00 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
8f20 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))....
8f40 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)).(
8f60 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)
8f80 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
8fa0 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.
8fc0 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
8fe0 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).
9000 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
9020 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
9040 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)).....
9060 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
9080 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))
90a0 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)))......
90c0 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
90e0 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))....
9100 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).........;;.
9120 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........
9140 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
9160 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
9180 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)..........
91a0 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))).......
91c0 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)).
91e0 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
9200 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
9220 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))
9240 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
9260 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.
9280 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.........
92a0 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
92c0 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))...............
92e0 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
9300 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.............................
9320 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).
9340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9360 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)))
9380 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
93a0 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
93c0 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
93e0 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
9400 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.
9420 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)))..
9440 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
9460 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..
9480 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
94a0 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
94c0 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
94e0 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))))))..
9500 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
9520 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
9540 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
9560 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
9580 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'
95a0 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
95c0 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.(>.(-.(
95e0 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).....(
9600 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
9620 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]+.+\\
9640 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
9660 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
9680 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
96a0 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
96c0 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
96e0 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."^\\([^:]+\\):.+\\([^\
9700 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
9720 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.
9740 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
9760 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
9780 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
97a0 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
97c0 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
97e0 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
9800 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.
9820 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
9840 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
9860 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.(
9880 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."
98a0 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))
98c0 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.(
98e0 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)..........
9900 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
9920 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...................
9940 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
9960 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
9980 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)
99a0 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-
99c0 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
99e0 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
9a00 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.
9a20 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
9a40 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
9a60 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.(
9a80 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
9aa0 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))..........
9ac0 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
9ae0 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
9b00 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).
9b20 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
9b40 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.
9b60 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
9b80 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
9ba0 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
9bc0 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
9be0 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
9c00 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."-
9c20 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."-
9c40 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
9c60 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."-
9c80 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).
9ca0 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
9cc0 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
9ce0 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
9d00 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
9d20 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..
9d40 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".
9d60 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
9d80 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)
9da0 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
9dc0 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
9de0 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
9e00 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)).....
9e20 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.(
9e40 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
9e60 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.
9e80 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
9ea0 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
9ec0 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
9ee0 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)...
9f00 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
9f20 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))
9f40 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...
9f60 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
9f80 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))...(
9fa0 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).
9fc0 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
9fe0 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
a000 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.&
a020 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
a040 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
a060 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
a080 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.
a0a0 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
a0c0 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
a0e0 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
a100 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
a120 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
a140 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
a160 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)).
a180 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
a1a0 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
a1c0 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
a1e0 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)).....
a200 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
a220 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)
a240 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-
a260 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
a280 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
a2a0 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
a2c0 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
a2e0 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
a300 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
a320 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.....
a340 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
a360 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
a380 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
a3a0 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
a3c0 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
a3e0 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
a400 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
a420 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
a440 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
a460 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.
a480 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
a4a0 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
a4c0 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
a4e0 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.(
a500 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).............
a520 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
a540 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...
a560 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.
a580 20 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-
a5a0 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))........
a5c0 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
a5e0 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
a600 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
a620 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......
a640 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-
a660 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))...............
a680 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
a6a0 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)......................
a6c0 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
a6e0 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
a700 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.........
a720 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.%
a740 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)))...
a760 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..............
a780 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............
a7a0 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-
a7c0 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
a7e0 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.............(
a800 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.................(
a820 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)..............
a840 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.............
a860 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
a880 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)).................
a8a0 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
a8c0 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.
a8e0 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
a900 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-
a920 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
a940 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)......
a960 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
a980 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
a9a0 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
a9c0 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
a9e0 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
aa00 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
aa20 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
aa40 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
aa60 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
aa80 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
aaa0 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
aac0 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
aae0 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
ab00 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
ab20 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
ab40 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
ab60 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
ab80 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
aba0 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
abc0 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
abe0 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
ac00 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
ac20 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
ac40 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)..........
ac60 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
ac80 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))).....
aca0 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
acc0 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
ace0 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
ad00 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.............
ad20 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..
ad40 20 20 20 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
ad60 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!"))))
ad80 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
ada0 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-
adc0 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
ade0 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................
ae00 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
ae20 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
ae40 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
ae60 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
ae80 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
aea0 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
aec0 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
aee0 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
af00 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!
af20 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.
af40 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
af60 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.
af80 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
afa0 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
afc0 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
afe0 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
b000 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
b020 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
b040 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
b060 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
b080 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
b0a0 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
b0c0 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
b0e0 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.
b100 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
b120 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
b140 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
b160 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.".*
b180 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
b1a0 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)).....(
b1c0 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
b1e0 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
b200 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
b220 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
b240 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))
b260 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
b280 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
b2a0 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)......................
b2c0 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
b2e0 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.....
b300 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).............
b320 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
b340 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.
b360 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)))
b380 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
b3a0 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
b3c0 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-
b3e0 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)))...
b400 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
b420 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
b440 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))....
b460 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-
b480 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.
b4a0 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
b4c0 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.
b4e0 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
b500 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
b520 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
b540 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
b560 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
b580 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
b5a0 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).............(
b5c0 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
b5e0 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
b600 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.......
b620 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
b640 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)
b660 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
b680 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
b6a0 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
b6c0 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
b6e0 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
b700 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
b720 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
b740 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
b760 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.())....
b780 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
b7a0 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
b7c0 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
b7e0 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*.(
b800 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
b820 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))).......
b840 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
b860 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
b880 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
b8a0 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
b8c0 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
b8e0 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
b900 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
b920 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))..........................
b940 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
b960 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)).......................
b980 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)......
b9a0 20 20 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.(
b9c0 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)...................
b9e0 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)
ba00 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
ba20 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
ba40 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
ba60 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
ba80 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.
baa0 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.
bac0 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)..
bae0 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
bb00 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
bb20 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
bb40 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
bb60 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.
bb80 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.
bba0 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
bbc0 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.
bbe0 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.
bc00 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...
bc20 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
bc40 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
bc60 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......
bc80 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.........
bca0 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
bcc0 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.
bce0 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
bd00 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)...
bd20 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
bd40 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
bd60 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.
bd80 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)...
bda0 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
bdc0 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-
bde0 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
be00 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.....
be20 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)...........
be40 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)...
be60 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
be80 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))................(
bea0 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
bec0 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........:
bee0 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-
bf00 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
bf20 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
bf40 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
bf60 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
bf80 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)..............
bfa0 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
bfc0 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
bfe0 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
c000 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
c020 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
c040 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)))..
c060 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
c080 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
c0a0 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
c0c0 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
c0e0 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.
c100 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
c120 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
c140 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))
c160 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)..;;;.
c180 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........
c1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c200 65 6c 66 65 65 64 2d 32 30 32 34 31 32 30 32 2e 32 32 2f 65 6c 66 65 65 64 2d 64 62 2e 65 6c 00 elfeed-20241202.22/elfeed-db.el.
c220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c260 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
c280 30 30 36 31 34 31 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 32 31 32 00 20 30 00 00 00 0061412.00000000000.014212..0...
c2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c300 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...................
c320 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...................
c340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c400 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
c420 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
c440 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.
c460 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
c480 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...;;;.
c4a0 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.
c4c0 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
c4e0 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
c500 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
c520 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.
c540 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
c560 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
c580 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
c5a0 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
c5c0 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
c5e0 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),.
c600 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
c620 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
c640 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.
c660 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.
c680 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
c6a0 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
c6c0 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
c6e0 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.
c700 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
c720 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
c740 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..
c760 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.
c780 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.
c7a0 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
c7c0 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
c7e0 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
c800 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.
c820 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
c840 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
c860 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
c880 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
c8a0 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
c8c0 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
c8e0 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.
c900 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
c920 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
c940 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.
c960 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
c980 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
c9a0 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
c9c0 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
c9e0 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'.
ca00 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
ca20 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.
ca40 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
ca60 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
ca80 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
caa0 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
cac0 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.;;.
cae0 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
cb00 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.;;.
cb20 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
cb40 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
cb60 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
cb80 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
cba0 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
cbc0 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..
cbe0 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
cc00 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
cc20 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
cc40 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
cc60 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
cc80 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
cca0 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.
ccc0 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
cce0 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.
cd00 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
cd20 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-
cd40 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
cd60 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
cd80 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
cda0 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
cdc0 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'.")..(
cde0 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
ce00 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)
ce20 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.
ce40 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).......
ce60 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
ce80 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
cea0 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-
cec0 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
cee0 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.
cf00 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.
cf20 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
cf40 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
cf60 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.
cf80 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.
cfa0 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
cfc0 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.
cfe0 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
d000 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
d020 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:.
d040 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
d060 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)).
d080 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
d0a0 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
d0c0 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
d0e0 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
d100 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
d120 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
d140 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
d160 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.
d180 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
d1a0 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
d1c0 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
d1e0 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,
d200 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.
d220 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
d240 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
d260 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
d280 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
d2a0 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.#'
d2c0 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
d2e0 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)..................
d300 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
d320 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
d340 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
d360 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
d380 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)..........
d3a0 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).....
d3c0 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-
d3e0 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
d400 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.
d420 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
d440 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
d460 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
d480 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
d4a0 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
d4c0 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)...............
d4e0 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)))))
d500 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
d520 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
d540 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
d560 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
d580 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
d5a0 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
d5c0 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
d5e0 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-
d600 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))......
d620 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
d640 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
d660 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.
d680 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
d6a0 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
d6c0 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
d6e0 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
d700 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
d720 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
d740 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
d760 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-
d780 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))..
d7a0 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)..
d7c0 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.".
d7e0 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.
d800 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............
d820 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)
d840 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
d860 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).......
d880 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
d8a0 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
d8c0 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
d8e0 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))........
d900 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
d920 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
d940 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
d960 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
d980 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)...
d9a0 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
d9c0 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
d9e0 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
da00 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
da20 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)))....
da40 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.......
da60 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
da80 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).
daa0 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
dac0 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...........
dae0 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
db00 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)........
db20 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
db40 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................
db60 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)))
db80 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............(
dba0 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).....
dbc0 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
dbe0 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
dc00 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.
dc20 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
dc40 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
dc60 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
dc80 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
dca0 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
dcc0 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
dce0 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
dd00 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
dd20 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<
dd40 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.
dd60 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).
dd80 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.((
dda0 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
ddc0 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
dde0 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
de00 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)))
de20 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
de40 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
de60 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
de80 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.
dea0 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)
dec0 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
dee0 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.
df00 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.
df20 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
df40 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
df60 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
df80 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
dfa0 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
dfc0 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).........
dfe0 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)
e000 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
e020 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).....(
e040 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.
e060 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
e080 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
e0a0 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
e0c0 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
e0e0 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'.
e100 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-
e120 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)....
e140 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
e160 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)...................
e180 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
e1a0 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
e1c0 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.
e1e0 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.#
e200 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))))..
e220 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
e240 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
e260 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
e280 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
e2a0 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
e2c0 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
e2e0 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
e300 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
e320 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
e340 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
e360 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
e380 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
e3a0 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-
e3c0 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
e3e0 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
e400 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).....(
e420 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
e440 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)......
e460 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
e480 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
e4a0 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.....
e4c0 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
e4e0 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)
e500 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
e520 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
e540 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
e560 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)...........
e580 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-
e5a0 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))))........
e5c0 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-
e5e0 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
e600 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
e620 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
e640 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.
e660 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)
e680 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-
e6a0 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)..............
e6c0 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-
e6e0 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
e700 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)).......
e720 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
e740 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-
e760 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)..........
e780 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
e7a0 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
e7c0 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.`
e7e0 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
e800 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
e820 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.
e840 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.
e860 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........
e880 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))))
e8a0 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
e8c0 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
e8e0 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.`
e900 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
e920 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
e940 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.()..."
e960 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
e980 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
e9a0 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)
e9c0 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.
e9e0 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
ea00 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
ea20 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.(
ea40 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
ea60 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)...
ea80 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
eaa0 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
eac0 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
eae0 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
eb00 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
eb20 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
eb40 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
eb60 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
eb80 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
eba0 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
ebc0 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
ebe0 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)......
ec00 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
ec20 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
ec40 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
ec60 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
ec80 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.";
eca0 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
ecc0 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"......................
ece0 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
ed00 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)...
ed20 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
ed40 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
ed60 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
ed80 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
eda0 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
edc0 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")).......
ede0 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
ee00 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-
ee20 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'.
ee40 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
ee60 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
ee80 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
eea0 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
eec0 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
eee0 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.
ef00 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
ef20 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
ef40 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
ef60 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
ef80 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
efa0 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.(
efc0 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)).......
efe0 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
f000 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))............
f020 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-
f040 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
f060 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.=.(
f080 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)........
f0a0 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.
f0c0 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)...........
f0e0 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).....
f100 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
f120 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.....................
f140 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..................
f160 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)...
f180 20 20 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
f1a0 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)..................
f1c0 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)
f1e0 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
f200 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))...............
f220 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
f240 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....
f260 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-
f280 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)............
f2a0 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-
f2c0 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
f2e0 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
f300 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
f320 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)...............
f340 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)...
f360 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
f380 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..................
f3a0 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...............
f3c0 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
f3e0 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).............................
f400 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)............
f420 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
f440 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)...........................
f460 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)
f480 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 ................................
f4a0 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...
f4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f4e0 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))...
f500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f520 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)...................
f540 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
f560 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)..........................
f580 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)...
f5a0 20 20 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.
f5c0 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)..................
f5e0 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.
f600 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).............................:
f620 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))...........
f640 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)
f660 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
f680 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
f6a0 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
f6c0 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
f6e0 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.
f700 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."...`(:
f720 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.....:
f740 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
f760 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
f780 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
f7a0 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
f7c0 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
f7e0 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.
f800 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
f820 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.
f840 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
f860 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
f880 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..................
f8a0 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..........
f8c0 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.
f8e0 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.............................
f900 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...........
f920 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.()).....
f940 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.
f960 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..............................
f980 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....................
f9a0 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.....
f9c0 20 20 20 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
f9e0 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.................
fa00 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.()).........
fa20 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
fa40 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]))
fa60 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
fa80 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
faa0 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
fac0 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
fae0 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.
fb00 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
fb20 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
fb40 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
fb60 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.
fb80 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
fba0 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.;;
fbc0 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).
fbe0 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
fc00 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
fc20 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
fc40 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
fc60 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
fc80 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
fca0 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
fcc0 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))....
fce0 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-
fd00 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
fd20 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
fd40 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
fd60 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
fd80 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
fda0 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
fdc0 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
fde0 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.
fe00 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........;;.
fe20 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
fe40 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...
fe60 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
fe80 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)
fea0 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
fec0 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
fee0 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)...........(
ff00 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))..........
ff20 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)..
ff40 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
ff60 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............
ff80 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
ffa0 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-
ffc0 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-
ffe0 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
10000 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)))....
10020 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
10040 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
10060 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))))......
10080 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
100a0 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
100c0 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
100e0 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
10100 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
10120 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
10140 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
10160 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
10180 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
101a0 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
101c0 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
101e0 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
10200 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
10220 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
10240 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
10260 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
10280 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
102a0 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
102c0 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!.....
102e0 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
10300 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))).
10320 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
10340 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
10360 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
10380 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
103a0 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
103c0 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)...(
103e0 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
10400 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
10420 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
10440 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
10460 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
10480 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
104a0 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
104c0 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
104e0 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.().
10500 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.
10520 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."...(
10540 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
10560 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)).........
10580 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
105a0 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
105c0 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
105e0 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
10600 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."
10620 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
10640 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
10660 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
10680 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
106a0 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))...
106c0 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
106e0 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
10700 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
10720 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
10740 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
10760 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
10780 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
107a0 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
107c0 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))...
107e0 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
10800 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
10820 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
10840 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)))
10860 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
10880 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
108a0 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).
108c0 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
108e0 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
10900 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
10920 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.
10940 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.
10960 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.".
10980 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
109a0 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))
109c0 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
109e0 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
10a00 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
10a20 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)
10a40 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
10a60 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
10a80 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
10aa0 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.
10ac0 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
10ae0 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-
10b00 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
10b20 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
10b40 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--
10b60 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
10b80 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
10ba0 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
10bc0 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
10be0 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
10c00 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
10c20 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
10c40 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
10c60 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
10c80 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
10ca0 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*
10cc0 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))......
10ce0 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
10d00 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))........
10d20 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
10d40 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
10d60 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
10d80 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
10da0 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
10dc0 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
10de0 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
10e00 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
10e20 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
10e40 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.
10e60 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.
10e80 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
10ea0 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
10ec0 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)..
10ee0 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........
10f00 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
10f20 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
10f40 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
10f60 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
10f80 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
10fa0 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
10fc0 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."
10fe0 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
11000 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)))..
11020 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)
11040 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
11060 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
11080 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
110a0 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).........
110c0 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
110e0 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)))
11100 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
11120 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-
11140 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
11160 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
11180 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
111a0 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
111c0 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.
111e0 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
11200 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)..................
11220 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
11240 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))).........
11260 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
11280 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"))...........(
112a0 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)).
112c0 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
112e0 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
11300 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
11320 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
11340 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
11360 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
11380 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
113a0 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)))......
113c0 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.
113e0 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
11400 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
11420 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
11440 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
11460 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.
11480 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))).
114a0 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
114c0 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
114e0 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
11500 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
11520 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
11540 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
11560 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
11580 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
115a0 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
115c0 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
115e0 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
11600 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-
11620 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
11640 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)))......
11660 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
11680 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)...........
116a0 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
116c0 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
116e0 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)...........
11700 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.
11720 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..................
11740 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
11760 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..................
11780 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)).
117a0 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
117c0 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))
117e0 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
11800 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
11820 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.
11840 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
11860 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))).....
11880 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
118a0 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
118c0 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
118e0 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
11900 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
11920 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
11940 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
11960 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))))
11980 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
119a0 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
119c0 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.
119e0 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
11a00 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
11a20 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
11a40 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).
11a60 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.
11a80 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
11aa0 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
11ac0 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))).....
11ae0 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
11b00 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
11b20 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.
11b40 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
11b60 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
11b80 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
11ba0 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
11bc0 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-
11be0 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
11c00 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]\\{
11c20 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
11c40 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
11c60 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
11c80 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
11ca0 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).......
11cc0 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))..
11ce0 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.
11d00 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-
11d20 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))).........(
11d40 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).....
11d60 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
11d80 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
11da0 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
11dc0 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)........
11de0 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
11e00 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.'("."."..")))............
11e20 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
11e40 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.(
11e60 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)).....
11e80 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
11ea0 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)))..............
11ec0 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
11ee0 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
11f00 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
11f20 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.
11f40 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
11f60 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..........
11f80 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
11fa0 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)........
11fc0 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
11fe0 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
12000 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
12020 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
12040 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
12060 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).......
12080 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
120a0 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.
120c0 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
120e0 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
12100 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
12120 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"
12140 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
12160 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
12180 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))........
121a0 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))))....
121c0 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).
121e0 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
12200 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
12220 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
12240 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
12260 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).................(
12280 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
122a0 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).................
122c0 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))))
122e0 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
12300 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"
12320 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.(
12340 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
12360 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
12380 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
123a0 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
123c0 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
123e0 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
12400 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
12420 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)...
12440 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
12460 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
12480 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
124a0 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
124c0 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
124e0 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
12500 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.".
12520 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
12540 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."
12560 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
12580 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"))..
125a0 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
125c0 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.()
125e0 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
12600 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
12620 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.
12640 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
12660 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
12680 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
126a0 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.
126c0 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
126e0 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.
12700 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.......................
12720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
127a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
127c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
127e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12800 65 6c 66 65 65 64 2d 32 30 32 34 31 32 30 32 2e 32 32 2f 65 6c 66 65 65 64 2d 6c 69 62 2e 65 6c elfeed-20241202.22/elfeed-lib.el
12820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12860 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
12880 30 30 33 34 32 33 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 33 37 36 00 20 30 00 00 00 0034235.00000000000.014376..0...
128a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
128c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
128e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12900 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...................
12920 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...................
12940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
129a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
129c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
129e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12a00 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
12a20 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
12a40 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
12a60 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.
12a80 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
12aa0 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
12ac0 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
12ae0 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
12b00 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...;;
12b20 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
12b40 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
12b60 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
12b80 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
12ba0 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
12bc0 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
12be0 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
12c00 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.(
12c20 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.
12c40 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
12c60 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
12c80 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
12ca0 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
12cc0 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
12ce0 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
12d00 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
12d20 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
12d40 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.
12d60 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
12d80 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
12da0 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)))
12dc0 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
12de0 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
12e00 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
12e20 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
12e40 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
12e60 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.
12e80 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
12ea0 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
12ec0 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.
12ee0 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....
12f00 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.(
12f20 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
12f40 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-
12f60 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
12f80 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."
12fa0 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
12fc0 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."
12fe0 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)).
13000 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
13020 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
13040 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
13060 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.
13080 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
130a0 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)..
130c0 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
130e0 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
13100 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
13120 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)).
13140 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
13160 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)))))).
13180 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
131a0 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
131c0 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
131e0 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
13200 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
13220 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)...
13240 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
13260 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)."-"
13280 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
132a0 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
132c0 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
132e0 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
13300 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
13320 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
13340 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."
13360 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..
13380 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.""))
133a0 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)
133c0 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
133e0 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
13400 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
13420 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.]+"."."
13440 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
13460 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
13480 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
134a0 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
134c0 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
134e0 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
13500 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"...(
13520 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.
13540 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\\}\
13560 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
13580 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?\\)
135a0 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
135c0 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)........................
135e0 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)..................
13600 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)............
13620 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)......
13640 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)
13660 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
13680 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
136a0 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....................
136c0 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).
136e0 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
13700 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................
13720 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
13740 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)))..
13760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
13780 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
137a0 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
137c0 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
137e0 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
13800 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.(
13820 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
13840 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)...................
13860 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.
13880 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-
138a0 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
138c0 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
138e0 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
13900 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'.
13920 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
13940 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
13960 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
13980 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
139a0 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).......
139c0 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)))..(
139e0 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)..
13a00 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
13a20 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
13a40 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
13a60 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.
13a80 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
13aa0 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..
13ac0 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.
13ae0 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
13b00 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.......
13b20 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
13b40 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
13b60 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....
13b80 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
13ba0 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.(
13bc0 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
13be0 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.
13c00 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
13c20 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
13c40 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.'(
13c60 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)))..................
13c80 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
13ca0 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))
13cc0 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
13ce0 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
13d00 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
13d20 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.
13d40 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.
13d60 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
13d80 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
13da0 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
13dc0 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
13de0 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
13e00 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=[\"']\\([^\"']+\\)[\"'].*?\\
13e20 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
13e40 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
13e60 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
13e80 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.
13ea0 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
13ec0 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))..........
13ee0 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)))..
13f00 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.
13f20 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
13f40 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
13f60 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.
13f80 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
13fa0 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
13fc0 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
13fe0 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)...........(
14000 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
14020 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-
14040 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.(
14060 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
14080 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-
140a0 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
140c0 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
140e0 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
14100 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.".
14120 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
14140 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.
14160 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.
14180 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
141a0 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....
141c0 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'".
141e0 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))))
14200 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
14220 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.">")..
14240 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).........
14260 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
14280 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))..
142a0 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
142c0 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>
142e0 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
14300 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-
14320 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
14340 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
14360 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
14380 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
143a0 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
143c0 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.
143e0 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
14400 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
14420 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
14440 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
14460 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
14480 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.
144a0 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
144c0 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
144e0 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
14500 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....
14520 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-
14540 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))))
14560 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-
14580 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
145a0 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
145c0 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
145e0 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
14600 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-
14620 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
14640 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--
14660 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
14680 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.
146a0 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..
146c0 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."
146e0 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
14700 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
14720 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....................
14740 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
14760 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"))..............
14780 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
147a0 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................
147c0 20 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
147e0 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...................
14800 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...
14820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
14840 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
14860 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
14880 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...................
148a0 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...................
148c0 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)
148e0 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
14900 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
14920 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)).............................
14940 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
14960 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)))))................
14980 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)))))))
149a0 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
149c0 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
149e0 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
14a00 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.....(
14a20 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
14a40 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
14a60 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
14a80 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).(
14aa0 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-
14ac0 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.
14ae0 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.
14b00 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
14b20 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)....
14b40 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
14b60 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))..(
14b80 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
14ba0 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
14bc0 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
14be0 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
14c00 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.
14c20 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#
14c40 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
14c60 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
14c80 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
14ca0 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
14cc0 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)..."
14ce0 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
14d00 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._.
14d20 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
14d40 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)))
14d60 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
14d80 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
14da0 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
14dc0 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.
14de0 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
14e00 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))).......
14e20 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
14e40 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
14e60 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-
14e80 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.
14ea0 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.
14ec0 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
14ee0 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.
14f00 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
14f20 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
14f40 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
14f60 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
14f80 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
14fa0 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
14fc0 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
14fe0 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
15000 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))........(
15020 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-
15040 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-
15060 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
15080 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
150a0 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
150c0 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.().
150e0 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
15100 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
15120 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).......
15140 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).
15160 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
15180 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.
151a0 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
151c0 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
151e0 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
15200 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
15220 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
15240 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
15260 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
15280 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
152a0 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
152c0 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.
152e0 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.
15300 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.
15320 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
15340 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)))..
15360 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)).....(
15380 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."^
153a0 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
153c0 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
153e0 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.
15400 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))).....
15420 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.
15440 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
15460 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
15480 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
154a0 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-
154c0 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).
154e0 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
15500 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
15520 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
15540 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
15560 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..
15580 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.\
155a0 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.
155c0 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.
155e0 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
15600 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.
15620 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
15640 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.
15660 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
15680 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
156a0 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
156c0 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
156e0 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]+\\)-\\
15700 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
15720 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.
15740 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
15760 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,.....
15780 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.............
157a0 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
157c0 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))..............
157e0 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
15800 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))).............(
15820 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)..............
15840 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
15860 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+.
15880 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
158a0 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
158c0 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
158e0 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)
15900 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
15920 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."...
15940 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.=.""....
15960 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.....
15980 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."^\\.\\./"
159a0 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))..
159c0 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."^\\./"
159e0 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))..
15a00 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."^/\\./
15a20 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)).
15a40 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."^/\\.
15a60 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
15a80 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
15aa0 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
15ac0 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)).....
15ae0 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))..........
15b00 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).
15b20 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-
15b40 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
15b60 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))..........."/")..........
15b80 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).
15ba0 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-
15bc0 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
15be0 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
15c00 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
15c20 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."^/?[^/]*".""
15c40 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)
15c60 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
15c80 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
15ca0 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
15cc0 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
15ce0 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.
15d00 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.
15d20 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
15d40 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
15d60 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
15d80 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
15da0 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
15dc0 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.
15de0 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)...
15e00 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."")........
15e20 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)....
15e40 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))....
15e60 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
15e80 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.........((
15ea0 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
15ec0 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))........;;
15ee0 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?........(
15f00 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
15f20 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.
15f40 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
15f60 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
15f80 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)).
15fa0 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
15fc0 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)))..
15fe0 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
16000 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
16020 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-
16040 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.............
16060 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)
16080 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
160a0 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
160c0 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.........
160e0 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
16100 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).
16120 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)
16140 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
16160 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
16180 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
161a0 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
161c0 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.
161e0 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-
16200 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.(
16220 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.
16240 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......
16260 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).
16280 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....
162a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
162c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
162e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
163a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
163c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
163e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16400 65 6c 66 65 65 64 2d 32 30 32 34 31 32 30 32 2e 32 32 2f 65 6c 66 65 65 64 2d 6c 69 6e 6b 2e 65 elfeed-20241202.22/elfeed-link.e
16420 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...............................
16440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16460 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
16480 30 30 31 34 34 30 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 36 34 00 20 30 00 00 00 0014407.00000000000.014564..0...
164a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
164c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
164e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16500 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...................
16520 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...................
16540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
165a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
165c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
165e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16600 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
16620 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
16640 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
16660 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
16680 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
166a0 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
166c0 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
166e0 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
16700 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
16720 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
16740 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
16760 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
16780 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
167a0 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.()..."
167c0 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
167e0 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.
16800 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
16820 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
16840 2e 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 75 ..These.can.be.used.in.the.captu
16860 72 65 20 74 65 6d 70 6c 61 74 65 73 20 61 73 0a 60 25 3a 6b 65 79 77 6f 72 64 60 20 65 78 70 61 re.templates.as.`%:keyword`.expa
16880 6e 73 69 6f 6e 2e 0a 0a 4c 69 73 74 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 6b 65 79 77 6f 72 nsion...List.of.available.keywor
168a0 64 73 2c 20 77 68 65 6e 20 73 74 6f 72 65 20 66 72 6f 6d 20 61 6e 20 45 6c 66 65 65 64 20 73 65 ds,.when.store.from.an.Elfeed.se
168c0 61 72 63 68 3a 0a 2d 20 60 74 79 70 65 60 20 20 20 20 20 20 20 20 3a 20 54 79 70 65 20 6f 66 20 arch:.-.`type`........:.Type.of.
168e0 4f 72 67 2d 6d 6f 64 65 20 6c 69 6e 6b 0a 2d 20 60 6c 69 6e 6b 60 20 20 20 20 20 20 20 20 3a 20 Org-mode.link.-.`link`........:.
16900 4f 72 67 2d 6d 6f 64 65 20 6c 69 6e 6b 20 74 6f 20 74 68 69 73 20 73 65 61 72 63 68 2c 20 61 6c Org-mode.link.to.this.search,.al
16920 73 6f 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 so.available...................w
16940 69 74 68 20 25 61 2c 20 25 41 2c 20 25 6c 20 61 6e 64 20 25 4c 0a 2d 20 60 64 65 73 63 72 69 70 ith.%a,.%A,.%l.and.%L.-.`descrip
16960 74 69 6f 6e 60 20 3a 20 54 68 65 20 73 65 61 72 63 68 20 66 69 6c 74 65 72 0a 0a 0a 4c 69 73 74 tion`.:.The.search.filter...List
16980 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 6b 65 79 77 6f 72 64 73 2c 20 77 68 65 6e 20 73 74 6f .of.available.keywords,.when.sto
169a0 72 65 20 66 72 6f 6d 20 61 6e 20 45 6c 66 65 65 64 20 65 6e 74 72 79 3a 0a 2d 20 60 74 79 70 65 re.from.an.Elfeed.entry:.-.`type
169c0 60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 54 79 70 65 20 6f 66 20 4f `....................:.Type.of.O
169e0 72 67 2d 6d 6f 64 65 20 6c 69 6e 6b 0a 2d 20 60 6c 69 6e 6b 60 20 20 20 20 20 20 20 20 20 20 20 rg-mode.link.-.`link`...........
16a00 20 20 20 20 20 20 20 20 20 3a 20 4f 72 67 2d 6d 6f 64 65 20 6c 69 6e 6b 20 74 6f 20 74 68 69 73 .........:.Org-mode.link.to.this
16a20 20 65 6e 74 72 79 2c 20 61 6c 73 6f 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 .entry,.also.available..........
16a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 20 25 61 2c 20 25 41 .....................with.%a,.%A
16a60 2c 20 25 6c 20 61 6e 64 20 25 4c 0a 2d 20 60 74 69 74 6c 65 60 20 20 20 20 20 20 20 20 20 20 20 ,.%l.and.%L.-.`title`...........
16a80 20 20 20 20 20 20 20 20 3a 20 46 65 65 64 20 65 6e 74 72 79 20 74 69 74 6c 65 0a 2d 20 60 64 65 ........:.Feed.entry.title.-.`de
16aa0 73 63 72 69 70 74 69 6f 6e 60 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 46 65 65 64 20 65 6e scription`.............:.Feed.en
16ac0 74 72 79 20 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 73 61 6d 65 20 61 73 20 74 69 74 6c 65 0a 2d try.description,.same.as.title.-
16ae0 20 60 65 78 74 65 72 6e 61 6c 2d 6c 69 6e 6b 60 20 20 20 20 20 20 20 20 20 20 20 3a 20 46 65 65 .`external-link`...........:.Fee
16b00 64 20 65 6e 74 72 79 20 65 78 74 65 72 6e 61 6c 20 6c 69 6e 6b 0a 2d 20 60 64 61 74 65 60 20 20 d.entry.external.link.-.`date`..
16b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 44 61 74 65 20 74 69 6d 65 20 6f 66 ..................:.Date.time.of
16b40 20 74 68 65 20 66 65 65 64 20 65 6e 74 72 79 20 70 75 62 6c 69 63 61 74 69 6f 6e 2c 20 69 6e 0a .the.feed.entry.publication,.in.
16b60 20 20 20 20 20 20 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 75 ..............................fu
16b80 6c 6c 20 49 53 4f 20 38 36 30 31 20 66 6f 72 6d 61 74 0a 2d 20 60 64 61 74 65 2d 74 69 6d 65 73 ll.ISO.8601.format.-.`date-times
16ba0 74 61 6d 70 60 20 20 20 20 20 20 20 20 20 20 3a 20 44 61 74 65 20 74 69 6d 65 20 6f 66 20 74 68 tamp`..........:.Date.time.of.th
16bc0 65 20 66 65 65 64 20 65 6e 74 72 79 20 70 75 62 6c 69 63 61 74 69 6f 6e 2c 20 69 6e 0a 20 20 20 e.feed.entry.publication,.in....
16be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 72 67 2d 6d ...........................Org-m
16c00 6f 64 65 20 61 63 74 69 76 65 20 74 69 6d 65 73 74 61 6d 70 20 66 6f 72 6d 61 74 0a 2d 20 60 64 ode.active.timestamp.format.-.`d
16c20 61 74 65 2d 69 6e 61 63 74 69 76 65 2d 74 69 6d 65 73 74 61 6d 70 60 20 3a 20 44 61 74 65 20 74 ate-inactive-timestamp`.:.Date.t
16c40 69 6d 65 20 6f 66 20 74 68 65 20 66 65 65 64 20 65 6e 74 72 79 20 70 75 62 6c 69 63 61 74 69 6f ime.of.the.feed.entry.publicatio
16c60 6e 2c 20 69 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 n,.in...........................
16c80 20 20 20 20 4f 72 67 2d 6d 6f 64 65 20 69 6e 61 63 74 69 76 65 20 74 69 6d 65 73 74 61 6d 70 20 ....Org-mode.inactive.timestamp.
16ca0 66 6f 72 6d 61 74 0a 2d 20 60 61 75 74 68 6f 72 73 60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 format.-.`authors`..............
16cc0 20 20 20 3a 20 4c 69 73 74 20 6f 66 20 66 65 65 64 20 65 6e 74 72 79 20 61 75 74 68 6f 72 73 20 ...:.List.of.feed.entry.authors.
16ce0 6e 61 6d 65 73 2c 20 6a 6f 69 6e 74 20 62 79 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 names,.joint.by.a...............
16d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 61 0a 2d 20 60 74 61 67 73 60 20 20 ................comma.-.`tags`..
16d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 4c 69 73 74 20 6f 66 20 66 65 65 64 ..................:.List.of.feed
16d40 20 65 6e 74 72 79 20 74 61 67 73 2c 20 69 6e 20 4f 72 67 2d 6d 6f 64 65 20 74 61 67 73 0a 20 20 .entry.tags,.in.Org-mode.tags...
16d60 20 20 20 20 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 6d ............................form
16d80 61 74 0a 2d 20 60 63 6f 6e 74 65 6e 74 60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a at.-.`content`.................:
16da0 20 43 6f 6e 74 65 6e 74 20 6f 66 20 74 68 65 20 66 65 65 64 20 65 6e 74 72 79 0a 2d 20 60 66 65 .Content.of.the.feed.entry.-.`fe
16dc0 65 64 2d 74 69 74 6c 65 60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 54 69 74 6c 65 20 6f ed-title`..............:.Title.o
16de0 66 20 74 68 65 20 66 65 65 64 0a 2d 20 60 66 65 65 64 2d 65 78 74 65 72 6e 61 6c 2d 6c 69 6e 6b f.the.feed.-.`feed-external-link
16e00 60 20 20 20 20 20 20 3a 20 46 65 65 64 20 65 78 74 65 72 6e 61 6c 20 6c 69 6e 6b 0a 2d 20 60 66 `......:.Feed.external.link.-.`f
16e20 65 65 64 2d 61 75 74 68 6f 72 73 60 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 4c 69 73 74 20 6f eed-authors`............:.List.o
16e40 66 20 66 65 65 64 20 61 75 74 68 6f 72 73 20 6e 61 6d 65 73 2c 20 6a 6f 69 6e 74 20 62 79 20 61 f.feed.authors.names,.joint.by.a
16e60 20 63 6f 6d 6d 61 0a 0a 49 66 20 60 63 6f 6e 74 65 6e 74 60 20 74 79 70 65 20 69 73 20 48 54 4d .comma..If.`content`.type.is.HTM
16e80 4c 2c 20 69 74 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 6d 62 65 64 64 65 64 20 L,.it.is.automatically.embedded.
16ea0 69 6e 74 6f 20 61 6e 0a 4f 72 67 2d 6d 6f 64 65 20 48 54 4d 4c 20 71 75 6f 74 65 2e 22 0a 20 20 into.an.Org-mode.HTML.quote."...
16ec0 28 63 6f 6e 64 20 28 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 (cond.((derived-mode-p.'elfeed-s
16ee0 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 69 earch-mode)..........(funcall.(i
16f00 66 20 28 66 62 6f 75 6e 64 70 20 27 6f 72 67 2d 6c 69 6e 6b 2d 73 74 6f 72 65 2d 70 72 6f 70 73 f.(fboundp.'org-link-store-props
16f20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 6f 72 67 2d 6c 69 ).......................#'org-li
16f40 6e 6b 2d 73 74 6f 72 65 2d 70 72 6f 70 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nk-store-props..................
16f60 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 20 23 27 6f 72 67 2d 73 74 6f 72 65 ...(with-no-warnings.#'org-store
16f80 2d 6c 69 6e 6b 2d 70 72 6f 70 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 3a 74 79 70 65 20 22 65 -link-props))...........:type."e
16fa0 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 6d 61 74 20 22 lfeed"...........:link.(format."
16fc0 65 6c 66 65 65 64 3a 25 73 22 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 29 elfeed:%s".elfeed-search-filter)
16fe0 0a 20 20 20 20 20 20 20 20 20 20 3a 64 65 73 63 72 69 70 74 69 6f 6e 20 65 6c 66 65 65 64 2d 73 ...........:description.elfeed-s
17000 65 61 72 63 68 2d 66 69 6c 74 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 28 64 65 72 69 76 65 64 earch-filter)).........((derived
17020 2d 6d 6f 64 65 2d 70 20 27 65 6c 66 65 65 64 2d 73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 20 -mode-p.'elfeed-show-mode)......
17040 20 20 20 20 28 66 75 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 ....(funcall.(if.(fboundp.'org-l
17060 69 6e 6b 2d 73 74 6f 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 ink-store-props)................
17080 20 20 20 20 20 20 20 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 .......#'org-link-store-props...
170a0 20 20 20 20 20 20 20 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 ..................(with-no-warni
170c0 6e 67 73 20 23 27 6f 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 ngs.#'org-store-link-props))....
170e0 20 20 20 20 20 20 20 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 .......:type."elfeed"...........
17100 3a 6c 69 6e 6b 20 28 66 6f 72 6d 61 74 20 22 65 6c 66 65 65 64 3a 25 73 23 25 73 22 0a 20 20 20 :link.(format."elfeed:%s#%s"....
17120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 72 20 28 65 6c 66 65 65 .....................(car.(elfee
17140 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 0a 20 d-entry-id.elfeed-show-entry))..
17160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 28 65 6c 66 .......................(cdr.(elf
17180 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))
171a0 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 28 65 6c 66 65 65 64 )...........:description.(elfeed
171c0 2d 65 6e 74 72 79 2d 74 69 74 6c 65 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 0a -entry-title.elfeed-show-entry).
171e0 20 20 20 20 20 20 20 20 20 20 3a 74 69 74 6c 65 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 ..........:title.(elfeed-entry-t
17200 69 74 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 itle.elfeed-show-entry).........
17220 20 20 3a 65 78 74 65 72 6e 61 6c 2d 6c 69 6e 6b 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 6c ..:external-link.(elfeed-entry-l
17240 69 6e 6b 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 ink.elfeed-show-entry)..........
17260 20 3b 3b 20 46 6f 72 6d 61 74 20 64 61 74 65 20 74 6f 20 66 75 6c 6c 20 49 53 4f 20 38 36 30 31 .;;.Format.date.to.full.ISO.8601
17280 20 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 3a 64 61 74 65 20 28 66 6f 72 6d 61 74 2d .format...........:date.(format-
172a0 74 69 6d 65 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 25 46 time-string.................."%F
172c0 54 25 54 22 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 65 6e T%T"..................(elfeed-en
172e0 74 72 79 2d 64 61 74 65 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 0a 20 20 20 try-date.elfeed-show-entry))....
17300 20 20 20 20 20 20 20 3b 3b 20 43 6f 6e 63 61 74 65 6e 61 74 65 20 61 75 74 68 6f 72 73 20 6e 61 .......;;.Concatenate.authors.na
17320 6d 65 73 0a 20 20 20 20 20 20 20 20 20 20 3a 61 75 74 68 6f 72 73 20 28 6d 61 70 63 6f 6e 63 61 mes...........:authors.(mapconca
17340 74 20 23 27 69 64 65 6e 74 69 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.#'identity....................
17360 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4c 6f 6f 70 20 6f 6e 20 65 61 63 68 20 61 75 74 68 6f ...........;;.Loop.on.each.autho
17380 72 20 61 6e 64 20 65 78 74 72 61 63 74 20 69 74 73 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 r.and.extract.its.name..........
173a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 75 74 68 6f 72 73 20 .....................;;.Authors.
173c0 6c 69 73 74 20 67 65 74 20 66 72 6f 6d 20 45 6c 66 65 65 64 20 65 6e 74 72 79 27 73 20 6d 65 74 list.get.from.Elfeed.entry's.met
173e0 61 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 a...............................
17400 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 61 75 74 68 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 (cl-loop.for.author.............
17420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 20 28 70 ...........................in.(p
17440 6c 69 73 74 2d 67 65 74 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 6d 65 74 61 20 65 6c 66 65 list-get.(elfeed-entry-meta.elfe
17460 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 20 3a 61 75 74 68 6f 72 73 29 0a 20 20 20 20 20 20 20 ed-show-entry).:authors)........
17480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
174a0 63 6f 6c 6c 65 63 74 20 28 70 6c 69 73 74 2d 67 65 74 20 61 75 74 68 6f 72 20 3a 6e 61 6d 65 29 collect.(plist-get.author.:name)
174c0 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 )...............................
174e0 22 2c 20 22 29 20 3b 3b 20 4a 6f 69 6e 20 6e 61 6d 65 73 20 75 73 69 6e 67 20 61 20 63 6f 6d 6d ",.").;;.Join.names.using.a.comm
17500 61 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 43 6f 6e 63 61 74 65 6e 61 74 65 20 74 61 67 73 20 a...........;;.Concatenate.tags.
17520 69 6e 20 4f 72 67 2d 6d 6f 64 65 20 74 61 67 73 20 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 in.Org-mode.tags.format.........
17540 20 20 3a 74 61 67 73 20 28 66 6f 72 6d 61 74 20 22 3a 25 73 3a 22 0a 20 20 20 20 20 20 20 20 20 ..:tags.(format.":%s:"..........
17560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 73 79 6d 62 ...............(mapconcat.#'symb
17580 6f 6c 2d 6e 61 6d 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 ol-name.........................
175a0 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 61 67 73 20 65 6c ...........(elfeed-entry-tags.el
175c0 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 20 20 20 20 20 feed-show-entry)................
175e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 3a 22 29 29 0a 20 20 20 20 20 20 ....................":")).......
17600 20 20 20 20 3b 3b 20 50 72 65 70 61 72 65 20 73 75 70 70 6f 72 74 20 6f 66 20 64 69 66 66 65 72 ....;;.Prepare.support.of.differ
17620 65 6e 74 20 63 6f 6e 74 65 6e 74 20 74 79 70 65 2c 20 6f 6e 6c 79 20 48 54 4d 4c 20 66 6f 72 20 ent.content.type,.only.HTML.for.
17640 6e 6f 77 0a 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6e 74 65 6e 74 20 28 70 63 61 73 65 20 28 65 now...........:content.(pcase.(e
17660 6c 66 65 65 64 2d 65 6e 74 72 79 2d 63 6f 6e 74 65 6e 74 2d 74 79 70 65 20 65 6c 66 65 65 64 2d lfeed-entry-content-type.elfeed-
17680 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 20 20 20 show-entry).....................
176a0 20 28 60 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 3b 3b .(`html.......................;;
176c0 20 45 6d 62 65 64 20 74 68 65 20 74 65 78 74 20 69 6e 74 6f 20 4f 72 67 2d 6d 6f 64 65 20 48 54 .Embed.the.text.into.Org-mode.HT
176e0 4d 4c 20 71 75 6f 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ML.quote.......................(
17700 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 23 format........................"#
17720 2b 42 45 47 49 4e 5f 45 58 50 4f 52 54 20 68 74 6d 6c 5c 6e 25 73 5c 6e 23 2b 45 4e 44 5f 45 58 +BEGIN_EXPORT.html\n%s\n#+END_EX
17740 50 4f 52 54 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 65 6c PORT"........................(el
17760 66 65 65 64 2d 64 65 72 65 66 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 63 6f 6e 74 65 6e 74 feed-deref.(elfeed-entry-content
17780 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 .elfeed-show-entry))))).........
177a0 20 20 3a 66 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 ..:feed-title.(elfeed-feed-title
177c0 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 66 65 65 64 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d .(elfeed-entry-feed.elfeed-show-
177e0 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 3a 66 65 65 64 2d 65 78 74 65 72 6e 61 6c entry))...........:feed-external
17800 2d 6c 69 6e 6b 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 75 72 6c 20 28 65 6c 66 65 65 64 2d 65 -link.(elfeed-feed-url.(elfeed-e
17820 6e 74 72 79 2d 66 65 65 64 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 0a 20 20 ntry-feed.elfeed-show-entry))...
17840 20 20 20 20 20 20 20 20 3b 3b 20 43 6f 6e 63 61 74 65 6e 61 74 65 20 66 65 65 64 20 61 75 74 68 ........;;.Concatenate.feed.auth
17860 6f 72 73 20 6e 61 6d 65 73 0a 20 20 20 20 20 20 20 20 20 20 3a 66 65 65 64 2d 61 75 74 68 6f 72 ors.names...........:feed-author
17880 73 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 0a 20 20 20 20 20 20 20 20 s.(mapconcat.#'identity.........
178a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4c 6f ...........................;;.Lo
178c0 6f 70 20 6f 6e 20 65 61 63 68 20 66 65 65 64 20 61 75 74 68 6f 72 20 61 6e 64 20 65 78 74 72 61 op.on.each.feed.author.and.extra
178e0 63 74 20 69 74 73 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ct.its.name.....................
17900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 75 74 68 6f 72 73 20 6c 69 73 74 20 67 ...............;;.Authors.list.g
17920 65 74 20 66 72 6f 6d 20 45 6c 66 65 65 64 20 66 65 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 et.from.Elfeed.feed.............
17940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 .......................(cl-loop.
17960 66 6f 72 20 61 75 74 68 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 for.author......................
17980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 20 28 65 6c 66 65 65 .......................in.(elfee
179a0 64 2d 66 65 65 64 2d 61 75 74 68 6f 72 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 66 65 65 64 20 d-feed-author(elfeed-entry-feed.
179c0 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 20 elfeed-show-entry)).............
179e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
17a00 63 6f 6c 6c 65 63 74 20 28 70 6c 69 73 74 2d 67 65 74 20 61 75 74 68 6f 72 20 3a 6e 61 6d 65 29 collect.(plist-get.author.:name)
17a20 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 )...............................
17a40 20 20 20 20 20 22 2c 20 22 29 20 3b 3b 20 4a 6f 69 6e 20 6e 61 6d 65 73 20 75 73 69 6e 67 20 61 .....",.").;;.Join.names.using.a
17a60 20 63 6f 6d 6d 61 0a 20 20 20 20 20 20 20 20 20 20 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 .comma...........))))..;;;###aut
17a80 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 65 6e 20 28 66 oload.(defun.elfeed-link-open.(f
17aa0 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 65 6c 66 65 65 ilter-or-id)..."Jump.to.an.elfee
17ac0 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 6e 67 20 6f 6e d.entry.or.search...Depending.on
17ae0 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 6b 65 2c 20 77 .what.FILTER-OR-ID.looks.like,.w
17b00 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 66 65 72 20 6f e.jump.to.either.search.buffer.o
17b20 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 20 28 69 66 20 r.show.a.concrete.entry."...(if.
17b40 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 5c 5c 28 2e 2b (string-match."\\([^#]+\\)#\\(.+
17b60 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 6c 66 65 65 64 \\)".filter-or-id).......(elfeed
17b80 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 65 6e 74 72 79 -show-entry.(elfeed-db-get-entry
17ba0 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 63 6f 6e 73 ...........................(cons
17bc0 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 69 64 29 0a 20 .(match-string.1.filter-or-id)..
17be0 20 20 20 20 20 20 20 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 ...............................(
17c00 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 29 29 29 29 0a match-string.2.filter-or-id)))).
17c20 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 61 72 63 68 2d ....(elfeed).....(elfeed-search-
17c40 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 0a 3b 3b 3b 23 set-filter.filter-or-id)))..;;;#
17c60 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 20 27 6f 72 67 ##autoload.(eval-after-load.'org
17c80 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 72 61 20 71 75 ...`(funcall.....;;.The.extra.qu
17ca0 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 75 73 65 20 75 ote.below.is.necessary.because.u
17cc0 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 6f 20 6e 6f 74 ncompiled.closures.....;;.do.not
17ce0 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 65 20 71 75 6f .evaluate.to.themselves..The.quo
17d00 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 79 74 65 2d 63 te.is.harmless.for.....;;.byte-c
17d20 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 20 20 20 27 2c ompiled.function.objects......',
17d40 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 73 69 6f 6e 3c (lambda.().........(if.(version<
17d60 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 20 20 20 20 20 .(org-version)."9.0")...........
17d80 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 20 20 20 20 20 ..(with-no-warnings.............
17da0 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 64 22 20 23 27 ..(org-add-link-type."elfeed".#'
17dc0 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 20 20 20 20 20 elfeed-link-open)...............
17de0 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 75 6e 63 74 69 (add-hook.'org-store-link-functi
17e00 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 6b 29 29 0a 20 ons.#'elfeed-link-store-link))..
17e20 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 20 20 20 20 20 .........(with-no-warnings......
17e40 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 74 65 72 73 0a .......(org-link-set-parameters.
17e60 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 20 20 20 20 20 ............."elfeed"...........
17e80 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 65 6e 0a 20 20 ...:follow.#'elfeed-link-open...
17ea0 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 6c 69 6e 6b 2d ...........:store.#'elfeed-link-
17ec0 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 27 65 6c 66 65 store-link))))))..(provide.'elfe
17ee0 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 6c 20 65 6e 64 ed-link)..;;;.elfeed-link.el.end
17f00 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 00 00 00 s.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 31 32 30 32 2e 32 32 2f 65 6c 66 65 65 64 2d 6c 6f 67 2e 65 6c elfeed-20241202.22/elfeed-log.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 30 35 31 33 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 34 31 30 00 20 30 00 00 00 0005137.00000000000.014410..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 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
18220 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
18240 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:..;;;.
18260 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
18280 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.:
182a0 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))...
182c0 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
182e0 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.'
18300 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
18320 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
18340 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
18360 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
18380 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).
183a0 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-
183c0 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
183e0 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
18400 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
18420 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
18440 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
18460 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
18480 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
184a0 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
184c0 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
184e0 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
18500 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")
18520 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
18540 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
18560 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
18580 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
185a0 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
185c0 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
185e0 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
18600 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
18620 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
18640 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
18660 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
18680 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.
186a0 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
186c0 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
186e0 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
18700 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).
18720 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).........(
18740 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
18760 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)..."
18780 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
187a0 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.....
187c0 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
187e0 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
18800 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.(
18820 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
18840 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
18860 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
18880 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,
188a0 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
188c0 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
188e0 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
18900 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))........
18920 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.
18940 20 20 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
18960 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)..
18980 20 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.'
189a0 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).....
189c0 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
189e0 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)........
18a00 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
18a20 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))).......
18a40 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
18a60 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
18a80 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
18aa0 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
18ac0 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
18ae0 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
18b00 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........
18b20 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."[".
18b40 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
18b60 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)."]."..............
18b80 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.
18ba0 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")......
18bc0 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-
18be0 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...
18c00 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
18c20 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
18c40 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..
18c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18e00 65 6c 66 65 65 64 2d 32 30 32 34 31 32 30 32 2e 32 32 2f 65 6c 66 65 65 64 2d 70 6b 67 2e 65 6c elfeed-20241202.22/elfeed-pkg.el
18e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18e60 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
18e80 30 30 30 30 36 32 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 34 30 34 00 20 30 00 00 00 0000624.00000000000.014404..0...
18ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18f00 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...................
18f20 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...................
18f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19000 3b 3b 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 3b 20 6c 65 78 69 63 ;;.-*-.no-byte-compile:.t;.lexic
19020 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 6e 69 6c 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b al-binding:.nil.-*-.(define-pack
19040 61 67 65 20 22 65 6c 66 65 65 64 22 20 22 32 30 32 34 31 32 30 32 2e 32 32 22 0a 20 20 22 41 6e age."elfeed"."20241202.22"..."An
19060 20 45 6d 61 63 73 20 41 74 6f 6d 2f 52 53 53 20 66 65 65 64 20 72 65 61 64 65 72 2e 22 0a 20 20 .Emacs.Atom/RSS.feed.reader."...
19080 27 28 28 65 6d 61 63 73 20 22 32 34 2e 33 22 29 29 0a 20 20 3a 75 72 6c 20 22 68 74 74 70 73 3a '((emacs."24.3"))...:url."https:
190a0 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 22 0a 20 20 3a 63 //github.com/skeeto/elfeed"...:c
190c0 6f 6d 6d 69 74 20 22 61 33 39 66 62 37 38 65 33 34 65 65 32 35 64 63 38 62 61 65 61 38 33 33 37 ommit."a39fb78e34ee25dc8baea8337
190e0 36 66 39 32 39 64 37 63 31 32 38 33 34 34 66 22 0a 20 20 3a 72 65 76 64 65 73 63 20 22 61 33 39 6f929d7c128344f"...:revdesc."a39
19100 66 62 37 38 65 33 34 65 65 22 0a 20 20 3a 61 75 74 68 6f 72 73 20 27 28 28 22 43 68 72 69 73 74 fb78e34ee"...:authors.'(("Christ
19120 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 40 6e 75 6c 6c 70 72 opher.Wellons"..."wellons@nullpr
19140 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 72 73 20 27 28 28 22 ogram.com"))...:maintainers.'(("
19160 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 40 Christopher.Wellons"..."wellons@
19180 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d 22 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 nullprogram.com"))).............
191a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
191c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
191e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19200 65 6c 66 65 65 64 2d 32 30 32 34 31 32 30 32 2e 32 32 2f 65 6c 66 65 65 64 2d 73 65 61 72 63 68 elfeed-20241202.22/elfeed-search
19220 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.............................
19240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19260 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
19280 30 31 31 32 30 30 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 30 36 36 00 20 30 00 00 00 0112006.00000000000.015066..0...
192a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
192c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
192e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19300 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...................
19320 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...................
19340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
193a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
193c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
193e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19400 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
19420 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:.
19440 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
19460 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.
19480 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:..(
194a0 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
194c0 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
194e0 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
19500 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
19520 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
19540 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
19560 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
19580 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
195a0 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-
195c0 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
195e0 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
19600 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.")..
19620 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
19640 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.`
19660 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
19680 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.
196a0 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
196c0 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
196e0 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
19700 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
19720 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
19740 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
19760 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".
19780 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.
197a0 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
197c0 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
197e0 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
19800 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
19820 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
19840 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
19860 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
19880 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
198a0 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
198c0 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
198e0 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).
19900 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.
19920 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.
19940 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
19960 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.
19980 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
199a0 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
199c0 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.`
199e0 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
19a00 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
19a20 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
19a40 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
19a60 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
19a80 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
19aa0 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)))
19ac0 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
19ae0 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,.
19b00 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
19b20 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.
19b40 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
19b60 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
19b80 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
19ba0 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
19bc0 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
19be0 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,.
19c00 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
19c20 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
19c40 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
19c60 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
19c80 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
19ca0 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
19cc0 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,
19ce0 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.
19d00 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
19d20 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).
19d40 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
19d60 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...:
19d80 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
19da0 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))
19dc0 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
19de0 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
19e00 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
19e20 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.
19e40 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
19e60 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
19e80 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.
19ea0 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
19ec0 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
19ee0 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
19f00 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
19f20 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
19f40 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
19f60 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
19f80 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
19fa0 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
19fc0 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
19fe0 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
1a000 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
1a020 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
1a040 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
1a060 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.
1a080 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
1a0a0 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
1a0c0 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
1a0e0 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
1a100 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.#
1a120 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).
1a140 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
1a160 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
1a180 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...
1a1a0 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
1a1c0 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.
1a1e0 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
1a200 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
1a220 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
1a240 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
1a260 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
1a280 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
1a2a0 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.
1a2c0 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'."..
1a2e0 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
1a300 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
1a320 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.
1a340 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
1a360 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)).
1a380 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
1a3a0 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
1a3c0 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
1a3e0 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
1a400 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
1a420 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
1a440 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
1a460 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
1a480 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)..
1a4a0 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
1a4c0 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
1a4e0 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-
1a500 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
1a520 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).
1a540 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"
1a560 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)...
1a580 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
1a5a0 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
1a5c0 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
1a5e0 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
1a600 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
1a620 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
1a640 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).......(
1a660 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
1a680 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."
1a6a0 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
1a6c0 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
1a6e0 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)..
1a700 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-
1a720 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".
1a740 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
1a760 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
1a780 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."-".#'
1a7a0 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).......(
1a7c0 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
1a7e0 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
1a800 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
1a820 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
1a840 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
1a860 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
1a880 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."...(
1a8a0 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.((
1a8c0 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
1a8e0 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).......
1a900 20 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
1a920 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.........................
1a940 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
1a960 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
1a980 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.").....
1a9a0 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).....
1a9c0 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
1a9e0 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
1aa00 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
1aa20 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.".").....
1aa40 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
1aa60 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
1aa80 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
1aaa0 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."
1aac0 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
1aae0 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
1ab00 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-
1ab20 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
1ab40 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
1ab60 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
1ab80 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
1aba0 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)..............
1abc0 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)
1abe0 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
1ac00 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
1ac20 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
1ac40 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.
1ac60 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)...........
1ac80 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
1aca0 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:
1acc0 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
1ace0 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..............
1ad00 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
1ad20 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
1ad40 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
1ad60 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."
1ad80 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
1ada0 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-
1adc0 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
1ade0 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.((
1ae00 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)
1ae20 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-
1ae40 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
1ae60 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.
1ae80 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
1aea0 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*.(
1aec0 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
1aee0 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)))............(
1af00 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-%
1af20 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))...........
1af40 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
1af60 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.
1af80 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
1afa0 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-
1afc0 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)...............
1afe0 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
1b000 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)......
1b020 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
1b040 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."")..
1b060 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."
1b080 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).....
1b0a0 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
1b0c0 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.......
1b0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b100 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
1b120 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)))................("")))))))
1b140 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.()..
1b160 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.
1b180 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
1b1a0 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
1b1c0 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
1b1e0 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).
1b200 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
1b220 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
1b240 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.
1b260 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....
1b280 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
1b2a0 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.........;;
1b2c0 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
1b2e0 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....
1b300 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
1b320 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
1b340 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
1b360 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........
1b380 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
1b3a0 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")
1b3c0 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-
1b3e0 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
1b400 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.
1b420 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
1b440 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
1b460 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
1b480 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
1b4a0 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
1b4c0 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
1b4e0 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
1b500 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
1b520 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
1b540 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
1b560 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
1b580 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
1b5a0 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-
1b5c0 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
1b5e0 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-
1b600 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
1b620 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
1b640 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
1b660 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-
1b680 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
1b6a0 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
1b6c0 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
1b6e0 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.()..."
1b700 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
1b720 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
1b740 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).....;;
1b760 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.
1b780 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
1b7a0 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
1b7c0 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
1b7e0 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
1b800 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.
1b820 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
1b840 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
1b860 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."...(
1b880 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
1b8a0 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
1b8c0 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
1b8e0 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
1b900 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
1b920 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)))......
1b940 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).
1b960 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)
1b980 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
1b9a0 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
1b9c0 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)))..
1b9e0 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).........
1ba00 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
1ba20 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
1ba40 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)..............
1ba60 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)............
1ba80 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))))........(
1baa0 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
1bac0 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
1bae0 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
1bb00 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).
1bb20 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
1bb40 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
1bb60 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
1bb80 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
1bba0 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
1bbc0 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
1bbe0 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
1bc00 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
1bc20 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
1bc40 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).
1bc60 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
1bc80 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)).
1bca0 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.
1bcc0 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.'
1bce0 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-
1bd00 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
1bd20 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."
1bd40 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
1bd60 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
1bd80 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
1bda0 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
1bdc0 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
1bde0 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
1be00 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
1be20 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
1be40 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
1be60 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
1be80 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)..(
1bea0 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
1bec0 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
1bee0 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
1bf00 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.'
1bf20 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-
1bf40 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
1bf60 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
1bf80 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
1bfa0 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
1bfc0 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
1bfe0 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
1c000 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
1c020 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...'((
1c040 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))
1c060 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
1c080 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
1c0a0 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
1c0c0 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
1c0e0 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
1c100 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
1c120 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
1c140 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
1c160 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.
1c180 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.
1c1a0 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
1c1c0 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
1c1e0 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
1c200 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
1c220 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
1c240 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
1c260 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.
1c280 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
1c2a0 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
1c2c0 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
1c2e0 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
1c300 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
1c320 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
1c340 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
1c360 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.
1c380 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
1c3a0 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
1c3c0 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............
1c3e0 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).....
1c400 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).....
1c420 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-
1c440 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
1c460 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
1c480 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
1c4a0 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
1c4c0 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))).
1c4e0 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
1c500 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
1c520 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
1c540 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
1c560 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)))..........
1c580 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))
1c5a0 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...........
1c5c0 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
1c5e0 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
1c600 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.
1c620 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
1c640 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
1c660 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.................
1c680 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
1c6a0 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))...
1c6c0 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.","))....
1c6e0 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
1c700 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
1c720 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
1c740 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.............
1c760 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.
1c780 20 20 20 20 20 20 20 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
1c7a0 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....
1c7c0 20 20 20 20 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
1c7e0 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.........................
1c800 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
1c820 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
1c840 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
1c860 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
1c880 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
1c8a0 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.
1c8c0 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.
1c8e0 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
1c900 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
1c920 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.
1c940 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.
1c960 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
1c980 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
1c9a0 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
1c9c0 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.(
1c9e0 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.())...
1ca00 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
1ca20 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.()).....
1ca40 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
1ca60 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.()).....
1ca80 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
1caa0 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
1cac0 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
1cae0 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.(
1cb00 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...................(
1cb20 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
1cb40 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
1cb60 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
1cb80 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)...............
1cba0 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)
1cbc0 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 )))...................(?-.......
1cbe0 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
1cc00 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)))).....
1cc20 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.'##
1cc40 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)........................
1cc60 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))))..
1cc80 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
1cca0 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)..............
1ccc0 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
1cce0 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)."--")..........
1cd00 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
1cd20 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))......
1cd40 20 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
1cd60 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
1cd80 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)))).........................
1cda0 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
1cdc0 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))..............
1cde0 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
1ce00 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))..............
1ce20 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
1ce40 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)).........
1ce60 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
1ce80 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))))...................(
1cea0 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.
1cec0 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
1cee0 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)...
1cf00 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
1cf20 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))))................
1cf40 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
1cf60 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))))...
1cf80 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
1cfa0 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)))...........
1cfc0 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
1cfe0 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)..................
1d000 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)))).....
1d020 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
1d040 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))).............
1d060 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-
1d080 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)....................
1d0a0 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))))...
1d0c0 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
1d0e0 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)
1d100 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 ................................
1d120 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))))).....`
1d140 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.
1d160 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
1d180 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
1d1a0 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.....
1d1c0 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
1d1e0 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..
1d200 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
1d220 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
1d240 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
1d260 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
1d280 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
1d2a0 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.
1d2c0 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))..
1d2e0 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
1d300 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.
1d320 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
1d340 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
1d360 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
1d380 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
1d3a0 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
1d3c0 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")...
1d3e0 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")..
1d400 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")..
1d420 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").
1d440 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"
1d460 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
1d480 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
1d4a0 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")).
1d4c0 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
1d4e0 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
1d500 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)............
1d520 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).......
1d540 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.
1d560 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.................
1d580 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
1d5a0 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))
1d5c0 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
1d5e0 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")."
1d600 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
1d620 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.&
1d640 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
1d660 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.
1d680 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
1d6a0 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
1d6c0 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
1d6e0 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
1d700 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
1d720 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
1d740 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
1d760 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
1d780 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
1d7a0 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
1d7c0 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
1d7e0 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
1d800 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
1d820 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.".
1d840 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
1d860 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.....
1d880 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..........................
1d8a0 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.
1d8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1d8e0 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..........
1d900 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...
1d920 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.....................
1d940 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-
1d960 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
1d980 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
1d9a0 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)
1d9c0 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
1d9e0 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."+
1da00 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.
1da20 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
1da40 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))...
1da60 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)........
1da80 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
1daa0 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.
1dac0 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)).......(
1dae0 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
1db00 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
1db20 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.
1db40 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))....
1db60 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).....
1db80 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
1dba0 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
1dbc0 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
1dbe0 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
1dc00 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)...
1dc20 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
1dc40 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
1dc60 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
1dc80 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
1dca0 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
1dcc0 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
1dce0 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
1dd00 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
1dd20 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
1dd40 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
1dd60 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
1dd80 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
1dda0 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..........................
1ddc0 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.....
1dde0 20 20 20 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
1de00 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..................
1de20 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
1de40 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
1de60 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
1de80 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
1dea0 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
1dec0 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))........
1dee0 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
1df00 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
1df20 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-
1df40 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
1df60 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
1df80 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
1dfa0 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
1dfc0 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)))...
1dfe0 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.
1e000 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
1e020 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))................
1e040 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
1e060 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))
1e080 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.(
1e0a0 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)
1e0c0 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.(
1e0e0 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
1e100 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
1e120 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.....
1e140 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).........
1e160 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
1e180 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)).........
1e1a0 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
1e1c0 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))))........
1e1e0 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
1e200 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)............
1e220 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.....
1e240 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))......
1e260 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
1e280 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)))
1e2a0 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
1e2c0 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)
1e2e0 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
1e300 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)...........................(
1e320 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)...
1e340 20 20 20 20 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
1e360 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))).....
1e380 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)).....
1e3a0 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)...
1e3c0 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
1e3e0 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)............
1e400 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
1e420 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)))................
1e440 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
1e460 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
1e480 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
1e4a0 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'.
1e4c0 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
1e4e0 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.\
1e500 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.
1e520 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
1e540 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...
1e560 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........................
1e580 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.
1e5a0 20 20 20 20 20 20 20 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
1e5c0 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............
1e5e0 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
1e600 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.........................
1e620 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).
1e640 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.
1e660 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
1e680 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)..........
1e6a0 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................
1e6c0 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
1e6e0 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)..............
1e700 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
1e720 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...
1e740 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.........
1e760 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*.
1e780 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..................
1e7a0 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
1e7c0 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.(-.
1e7e0 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))))...........
1e800 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
1e820 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
1e840 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)))).
1e860 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
1e880 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)..................
1e8a0 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
1e8c0 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)........................
1e8e0 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
1e900 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.(
1e920 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)))).....
1e940 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-
1e960 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
1e980 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))......
1e9a0 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.(
1e9c0 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)........
1e9e0 20 20 20 20 20 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
1ea00 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)."")))))...
1ea20 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............
1ea40 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)........
1ea60 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)))).
1ea80 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..........
1eaa0 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)...
1eac0 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
1eae0 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
1eb00 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.......
1eb20 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
1eb40 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))).........
1eb60 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
1eb80 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........................
1eba0 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))
1ebc0 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
1ebe0 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..........
1ec00 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
1ec20 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)..............
1ec40 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
1ec60 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)))...............,@
1ec80 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
1eca0 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.......................
1ecc0 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........................
1ece0 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
1ed00 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)...........................
1ed20 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
1ed40 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
1ed60 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
1ed80 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
1eda0 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...............
1edc0 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
1ede0 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)...........
1ee00 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
1ee20 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)))))
1ee40 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
1ee60 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.......
1ee80 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...
1eea0 20 20 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
1eec0 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................
1eee0 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
1ef00 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)...........
1ef20 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
1ef40 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))))
1ef60 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.
1ef80 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
1efa0 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
1efc0 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
1efe0 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
1f000 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..
1f020 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=
1f040 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-
1f060 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
1f080 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."."))
1f0a0 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
1f0c0 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
1f0e0 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
1f100 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
1f120 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'."...
1f140 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
1f160 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
1f180 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
1f1a0 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
1f1c0 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)
1f1e0 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.
1f200 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.
1f220 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
1f240 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.
1f260 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
1f280 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.
1f2a0 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
1f2c0 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
1f2e0 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
1f300 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
1f320 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.
1f340 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
1f360 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
1f380 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
1f3a0 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
1f3c0 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
1f3e0 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
1f400 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
1f420 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.
1f440 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
1f460 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
1f480 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
1f4a0 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
1f4c0 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.
1f4e0 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
1f500 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
1f520 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
1f540 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.
1f560 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\"..
1f580 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.
1f5a0 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
1f5c0 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
1f5e0 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.
1f600 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.
1f620 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.
1f640 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
1f660 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.
1f680 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
1f6a0 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."
1f6c0 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
1f6e0 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
1f700 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
1f720 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
1f740 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
1f760 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
1f780 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
1f7a0 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.........
1f7c0 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.
1f7e0 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
1f800 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
1f820 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.
1f840 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
1f860 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
1f880 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
1f8a0 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
1f8c0 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)..
1f8e0 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
1f900 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.........
1f920 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
1f940 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
1f960 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
1f980 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
1f9a0 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
1f9c0 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..........(
1f9e0 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)........
1fa00 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
1fa20 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)
1fa40 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
1fa60 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
1fa80 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
1faa0 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
1fac0 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)..................
1fae0 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)..............
1fb00 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))))).....
1fb20 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
1fb40 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
1fb60 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
1fb80 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
1fba0 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.(
1fbc0 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.
1fbe0 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.
1fc00 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.((
1fc20 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
1fc40 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....
1fc60 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
1fc80 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))).
1fca0 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
1fcc0 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
1fce0 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))).......(
1fd00 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......
1fd20 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
1fd40 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)
1fd60 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
1fd80 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
1fda0 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)
1fdc0 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
1fde0 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
1fe00 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))........
1fe20 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)))....
1fe40 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
1fe60 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
1fe80 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
1fea0 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
1fec0 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
1fee0 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 ................................
1ff00 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
1ff20 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)........................
1ff40 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
1ff60 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
1ff80 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)
1ffa0 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
1ffc0 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
1ffe0 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
20000 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
20020 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
20040 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
20060 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.
20080 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
200a0 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
200c0 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-
200e0 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
20100 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
20120 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).............
20140 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
20160 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)..
20180 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-
201a0 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
201c0 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)...........
201e0 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
20200 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)............
20220 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.
20240 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
20260 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
20280 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
202a0 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
202c0 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
202e0 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
20300 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.
20320 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)..."
20340 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
20360 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
20380 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
203a0 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
203c0 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
203e0 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
20400 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-
20420 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-
20440 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
20460 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
20480 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."...(
204a0 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
204c0 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
204e0 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
20500 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.
20520 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)
20540 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
20560 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
20580 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))...........
205a0 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
205c0 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
205e0 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
20600 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
20620 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
20640 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.......(
20660 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))....
20680 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
206a0 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))).......
206c0 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-
206e0 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
20700 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
20720 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
20740 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
20760 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.
20780 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
207a0 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-
207c0 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
207e0 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
20800 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
20820 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
20840 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..
20860 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,.
20880 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
208a0 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
208c0 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
208e0 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
20900 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))
20920 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
20940 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)))).
20960 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
20980 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).........
209a0 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
209c0 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.=.(
209e0 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)...
20a00 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
20a20 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
20a40 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.
20a60 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................
20a80 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
20aa0 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.............................
20ac0 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)...........
20ae0 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)
20b00 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
20b20 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)
20b40 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
20b60 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'..
20b80 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
20ba0 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
20bc0 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
20be0 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."
20c00 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
20c20 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
20c40 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
20c60 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.............
20c80 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)
20ca0 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
20cc0 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
20ce0 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..................
20d00 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)......
20d20 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)))..
20d40 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
20d60 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.
20d80 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
20da0 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
20dc0 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
20de0 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
20e00 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.......(
20e20 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
20e40 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
20e60 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-
20e80 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
20ea0 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
20ec0 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
20ee0 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."
20f00 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
20f20 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))....
20f40 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
20f60 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
20f80 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
20fa0 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.....
20fc0 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)
20fe0 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).....
21000 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
21020 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.
21040 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
21060 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
21080 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
210a0 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-
210c0 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:.%
210e0 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
21100 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).
21120 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-
21140 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)).
21160 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
21180 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)..
211a0 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
211c0 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
211e0 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:."
21200 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
21220 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
21240 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
21260 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)...
21280 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
212a0 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)).....
212c0 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
212e0 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
21300 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
21320 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
21340 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:."))
21360 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
21380 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
213a0 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
213c0 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)...
213e0 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
21400 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)).....
21420 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
21440 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
21460 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
21480 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.
214a0 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:.")))
214c0 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
214e0 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
21500 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
21520 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
21540 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).........
21560 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
21580 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
215a0 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
215c0 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
215e0 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
21600 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
21620 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
21640 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
21660 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))))..(
21680 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.(
216a0 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.
216c0 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
216e0 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-
21700 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
21720 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
21740 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
21760 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-
21780 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).....(
217a0 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
217c0 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
217e0 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
21800 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
21820 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
21840 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
21860 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
21880 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
218a0 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
218c0 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
218e0 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..
21900 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!"
21920 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.
21940 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
21960 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.
21980 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
219a0 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
219c0 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
219e0 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.
21a00 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.
21a20 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."
21a40 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
21a60 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
21a80 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
21aa0 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
21ac0 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
21ae0 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
21b00 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
21b20 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).
21b40 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
21b60 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
21b80 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
21ba0 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
21bc0 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
21be0 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.?+.
21c00 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-
21c20 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
21c40 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)....
21c60 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
21c80 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
21ca0 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
21cc0 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
21ce0 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
21d00 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
21d20 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
21d40 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
21d60 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
21d80 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
21da0 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
21dc0 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
21de0 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))))
21e00 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
21e20 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
21e40 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
21e60 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-
21e80 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
21ea0 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.
21ec0 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
21ee0 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
21f00 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
21f20 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-
21f40 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
21f60 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
21f80 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
21fa0 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
21fc0 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
21fe0 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
22000 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
22020 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........................
22040 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)...
22060 20 20 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.")
22080 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
220a0 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
220c0 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
220e0 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)............
22100 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
22120 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
22140 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).....
22160 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)))))))).
22180 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
221a0 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
221c0 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
221e0 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
22200 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-
22220 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
22240 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........
22260 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
22280 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))).
222a0 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
222c0 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
222e0 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-
22300 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
22320 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
22340 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
22360 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
22380 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-
223a0 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.()..
223c0 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
223e0 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.
22400 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
22420 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
22440 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.
22460 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
22480 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
224a0 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-
224c0 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
224e0 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)).......
22500 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
22520 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..
22540 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
22560 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
22580 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
225a0 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
225c0 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
225e0 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
22600 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-
22620 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-
22640 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)
22660 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
22680 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
226a0 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)...
226c0 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-
226e0 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
22700 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
22720 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
22740 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
22760 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
22780 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
227a0 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
227c0 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
227e0 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
22800 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...........................
22820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
228a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
228c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
228e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
229a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
229c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
229e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22a00 65 6c 66 65 65 64 2d 32 30 32 34 31 32 30 32 2e 32 32 2f 65 6c 66 65 65 64 2d 73 68 6f 77 2e 65 elfeed-20241202.22/elfeed-show.e
22a20 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...............................
22a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22a60 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
22a80 30 30 34 35 36 32 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 36 31 30 00 20 30 00 00 00 0045620.00000000000.014610..0...
22aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22b00 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...................
22b20 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...................
22b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22c00 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
22c20 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:
22c40 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
22c60 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
22c80 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:..
22ca0 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)
22cc0 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.'
22ce0 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).;
22d00 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
22d20 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)..(
22d40 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
22d60 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
22d80 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
22da0 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.
22dc0 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
22de0 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
22e00 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
22e20 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
22e40 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
22e60 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.
22e80 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).".
22ea0 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
22ec0 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
22ee0 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
22f00 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
22f20 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
22f40 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
22f60 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."...:
22f80 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.(
22fa0 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).
22fc0 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.
22fe0 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)..................
23000 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
23020 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
23040 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
23060 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
23080 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."..
230a0 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
230c0 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
230e0 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
23100 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)..............
23120 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
23140 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
23160 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
23180 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
231a0 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
231c0 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.(
231e0 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
23200 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)
23220 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
23240 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
23260 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
23280 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".#'
232a0 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
232c0 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
232e0 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".#
23300 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
23320 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)
23340 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
23360 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).......
23380 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
233a0 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."
233c0 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
233e0 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
23400 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
23420 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).......(
23440 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
23460 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."<
23480 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).......(
234a0 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
234c0 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."
234e0 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)......
23500 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
23520 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
23540 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
23560 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
23580 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)
235a0 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]
235c0 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
235e0 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
23600 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
23620 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
23640 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
23660 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
23680 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".
236a0 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))).
236c0 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'
236e0 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.().
23700 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
23720 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-
23740 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
23760 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-
23780 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
237a0 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..
237c0 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"..
237e0 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
23800 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
23820 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)...
23840 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
23860 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).......
23880 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
238a0 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
238c0 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
238e0 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
23900 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).
23920 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
23940 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.(
23960 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
23980 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
239a0 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
239c0 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
239e0 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..
23a00 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
23a20 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
23a40 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....
23a60 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
23a80 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)))........
23aa0 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
23ac0 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).(
23ae0 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.(
23b00 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
23b20 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.
23b40 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
23b60 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
23b80 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
23ba0 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
23bc0 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............
23be0 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)..........
23c00 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
23c20 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
23c40 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
23c60 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".......
23c80 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
23ca0 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).................
23cc0 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.(
23ce0 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
23d00 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>
23d20 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-
23d40 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
23d60 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
23d80 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
23da0 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
23dc0 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).....
23de0 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).....
23e00 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
23e20 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
23e40 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.
23e60 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
23e80 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
23ea0 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.....(
23ec0 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)......
23ee0 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
23f00 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
23f20 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
23f40 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))...........((
23f60 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
23f80 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))...........
23fa0 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
23fc0 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).........
23fe0 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
24000 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.()...
24020 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.
24040 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
24060 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
24080 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
240a0 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
240c0 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
240e0 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
24100 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
24120 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
24140 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.(
24160 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
24180 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
241a0 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)).....
241c0 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
241e0 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
24200 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,.%
24220 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))..........(
24240 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
24260 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)))
24280 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
242a0 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))..
242c0 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
242e0 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
24300 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
24320 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
24340 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
24360 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).
24380 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.
243a0 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
243c0 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
243e0 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
24400 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
24420 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
24440 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.
24460 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
24480 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
244a0 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
244c0 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
244e0 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)...................
24500 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
24520 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
24540 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\
24560 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)..
24580 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
245a0 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
245c0 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
245e0 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
24600 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).................
24620 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
24640 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
24660 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.(
24680 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
246a0 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).............
246c0 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
246e0 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))))...
24700 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:.".'
24720 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)).....
24740 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)..
24760 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
24780 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
247a0 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)......
247c0 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."
247e0 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
24800 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
24820 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))..
24840 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"))...
24860 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.
24880 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).....
248a0 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
248c0 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
248e0 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.
24900 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)))....
24920 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
24940 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
24960 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
24980 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)...(
249a0 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
249c0 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
249e0 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..."
24a00 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
24a20 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
24a40 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
24a60 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
24a80 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
24aa0 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
24ac0 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
24ae0 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
24b00 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
24b20 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
24b40 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.......(
24b60 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>*".
24b80 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
24ba0 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
24bc0 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)))...
24be0 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
24c00 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
24c20 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.".
24c40 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
24c60 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
24c80 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
24ca0 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).....
24cc0 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)
24ce0 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))...
24d00 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
24d20 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-
24d40 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
24d60 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
24d80 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
24da0 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
24dc0 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)..
24de0 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
24e00 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
24e20 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
24e40 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
24e60 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.
24e80 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
24ea0 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
24ec0 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-
24ee0 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
24f00 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
24f20 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)).
24f40 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-
24f60 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
24f80 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-
24fa0 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
24fc0 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.*
24fe0 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)
25000 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
25020 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)
25040 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
25060 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
25080 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
250a0 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
250c0 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
250e0 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
25100 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
25120 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.
25140 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
25160 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...
25180 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:.%
251a0 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
251c0 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
251e0 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)))
25200 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.()..
25220 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
25240 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
25260 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
25280 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))).....(
252a0 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).
252c0 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
252e0 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
25300 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
25320 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
25340 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))).......(
25360 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))))..(
25380 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
253a0 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.
253c0 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
253e0 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:
25400 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
25420 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
25440 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-
25460 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)...
25480 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.
254a0 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
254c0 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.(&
254e0 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
25500 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
25520 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
25540 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)).........
25560 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
25580 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))...............
255a0 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
255c0 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)))..
255e0 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
25600 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
25620 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-
25640 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
25660 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
25680 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
256a0 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
256c0 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
256e0 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
25700 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
25720 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
25740 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.
25760 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
25780 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
257a0 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
257c0 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
257e0 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...
25800 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
25820 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
25840 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
25860 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
25880 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
258a0 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
258c0 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
258e0 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
25900 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
25920 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
25940 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
25960 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
25980 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
259a0 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
259c0 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
259e0 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
25a00 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
25a20 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.
25a40 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.()............(
25a60 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))......
25a80 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
25aa0 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)
25ac0 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
25ae0 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
25b00 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.
25b20 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
25b40 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
25b60 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
25b80 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
25ba0 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.
25bc0 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
25be0 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
25c00 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
25c20 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
25c40 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
25c60 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
25c80 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
25ca0 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
25cc0 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
25ce0 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.
25d00 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
25d20 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
25d40 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)..........
25d60 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)
25d80 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
25da0 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.
25dc0 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)))..
25de0 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.
25e00 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).....
25e20 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))))
25e40 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
25e60 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
25e80 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
25ea0 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
25ec0 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............
25ee0 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:."
25f00 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)))....
25f20 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)...
25f40 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
25f60 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
25f80 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
25fa0 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.
25fc0 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.
25fe0 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
26000 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
26020 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..................(
26040 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
26060 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.
26080 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)........
260a0 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
260c0 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.
260e0 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
26100 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.
26120 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-
26140 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
26160 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.(
26180 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...........
261a0 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
261c0 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
261e0 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
26200 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
26220 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
26240 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
26260 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.
26280 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
262a0 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
262c0 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
262e0 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
26300 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))
26320 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
26340 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..................
26360 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
26380 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.........................
263a0 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
263c0 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
263e0 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
26400 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)...........................
26420 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))))
26440 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
26460 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
26480 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
264a0 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
264c0 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
264e0 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
26500 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
26520 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.
26540 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)...........
26560 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
26580 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)))))
265a0 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
265c0 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
265e0 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
26600 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.
26620 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
26640 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
26660 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]
26680 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
266a0 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
266c0 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....
266e0 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
26700 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
26720 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
26740 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
26760 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
26780 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*.(
267a0 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
267c0 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
267e0 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.............
26800 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
26820 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))..
26840 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
26860 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)))........
26880 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
268a0 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)).
268c0 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-
268e0 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))..
26900 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
26920 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
26940 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-
26960 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)))..........
26980 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
269a0 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
269c0 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
269e0 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
26a00 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)).............
26a20 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...................
26a40 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
26a60 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..............
26a80 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
26aa0 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.
26ac0 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..
26ae0 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
26b00 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
26b20 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).....................
26b40 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
26b60 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)........
26b80 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
26ba0 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
26bc0 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--
26be0 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
26c00 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
26c20 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
26c40 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
26c60 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
26c80 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.(
26ca0 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
26cc0 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
26ce0 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
26d00 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
26d20 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
26d40 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
26d60 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).
26d80 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-
26da0 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
26dc0 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)..
26de0 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
26e00 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
26e20 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
26e40 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
26e60 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
26e80 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
26ea0 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
26ec0 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
26ee0 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
26f00 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
26f20 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
26f40 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
26f60 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
26f80 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
26fa0 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
26fc0 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
26fe0 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
27000 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....
27020 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).......
27040 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
27060 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
27080 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
270a0 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
270c0 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
270e0 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
27100 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
27120 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
27140 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
27160 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
27180 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
271a0 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
271c0 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
271e0 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
27200 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)..................
27220 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.
27240 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
27260 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
27280 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.
272a0 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
272c0 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-
272e0 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
27300 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
27320 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
27340 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
27360 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.(
27380 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
273a0 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
273c0 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
273e0 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).................
27400 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))))...
27420 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
27440 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
27460 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))
27480 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
274a0 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
274c0 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
274e0 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'
27500 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
27520 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.
27540 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)).......
27560 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
27580 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
275a0 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
275c0 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
275e0 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
27600 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
27620 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
27640 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))
27660 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)).....
27680 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
276a0 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
276c0 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).
276e0 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
27700 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
27720 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-
27740 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
27760 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
27780 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.................
277a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
277c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
277e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27800 65 6c 66 65 65 64 2d 32 30 32 34 31 32 30 32 2e 32 32 2f 65 6c 66 65 65 64 2e 65 6c 00 00 00 00 elfeed-20241202.22/elfeed.el....
27820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27860 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
27880 30 30 36 36 37 33 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 36 34 33 00 20 30 00 00 00 0066734.00000000000.013643..0...
278a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
278c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
278e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27900 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...................
27920 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...................
27940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
279a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
279c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
279e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27a00 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/
27a20 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
27a40 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
27a60 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.
27a80 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
27aa0 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
27ac0 40 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d 3e 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 56 65 72 @nullprogram.com>.;;.Package-Ver
27ae0 73 69 6f 6e 3a 20 32 30 32 34 31 32 30 32 2e 32 32 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 76 sion:.20241202.22.;;.Package-Rev
27b00 69 73 69 6f 6e 3a 20 61 33 39 66 62 37 38 65 33 34 65 65 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 ision:.a39fb78e34ee.;;.URL:.http
27b20 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 64 0a 0a 3b 3b s://github.com/skeeto/elfeed..;;
27b40 3b 20 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 ;.Commentary:..;;.Elfeed.is.a.we
27b60 62 20 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 b.feed.client.for.Emacs,.inspire
27b80 64 20 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 d.by.notmuch..See.;;.the.README.
27ba0 66 6f 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 for.full.documentation...;;;.Cod
27bc0 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 e:..(require.'cl-lib).(require.'
27be0 78 6d 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 xml).(require.'xml-query).(requi
27c00 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 75 72 6c 2d 71 75 65 re.'url-parse).(require.'url-que
27c20 75 65 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 ue)..(require.'elfeed-db).(requi
27c40 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 65 64 re.'elfeed-lib).(require.'elfeed
27c60 2d 6c 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 -log).(require.'elfeed-curl)..;;
27c80 20 49 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 .Interface.to.elfeed-search.(laz
27ca0 79 20 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 y.required).(declare-function.el
27cc0 66 65 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 feed-search-buffer.'elfeed-searc
27ce0 68 20 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 h.()).(declare-function.elfeed-s
27d00 65 61 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 earch-mode...'elfeed-search.()).
27d20 0a 28 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 .(defgroup.elfeed.()..."An.Emacs
27d40 20 77 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 .web.feed.reader."...:group.'com
27d60 6d 29 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 m)..(defconst.elfeed-version."3.
27d80 34 2e 32 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 4.2")..(defcustom.elfeed-feeds.(
27da0 29 0a 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 )..."List.of.all.feeds.that.Elfe
27dc0 65 64 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 ed.should.follow..You.must.add.y
27de0 6f 75 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 our.feeds.to.this.list...In.its.
27e00 73 69 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 simplest.form.this.will.be.a.lis
27e20 74 20 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 t.of.strings.of.feed.URLs..Items
27e40 20 69 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 .in.this.list.can.also.be.list.w
27e60 68 6f 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 hose.car.is.the.feed.URL.and.cdr
27e80 20 69 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 .is.a.list.of.symbols.to.be.appl
27ea0 69 65 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 ied.to.all.discovered.entries.as
27ec0 20 74 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 .tags.(\"autotags\")..For.exampl
27ee0 65 2c 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 e,....(setq.elfeed-feeds.\\='(\"
27f00 68 74 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 http://foo/\"...................
27f20 20 20 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 .....\"http://bar/\"............
27f40 20 20 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 ............(\"http://baz/\".com
27f60 69 63 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 ic)))..All.entries.from.the.\"ba
27f80 7a 5c 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 z\".feed.will.be.tagged.as.\"com
27fa0 69 63 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 ic\".when.they.are.first.discove
27fc0 72 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 20 27 red."...:group.'elfeed...:type.'
27fe0 28 72 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 (repeat.(choice.string..........
28000 20 20 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 ................(cons.string.(re
28020 70 65 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 peat.symbol)))))..(defcustom.elf
28040 65 65 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 eed-feed-functions...'(elfeed-ge
28060 74 2d 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 t-link-at-point.....elfeed-get-u
28080 72 6c 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 rl-at-point.....elfeed-clipboard
280a0 2d 67 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 -get)..."List.of.functions.to.us
280c0 65 20 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 e.to.get.possible.feeds.for.`elf
280e0 65 65 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 eed-add-feed'..Each.function.sho
28100 75 6c 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 uld.accept.no.arguments,.and.ret
28120 75 72 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 urn.a.string.or.nil."...:group.'
28140 65 6c 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 elfeed...:type.'hook...:options.
28160 27 28 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 '(elfeed-get-link-at-point......
28180 20 20 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 ........elfeed-get-url-at-point.
281a0 20 20 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 .............elfeed-clipboard-ge
281c0 74 29 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 t))..(defcustom.elfeed-use-curl.
281e0 20 20 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 ..(not.(null.(executable-find.el
28200 66 65 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 feed-curl-program-name)))..."If.
28220 6e 6f 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 non-nil,.fetch.feeds.using.curl.
28240 69 6e 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 instead.of.`url-retrieve'."...:g
28260 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 6e 29 0a 0a roup.'elfeed...:type.'boolean)..
28280 28 64 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 (defcustom.elfeed-user-agent.(fo
282a0 72 6d 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 rmat."Emacs.Elfeed.%s".elfeed-ve
282c0 72 73 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 rsion)..."User.agent.string.to.u
282e0 73 65 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 se.for.Elfeed.(requires.`elfeed-
28300 75 73 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 use-curl')."...:group.'elfeed...
28320 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 :type.'string)..(defcustom.elfee
28340 64 2d 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 d-initial-tags.'(unread)..."Init
28360 69 61 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 ial.tags.for.new.entries."...:gr
28380 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 74 20 73 79 6d oup.'elfeed...:type.'(repeat.sym
283a0 62 6f 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 bol))..;;.Fetching:..(defvar.elf
283c0 65 65 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 eed-http-error-hooks.()..."Hooks
283e0 20 74 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 .to.run.when.an.http.connection.
28400 65 72 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 error.occurs..It.is.called.with.
28420 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 67 75 6d 65 6e 74 20 2.arguments..The.first.argument.
28440 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 20 66 65 65 64 2e 20 is.the.url.of.the.failing.feed..
28460 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 68 74 74 70 20 The.second.argument.is.the.http.
28480 73 74 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 status.code.")..(defvar.elfeed-p
284a0 61 72 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 arse-error-hooks.()..."Hooks.to.
284c0 72 75 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 run.when.an.error.occurs.during.
284e0 74 68 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 the.parsing.of.a.feed..It.is.cal
28500 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 72 73 74 20 led.with.2.arguments..The.first.
28520 61 72 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 argument.is.the.url.of.the.faili
28540 6e 67 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 ng.feed..The.second.argument.is.
28560 74 68 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 the.error.message..")..(defvar.e
28580 6c 66 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 lfeed-update-hooks.()..."Hooks.t
285a0 6f 20 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 o.run.any.time.a.feed.update.has
285c0 20 63 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 .completed.a.request..It.is.call
285e0 65 64 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 ed.with.1.argument:.the.URL.of.t
28600 68 65 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 he.feed.that.was.just.updated..T
28620 68 65 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 he.hook.is.called.even.when.no.n
28640 65 77 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 ew.entries.were.found.")..(defva
28660 72 20 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 r.elfeed-update-init-hooks.()...
28680 22 48 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 "Hooks.called.when.one.or.more.f
286a0 65 65 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 eed.updates.have.begun..Receiver
286c0 73 20 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 s.may.want.to,.say,.update.a.dis
286e0 70 6c 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 play.to.indicate.that.updates.ar
28700 65 20 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 e.pending.")..(defvar.elfeed-tag
28720 2d 68 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 -hooks.()..."Hooks.called.when.o
28740 6e 65 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 ne.or.more.entries.add.tags..It.
28760 69 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 is.called.with.2.arguments..The.
28780 66 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 first.argument.is.the.entry.list
287a0 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 65 20 74 61 67 ..The.second.argument.is.the.tag
287c0 20 6c 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 .list.")..(defvar.elfeed-untag-h
287e0 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
28800 20 6f 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 .or.more.entries.remove.tags..It
28820 20 69 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 .is.called.with.2.arguments..The
28840 20 66 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 .first.argument.is.the.entry.lis
28860 74 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 65 20 74 61 t..The.second.argument.is.the.ta
28880 67 20 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 g.list.")..(defvar.elfeed--inhib
288a0 69 74 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 it-update-init-hooks.nil..."When
288c0 20 6e 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 .non-nil,.don't.run.`elfeed-upda
288e0 74 65 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 te-init-hooks'.")..(defun.elfeed
28900 2d 71 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 -queue-count-active.()..."Return
28920 20 74 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 .the.number.of.items.in.process.
28940 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 65 6c "...(if.elfeed-use-curl.......el
28960 66 65 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 feed-curl-queue-active.....(cl-c
28980 6f 75 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 ount-if.#'url-queue-buffer.url-q
289a0 75 65 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 ueue)))..(defun.elfeed-queue-cou
289c0 6e 74 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 nt-total.()..."Return.the.number
289e0 20 6f 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 .of.items.in.process."...(if.elf
28a00 65 65 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 eed-use-curl.......(+.(length.el
28a20 66 65 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 feed-curl-queue).elfeed-curl-que
28a40 75 65 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 ue-active).....(length.url-queue
28a60 29 29 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 )))..(defun.elfeed-set-max-conne
28a80 63 74 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 ctions.(n)..."Limit.the.maximum.
28aa0 6e 75 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 number.of.concurrent.connections
28ac0 20 74 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 .to.N."...(if.elfeed-use-curl...
28ae0 20 20 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 ....(setf.elfeed-curl-max-connec
28b00 74 69 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 tions.n).....(setf.url-queue-par
28b20 61 6c 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 allel-processes.n)))..(defun.elf
28b40 65 65 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 eed-get-max-connections.()..."Ge
28b60 74 20 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 t.the.maximum.number.of.concurre
28b80 6e 74 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 nt.connections."...(if.elfeed-us
28ba0 65 2d 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 e-curl.......elfeed-curl-max-con
28bc0 6e 65 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 nections.....url-queue-parallel-
28be0 70 72 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 processes))..(defun.elfeed-set-t
28c00 69 6d 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 imeout.(seconds)..."Limit.the.ti
28c20 6d 65 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 me.for.fetching.a.feed.to.SECOND
28c40 53 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 20 20 S."...(if.elfeed-use-curl.......
28c60 28 73 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 (setf.elfeed-curl-timeout.second
28c80 73 29 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 s).....(setf.url-queue-timeout.s
28ca0 65 63 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 econds)))..(defun.elfeed-get-tim
28cc0 65 6f 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 eout.()..."Get.the.time.limit.fo
28ce0 72 20 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 r.fetching.feeds.in.SECONDS."...
28d00 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 65 64 (if.elfeed-use-curl.......elfeed
28d20 2d 63 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 -curl-timeout.....url-queue-time
28d40 6f 75 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 out))..(defun.elfeed-is-status-e
28d60 72 72 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 rror.(status.use-curl)..."Check.
28d80 69 66 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 if.HTTP.request.returned.status.
28da0 6d 65 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 means.a.error."...(or.(and.use-c
28dc0 75 72 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 url.(null.status)).;.nil.=.error
28de0 0a 20 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 .......(and.(not.use-curl).(eq.(
28e00 63 61 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 car.status).:error))))..(defmacr
28e20 6f 20 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 o.elfeed-with-fetch.(url.&rest.b
28e40 6f 64 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 ody)..."Asynchronously.run.BODY.
28e60 69 6e 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 in.a.buffer.with.the.contents.fr
28e80 6f 6d 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 om.URL..This.macro.is.anaphoric,
28ea0 20 77 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 .with.STATUS.referring.to.the.st
28ec0 61 74 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 atus.from.`url-retrieve'/cURL.an
28ee0 64 20 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 d.USE-CURL.being.the.original.in
28f00 76 6f 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 voked-value.of.`elfeed-use-curl'
28f20 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 29 0a 20 20 ."...(declare.(indent.defun))...
28f40 60 28 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 `(let*.((use-curl.elfeed-use-cur
28f60 6c 29 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 l).;.capture.current.value.in.cl
28f80 6f 73 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 osure...........(cb.(lambda.(sta
28fa0 74 75 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 tus).,@body)))......(if.elfeed-u
28fc0 73 65 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 se-curl..........(let*.((feed.(e
28fe0 6c 66 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 lfeed-db-get-feed.url)).........
29000 20 20 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 ........(last-modified.(elfeed-m
29020 65 74 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 eta.feed.:last-modified)).......
29040 20 20 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 ..........(etag.(elfeed-meta.fee
29060 64 20 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 d.:etag)).................(heade
29080 72 73 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 rs.`(("User-Agent"...,elfeed-use
290a0 72 2d 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 r-agent))))............(when.eta
290c0 67 0a 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 g..............(push.`("If-None-
290e0 4d 61 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 Match"...,etag).headers)).......
29100 20 20 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 .....(when.last-modified........
29120 20 20 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 ......(push.`("If-Modified-Since
29140 22 20 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 "...,last-modified).headers))...
29160 20 20 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 .........(elfeed-curl-enqueue.,u
29180 72 6c 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 rl.cb.:headers.headers))........
291a0 28 75 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 (url-queue-retrieve.,url.cb.().t
291c0 20 74 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 .t))))..(defun.elfeed-unjam.()..
291e0 20 22 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 ."Manually.clear.the.connection.
29200 70 6f 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 pool.when.connections.fail.to.ti
29220 6d 65 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 meout..This.is.a.workaround.for.
29240 69 73 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 issues.in.`url-queue-retrieve'."
29260 0a 20 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 ...(interactive)...(if.elfeed-us
29280 65 2d 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 e-curl.......(setf.elfeed-curl-q
292a0 75 65 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 ueue.nil.............elfeed-curl
292c0 2d 71 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 -queue-active.0).....(let.((fail
292e0 73 20 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 s.(mapcar.#'url-queue-url.url-qu
29300 65 75 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 eue))).......(when.fails........
29320 20 28 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 .(elfeed-log.'warn."Elfeed.abort
29340 65 64 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 ed.feeds:.%s"...................
29360 20 20 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 ..(mapconcat.#'identity.fails.".
29380 22 29 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 "))).......(setf.url-queue.nil))
293a0 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 65 2d 69 6e )...(run-hooks.'elfeed-update-in
293c0 69 74 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 it-hooks))..;;.Parsing:..(defun.
293e0 65 6c 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 elfeed-feed-type.(content)..."Re
29400 74 75 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 turn.the.feed.type.(:atom,.:rss,
29420 20 3a 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 .:rss1.0).or.nil.for.unknown."..
29440 20 28 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 .(let.((top.(xml-query-strip-ns.
29460 28 63 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 (caar.content)))).....(cadr.(ass
29480 6f 63 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 oc.top.'((feed.:atom)...........
294a0 20 20 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 .............(rss.:rss).........
294c0 20 20 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 ...............(RDF.:rss1.0)))))
294e0 29 0a 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 )..(defun.elfeed-generate-id.(&o
29500 70 74 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 ptional.content)..."Generate.an.
29520 49 44 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 ID.based.on.CONTENT.or.from.the.
29540 63 75 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 current.time."...(concat."urn:sh
29560 61 31 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 a1:".(sha1.(format."%s".(or.cont
29580 65 6e 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 ent.(float-time))))))..(defun.el
295a0 66 65 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 feed--atom-content.(entry)..."Ge
295c0 74 20 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 t.content.string.from.ENTRY."...
295e0 28 6c 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 (let.((content-type.(xml-query*.
29600 28 63 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 (content.:type).entry))).....(if
29620 20 28 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 .(equal.content-type."xhtml")...
29640 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 20 ......(with-temp-buffer.........
29660 20 20 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 ..(let.((xhtml.(cddr.(xml-query*
29680 20 28 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 .(content).entry))))............
296a0 20 28 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 .(dolist.(element.xhtml)........
296c0 20 20 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 .......(if.(stringp.element)....
296e0 20 20 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 ...............(insert.element).
29700 20 20 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 ................(elfeed-xml-unpa
29720 72 73 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 rse.element))))...........(buffe
29740 72 2d 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 r-string)).......(let.((all-cont
29760 65 6e 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 ent..............(or.(xml-query-
29780 61 6c 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 all*.(content.*).entry).........
297a0 20 20 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 .........(xml-query-all*.(summar
297c0 79 20 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 y.*).entry)))).........(when.all
297e0 2d 63 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 -content...........(apply.#'conc
29800 61 74 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 at.all-content))))))..(defvar.el
29820 66 65 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 feed-new-entry-parse-hook.'()...
29840 22 48 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 "Hook.to.be.called.after.parsing
29860 20 61 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 .a.new.entry...Take.three.argume
29880 6e 74 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 nts:.the.feed.TYPE,.the.XML.stru
298a0 63 74 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 cture.for.the.entry,.and.the.Elf
298c0 65 65 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 eed.ENTRY.object..Return.value.i
298e0 73 20 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 s.ignored,.and.is.called.for.sid
29900 65 2d 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 e-effects.on.the.ENTRY.object.")
29920 0a 0a 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 ..(defsubst.elfeed--fixup-protoc
29940 6f 6c 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 ol.(protocol.url)..."Prepend.PRO
29960 54 4f 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 TOCOL.to.URL.if.it.is.protocol-r
29980 65 6c 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 elative..If.PROTOCOL.is.nil,.ret
299a0 75 72 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 urns.URL."...(if.(and.protocol.u
299c0 72 6c 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 rl.(string-match-p."^//[^/]".url
299e0 29 29 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 )).......(concat.protocol.":".ur
29a00 6c 29 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 l).....url))..(defsubst.elfeed--
29a20 61 74 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 atom-authors-to-plist.(authors).
29a40 20 20 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 .."Parse.list.of.author.XML.tags
29a60 20 69 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 .into.list.of.plists."...(let.((
29a80 72 65 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 result.())).....(dolist.(author.
29aa0 61 75 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 authors).......(let.((plist.()).
29ac0 20 20 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 ............(name.(xml-query*.(n
29ae0 61 6d 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 ame.*).author)).............(uri
29b00 20 28 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 .(xml-query*.(uri.*).author))...
29b20 20 20 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 ..........(email.(xml-query*.(em
29b40 61 69 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 ail.*).author))).........(when.e
29b60 6d 61 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 mail...........(setf.plist.(list
29b80 20 3a 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 .:email.(elfeed-cleanup.email)))
29ba0 29 0a 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 ).........(when.uri...........(s
29bc0 65 74 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 etf.plist.(nconc.(list.:uri.(elf
29be0 65 65 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 eed-cleanup.uri)).plist)))......
29c00 20 20 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 ...(when.name...........(setf.pl
29c20 69 73 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 ist.(nconc.(list.:name.(elfeed-c
29c40 6c 65 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 leanup.name)).plist))).........(
29c60 70 75 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 push.plist.result))).....(nrever
29c80 73 65 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 se.result)))..(defsubst.elfeed--
29ca0 63 72 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 creators-to-plist.(creators)..."
29cc0 43 6f 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 Convert.Dublin.Core.list.of.crea
29ce0 74 6f 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 tors.into.an.authors.plist."...(
29d00 63 6c 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 cl-loop.for.creator.in.creators.
29d20 20 20 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 ...........collect.(list.:name.c
29d40 72 65 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 reator)))..(defun.elfeed-entries
29d60 2d 66 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 -from-atom.(url.xml)..."Turn.par
29d80 73 65 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 sed.Atom.content.into.a.list.of.
29da0 65 6c 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 elfeed-entry.structs."...(let*.(
29dc0 28 66 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 (feed-id.url)..........(protocol
29de0 20 28 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 .(url-type.(url-generic-parse-ur
29e00 6c 20 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 l.url)))..........(namespace.(el
29e20 66 65 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 feed-url-to-namespace.url)).....
29e40 20 20 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 .....(feed.(elfeed-db-get-feed.f
29e60 65 65 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 eed-id))..........(title.(elfeed
29e80 2d 63 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 -cleanup.(xml-query*.(feed.title
29ea0 20 2a 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 .*).xml)))..........(authors.(xm
29ec0 6c 2d 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 l-query-all*.(feed.author).xml))
29ee0 0a 20 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 ..........(xml-base.(or.(xml-que
29f00 72 79 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 ry*.(feed.:base).xml).url)).....
29f20 20 20 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 .....(autotags.(elfeed-feed-auto
29f40 74 61 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 tags.url))).....(setf.(elfeed-fe
29f60 65 64 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 ed-url.feed).url...........(elfe
29f80 65 64 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 ed-feed-title.feed).title.......
29fa0 20 20 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 ....(elfeed-feed-author.feed).(e
29fc0 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 74 20 61 75 74 lfeed--atom-authors-to-plist.aut
29fe0 68 6f 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 hors)).....(cl-loop.for.entry.in
2a000 20 28 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 .(xml-query-all*.(feed.entry).xm
2a020 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 65 74 2a 20 28 28 l).collect..............(let*.((
2a040 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 6c 65 20 2a 29 20 title.(or.(xml-query*.(title.*).
2a060 65 6e 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 entry)."")).....................
2a080 28 78 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 (xml-base.(elfeed-update-locatio
2a0a0 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 20 20 20 20 n...............................
2a0c0 20 78 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 .xml-base.(xml-query*.(:base).(l
2a0e0 69 73 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 ist.entry))))...................
2a100 20 20 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 ..(anylink.(xml-query*.(link.:hr
2a120 65 66 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 ef).entry)).....................
2a140 28 61 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 (altlink.(xml-query*.(link.[rel.
2a160 22 61 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 "alternate"].:href).entry)).....
2a180 20 20 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 ................(link.(elfeed--f
2a1a0 69 78 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 ixup-protocol...................
2a1c0 20 20 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 .........protocol...............
2a1e0 20 20 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 .............(elfeed-update-loca
2a200 74 69 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 tion.xml-base...................
2a220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2a240 20 28 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 .(or.altlink.anylink))))........
2a260 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 2d 71 75 65 72 .............(date.(or.(xml-quer
2a280 79 2a 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 y*.(published.*).entry).........
2a2a0 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 72 79 ......................(xml-query
2a2c0 2a 20 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 *.(updated.*).entry)............
2a2e0 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 28 ...................(xml-query*.(
2a300 64 61 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 date.*).entry)..................
2a320 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 6d 6f 64 69 66 69 .............(xml-query*.(modifi
2a340 65 64 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 ed.*).entry).;.Atom.0.3.........
2a360 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 72 79 ......................(xml-query
2a380 2a 20 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 *.(issued.*).entry))).;.Atom.0.3
2a3a0 0a 20 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 .....................(authors.(n
2a3c0 63 6f 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 conc.(elfeed--atom-authors-to-pl
2a3e0 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ist.............................
2a400 20 20 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 .........(xml-query-all*.(author
2a420 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 20 20 ).entry)).......................
2a440 20 20 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 ..............;;.Dublin.Core....
2a460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2a480 20 28 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 .(elfeed--creators-to-plist.....
2a4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2a4c0 20 28 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 .(xml-query-all*.(creator.*).ent
2a4e0 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 28 63 61 74 65 ry)))).....................(cate
2a500 67 6f 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 gories.(xml-query-all*.(category
2a520 20 3a 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 .:term).entry)).................
2a540 20 20 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 ....(content.(elfeed--atom-conte
2a560 6e 74 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 nt.entry)).....................(
2a580 69 64 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 id.(or.(xml-query*.(id.*).entry)
2a5a0 20 6c 69 6e 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .link...........................
2a5c0 20 20 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 ..(elfeed-generate-id.content)))
2a5e0 0a 20 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 .....................(type.(or.(
2a600 78 6d 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 xml-query*.(content.:type).entry
2a620 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 )...............................
2a640 28 78 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 (xml-query*.(summary.:type).entr
2a660 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 20 20 20 y)..............................
2a680 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 74 61 67 73 20 ."")).....................(tags.
2a6a0 28 65 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 (elfeed-normalize-tags.autotags.
2a6c0 65 6c 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 elfeed-initial-tags))...........
2a6e0 20 20 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 ..........(content-type.(if.(str
2a700 69 6e 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 ing-match-p."html".type).'html.n
2a720 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 74 61 67 73 20 il)).....................(etags.
2a740 28 78 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 (xml-query-all*.(link.[rel."encl
2a760 6f 73 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 osure"]).entry))................
2a780 20 20 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 .....(enclosures................
2a7a0 20 20 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 ......(cl-loop.for.enclosure.in.
2a7c0 65 74 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 etags...........................
2a7e0 20 20 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 ....for.wrap.=.(list.enclosure).
2a800 20 20 20 20 20 20 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 ..............................fo
2a820 72 20 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 r.href.=.(xml-query*.(:href).wra
2a840 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p)..............................
2a860 20 66 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 .for.type.=.(xml-query*.(:type).
2a880 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 20 20 20 20 20 wrap)...........................
2a8a0 20 20 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 ....for.length.=.(xml-query*.(:l
2a8c0 65 6e 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 ength).wrap)....................
2a8e0 20 20 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 ...........collect.(list.href.ty
2a900 70 65 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 pe.length)))....................
2a920 20 28 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 .(db-entry.(elfeed-entry--create
2a940 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 ................................
2a960 3a 74 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 :title.(elfeed-cleanup.title)...
2a980 20 20 20 20 20 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 .............................:fe
2a9a0 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 20 20 20 20 20 ed-id.feed-id...................
2a9c0 20 20 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 .............:id.(cons.namespace
2a9e0 20 28 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 .(elfeed-cleanup.id))...........
2aa00 20 20 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 .....................:link.(elfe
2aa20 65 64 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 ed-cleanup.link)................
2aa40 20 20 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 ................:tags.tags......
2aa60 20 20 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 ..........................:date.
2aa80 28 6f 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 (or.(elfeed-float-time.date).(fl
2aaa0 6f 61 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 oat-time))......................
2aac0 20 20 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 ..........:content.content......
2aae0 20 20 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 ..........................:enclo
2ab00 73 75 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 sures.enclosures................
2ab20 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 70 65 20 63 6f ................:content-type.co
2ab40 6e 74 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 ntent-type......................
2ab60 20 20 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 ..........:meta.`(,@(when.author
2ab80 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...............................
2aba0 20 20 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 .............(list.:authors.auth
2abc0 6f 72 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 ors))...........................
2abe0 20 20 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 .............,@(when.categories.
2ac00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2ac20 20 20 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 ...........(list.:categories.cat
2ac40 65 67 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 egories))))))................(do
2ac60 6c 69 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 list.(hook.elfeed-new-entry-pars
2ac80 65 2d 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 e-hook)..................(funcal
2aca0 6c 20 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 l.hook.:atom.entry.db-entry))...
2acc0 20 20 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 .............db-entry))))..(defs
2ace0 75 62 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 ubst.elfeed--rss-author-to-plist
2ad00 20 28 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 .(author)..."Parse.an.RSS.author
2ad20 20 65 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 .element.into.an.authors.plist."
2ad40 0a 20 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 ...(when.author.....(let.((clean
2ad60 20 28 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 .(elfeed-cleanup.author)))......
2ad80 20 28 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 .(if.(string-match."^\\(.*\\).(\
2ada0 5c 28 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 \([^)]+\\))$".clean)...........(
2adc0 6c 69 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 list.(list.:name.(match-string.2
2ade0 20 63 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 .clean).......................:e
2ae00 6d 61 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 mail.(match-string.1.clean)))...
2ae20 20 20 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 ......(list.(list.:email.clean))
2ae40 29 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 72 6f 6d ))))..(defun.elfeed-entries-from
2ae60 2d 72 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 -rss.(url.xml)..."Turn.parsed.RS
2ae80 53 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 66 65 65 64 2d S.content.into.a.list.of.elfeed-
2aea0 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 65 65 64 2d 69 entry.structs."...(let*.((feed-i
2aec0 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 75 72 6c 2d 74 d.url)..........(protocol.(url-t
2aee0 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 75 72 6c 29 29 ype.(url-generic-parse-url.url))
2af00 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 65 64 2d 75 72 )..........(namespace.(elfeed-ur
2af20 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 20 20 20 28 66 l-to-namespace.url))..........(f
2af40 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 64 2d 69 64 29 eed.(elfeed-db-get-feed.feed-id)
2af60 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 6c 65 61 6e 75 )..........(title.(elfeed-cleanu
2af80 70 20 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 p.(xml-query*.(rss.channel.title
2afa0 20 2a 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 .*).xml)))..........(autotags.(e
2afc0 6c 66 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 lfeed-feed-autotags.url))).....(
2afe0 73 65 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 setf.(elfeed-feed-url.feed).url.
2b000 20 20 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 ..........(elfeed-feed-title.fee
2b020 64 29 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 d).title).....(cl-loop.for.item.
2b040 69 6e 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 in.(xml-query-all*.(rss.channel.
2b060 69 74 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 item).xml).collect..............
2b080 28 6c 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 (let*.((title.(or.(xml-query*.(t
2b0a0 69 74 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 itle.*).item).""))..............
2b0c0 20 20 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 .......(guid.(xml-query*.(guid.*
2b0e0 29 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 6c 69 ).item)).....................(li
2b100 6e 6b 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 nk.(elfeed--fixup-protocol......
2b120 20 20 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 ......................protocol..
2b140 20 20 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 ..........................(or.(x
2b160 6d 6c 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 ml-query*.(link.*).item).guid)))
2b180 0a 20 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 .....................(date.(or.(
2b1a0 78 6d 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 xml-query*.(pubDate.*).item)....
2b1c0 20 20 20 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 ...........................(xml-
2b1e0 71 75 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 query*.(date.*).item))).........
2b200 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 6e 63 20 28 65 6c 66 ............(authors.(nconc.(elf
2b220 65 65 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 eed--rss-author-to-plist........
2b240 20 20 20 20 20 20 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
2b260 6d 6c 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 ml-query*.(author.*).item)).....
2b280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2b2a0 3b 3b 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 ;;.Dublin.Core..................
2b2c0 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 2d 63 72 65 61 ...................(elfeed--crea
2b2e0 74 6f 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 tors-to-plist...................
2b300 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 2d 61 6c ...................(xml-query-al
2b320 6c 2a 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 l*.(creator.*).item)))).........
2b340 20 20 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 ............(categories.(xml-que
2b360 72 79 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 ry-all*.(category.*).item)).....
2b380 20 20 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 ................(content.(or.(xm
2b3a0 6c 2d 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 l-query-all*.(encoded.*).item)..
2b3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2b3e0 28 78 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 (xml-query-all*.(description.*).
2b400 69 74 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 item))).....................(des
2b420 63 72 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 cription.(apply.#'concat.content
2b440 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 67 )).....................(id.(or.g
2b460 75 69 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 uid.link.(elfeed-generate-id.des
2b480 63 72 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 cription))).....................
2b4a0 28 66 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 (full-id.(cons.namespace.(elfeed
2b4c0 2d 63 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 -cleanup.id)))..................
2b4e0 20 20 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 ...(original.(elfeed-db-get-entr
2b500 79 20 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 y.full-id)).....................
2b520 28 6f 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 (original-date.(and.original.(el
2b540 66 65 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 feed-entry-date.original))).....
2b560 20 20 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 ................(tags.(elfeed-no
2b580 72 6d 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 rmalize-tags.autotags.elfeed-ini
2b5a0 74 69 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 tial-tags)).....................
2b5c0 28 65 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 (etags.(xml-query-all*.(enclosur
2b5e0 65 29 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 e).item)).....................(e
2b600 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 20 20 20 20 28 nclosures......................(
2b620 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 61 67 73 0a 20 cl-loop.for.enclosure.in.etags..
2b640 20 20 20 20 20 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 .............................for
2b660 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 20 20 20 20 20 .wrap.=.(list.enclosure)........
2b680 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 75 72 6c 20 3d .......................for.url.=
2b6a0 20 28 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 .(xml-query*.(:url).wrap).......
2b6c0 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 74 79 70 65 ........................for.type
2b6e0 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 61 70 29 0a 20 20 20 .=.(xml-query*.(:type).wrap)....
2b700 20 20 20 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 ...........................for.l
2b720 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 67 74 68 29 20 77 72 ength.=.(xml-query*.(:length).wr
2b740 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).............................
2b760 20 20 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 ..collect.(list.url.type.length)
2b780 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 6e 74 72 79 )).....................(db-entry
2b7a0 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 20 20 20 20 .(elfeed-entry--create..........
2b7c0 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 20 28 65 6c ......................:title.(el
2b7e0 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 20 20 20 20 feed-cleanup.title).............
2b800 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 69 64 0a 20 ...................:id.full-id..
2b820 20 20 20 20 20 20 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 ..............................:f
2b840 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 20 20 20 20 eed-id.feed-id..................
2b860 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 63 6c 65 61 ..............:link.(elfeed-clea
2b880 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 20 20 20 20 nup.link).......................
2b8a0 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 20 20 20 20 .........:tags.tags.............
2b8c0 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 66 65 65 64 ...................:date.(elfeed
2b8e0 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 20 20 20 20 -new-date-for-entry.............
2b900 20 20 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 ..........................origin
2b920 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 20 20 20 20 al-date.date)...................
2b940 20 20 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 .............:enclosures.enclosu
2b960 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 20 20 20 20 20 20 20 res.............................
2b980 20 20 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 ...:content.description.........
2b9a0 20 20 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 .......................:content-
2b9c0 74 79 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 type.'html......................
2b9e0 20 20 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 ..........:meta.`(,@(when.author
2ba00 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...............................
2ba20 20 20 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 .............(list.:authors.auth
2ba40 6f 72 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 ors))...........................
2ba60 20 20 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 .............,@(when.categories.
2ba80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2baa0 20 20 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 ...........(list.:categories.cat
2bac0 65 67 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 egories))))))................(do
2bae0 6c 69 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 list.(hook.elfeed-new-entry-pars
2bb00 65 2d 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 e-hook)..................(funcal
2bb20 6c 20 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 l.hook.:rss.item.db-entry)).....
2bb40 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 75 6e 20 ...........db-entry))))..(defun.
2bb60 65 6c 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 elfeed-entries-from-rss1.0.(url.
2bb80 78 6d 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 xml)..."Turn.parsed.RSS.1.0.cont
2bba0 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 74 72 79 20 ent.into.a.list.of.elfeed-entry.
2bbc0 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 75 72 6c 29 structs."...(let*.((feed-id.url)
2bbe0 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 65 64 2d 75 72 6c ..........(namespace.(elfeed-url
2bc00 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 20 20 20 28 66 65 -to-namespace.url))..........(fe
2bc20 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 64 2d 69 64 29 29 ed.(elfeed-db-get-feed.feed-id))
2bc40 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 6c 65 61 6e 75 70 ..........(title.(elfeed-cleanup
2bc60 20 28 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 .(xml-query*.(RDF.channel.title.
2bc80 2a 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 *).xml)))..........(autotags.(el
2bca0 66 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 feed-feed-autotags.url))).....(s
2bcc0 65 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 etf.(elfeed-feed-url.feed).url..
2bce0 20 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 .........(elfeed-feed-title.feed
2bd00 29 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 ).title).....(cl-loop.for.item.i
2bd20 6e 20 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 n.(xml-query-all*.(RDF.item).xml
2bd40 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 65 74 2a 20 28 28 74 ).collect..............(let*.((t
2bd60 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 6c 65 20 2a 29 20 69 itle.(or.(xml-query*.(title.*).i
2bd80 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 20 20 20 20 20 28 6c tem)."")).....................(l
2bda0 69 6e 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 ink.(xml-query*.(link.*).item)).
2bdc0 20 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 ....................(date.(or.(x
2bde0 6d 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 ml-query*.(pubDate.*).item).....
2be00 20 20 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 ..........................(xml-q
2be20 75 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 uery*.(date.*).item)))..........
2be40 20 20 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 ...........(description.........
2be60 20 20 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 .............(apply.#'concat.(xm
2be80 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 65 l-query-all*.(description.*).ite
2bea0 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 69 64 20 28 6f 72 m))).....................(id.(or
2bec0 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 69 .link.(elfeed-generate-id.descri
2bee0 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 75 ption))).....................(fu
2bf00 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 6c ll-id.(cons.namespace.(elfeed-cl
2bf20 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 20 eanup.id))).....................
2bf40 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 66 (original.(elfeed-db-get-entry.f
2bf60 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 72 ull-id)).....................(or
2bf80 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 65 iginal-date.(and.original.(elfee
2bfa0 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 20 d-entry-date.original)))........
2bfc0 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 61 .............(tags.(elfeed-norma
2bfe0 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 61 lize-tags.autotags.elfeed-initia
2c000 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 64 62 l-tags)).....................(db
2c020 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 20 20 -entry.(elfeed-entry--create....
2c040 20 20 20 20 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 ............................:tit
2c060 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 20 20 le.(elfeed-cleanup.title).......
2c080 20 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 69 64 20 66 75 6c .........................:id.ful
2c0a0 6c 2d 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 l-id............................
2c0c0 20 20 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 ....:feed-id.feed-id............
2c0e0 20 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 ....................:link.(elfee
2c100 64 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 d-cleanup.link).................
2c120 20 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 ...............:tags.tags.......
2c140 20 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 .........................:date.(
2c160 65 6c 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 elfeed-new-date-for-entry.......
2c180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2c1a0 6f 72 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 original-date.date).............
2c1c0 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 20 64 65 73 63 ...................:content.desc
2c1e0 72 69 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 ription.........................
2c200 20 20 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 .......:content-type.'html)))...
2c220 20 20 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 .............(dolist.(hook.elfee
2c240 64 2d 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 d-new-entry-parse-hook).........
2c260 20 20 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 .........(funcall.hook.:rss1.0.i
2c280 74 65 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 tem.db-entry))................db
2c2a0 2d 65 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 -entry))))..(defun.elfeed-feed-l
2c2c0 69 73 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 ist.()..."Return.a.flat.list.ver
2c2e0 73 69 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 sion.of.`elfeed-feeds'..Only.a.l
2c300 69 73 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 ist.of.strings.will.be.returned.
2c320 22 0a 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 "...;;.Validate.elfeed-feeds.and
2c340 20 66 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 .fail.early.rather.than.asynchro
2c360 6e 6f 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 nously.later....(dolist.(feed.el
2c380 66 65 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 feed-feeds).....(unless.(cl-type
2c3a0 63 61 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 case.feed...............(list.(a
2c3c0 6e 64 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 nd.(stringp.(car.feed)).........
2c3e0 20 20 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 .................(cl-every.#'sym
2c400 62 6f 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 bolp.(cdr.feed))))..............
2c420 20 28 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 .(string.t)).......(error."elfee
2c440 64 2d 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 d-feeds.malformed,.bad.entry:.%S
2c460 22 20 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 ".feed)))...(cl-loop.for.feed.in
2c480 20 65 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 .elfeed-feeds............when.(l
2c4a0 69 73 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 istp.feed).collect.(car.feed)...
2c4c0 20 20 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 .........else.collect.feed))..(d
2c4e0 65 66 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 efun.elfeed-feed-autotags.(url-o
2c500 72 2d 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 r-feed)..."Return.tags.to.automa
2c520 74 69 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 tically.apply.to.all.entries.fro
2c540 6d 20 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 m.URL-OR-FEED."...(let.((url.(if
2c560 20 28 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 .(elfeed-feed-p.url-or-feed)....
2c580 20 20 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 ..............(or.(elfeed-feed-u
2c5a0 72 6c 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 rl.url-or-feed).................
2c5c0 20 20 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 .....(elfeed-feed-id.url-or-feed
2c5e0 29 29 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 ))................url-or-feed)))
2c600 0a 20 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 .....(mapcar.#'elfeed-keyword->s
2c620 79 6d 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 ymbol.(cdr.(assoc.url.elfeed-fee
2c640 64 73 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 ds)))))..(defun.elfeed-apply-aut
2c660 6f 74 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 otags-now.()..."Apply.autotags.t
2c680 6f 20 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 o.existing.entries.according.to.
2c6a0 60 65 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 `elfeed-feeds'."...(interactive)
2c6c0 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 28 65 6e 74 72 79 20 ...(with-elfeed-db-visit.(entry.
2c6e0 66 65 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 feed).....(apply.#'elfeed-tag.en
2c700 74 72 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 try.(elfeed-feed-autotags.feed))
2c720 29 29 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 ))..(defun.elfeed-handle-http-er
2c740 72 6f 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 ror.(url.status)..."Handle.an.ht
2c760 74 70 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 tp.error.during.retrieval.of.URL
2c780 20 77 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 .with.STATUS.code."...(cl-incf.(
2c7a0 65 6c 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 elfeed-meta.(elfeed-db-get-feed.
2c7c0 75 72 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 url).:failures.0))...(run-hook-w
2c7e0 69 74 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 ith-args.'elfeed-http-error-hook
2c800 73 20 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 s.url.status)...(elfeed-log.'err
2c820 6f 72 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 or."%s:.%S".url.status))..(defun
2c840 20 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 28 75 72 6c 20 .elfeed-handle-parse-error.(url.
2c860 65 72 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 error)..."Handle.parse.error.dur
2c880 69 6e 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 ing.parsing.of.URL.with.ERROR.me
2c8a0 73 73 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 ssage."...(cl-incf.(elfeed-meta.
2c8c0 28 65 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 (elfeed-db-get-feed.url).:failur
2c8e0 65 73 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 es.0))...(run-hook-with-args.'el
2c900 66 65 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 feed-parse-error-hooks.url.error
2c920 29 0a 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 )...(elfeed-log.'error."%s:.%s".
2c940 75 72 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 url.error))..(defun.elfeed-updat
2c960 65 2d 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 e-feed.(url)..."Update.a.specifi
2c980 63 20 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 c.feed."...(interactive.(list.(c
2c9a0 6f 6d 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 ompleting-read."Feed:.".(elfeed-
2c9c0 66 65 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 feed-list))))...(unless.elfeed--
2c9e0 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 0a 20 20 20 20 28 72 inhibit-update-init-hooks.....(r
2ca00 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 2d 68 6f 6f un-hooks.'elfeed-update-init-hoo
2ca20 6b 73 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 ks))...(elfeed-with-fetch.url...
2ca40 20 20 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 ..(if.(elfeed-is-status-error.st
2ca60 61 74 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 atus.use-curl).........(let.((pr
2ca80 69 6e 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 int-escape-newlines.t)).........
2caa0 20 20 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 ..(elfeed-handle-http-error.....
2cac0 20 20 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 .......url.(if.use-curl.elfeed-c
2cae0 75 72 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 url-error-message.status))).....
2cb00 20 20 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 ..(condition-case.error.........
2cb20 20 20 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 ..(let.((feed.(elfeed-db-get-fee
2cb40 64 20 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 d.url))).............(unless.use
2cb60 2d 63 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 -curl...............(elfeed-move
2cb80 2d 74 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 -to-first-empty-line)...........
2cba0 20 20 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 ....(set-buffer-multibyte.t))...
2cbc0 20 20 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 ..........(unless.(eql.elfeed-cu
2cbe0 72 6c 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 rl-status-code.304).............
2cc00 20 20 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 ..;;.Update.Last-Modified.and.Et
2cc20 61 67 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 ag...............(setf.(elfeed-m
2cc40 65 74 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 eta.feed.:last-modified)........
2cc60 20 20 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 .............(cdr.(assoc."last-m
2cc80 6f 64 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 odified".elfeed-curl-headers))..
2cca0 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 6d 65 74 61 20 ...................(elfeed-meta.
2ccc0 66 65 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 feed.:etag).....................
2cce0 28 63 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 (cdr.(assoc."etag".elfeed-curl-h
2cd00 65 61 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 eaders)))...............(if.(equ
2cd20 61 6c 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 al.url.elfeed-curl-location)....
2cd40 20 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
2cd60 61 20 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 a.feed.:canonical-url).nil).....
2cd80 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 66 ............(setf.(elfeed-meta.f
2cda0 65 65 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 eed.:canonical-url).elfeed-curl-
2cdc0 6c 6f 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 location))...............(let*.(
2cde0 28 78 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 (xml.(elfeed-xml-parse-region.(p
2ce00 6f 69 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 oint).(point-max))).............
2ce20 20 20 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 .........(entries.(cl-case.(elfe
2ce40 65 64 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 ed-feed-type.xml)...............
2ce60 20 20 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 ..................(:atom.(elfeed
2ce80 2d 65 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 -entries-from-atom.url.xml))....
2cea0 20 20 20 20 20 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 .............................(:r
2cec0 73 73 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 ss.(elfeed-entries-from-rss.url.
2cee0 78 6d 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 xml))...........................
2cf00 20 20 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 ......(:rss1.0.(elfeed-entries-f
2cf20 72 6f 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 rom-rss1.0.url.xml))............
2cf40 20 20 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 .....................(otherwise.
2cf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2cf80 20 28 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 .(error.(elfeed-handle-parse-err
2cfa0 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 or..............................
2cfc0 20 20 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 ............url."Unknown.feed.ty
2cfe0 70 65 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 pe.")))))).................(elfe
2d000 65 64 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 ed-db-add.entries)))).........(e
2d020 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 20 rror.(elfeed-handle-parse-error.
2d040 75 72 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 url.error)))).....(unless.use-cu
2d060 72 6c 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 rl.......(kill-buffer)).....(run
2d080 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 70 64 61 74 65 2d 68 -hook-with-args.'elfeed-update-h
2d0a0 6f 6f 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 ooks.url)))..(defun.elfeed-candi
2d0c0 64 61 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 date-feeds.()..."Return.a.list.o
2d0e0 66 20 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 f.possible.feeds.from.`elfeed-fe
2d100 65 64 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 ed-functions'."...(let.(res)....
2d120 20 28 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 .(run-hook-wrapped......'elfeed-
2d140 66 65 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 feed-functions......(lambda.(fun
2d160 29 0a 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 )........(let*.((val.(elfeed-cle
2d180 61 6e 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 anup.(funcall.fun))))..........(
2d1a0 77 68 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 when.(and.(not.(zerop.(length.va
2d1c0 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 l))).....................(elfeed
2d1e0 2d 6c 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 -looks-like-url-p.val)).........
2d200 20 20 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 ...(cl-pushnew.val.res.:test.#'e
2d220 71 75 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 qual)))........nil)).....(nrever
2d240 73 65 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 se.res)))..(cl-defun.elfeed-add-
2d260 66 65 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 feed.(url.&key.save)..."Manually
2d280 20 61 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 .add.a.feed.to.the.database..If.
2d2a0 53 41 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 SAVE.is.non-nil.the.new.value.of
2d2c0 20 e2 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 ....elfeed-feeds....is.saved...W
2d2e0 68 65 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 hen.called.interactively,.SAVE.i
2d300 73 20 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 s.set.to.t."...(interactive....(
2d320 6c 69 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 list.....(let*.((feeds.(elfeed-c
2d340 61 6e 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 andidate-feeds))............(pro
2d360 6d 70 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 mpt.(if.feeds.(concat."URL.(defa
2d380 75 6c 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 ult.".(car.feeds).."):.").......
2d3a0 20 20 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 ..............."URL:."))........
2d3c0 20 20 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 ....(input.(read-from-minibuffer
2d3e0 20 70 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 .prompt.nil.nil.nil.nil.feeds)).
2d400 20 20 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 ...........(result.(elfeed-clean
2d420 75 70 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 up.input))).......(cond.((not.(z
2d440 65 72 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 erop.(length.result))).result)..
2d460 20 20 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 ...........(feeds.(car.feeds))..
2d480 20 20 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 ...........((user-error."No.feed
2d4a0 20 74 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 .to.add")))).....:save.t))...(cl
2d4c0 2d 70 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 -pushnew.url.elfeed-feeds.:test.
2d4e0 23 27 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 #'equal)...(when.save.....(custo
2d500 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 64 73 mize-save-variable.'elfeed-feeds
2d520 20 65 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 .elfeed-feeds))...(elfeed-update
2d540 2d 66 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 -feed.url))..;;;###autoload.(def
2d560 75 6e 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 un.elfeed-update.()..."Update.al
2d580 6c 20 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 l.the.feeds.in.`elfeed-feeds'.".
2d5a0 20 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 6c 6f 67 20 27 69 ..(interactive)...(elfeed-log.'i
2d5c0 6e 66 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 nfo."Elfeed.update:.%s".........
2d5e0 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 42 20 25 65 ......(format-time-string."%B.%e
2d600 20 25 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 .%Y.%H:%M:%S.%Z"))...(let.((elfe
2d620 65 64 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 ed--inhibit-update-init-hooks.t)
2d640 29 0a 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 ).....(mapc.#'elfeed-update-feed
2d660 20 28 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 .(elfeed--shuffle.(elfeed-feed-l
2d680 69 73 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 ist))))...(run-hooks.'elfeed-upd
2d6a0 61 74 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 ate-init-hooks)...(elfeed-db-sav
2d6c0 65 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 e))..;;;###autoload.(defun.elfee
2d6e0 64 20 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 d.()..."Enter.elfeed."...(intera
2d700 63 74 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 ctive)...(switch-to-buffer.(elfe
2d720 65 64 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 ed-search-buffer))...(unless.(eq
2d740 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 68 2d 6d 6f 64 65 29 .major-mode.'elfeed-search-mode)
2d760 0a 20 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 .....(elfeed-search-mode)))..;;.
2d780 4e 65 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 New.entry.filtering..(cl-defun.e
2d7a0 6c 66 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 lfeed-make-tagger.....(&key.feed
2d7c0 2d 74 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 -title.feed-url.entry-title.entr
2d7e0 79 2d 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 y-link.after.before...........ad
2d800 64 20 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 d.remove.callback)..."Create.a.f
2d820 75 6e 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 unction.that.adds.or.removes.tag
2d840 73 20 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 s.on.matching.entries...FEED-TIT
2d860 4c 45 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 LE,.FEED-URL,.ENTRY-TITLE,.and.E
2d880 4e 54 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 NTRY-LINK.are.regular.expression
2d8a0 73 20 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 s.or.a.list.(not.<regex>),.which
2d8c0 20 69 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 .indicates.a.negative.match..AFT
2d8e0 45 52 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 ER.and.BEFORE.are.relative.times
2d900 20 28 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 .(see.`elfeed-time-duration')..E
2d920 6e 74 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 ntries.must.match.all.provided.e
2d940 78 70 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 xpressions..If.an.entry.matches,
2d960 20 61 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 .add.tags.ADD.and.remove.tags.RE
2d980 4d 4f 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 MOVE...Examples,....(elfeed-make
2d9a0 2d 74 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 -tagger.:feed-url.\"youtube\\\\.
2d9c0 63 6f 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 com\".......................:add
2d9e0 20 5c 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 .\\='(video.youtube))....(elfeed
2da00 2d 6d 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 -make-tagger.:before.\"1.week.ag
2da20 6f 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 72 65 6d 6f 76 o\".......................:remov
2da40 65 20 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 e.\\='unread)....(elfeed-make-ta
2da60 67 67 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 gger.:feed-url.\"example\\\\.com
2da80 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 65 6e 74 72 79 2d \".......................:entry-
2daa0 74 69 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 title.\\='(not.\"something.inter
2dac0 65 73 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 esting\").......................
2dae0 3a 61 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 :add.\\='junk)..The.returned.fun
2db00 63 74 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 ction.should.be.added.to.`elfeed
2db20 2d 6e 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 -new-entry-hook'."...(let.((afte
2db40 72 2d 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 r-time..(and.after..(elfeed-time
2db60 2d 64 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 -duration.after))).........(befo
2db80 72 65 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 re-time.(and.before.(elfeed-time
2dba0 2d 64 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 -duration.before)))).....(when.(
2dbc0 61 6e 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 and.add.(symbolp.add)).(setf.add
2dbe0 20 28 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 .(list.add))).....(when.(and.rem
2dc00 6f 76 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 ove.(symbolp.remove)).(setf.remo
2dc20 76 65 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 ve.(list.remove))).....(lambda.(
2dc40 65 6e 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 entry).......(let.((feed.(elfeed
2dc60 2d 65 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 -entry-feed.entry)).............
2dc80 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 79 29 29 (date.(elfeed-entry-date.entry))
2dca0 0a 20 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 .............(case-fold-search.t
2dcc0 29 29 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 )).........(cl-flet.((match.(r.s
2dce0 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 6f 72 20 28 )..........................(or.(
2dd00 6e 75 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 null.r).........................
2dd20 20 20 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 .....(if.(listp.r)..............
2dd40 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 73 74 72 69 6e 67 ....................(not.(string
2dd60 2d 6d 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 -match-p.(cl-second.r).s))......
2dd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e ..........................(strin
2dda0 67 2d 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 g-match-p.r.s)))))...........(wh
2ddc0 65 6e 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 en.(and..................(match.
2dde0 66 65 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 feed-title..(elfeed-feed-title..
2de00 66 65 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 feed))..................(match.f
2de20 65 65 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 eed-url....(elfeed-feed-url....f
2de40 65 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 65 6e eed))..................(match.en
2de60 74 72 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 try-title.(elfeed-entry-title.en
2de80 74 72 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 try))..................(match.en
2dea0 74 72 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 try-link..(elfeed-entry-link..en
2dec0 74 72 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 try))..................(or.(not.
2dee0 61 66 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 after-time)..(>.date.(-.(float-t
2df00 69 6d 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 ime).after-time)))..............
2df20 20 20 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 ....(or.(not.before-time).(<.dat
2df40 65 20 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 e.(-.(float-time).before-time)))
2df60 29 0a 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 ).............(when.add.........
2df80 20 20 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 ......(apply.#'elfeed-tag.entry.
2dfa0 61 64 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 add)).............(when.remove..
2dfc0 20 20 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 .............(apply.#'elfeed-unt
2dfe0 61 67 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 ag.entry.remove)).............(w
2e000 68 65 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 hen.callback...............(func
2e020 61 6c 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 all.callback.entry))............
2e040 20 65 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 .entry))))))..;;.OPML..(defun.el
2e060 66 65 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 feed--parse-opml.(xml)..."Parse.
2e080 58 4d 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 XML.(from.`xml-parse-region').in
2e0a0 74 6f 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 to.`elfeed-feeds'.list."...(cl-l
2e0c0 6f 6f 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 oop.for.(tag.attr...content).in.
2e0e0 28 63 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 (cl-remove-if-not.#'listp.xml)..
2e100 20 20 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 ..........count.tag.into.work-ar
2e120 6f 75 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 ound-bug..;.bug#15326...........
2e140 20 77 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 .when.(assoc.'xmlUrl.attr).colle
2e160 63 74 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 ct.(cdr.it)............else.appe
2e180 6e 64 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 nd.(elfeed--parse-opml.content))
2e1a0 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 2d )..;;;###autoload.(defun.elfeed-
2e1c0 6c 6f 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 load-opml.(file)..."Load.feeds.f
2e1e0 72 6f 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 rom.an.OPML.file.into.`elfeed-fe
2e200 65 64 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 eds'..When.called.interactively,
2e220 20 74 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 .the.changes.to.`elfeed-feeds'.a
2e240 72 65 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 re.saved.to.your.customization.f
2e260 69 6c 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 ile."...(interactive."fOPML.file
2e280 3a 20 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 :.")...(let*.((xml.(xml-parse-fi
2e2a0 6c 65 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 le.file))..........(feeds.(elfee
2e2c0 64 2d 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 d--parse-opml.xml))..........(fu
2e2e0 6c 6c 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 ll.(append.feeds.elfeed-feeds)))
2e300 0a 20 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 .....(prog1.(setf.elfeed-feeds.(
2e320 63 6c 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 cl-delete-duplicates.full.:test.
2e340 23 27 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 #'string=)).......(when.(called-
2e360 69 6e 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 interactively-p.'any).........(c
2e380 75 73 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 ustomize-save-variable.'elfeed-f
2e3a0 65 65 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 eeds.elfeed-feeds).........(elfe
2e3c0 65 64 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 ed-log.'notice."%d.feeds.loaded.
2e3e0 66 72 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 from.%s".(length.feeds).file))))
2e400 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 2d )..;;;###autoload.(defun.elfeed-
2e420 65 78 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 export-opml.(file)..."Export.the
2e440 20 63 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 .current.feed.listing.to.OPML-fo
2e460 72 6d 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 rmatted.FILE."...(interactive."F
2e480 4f 75 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 Output.OPML.file:.")...(with-tem
2e4a0 70 2d 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 p-file.file.....(let.((standard-
2e4c0 6f 75 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 output.(current-buffer))).......
2e4e0 28 70 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 (princ."<?xml.version=\"1.0\"?>\
2e500 6e 22 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 n").......(xml-print........`((o
2e520 70 6d 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 pml.((version..."1.0")).........
2e540 20 20 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 .......(head.().(title.()."Elfee
2e560 64 20 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 d.Export"))................(body
2e580 20 28 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 .()......................,@(cl-l
2e5a0 6f 6f 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 oop.for.url.in.(elfeed-feed-list
2e5c0 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 )...............................
2e5e0 20 20 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 ..for.feed.=.(elfeed-db-get-feed
2e600 20 75 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 .url)...........................
2e620 20 20 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 ......for.title.=.(or.(elfeed-fe
2e640 65 64 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 ed-title.feed)."")..............
2e660 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 6f 75 74 ...................collect.`(out
2e680 6c 69 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 line.((xmlUrl...,url)...........
2e6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2e6c0 20 20 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 .........(title...,title))))))))
2e6e0 29 29 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 )))..(provide.'elfeed)..(cl-eval
2e700 2d 77 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 -when.(load.eval)...;;.run-time.
2e720 6f 6e 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 only,.so.don't.load.when.compili
2e740 6e 67 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 ng.other.files...(unless.byte-co
2e760 6d 70 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 mpile-root-dir.....(require.'elf
2e780 65 65 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 eed-csv).....(require.'elfeed-sh
2e7a0 6f 77 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 ow).....(require.'elfeed-search)
2e7c0 29 29 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 ))..;;;.elfeed.el.ends.here.....
2e7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e800 65 6c 66 65 65 64 2d 32 30 32 34 31 32 30 32 2e 32 32 2f 78 6d 6c 2d 71 75 65 72 79 2e 65 6c 00 elfeed-20241202.22/xml-query.el.
2e820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e860 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
2e880 30 30 32 30 31 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 33 33 33 00 20 30 00 00 00 0020100.00000000000.014333..0...
2e8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e900 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...................
2e920 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...................
2e940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ea00 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
2ea20 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.
2ea40 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
2ea60 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
2ea80 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:..;;
2eaa0 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
2eac0 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.;;.
2eae0 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
2eb00 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
2eb20 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
2eb40 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.
2eb60 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...;
2eb80 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
2eba0 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
2ebc0 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*',
2ebe0 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
2ec00 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
2ec20 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
2ec40 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
2ec60 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
2ec80 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
2eca0 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
2ecc0 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
2ece0 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.
2ed00 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.'
2ed20 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
2ed40 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
2ed60 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
2ed80 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
2eda0 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
2edc0 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.
2ede0 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
2ee00 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
2ee20 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."^.
2ee40 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))))..(
2ee60 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.
2ee80 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
2eea0 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
2eec0 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
2eee0 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-
2ef00 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))...........
2ef20 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
2ef40 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--
2ef60 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)...
2ef80 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
2efa0 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
2efc0 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
2efe0 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
2f000 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.(
2f020 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
2f040 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
2f060 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
2f080 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
2f0a0 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
2f0c0 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
2f0e0 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.
2f100 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)).....
2f120 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-
2f140 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
2f160 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)).
2f180 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
2f1a0 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
2f1c0 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
2f1e0 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
2f200 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
2f220 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
2f240 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
2f260 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
2f280 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).......
2f2a0 20 20 20 20 20 20 20 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
2f2c0 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..........................
2f2e0 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)))
2f300 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)
2f320 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
2f340 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
2f360 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
2f380 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
2f3a0 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
2f3c0 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
2f3e0 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
2f400 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
2f420 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
2f440 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
2f460 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
2f480 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
2f4a0 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
2f4c0 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
2f4e0 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
2f500 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:.
2f520 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
2f540 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
2f560 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.
2f580 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
2f5a0 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
2f5c0 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
2f5e0 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
2f600 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
2f620 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
2f640 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\"
2f660 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
2f680 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
2f6a0 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...
2f6c0 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
2f6e0 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
2f700 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.'*)..
2f720 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
2f740 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
2f760 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
2f780 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-
2f7a0 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...............
2f7c0 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
2f7e0 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
2f800 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.
2f820 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...(
2f840 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)))
2f860 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............((
2f880 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)............(
2f8a0 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))...
2f8c0 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
2f8e0 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
2f900 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))).............
2f920 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))))..
2f940 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
2f960 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
2f980 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
2f9a0 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
2f9c0 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
2f9e0 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
2fa00 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
2fa20 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))).
2fa40 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
2fa60 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
2fa80 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)))))..;;.
2faa0 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.
2fac0 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
2fae0 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
2fb00 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.
2fb20 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
2fb40 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
2fb60 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
2fb80 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
2fba0 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.
2fbc0 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
2fbe0 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
2fc00 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
2fc20 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
2fc40 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
2fc60 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
2fc80 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
2fca0 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
2fcc0 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
2fce0 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.;;.
2fd00 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.
2fd20 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
2fd40 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.
2fd60 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
2fd80 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
2fda0 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.
2fdc0 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.
2fde0 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
2fe00 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
2fe20 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
2fe40 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
2fe60 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
2fe80 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
2fea0 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
2fec0 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.(
2fee0 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
2ff00 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-
2ff20 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
2ff40 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
2ff60 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
2ff80 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.,(
2ffa0 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
2ffc0 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
2ffe0 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)...
30000 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
30020 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
30040 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.(
30060 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).
30080 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.'
300a0 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
300c0 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
300e0 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
30100 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
30120 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))......
30140 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
30160 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)...
30180 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)).
301a0 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.
301c0 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
301e0 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.
30200 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
30220 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
30240 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)).............
30260 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
30280 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))...........................
302a0 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
302c0 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).....
302e0 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
30300 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)))..........(
30320 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
30340 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
30360 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))).........
30380 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
303a0 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
303c0 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)))..
303e0 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)......
30400 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
30420 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
30440 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
30460 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
30480 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
304a0 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
304c0 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
304e0 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
30500 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.......
30520 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.
30540 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
30560 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)...
30580 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
305a0 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
305c0 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
305e0 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
30600 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
30620 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*
30640 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.
30660 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
30680 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
306a0 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.
306c0 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"))
306e0 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.()))......
30700 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
30720 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)).......
30740 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
30760 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)...
30780 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
307a0 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
307c0 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
307e0 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.
30800 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
30820 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
30840 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
30860 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
30880 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
308a0 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
308c0 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
308e0 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
30900 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
30920 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
30940 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
30960 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
30980 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.
309a0 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
309c0 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
309e0 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
30a00 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
30a20 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.
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 ................................