summaryrefslogtreecommitdiff
path: root/localrepo/elfeed-20240331.1348.tar
blob: b369e753945243af32a1664e87c6d52557470de5 (plain)
ofshex dumpascii
0000 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 00 00 00 00 00 00 00 00 00 00 00 elfeed-20240331.1348/...........
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0080 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 32 33 33 00 20 35 00 00 00 0000000.00000000000.012233..5...
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 52 45 41 44 4d 45 2e 6d 64 00 00 elfeed-20240331.1348/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 30 30 37 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 35 32 31 00 20 30 00 00 00 0040076.00000000000.013521..0...
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 4d 65 74 61 64 61 74 61 20 50 6c 69 73 74 0a 0a 41 6c 6c 20 66 65 65 64 20 ml..##.Metadata.Plist..All.feed.
2fe0 61 6e 64 20 65 6e 74 72 79 20 6f 62 6a 65 63 74 73 20 68 61 76 65 20 70 6c 69 73 74 20 77 68 65 and.entry.objects.have.plist.whe
3000 72 65 20 79 6f 75 20 63 61 6e 20 73 74 6f 72 65 20 79 6f 75 72 20 6f 77 6e 0a 61 72 62 69 74 72 re.you.can.store.your.own.arbitr
3020 61 72 79 2c 20 5b 72 65 61 64 61 62 6c 65 20 76 61 6c 75 65 73 5d 5b 72 64 5d 2e 20 54 68 65 73 ary,.[readable.values][rd]..Thes
3040 65 20 76 61 6c 75 65 73 20 61 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 70 65 72 73 69 e.values.are.automatically.persi
3060 73 74 65 64 20 69 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 20 54 68 69 73 20 6d 65 74 61 64 sted.in.the.database..This.metad
3080 61 74 61 20 69 73 20 61 63 63 65 73 73 65 64 20 75 73 69 6e 67 20 74 68 65 0a 70 6f 6c 79 6d 6f ata.is.accessed.using.the.polymo
30a0 72 70 68 69 63 20 60 65 6c 66 65 65 64 2d 6d 65 74 61 60 20 66 75 6e 63 74 69 6f 6e 2e 20 49 74 rphic.`elfeed-meta`.function..It
30c0 27 73 20 73 65 74 66 2d 61 62 6c 65 2e 0a 0a 7e 7e 7e 65 6c 0a 28 73 65 74 66 20 28 65 6c 66 65 's.setf-able...~~~el.(setf.(elfe
30e0 65 64 2d 6d 65 74 61 20 65 6e 74 72 79 20 3a 72 61 74 69 6e 67 29 20 34 29 0a 28 65 6c 66 65 65 ed-meta.entry.:rating).4).(elfee
3100 64 2d 6d 65 74 61 20 65 6e 74 72 79 20 3a 72 61 74 69 6e 67 29 0a 3b 3b 20 3d 3e 20 34 0a 0a 28 d-meta.entry.:rating).;;.=>.4..(
3120 73 65 74 66 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 20 66 65 65 64 20 3a 74 69 74 6c 65 29 20 22 setf.(elfeed-meta.feed.:title)."
3140 4d 79 20 42 65 74 74 65 72 20 54 69 74 6c 65 22 29 0a 7e 7e 7e 0a 0a 45 6c 66 65 65 64 20 69 74 My.Better.Title").~~~..Elfeed.it
3160 73 65 6c 66 20 61 64 64 73 20 73 6f 6d 65 20 65 6e 74 72 69 65 73 20 74 6f 20 74 68 69 73 20 70 self.adds.some.entries.to.this.p
3180 6c 69 73 74 2c 20 73 6f 6d 65 20 66 6f 72 20 79 6f 75 72 20 75 73 65 2c 20 73 6f 6d 65 0a 66 6f list,.some.for.your.use,.some.fo
31a0 72 20 69 74 73 20 6f 77 6e 20 75 73 65 2e 20 48 65 72 65 20 61 72 65 20 74 68 65 20 70 72 6f 70 r.its.own.use..Here.are.the.prop
31c0 65 72 74 69 65 73 20 74 68 61 74 20 45 6c 66 65 65 64 20 75 73 65 73 3a 0a 0a 2a 20 60 3a 61 75 erties.that.Elfeed.uses:..*.`:au
31e0 74 68 6f 72 73 60 20 3a 20 41 20 6c 69 73 74 20 6f 66 20 61 75 74 68 6f 72 20 70 6c 69 73 74 73 thors`.:.A.list.of.author.plists
3200 20 28 60 3a 6e 61 6d 65 60 2c 20 60 3a 75 72 69 60 2c 20 60 3a 65 6d 61 69 6c 60 29 2e 0a 2a 20 .(`:name`,.`:uri`,.`:email`)..*.
3220 60 3a 63 61 6e 6f 6e 69 63 61 6c 2d 75 72 6c 60 20 3a 20 54 68 65 20 66 69 6e 61 6c 20 55 52 4c `:canonical-url`.:.The.final.URL
3240 20 66 6f 72 20 74 68 65 20 66 65 65 64 20 61 66 74 65 72 20 61 6c 6c 20 72 65 64 69 72 65 63 74 .for.the.feed.after.all.redirect
3260 73 2e 0a 2a 20 60 3a 63 61 74 65 67 6f 72 69 65 73 60 20 3a 20 54 68 65 20 66 65 65 64 2d 73 75 s..*.`:categories`.:.The.feed-su
3280 70 70 6c 69 65 64 20 63 61 74 65 67 6f 72 69 65 73 20 66 6f 72 20 74 68 69 73 20 65 6e 74 72 79 pplied.categories.for.this.entry
32a0 2e 0a 2a 20 60 3a 65 74 61 67 60 20 3a 20 48 54 54 50 20 45 74 61 67 20 68 65 61 64 65 72 2c 20 ..*.`:etag`.:.HTTP.Etag.header,.
32c0 66 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 47 45 54 73 2e 0a 2a 20 60 3a 66 61 69 6c 75 72 for.conditional.GETs..*.`:failur
32e0 65 73 60 20 3a 20 4e 75 6d 62 65 72 20 6f 66 20 74 69 6d 65 73 20 74 68 69 73 20 66 65 65 64 20 es`.:.Number.of.times.this.feed.
3300 68 61 73 20 66 61 69 6c 65 64 20 74 6f 20 75 70 64 61 74 65 2e 0a 2a 20 60 3a 6c 61 73 74 2d 6d has.failed.to.update..*.`:last-m
3320 6f 64 69 66 69 65 64 60 20 3a 20 48 54 54 50 20 4c 61 73 74 2d 4d 6f 64 69 66 69 65 64 20 68 65 odified`.:.HTTP.Last-Modified.he
3340 61 64 65 72 2c 20 66 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 47 45 54 73 2e 0a 2a 20 60 3a ader,.for.conditional.GETs..*.`:
3360 74 69 74 6c 65 60 20 3a 20 4f 76 65 72 72 69 64 65 73 20 74 68 65 20 66 65 65 64 2d 73 75 70 70 title`.:.Overrides.the.feed-supp
3380 6c 69 65 64 20 74 69 74 6c 65 20 66 6f 72 20 64 69 73 70 6c 61 79 20 70 75 72 70 6f 73 65 73 2c lied.title.for.display.purposes,
33a0 0a 20 20 62 6f 74 68 20 66 6f 72 20 66 65 65 64 73 20 61 6e 64 20 65 6e 74 72 69 65 73 2e 20 53 ...both.for.feeds.and.entries..S
33c0 65 65 20 61 6c 73 6f 20 60 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 73 65 74 2d 66 65 65 64 2d ee.also.`elfeed-search-set-feed-
33e0 74 69 74 6c 65 60 0a 20 20 61 6e 64 20 60 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 73 65 74 2d title`...and.`elfeed-search-set-
3400 65 6e 74 72 79 2d 74 69 74 6c 65 60 2e 0a 0a 54 68 69 73 20 6c 69 73 74 20 77 69 6c 6c 20 67 72 entry-title`...This.list.will.gr
3420 6f 77 20 69 6e 20 74 69 6d 65 2c 20 73 6f 20 79 6f 75 20 6d 69 67 68 74 20 63 6f 6e 73 69 64 65 ow.in.time,.so.you.might.conside
3440 72 20 6e 61 6d 65 73 70 61 63 69 6e 67 20 79 6f 75 72 0a 6f 77 6e 20 70 72 6f 70 65 72 74 69 65 r.namespacing.your.own.propertie
3460 73 20 74 6f 20 61 76 6f 69 64 20 63 6f 6c 6c 69 73 69 6f 6e 73 20 28 65 2e 67 2e 20 60 3a 78 79 s.to.avoid.collisions.(e.g..`:xy
3480 7a 2f 72 61 74 69 6e 67 60 29 2c 20 6f 72 20 73 69 6d 70 6c 79 20 6e 6f 74 0a 75 73 69 6e 67 20 z/rating`),.or.simply.not.using.
34a0 6b 65 79 77 6f 72 64 73 20 61 73 20 6b 65 79 73 2e 20 45 6c 66 65 65 64 20 77 69 6c 6c 20 61 6c keywords.as.keys..Elfeed.will.al
34c0 77 61 79 73 20 75 73 65 20 6b 65 79 77 6f 72 64 73 20 77 69 74 68 6f 75 74 20 61 0a 73 6c 61 73 ways.use.keywords.without.a.slas
34e0 68 2e 0a 0a 5b 72 64 5d 3a 20 68 74 74 70 3a 2f 2f 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d h...[rd]:.http://nullprogram.com
3500 2f 62 6c 6f 67 2f 32 30 31 33 2f 31 32 2f 33 30 2f 0a 0a 23 23 20 48 6f 6f 6b 73 0a 0a 41 20 6e /blog/2013/12/30/..##.Hooks..A.n
3520 75 6d 62 65 72 20 6f 66 20 68 6f 6f 6b 73 20 61 72 65 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 umber.of.hooks.are.available.to.
3540 63 75 73 74 6f 6d 69 7a 65 20 74 68 65 20 62 65 68 61 76 69 6f 72 20 6f 66 20 45 6c 66 65 65 64 customize.the.behavior.of.Elfeed
3560 20 61 74 0a 6b 65 79 20 70 6f 69 6e 74 73 20 77 69 74 68 6f 75 74 20 72 65 73 6f 72 74 69 6e 67 .at.key.points.without.resorting
3580 20 74 6f 20 61 64 76 69 63 65 2e 0a 0a 2a 20 60 65 6c 66 65 65 64 2d 6e 65 77 2d 65 6e 74 72 79 .to.advice...*.`elfeed-new-entry
35a0 2d 68 6f 6f 6b 60 20 3a 20 43 61 6c 6c 65 64 20 65 61 63 68 20 74 69 6d 65 20 61 20 6e 65 77 20 -hook`.:.Called.each.time.a.new.
35c0 65 6e 74 72 79 20 69 74 20 61 64 64 65 64 20 74 6f 0a 20 20 74 68 65 20 64 61 74 61 62 61 73 65 entry.it.added.to...the.database
35e0 2c 20 61 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 61 75 74 6f 6d 61 74 69 6e 67 20 74 61 67 67 69 6e ,.allowing.for.automating.taggin
3600 67 20 61 6e 64 20 73 75 63 68 2e 0a 2a 20 60 65 6c 66 65 65 64 2d 6e 65 77 2d 65 6e 74 72 79 2d g.and.such..*.`elfeed-new-entry-
3620 70 61 72 73 65 2d 68 6f 6f 6b 60 20 3a 20 43 61 6c 6c 65 64 20 77 69 74 68 20 65 61 63 68 20 6e parse-hook`.:.Called.with.each.n
3640 65 77 20 65 6e 74 72 79 20 61 6e 64 20 74 68 65 0a 20 20 66 75 6c 6c 20 58 4d 4c 20 73 74 72 75 ew.entry.and.the...full.XML.stru
3660 63 74 75 72 65 20 66 72 6f 6d 20 77 68 69 63 68 20 69 74 20 77 61 73 20 70 61 72 73 65 64 2c 20 cture.from.which.it.was.parsed,.
3680 61 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 61 64 64 69 74 69 6f 6e 61 6c 0a 20 20 69 6e 66 6f 72 6d allowing.for.additional...inform
36a0 61 74 69 6f 6e 20 74 6f 20 62 65 20 64 72 61 77 6e 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 ation.to.be.drawn.from.the.origi
36c0 6e 61 6c 20 66 65 65 64 20 58 4d 4c 2e 0a 2a 20 60 65 6c 66 65 65 64 2d 68 74 74 70 2d 65 72 72 nal.feed.XML..*.`elfeed-http-err
36e0 6f 72 2d 68 6f 6f 6b 73 60 20 3a 20 41 6c 6c 6f 77 73 20 66 6f 72 20 73 70 65 63 69 61 6c 20 62 or-hooks`.:.Allows.for.special.b
3700 65 68 61 76 69 6f 72 20 77 68 65 6e 20 48 54 54 50 0a 20 20 65 72 72 6f 72 73 20 6f 63 63 75 72 ehavior.when.HTTP...errors.occur
3720 2c 20 62 65 79 6f 6e 64 20 73 69 6d 70 6c 79 20 6c 6f 67 67 69 6e 67 20 74 68 65 20 65 72 72 6f ,.beyond.simply.logging.the.erro
3740 72 20 74 6f 20 60 2a 65 6c 66 65 65 64 2d 6c 6f 67 2a 60 20 2e 0a 2a 20 60 65 6c 66 65 65 64 2d r.to.`*elfeed-log*`...*.`elfeed-
3760 70 61 72 73 65 2d 65 72 72 6f 72 2d 68 6f 6f 6b 73 60 20 3a 20 41 6c 6c 6f 77 73 20 66 6f 72 20 parse-error-hooks`.:.Allows.for.
3780 73 70 65 63 69 61 6c 20 62 65 68 61 76 69 6f 72 20 77 68 65 6e 20 66 65 65 64 0a 20 20 70 61 72 special.behavior.when.feed...par
37a0 73 69 6e 67 20 66 61 69 6c 73 2c 20 62 65 79 6f 6e 64 20 6c 6f 67 67 69 6e 67 2e 0a 2a 20 60 65 sing.fails,.beyond.logging..*.`e
37c0 6c 66 65 65 64 2d 64 62 2d 75 70 64 61 74 65 2d 68 6f 6f 6b 60 20 3a 20 43 61 6c 6c 65 64 20 61 lfeed-db-update-hook`.:.Called.a
37e0 6e 79 20 74 69 6d 65 20 74 68 65 20 64 61 74 61 62 61 73 65 20 68 61 73 20 68 61 64 20 61 0a 20 ny.time.the.database.has.had.a..
3800 20 6d 61 6a 6f 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2e 0a 0a 23 23 20 56 69 65 77 69 6e 67 .major.modification...##.Viewing
3820 20 45 6e 74 72 69 65 73 0a 0a 45 6e 74 72 69 65 73 20 61 72 65 20 76 69 65 77 65 64 20 6c 6f 63 .Entries..Entries.are.viewed.loc
3840 61 6c 6c 79 20 69 6e 20 45 6d 61 63 73 20 62 79 20 74 79 70 69 6e 67 20 60 52 45 54 60 20 77 68 ally.in.Emacs.by.typing.`RET`.wh
3860 69 6c 65 20 6f 76 65 72 20 61 6e 0a 65 6e 74 72 79 20 69 6e 20 74 68 65 20 73 65 61 72 63 68 20 ile.over.an.entry.in.the.search.
3880 6c 69 73 74 69 6e 67 2e 20 54 68 65 20 63 6f 6e 74 65 6e 74 20 77 69 6c 6c 20 62 65 20 64 69 73 listing..The.content.will.be.dis
38a0 70 6c 61 79 65 64 20 69 6e 20 61 0a 73 65 70 61 72 61 74 65 20 62 75 66 66 65 72 20 75 73 69 6e played.in.a.separate.buffer.usin
38c0 67 20 60 65 6c 66 65 65 64 2d 73 68 6f 77 2d 6d 6f 64 65 60 2c 20 72 65 6e 64 65 72 65 64 20 75 g.`elfeed-show-mode`,.rendered.u
38e0 73 69 6e 67 20 45 6d 61 63 73 27 0a 62 75 69 6c 74 2d 69 6e 20 73 68 72 20 70 61 63 6b 61 67 65 sing.Emacs'.built-in.shr.package
3900 2e 20 54 68 69 73 20 72 65 71 75 69 72 65 73 20 61 6e 20 45 6d 61 63 73 20 63 6f 6d 70 69 6c 65 ..This.requires.an.Emacs.compile
3920 64 20 77 69 74 68 20 60 6c 69 62 78 6d 6c 32 60 0a 62 69 6e 64 69 6e 67 73 2c 20 77 68 69 63 68 d.with.`libxml2`.bindings,.which
3940 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 48 54 4d 4c 20 70 61 72 .provides.the.necessary.HTML.par
3960 73 65 72 2e 0a 0a 53 6f 6d 65 74 69 6d 65 73 20 64 69 73 70 6c 61 79 69 6e 67 20 69 6d 61 67 65 ser...Sometimes.displaying.image
3980 73 20 63 61 6e 20 73 6c 6f 77 20 64 6f 77 6e 20 6f 72 20 65 76 65 6e 20 63 72 61 73 68 20 45 6d s.can.slow.down.or.even.crash.Em
39a0 61 63 73 2e 20 53 65 74 0a 60 73 68 72 2d 69 6e 68 69 62 69 74 2d 69 6d 61 67 65 73 60 20 74 6f acs..Set.`shr-inhibit-images`.to
39c0 20 64 69 73 61 62 6c 65 20 69 6d 61 67 65 73 20 69 66 20 74 68 69 73 20 69 73 20 61 20 70 72 6f .disable.images.if.this.is.a.pro
39e0 62 6c 65 6d 2e 0a 0a 23 23 20 57 65 62 20 49 6e 74 65 72 66 61 63 65 0a 0a 45 6c 66 65 65 64 20 blem...##.Web.Interface..Elfeed.
3a00 69 6e 63 6c 75 64 65 73 20 61 20 64 65 6d 6f 6e 73 74 72 61 74 69 6f 6e 2f 74 6f 79 20 77 65 62 includes.a.demonstration/toy.web
3a20 20 69 6e 74 65 72 66 61 63 65 20 66 6f 72 20 72 65 6d 6f 74 65 20 6e 65 74 77 6f 72 6b 0a 61 63 .interface.for.remote.network.ac
3a40 63 65 73 73 2e 20 49 74 27 73 20 61 20 73 69 6e 67 6c 65 2d 70 61 67 65 20 77 65 62 20 61 70 70 cess..It's.a.single-page.web.app
3a60 6c 69 63 61 74 69 6f 6e 20 74 68 61 74 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 64 61 74 61 62 61 lication.that.follows.the.databa
3a80 73 65 0a 6c 69 76 65 20 61 73 20 6e 65 77 20 65 6e 74 72 69 65 73 20 61 72 72 69 76 65 2e 20 49 se.live.as.new.entries.arrive..I
3aa0 74 27 73 20 70 61 63 6b 61 67 65 64 20 73 65 70 61 72 61 74 65 6c 79 20 61 73 20 60 65 6c 66 65 t's.packaged.separately.as.`elfe
3ac0 65 64 2d 77 65 62 60 2e 0a 54 6f 20 66 69 72 65 20 69 74 20 75 70 2c 20 72 75 6e 20 60 4d 2d 78 ed-web`..To.fire.it.up,.run.`M-x
3ae0 20 65 6c 66 65 65 64 2d 77 65 62 2d 73 74 61 72 74 60 20 61 6e 64 20 76 69 73 69 74 0a 68 74 74 .elfeed-web-start`.and.visit.htt
3b00 70 3a 2f 2f 6c 6f 63 61 6c 68 6f 73 74 3a 38 30 38 30 2f 65 6c 66 65 65 64 2f 20 28 63 68 65 63 p://localhost:8080/elfeed/.(chec
3b20 6b 20 79 6f 75 72 20 60 68 74 74 70 64 2d 70 6f 72 74 60 29 20 77 69 74 68 20 61 0a 62 72 6f 77 k.your.`httpd-port`).with.a.brow
3b40 73 65 72 2e 20 53 65 65 20 74 68 65 20 60 65 6c 66 65 65 64 2d 77 65 62 2e 65 6c 60 20 68 65 61 ser..See.the.`elfeed-web.el`.hea
3b60 64 65 72 20 66 6f 72 20 65 6e 64 70 6f 69 6e 74 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 der.for.endpoint.documentation.i
3b80 66 0a 79 6f 75 27 64 20 6c 69 6b 65 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 45 6c 66 65 65 f.you'd.like.to.access.the.Elfee
3ba0 64 20 64 61 74 61 62 61 73 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 65 62 20 41 50 49 2e 0a d.database.through.the.web.API..
3bc0 0a 49 74 27 73 20 72 6f 75 67 68 20 61 6e 64 20 75 6e 66 69 6e 69 73 68 65 64 20 2d 2d 20 6e 6f .It's.rough.and.unfinished.--.no
3be0 20 6b 65 79 62 6f 61 72 64 20 73 68 6f 72 74 63 75 74 73 2c 20 72 65 61 64 2d 6f 6e 6c 79 2c 20 .keyboard.shortcuts,.read-only,.
3c00 6e 6f 0a 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 2c 20 61 6e 64 20 61 20 6e 61 72 72 6f 77 20 no.authentication,.and.a.narrow.
3c20 65 6e 74 72 79 20 76 69 65 77 65 72 2e 20 54 68 69 73 20 69 73 20 62 61 73 69 63 61 6c 6c 79 20 entry.viewer..This.is.basically.
3c40 45 6c 66 65 65 64 27 73 0a 22 6d 6f 62 69 6c 65 22 20 69 6e 74 65 72 66 61 63 65 2e 20 50 61 74 Elfeed's."mobile".interface..Pat
3c60 63 68 65 73 20 77 65 6c 63 6f 6d 65 2e 0a 0a 23 23 20 50 6c 61 74 66 6f 72 6d 20 53 75 70 70 6f ches.welcome...##.Platform.Suppo
3c80 72 74 0a 0a 53 75 6d 6d 61 72 79 3a 20 49 6e 73 74 61 6c 6c 20 63 55 52 4c 20 61 6e 64 20 6d 6f rt..Summary:.Install.cURL.and.mo
3ca0 73 74 20 70 72 6f 62 6c 65 6d 73 20 64 69 73 61 70 70 65 61 72 20 66 6f 72 20 61 6c 6c 20 70 6c st.problems.disappear.for.all.pl
3cc0 61 74 66 6f 72 6d 73 2e 0a 0a 49 20 70 65 72 73 6f 6e 61 6c 6c 79 20 6f 6e 6c 79 20 75 73 65 20 atforms...I.personally.only.use.
3ce0 45 6c 66 65 65 64 20 6f 6e 20 4c 69 6e 75 78 2c 20 62 75 74 20 69 74 27 73 20 6f 63 63 61 73 69 Elfeed.on.Linux,.but.it's.occasi
3d00 6f 6e 61 6c 6c 79 20 74 65 73 74 65 64 20 6f 6e 0a 57 69 6e 64 6f 77 73 2e 20 55 6e 66 6f 72 74 onally.tested.on.Windows..Unfort
3d20 75 6e 61 74 65 6c 79 20 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6f 72 74 20 6f 66 20 45 6d 61 63 unately.the.Windows.port.of.Emac
3d40 73 20 69 73 20 61 20 62 69 74 20 74 6f 6f 20 75 6e 73 74 61 62 6c 65 0a 66 6f 72 20 70 61 72 61 s.is.a.bit.too.unstable.for.para
3d60 6c 6c 65 6c 20 66 65 65 64 20 64 6f 77 6e 6c 6f 61 64 73 20 77 69 74 68 20 60 75 72 6c 2d 72 65 llel.feed.downloads.with.`url-re
3d80 74 72 69 65 76 65 60 2c 20 6e 6f 74 20 74 6f 20 6d 65 6e 74 69 6f 6e 20 74 68 65 0a 5b 74 69 6e trieve`,.not.to.mention.the.[tin
3da0 79 2c 20 68 61 72 64 2d 63 6f 64 65 64 2c 20 35 31 32 20 6f 70 65 6e 20 64 65 73 63 72 69 70 74 y,.hard-coded,.512.open.descript
3dc0 6f 72 20 6c 69 6d 69 74 61 74 69 6f 6e 5d 5b 66 69 6c 65 73 5d 2c 20 73 6f 20 69 74 0a 6c 69 6d or.limitation][files],.so.it.lim
3de0 69 74 73 20 69 74 73 65 6c 66 20 74 6f 20 6f 6e 65 20 66 65 65 64 20 61 74 20 61 20 74 69 6d 65 its.itself.to.one.feed.at.a.time
3e00 20 6f 6e 20 74 68 69 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 0a 5b 66 69 6c 65 73 5d 3a 20 68 74 74 .on.this.platform...[files]:.htt
3e20 70 3a 2f 2f 6d 73 64 6e 2e 6d 69 63 72 6f 73 6f 66 74 2e 63 6f 6d 2f 65 6e 2d 75 73 2f 6c 69 62 p://msdn.microsoft.com/en-us/lib
3e40 72 61 72 79 2f 6b 64 66 61 78 61 61 79 25 32 38 76 73 2e 37 31 25 32 39 2e 61 73 70 78 0a 0a 49 rary/kdfaxaay%28vs.71%29.aspx..I
3e60 66 20 79 6f 75 20 66 65 74 63 68 20 48 54 54 50 53 20 66 65 65 64 73 20 77 69 74 68 6f 75 74 20 f.you.fetch.HTTPS.feeds.without.
3e80 63 55 52 4c 20 6f 6e 20 2a 61 6e 79 2a 20 70 6c 61 74 66 6f 72 6d 2c 20 69 74 27 73 0a 65 73 73 cURL.on.*any*.platform,.it's.ess
3ea0 65 6e 74 69 61 6c 20 74 68 61 74 20 45 6d 61 63 73 20 69 73 20 62 75 69 6c 74 20 77 69 74 68 20 ential.that.Emacs.is.built.with.
3ec0 74 68 65 20 60 2d 2d 77 69 74 68 2d 67 6e 75 74 6c 73 60 20 6f 70 74 69 6f 6e 2e 0a 4f 74 68 65 the.`--with-gnutls`.option..Othe
3ee0 72 77 69 73 65 20 45 6d 61 63 73 20 72 75 6e 73 20 67 6e 75 74 6c 73 20 69 6e 20 61 6e 20 69 6e rwise.Emacs.runs.gnutls.in.an.in
3f00 66 65 72 69 6f 72 20 70 72 6f 63 65 73 73 2c 20 77 68 69 63 68 20 72 61 72 65 6c 79 20 77 6f 72 ferior.process,.which.rarely.wor
3f20 6b 73 0a 77 65 6c 6c 2e 0a 0a 23 23 20 44 61 74 61 62 61 73 65 20 4d 61 6e 61 67 65 6d 65 6e 74 ks.well...##.Database.Management
3f40 0a 0a 54 68 65 20 64 61 74 61 62 61 73 65 20 73 68 6f 75 6c 64 20 6b 65 65 70 20 69 74 73 65 6c ..The.database.should.keep.itsel
3f60 66 20 75 6e 64 65 72 20 63 6f 6e 74 72 6f 6c 20 77 69 74 68 6f 75 74 20 61 6e 79 20 6d 61 6e 75 f.under.control.without.any.manu
3f80 61 6c 0a 69 6e 74 65 72 76 65 6e 74 69 6f 6e 2c 20 62 75 74 20 73 74 65 70 73 20 63 61 6e 20 62 al.intervention,.but.steps.can.b
3fa0 65 20 74 61 6b 65 6e 20 74 6f 20 6d 69 6e 69 6d 69 7a 65 20 74 68 65 20 64 61 74 61 62 61 73 65 e.taken.to.minimize.the.database
3fc0 20 73 69 7a 65 20 69 66 0a 64 65 73 69 72 65 64 2e 20 54 68 65 20 73 69 6d 70 6c 65 73 74 20 6f .size.if.desired..The.simplest.o
3fe0 70 74 69 6f 6e 20 69 73 20 74 6f 20 72 75 6e 20 74 68 65 20 60 65 6c 66 65 65 64 2d 64 62 2d 63 ption.is.to.run.the.`elfeed-db-c
4000 6f 6d 70 61 63 74 60 0a 63 6f 6d 6d 61 6e 64 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 70 61 63 6b ompact`.command,.which.will.pack
4020 20 74 68 65 20 6c 6f 6f 73 65 2d 66 69 6c 65 20 63 6f 6e 74 65 6e 74 20 64 61 74 61 62 61 73 65 .the.loose-file.content.database
4040 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 0a 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 2e 20 .into.a.single.compressed.file..
4060 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 6f 72 6b 73 20 77 65 6c 6c 20 69 6e 20 60 6b 69 6c This.function.works.well.in.`kil
4080 6c 2d 65 6d 61 63 73 2d 68 6f 6f 6b 60 2e 0a 0a 47 6f 69 6e 67 20 66 75 72 74 68 65 72 2c 20 61 l-emacs-hook`...Going.further,.a
40a0 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6c 64 20 62 65 20 61 64 64 65 64 20 74 6f 20 60 65 6c 66 .function.could.be.added.to.`elf
40c0 65 65 64 2d 6e 65 77 2d 65 6e 74 72 79 2d 68 6f 6f 6b 60 20 74 6f 0a 73 74 72 69 70 20 75 6e 77 eed-new-entry-hook`.to.strip.unw
40e0 61 6e 74 65 64 2f 75 6e 6e 65 65 64 65 64 20 63 6f 6e 74 65 6e 74 20 66 72 6f 6d 20 73 65 6c 65 anted/unneeded.content.from.sele
4100 63 74 20 65 6e 74 72 69 65 73 20 62 65 66 6f 72 65 20 62 65 69 6e 67 0a 73 74 6f 72 65 64 20 69 ct.entries.before.being.stored.i
4120 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 66 6f 72 n.the.database..For.example,.for
4140 20 59 6f 75 54 75 62 65 20 76 69 64 65 6f 73 20 6f 6e 6c 79 20 74 68 65 20 65 6e 74 72 79 0a 6c .YouTube.videos.only.the.entry.l
4160 69 6e 6b 20 69 73 20 6f 66 20 69 6e 74 65 72 65 73 74 20 61 6e 64 20 74 68 65 20 72 65 67 75 6c ink.is.of.interest.and.the.regul
4180 61 72 6c 79 2d 63 68 61 6e 67 69 6e 67 20 65 6e 74 72 79 20 63 6f 6e 74 65 6e 74 20 63 6f 75 6c arly-changing.entry.content.coul
41a0 64 20 62 65 0a 74 6f 73 73 65 64 20 74 6f 20 73 61 76 65 20 74 69 6d 65 20 61 6e 64 20 73 74 6f d.be.tossed.to.save.time.and.sto
41c0 72 61 67 65 2e 0a 0a 23 23 20 53 74 61 74 75 73 20 61 6e 64 20 52 6f 61 64 6d 61 70 0a 0a 45 6c rage...##.Status.and.Roadmap..El
41e0 66 65 65 64 20 69 73 20 74 6f 20 74 68 65 20 70 6f 69 6e 74 20 77 68 65 72 65 20 69 74 20 63 61 feed.is.to.the.point.where.it.ca
4200 6e 20 73 65 72 76 65 20 31 30 30 25 20 6f 66 20 6d 79 20 6f 77 6e 20 77 65 62 20 66 65 65 64 0a n.serve.100%.of.my.own.web.feed.
4220 6e 65 65 64 73 2e 20 4d 79 20 70 65 72 73 6f 6e 61 6c 20 73 65 6c 65 63 74 69 6f 6e 20 6f 66 20 needs..My.personal.selection.of.
4240 61 62 6f 75 74 20 31 35 30 20 66 65 65 64 73 20 68 61 73 20 62 65 65 6e 20 61 63 74 69 6e 67 20 about.150.feeds.has.been.acting.
4260 61 73 20 6d 79 0a 74 65 73 74 20 63 61 73 65 20 61 73 20 49 20 6f 70 74 69 6d 69 7a 65 20 61 6e as.my.test.case.as.I.optimize.an
4280 64 20 61 64 64 20 66 65 61 74 75 72 65 73 2e 0a 0a 53 6f 6d 65 20 74 68 69 6e 67 73 20 49 20 73 d.add.features...Some.things.I.s
42a0 74 69 6c 6c 20 6d 69 67 68 74 20 77 61 6e 74 20 74 6f 20 61 64 64 3a 0a 0a 2a 20 44 61 74 61 62 till.might.want.to.add:..*.Datab
42c0 61 73 65 20 73 79 6e 63 68 72 6f 6e 69 7a 61 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 63 6f 6d 70 ase.synchronization.between.comp
42e0 75 74 65 72 73 0a 2a 20 50 61 72 61 6c 6c 65 6c 20 66 65 65 64 20 66 65 74 63 68 69 6e 67 20 76 uters.*.Parallel.feed.fetching.v
4300 69 61 20 73 65 70 61 72 61 74 65 20 45 6d 61 63 73 20 73 75 62 70 72 6f 63 65 73 73 65 73 0a 0a ia.separate.Emacs.subprocesses..
4320 23 23 20 4d 6f 74 69 76 61 74 69 6f 6e 0a 0a 41 73 20 66 61 72 20 61 73 20 49 20 6b 6e 6f 77 2c ##.Motivation..As.far.as.I.know,
4340 20 6f 75 74 73 69 64 65 20 6f 66 20 45 6c 66 65 65 64 20 74 68 65 72 65 20 64 6f 65 73 20 6e 6f .outside.of.Elfeed.there.does.no
4360 74 20 65 78 69 73 74 20 61 6e 0a 65 78 74 65 6e 73 69 62 6c 65 2c 20 74 65 78 74 2d 66 69 6c 65 t.exist.an.extensible,.text-file
4380 20 63 6f 6e 66 69 67 75 72 65 64 2c 20 70 6f 77 65 72 2d 75 73 65 72 20 77 65 62 20 66 65 65 64 .configured,.power-user.web.feed
43a0 20 63 6c 69 65 6e 74 20 74 68 61 74 20 63 61 6e 0a 68 61 6e 64 6c 65 20 61 20 72 65 61 73 6f 6e .client.that.can.handle.a.reason
43c0 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 66 65 65 64 73 2e 20 54 68 65 20 65 78 69 73 74 69 able.number.of.feeds..The.existi
43e0 6e 67 20 63 6c 69 65 6e 74 73 20 49 27 76 65 20 74 72 69 65 64 0a 61 72 65 20 6d 69 73 73 69 6e ng.clients.I've.tried.are.missin
4400 67 20 73 6f 6d 65 20 69 6d 70 6f 72 74 61 6e 74 20 63 61 70 61 62 69 6c 69 74 79 20 74 68 61 74 g.some.important.capability.that
4420 20 6c 69 6d 69 74 73 20 69 74 73 20 75 73 65 66 75 6c 6e 65 73 73 20 74 6f 0a 6d 65 2e 0a 00 00 .limits.its.usefulness.to.me....
4440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4600 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2d 63 73 76 2e elfeed-20240331.1348/elfeed-csv.
4620 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 el..............................
4640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4660 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
4680 30 30 31 33 31 34 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 37 36 00 20 30 00 00 00 0013145.00000000000.014576..0...
46a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4700 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...................
4720 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...................
4740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4800 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
4820 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
4840 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:.
4860 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
4880 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
48a0 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
48c0 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
48e0 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.
4900 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
4920 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.
4940 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
4960 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
4980 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
49a0 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
49c0 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,
49e0 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.
4a00 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
4a20 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.
4a40 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
4a60 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.;;.
4a80 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.(
4aa0 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...
4ac0 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
4ae0 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',.
4b00 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,.;;
4b20 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
4b40 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.
4b60 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
4b80 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,
4ba0 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
4bc0 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,.;
4be0 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
4c00 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.
4c20 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)
4c40 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
4c60 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
4c80 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.;
4ca0 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
4cc0 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
4ce0 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
4d00 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,.;;..
4d20 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,
4d40 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),.'
4d60 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.;
4d80 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.
4da0 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
4dc0 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
4de0 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.
4e00 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.
4e20 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,.;;.....
4e40 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
4e60 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
4e80 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.
4ea0 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
4ec0 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
4ee0 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
4f00 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
4f20 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
4f40 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.
4f60 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
4f80 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
4fa0 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.
4fc0 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
4fe0 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
5000 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
5020 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)
5040 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
5060 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.
5080 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;
50a0 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).(
50c0 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
50e0 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
5100 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
5120 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
5140 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
5160 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)..."
5180 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
51a0 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).
51c0 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)........
51e0 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))..........
5200 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
5220 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
5240 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
5260 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
5280 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)."\""))....
52a0 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
52c0 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
52e0 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.
5300 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
5320 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.
5340 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.
5360 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
5380 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
53a0 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)).........
53c0 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
53e0 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.
5400 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
5420 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
5440 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
5460 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.
5480 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
54a0 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
54c0 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
54e0 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
5500 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
5520 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
5540 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
5560 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
5580 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,....
55a0 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
55c0 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,...
55e0 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.
5600 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,....
5620 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
5640 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
5660 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.(.
5680 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
56a0 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
56c0 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,.
56e0 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
5700 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
5720 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*
5740 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
5760 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*
5780 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
57a0 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*"))...
57c0 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
57e0 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..
5800 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
5820 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......
5840 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
5860 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])).......(
5880 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
58a0 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
58c0 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])).......
58e0 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
5900 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
5920 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
5940 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
5960 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.
5980 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
59a0 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
59c0 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))......
59e0 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
5a00 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
5a20 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
5a40 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.
5a60 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))).....
5a80 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
5aa0 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-
5ac0 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
5ae0 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
5b00 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))).
5b20 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
5b40 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)).............(
5b60 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)
5b80 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
5ba0 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
5bc0 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)))....
5be0 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
5c00 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
5c20 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
5c40 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-
5c60 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
5c80 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
5ca0 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
5cc0 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))))))..
5ce0 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
5d00 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
5d20 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
5d40 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
5d60 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
5d80 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
5da0 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
5dc0 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
5de0 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.
5e00 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).......
5e20 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
5e40 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.
5e60 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............................
5e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6000 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2d 63 75 72 6c elfeed-20240331.1348/elfeed-curl
6020 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.............................
6040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6060 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
6080 30 30 35 33 36 33 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 37 35 34 00 20 30 00 00 00 0053631.00000000000.014754..0...
60a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6100 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...................
6120 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...................
6140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6200 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
6220 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
6240 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
6260 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
6280 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
62a0 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.
62c0 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
62e0 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
6300 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
6320 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
6340 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
6360 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
6380 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
63a0 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
63c0 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
63e0 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'
6400 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
6420 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
6440 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.
6460 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
6480 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
64a0 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
64c0 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.
64e0 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
6500 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
6520 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.
6540 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
6560 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
6580 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
65a0 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...
65c0 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
65e0 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.
6600 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
6620 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
6640 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
6660 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.....
6680 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
66a0 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.
66c0 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'
66e0 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
6700 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
6720 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.(
6740 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
6760 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.
6780 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
67a0 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
67c0 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
67e0 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
6800 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-
6820 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
6840 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
6860 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.
6880 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
68a0 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
68c0 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."...
68e0 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)
6900 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
6920 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
6940 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
6960 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
6980 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
69a0 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
69c0 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
69e0 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
6a00 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
6a20 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
6a40 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
6a60 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
6a80 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
6aa0 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.".
6ac0 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
6ae0 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-
6b00 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
6b20 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
6b40 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
6b60 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
6b80 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
6ba0 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
6bc0 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
6be0 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..."
6c00 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.
6c20 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
6c40 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
6c60 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
6c80 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
6ca0 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
6cc0 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
6ce0 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
6d00 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
6d20 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
6d40 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
6d60 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./
6d80 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.
6da0 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-
6dc0 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.
6de0 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
6e00 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
6e20 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.
6e40 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
6e60 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...'((
6e80 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.")....
6ea0 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.")..
6ec0 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
6ee0 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..."
6f00 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
6f20 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
6f40 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
6f60 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.")..
6f80 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.
6fa0 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.
6fc0 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'
6fe0 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
7000 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
7020 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.")
7040 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
7060 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
7080 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
70a0 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
70c0 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.
70e0 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
7100 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..
7120 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.
7140 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
7160 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.
7180 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.")...
71a0 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
71c0 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."
71e0 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
7200 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
7220 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."
7240 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.
7260 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
7280 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.
72a0 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...
72c0 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
72e0 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..."
7300 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
7320 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
7340 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
7360 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
7380 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
73a0 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
73c0 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.
73e0 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
7400 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
7420 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
7440 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
7460 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
7480 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
74a0 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
74c0 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
74e0 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.
7500 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
7520 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
7540 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.
7560 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.
7580 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
75a0 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.
75c0 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.
75e0 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.
7600 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.
7620 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
7640 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
7660 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.").....(
7680 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.")
76a0 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
76c0 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
76e0 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
7700 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
7720 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.")...
7740 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
7760 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
7780 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.")...
77a0 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.
77c0 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
77e0 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.
7800 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
7820 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
7840 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
7860 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
7880 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
78a0 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
78c0 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.
78e0 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..
7900 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.").
7920 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
7940 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.
7960 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.
7980 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
79a0 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.
79c0 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
79e0 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
7a00 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..."
7a20 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.")
7a40 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
7a60 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.
7a80 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.").
7aa0 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
7ac0 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
7ae0 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
7b00 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..."
7b20 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..
7b40 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.")
7b60 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
7b80 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..
7ba0 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
7bc0 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?).")
7be0 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
7c00 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.")
7c20 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
7c40 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
7c60 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
7c80 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
7ca0 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
7cc0 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
7ce0 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
7d00 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).")...
7d20 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
7d40 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
7d60 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
7d80 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
7da0 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
7dc0 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.
7de0 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").
7e00 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
7e20 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")
7e40 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.
7e60 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"))
7e80 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
7ea0 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
7ec0 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.
7ee0 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
7f00 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
7f20 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.(
7f40 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
7f60 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
7f80 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'
7fa0 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.--
7fc0 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
7fe0 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
8000 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
8020 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
8040 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
8060 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)....
8080 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
80a0 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)))...
80c0 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-
80e0 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...
8100 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-
8120 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
8140 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......
8160 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................
8180 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)).......
81a0 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
81c0 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)............
81e0 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)))).....
8200 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............
8220 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
8240 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)).............
8260 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."^
8280 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)....
82a0 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
82c0 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))
82e0 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....
8300 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..............
8320 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)).....
8340 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
8360 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:.\\(.*\\)$")...
8380 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.(
83a0 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))))))...........(
83c0 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
83e0 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
8400 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............
8420 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
8440 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)))...
8460 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
8480 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.......................:
84a0 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
84c0 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
84e0 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
8500 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
8520 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
8540 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
8560 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
8580 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")
85a0 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.()..
85c0 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
85e0 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
8600 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.
8620 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
8640 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-
8660 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
8680 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."!$&*+-
86a0 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
86c0 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
86e0 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.;.
8700 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
8720 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))....
8740 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)).(
8760 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)
8780 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
87a0 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.
87c0 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
87e0 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).
8800 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
8820 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
8840 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)).....
8860 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
8880 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))
88a0 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)))......
88c0 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
88e0 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))....
8900 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).........;;.
8920 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........
8940 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
8960 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
8980 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)..........
89a0 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))).......
89c0 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)).
89e0 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
8a00 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
8a20 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))
8a40 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
8a60 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.
8a80 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.........
8aa0 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
8ac0 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))...............
8ae0 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
8b00 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.............................
8b20 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).
8b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8b60 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)))
8b80 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
8ba0 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
8bc0 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
8be0 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
8c00 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.
8c20 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)))..
8c40 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
8c60 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..
8c80 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
8ca0 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
8cc0 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
8ce0 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))))))..
8d00 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
8d20 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
8d40 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
8d60 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
8d80 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'
8da0 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
8dc0 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.(>.(-.(
8de0 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).....(
8e00 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
8e20 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]+.+\\
8e40 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
8e60 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
8e80 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
8ea0 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
8ec0 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
8ee0 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."^\\([^:]+\\):.+\\([^\
8f00 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
8f20 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.
8f40 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
8f60 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
8f80 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
8fa0 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
8fc0 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
8fe0 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
9000 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.
9020 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
9040 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
9060 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.(
9080 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."
90a0 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))
90c0 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.(
90e0 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)..........
9100 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
9120 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...................
9140 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
9160 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
9180 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)
91a0 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-
91c0 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
91e0 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
9200 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.
9220 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
9240 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
9260 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.(
9280 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
92a0 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))..........
92c0 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
92e0 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
9300 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).
9320 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
9340 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.
9360 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
9380 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
93a0 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
93c0 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
93e0 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
9400 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."-
9420 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."-
9440 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
9460 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."-
9480 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).
94a0 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
94c0 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
94e0 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
9500 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
9520 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..
9540 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".
9560 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
9580 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)
95a0 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
95c0 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
95e0 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
9600 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)).....
9620 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.(
9640 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
9660 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.
9680 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
96a0 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
96c0 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
96e0 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)...
9700 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
9720 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))
9740 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...
9760 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
9780 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))...(
97a0 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).
97c0 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
97e0 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
9800 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.&
9820 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
9840 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
9860 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
9880 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.
98a0 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
98c0 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
98e0 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
9900 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
9920 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
9940 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
9960 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)).
9980 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
99a0 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
99c0 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
99e0 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)).....
9a00 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
9a20 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)
9a40 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-
9a60 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
9a80 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
9aa0 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
9ac0 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
9ae0 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
9b00 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
9b20 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.....
9b40 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
9b60 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
9b80 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
9ba0 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
9bc0 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
9be0 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
9c00 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
9c20 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
9c40 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
9c60 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.
9c80 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
9ca0 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
9cc0 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
9ce0 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.(
9d00 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).............
9d20 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
9d40 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...
9d60 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.
9d80 20 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-
9da0 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))........
9dc0 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
9de0 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
9e00 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
9e20 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......
9e40 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-
9e60 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))...............
9e80 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
9ea0 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)......................
9ec0 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
9ee0 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
9f00 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.........
9f20 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.%
9f40 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)))...
9f60 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..............
9f80 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............
9fa0 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-
9fc0 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
9fe0 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.............(
a000 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.................(
a020 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)..............
a040 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.............
a060 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
a080 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)).................
a0a0 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
a0c0 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.
a0e0 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
a100 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-
a120 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
a140 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)......
a160 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
a180 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
a1a0 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
a1c0 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
a1e0 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
a200 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
a220 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
a240 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
a260 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
a280 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
a2a0 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
a2c0 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
a2e0 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
a300 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
a320 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
a340 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
a360 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
a380 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
a3a0 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
a3c0 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
a3e0 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
a400 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
a420 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
a440 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)..........
a460 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
a480 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))).....
a4a0 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
a4c0 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
a4e0 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
a500 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.............
a520 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..
a540 20 20 20 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
a560 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!"))))
a580 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
a5a0 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-
a5c0 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
a5e0 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................
a600 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
a620 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
a640 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
a660 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
a680 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
a6a0 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
a6c0 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
a6e0 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
a700 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!
a720 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.
a740 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
a760 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.
a780 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
a7a0 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
a7c0 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
a7e0 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
a800 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
a820 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
a840 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
a860 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
a880 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
a8a0 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
a8c0 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
a8e0 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.
a900 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
a920 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
a940 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
a960 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.".*
a980 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
a9a0 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)).....(
a9c0 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
a9e0 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
aa00 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
aa20 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
aa40 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))
aa60 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
aa80 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
aaa0 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)......................
aac0 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
aae0 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.....
ab00 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).............
ab20 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
ab40 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.
ab60 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)))
ab80 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
aba0 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
abc0 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-
abe0 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)))...
ac00 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
ac20 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
ac40 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))....
ac60 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-
ac80 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.
aca0 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
acc0 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.
ace0 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
ad00 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
ad20 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
ad40 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
ad60 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
ad80 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
ada0 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).............(
adc0 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
ade0 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
ae00 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.......
ae20 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
ae40 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)
ae60 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
ae80 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
aea0 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
aec0 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
aee0 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
af00 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
af20 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
af40 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
af60 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.())....
af80 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
afa0 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
afc0 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
afe0 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*.(
b000 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
b020 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))).......
b040 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
b060 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
b080 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
b0a0 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
b0c0 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
b0e0 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
b100 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
b120 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))..........................
b140 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
b160 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)).......................
b180 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)......
b1a0 20 20 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.(
b1c0 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)...................
b1e0 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)
b200 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
b220 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
b240 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
b260 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
b280 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.
b2a0 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.
b2c0 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)..
b2e0 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
b300 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
b320 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
b340 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
b360 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.
b380 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.
b3a0 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
b3c0 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.
b3e0 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.
b400 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...
b420 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
b440 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
b460 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......
b480 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.........
b4a0 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
b4c0 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.
b4e0 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
b500 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)...
b520 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
b540 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
b560 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.
b580 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)...
b5a0 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
b5c0 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-
b5e0 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
b600 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.....
b620 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)...........
b640 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)...
b660 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
b680 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))................(
b6a0 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
b6c0 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........:
b6e0 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-
b700 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
b720 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
b740 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
b760 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
b780 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)..............
b7a0 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
b7c0 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
b7e0 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
b800 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
b820 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
b840 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)))..
b860 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
b880 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
b8a0 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
b8c0 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
b8e0 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.
b900 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
b920 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
b940 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))
b960 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)..;;;.
b980 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........
b9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba00 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2d 64 62 2e 65 elfeed-20240331.1348/elfeed-db.e
ba20 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...............................
ba40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba60 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
ba80 30 30 36 31 34 31 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 33 37 30 00 20 30 00 00 00 0061412.00000000000.014370..0...
baa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb00 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...................
bb20 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...................
bb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc00 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
bc20 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
bc40 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.
bc60 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
bc80 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...;;;.
bca0 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.
bcc0 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
bce0 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
bd00 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
bd20 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.
bd40 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
bd60 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
bd80 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
bda0 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
bdc0 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
bde0 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),.
be00 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
be20 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
be40 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.
be60 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.
be80 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
bea0 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
bec0 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
bee0 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.
bf00 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
bf20 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
bf40 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..
bf60 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.
bf80 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.
bfa0 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
bfc0 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
bfe0 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
c000 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.
c020 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
c040 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
c060 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
c080 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
c0a0 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
c0c0 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
c0e0 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.
c100 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
c120 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
c140 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.
c160 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
c180 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
c1a0 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
c1c0 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
c1e0 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'.
c200 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
c220 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.
c240 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
c260 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
c280 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
c2a0 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
c2c0 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.;;.
c2e0 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
c300 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.;;.
c320 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
c340 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
c360 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
c380 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
c3a0 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
c3c0 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..
c3e0 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
c400 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
c420 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
c440 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
c460 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
c480 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
c4a0 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.
c4c0 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
c4e0 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.
c500 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
c520 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-
c540 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
c560 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
c580 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
c5a0 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
c5c0 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'.")..(
c5e0 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
c600 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)
c620 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.
c640 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).......
c660 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
c680 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
c6a0 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-
c6c0 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
c6e0 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.
c700 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.
c720 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
c740 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
c760 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.
c780 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.
c7a0 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
c7c0 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.
c7e0 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
c800 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
c820 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:.
c840 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
c860 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)).
c880 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
c8a0 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
c8c0 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
c8e0 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
c900 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
c920 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
c940 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
c960 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.
c980 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
c9a0 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
c9c0 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
c9e0 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,
ca00 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.
ca20 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
ca40 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
ca60 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
ca80 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
caa0 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.#'
cac0 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
cae0 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)..................
cb00 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
cb20 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
cb40 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
cb60 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
cb80 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)..........
cba0 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).....
cbc0 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-
cbe0 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
cc00 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.
cc20 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
cc40 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
cc60 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
cc80 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
cca0 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
ccc0 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)...............
cce0 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)))))
cd00 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
cd20 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
cd40 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
cd60 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
cd80 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
cda0 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
cdc0 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
cde0 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-
ce00 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))......
ce20 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
ce40 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
ce60 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.
ce80 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
cea0 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
cec0 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
cee0 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
cf00 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
cf20 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
cf40 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
cf60 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-
cf80 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))..
cfa0 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)..
cfc0 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.".
cfe0 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.
d000 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............
d020 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)
d040 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
d060 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).......
d080 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
d0a0 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
d0c0 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
d0e0 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))........
d100 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
d120 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
d140 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
d160 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
d180 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)...
d1a0 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
d1c0 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
d1e0 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
d200 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
d220 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)))....
d240 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.......
d260 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
d280 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).
d2a0 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
d2c0 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...........
d2e0 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
d300 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)........
d320 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
d340 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................
d360 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)))
d380 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............(
d3a0 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).....
d3c0 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
d3e0 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
d400 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.
d420 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
d440 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
d460 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
d480 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
d4a0 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
d4c0 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
d4e0 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
d500 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
d520 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<
d540 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.
d560 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).
d580 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.((
d5a0 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
d5c0 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
d5e0 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
d600 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)))
d620 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
d640 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
d660 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
d680 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.
d6a0 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)
d6c0 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
d6e0 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.
d700 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.
d720 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
d740 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
d760 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
d780 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
d7a0 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
d7c0 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).........
d7e0 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)
d800 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
d820 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).....(
d840 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.
d860 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
d880 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
d8a0 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
d8c0 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
d8e0 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'.
d900 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-
d920 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)....
d940 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
d960 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)...................
d980 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
d9a0 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
d9c0 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.
d9e0 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.#
da00 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))))..
da20 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
da40 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
da60 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
da80 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
daa0 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
dac0 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
dae0 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
db00 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
db20 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
db40 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
db60 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
db80 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
dba0 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-
dbc0 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
dbe0 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
dc00 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).....(
dc20 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
dc40 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)......
dc60 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
dc80 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
dca0 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.....
dcc0 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
dce0 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)
dd00 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
dd20 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
dd40 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
dd60 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)...........
dd80 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-
dda0 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))))........
ddc0 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-
dde0 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
de00 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
de20 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
de40 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.
de60 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)
de80 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-
dea0 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)..............
dec0 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-
dee0 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
df00 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)).......
df20 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
df40 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-
df60 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)..........
df80 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
dfa0 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
dfc0 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.`
dfe0 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
e000 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
e020 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.
e040 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.
e060 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........
e080 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))))
e0a0 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
e0c0 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
e0e0 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.`
e100 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
e120 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
e140 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.()..."
e160 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
e180 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
e1a0 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)
e1c0 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.
e1e0 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
e200 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
e220 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.(
e240 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
e260 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)...
e280 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
e2a0 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
e2c0 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
e2e0 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
e300 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
e320 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
e340 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
e360 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
e380 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
e3a0 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
e3c0 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
e3e0 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)......
e400 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
e420 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
e440 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
e460 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
e480 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.";
e4a0 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
e4c0 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"......................
e4e0 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
e500 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)...
e520 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
e540 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
e560 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
e580 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
e5a0 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
e5c0 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")).......
e5e0 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
e600 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-
e620 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'.
e640 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
e660 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
e680 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
e6a0 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
e6c0 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
e6e0 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.
e700 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
e720 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
e740 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
e760 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
e780 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
e7a0 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.(
e7c0 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)).......
e7e0 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
e800 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))............
e820 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-
e840 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
e860 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.=.(
e880 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)........
e8a0 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.
e8c0 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)...........
e8e0 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).....
e900 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
e920 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.....................
e940 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..................
e960 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)...
e980 20 20 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
e9a0 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)..................
e9c0 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)
e9e0 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
ea00 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))...............
ea20 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
ea40 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....
ea60 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-
ea80 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)............
eaa0 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-
eac0 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
eae0 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
eb00 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
eb20 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)...............
eb40 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)...
eb60 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
eb80 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..................
eba0 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...............
ebc0 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
ebe0 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).............................
ec00 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)............
ec20 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
ec40 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)...........................
ec60 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)
ec80 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 ................................
eca0 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...
ecc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
ece0 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))...
ed00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
ed20 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)...................
ed40 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
ed60 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)..........................
ed80 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)...
eda0 20 20 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.
edc0 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)..................
ede0 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.
ee00 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).............................:
ee20 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))...........
ee40 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)
ee60 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
ee80 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
eea0 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
eec0 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
eee0 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.
ef00 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."...`(:
ef20 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.....:
ef40 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
ef60 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
ef80 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
efa0 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
efc0 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
efe0 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.
f000 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
f020 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.
f040 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
f060 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
f080 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..................
f0a0 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..........
f0c0 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.
f0e0 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.............................
f100 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...........
f120 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.()).....
f140 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.
f160 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..............................
f180 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....................
f1a0 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.....
f1c0 20 20 20 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
f1e0 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.................
f200 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.()).........
f220 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
f240 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]))
f260 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
f280 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
f2a0 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
f2c0 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
f2e0 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.
f300 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
f320 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
f340 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
f360 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.
f380 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
f3a0 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.;;
f3c0 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).
f3e0 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
f400 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
f420 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
f440 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
f460 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
f480 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
f4a0 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
f4c0 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))....
f4e0 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-
f500 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
f520 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
f540 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
f560 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
f580 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
f5a0 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
f5c0 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
f5e0 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.
f600 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........;;.
f620 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
f640 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...
f660 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
f680 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)
f6a0 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
f6c0 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
f6e0 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)...........(
f700 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))..........
f720 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)..
f740 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
f760 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............
f780 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
f7a0 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-
f7c0 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-
f7e0 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
f800 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)))....
f820 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
f840 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
f860 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))))......
f880 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
f8a0 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
f8c0 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
f8e0 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
f900 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
f920 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
f940 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
f960 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
f980 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
f9a0 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
f9c0 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
f9e0 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
fa00 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
fa20 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
fa40 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
fa60 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
fa80 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
faa0 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
fac0 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!.....
fae0 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
fb00 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))).
fb20 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
fb40 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
fb60 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
fb80 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
fba0 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
fbc0 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)...(
fbe0 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
fc00 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
fc20 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
fc40 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
fc60 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
fc80 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
fca0 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
fcc0 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
fce0 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.().
fd00 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.
fd20 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."...(
fd40 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
fd60 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)).........
fd80 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
fda0 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
fdc0 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
fde0 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
fe00 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."
fe20 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
fe40 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
fe60 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
fe80 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
fea0 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))...
fec0 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
fee0 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
ff00 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
ff20 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
ff40 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
ff60 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
ff80 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
ffa0 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
ffc0 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))...
ffe0 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
10000 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
10020 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
10040 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)))
10060 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
10080 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
100a0 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).
100c0 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
100e0 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
10100 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
10120 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.
10140 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.
10160 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.".
10180 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
101a0 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))
101c0 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
101e0 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
10200 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
10220 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)
10240 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
10260 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
10280 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
102a0 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.
102c0 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
102e0 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-
10300 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
10320 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
10340 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--
10360 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
10380 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
103a0 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
103c0 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
103e0 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
10400 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
10420 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
10440 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
10460 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
10480 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
104a0 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*
104c0 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))......
104e0 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
10500 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))........
10520 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
10540 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
10560 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
10580 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
105a0 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
105c0 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
105e0 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
10600 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
10620 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
10640 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.
10660 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.
10680 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
106a0 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
106c0 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)..
106e0 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........
10700 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
10720 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
10740 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
10760 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
10780 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
107a0 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
107c0 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."
107e0 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
10800 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)))..
10820 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)
10840 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
10860 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
10880 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
108a0 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).........
108c0 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
108e0 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)))
10900 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
10920 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-
10940 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
10960 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
10980 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
109a0 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
109c0 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.
109e0 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
10a00 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)..................
10a20 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
10a40 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))).........
10a60 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
10a80 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"))...........(
10aa0 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)).
10ac0 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
10ae0 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
10b00 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
10b20 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
10b40 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
10b60 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
10b80 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
10ba0 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)))......
10bc0 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.
10be0 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
10c00 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
10c20 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
10c40 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
10c60 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.
10c80 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))).
10ca0 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
10cc0 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
10ce0 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
10d00 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
10d20 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
10d40 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
10d60 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
10d80 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
10da0 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
10dc0 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
10de0 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
10e00 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-
10e20 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
10e40 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)))......
10e60 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
10e80 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)...........
10ea0 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
10ec0 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
10ee0 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)...........
10f00 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.
10f20 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..................
10f40 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
10f60 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..................
10f80 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)).
10fa0 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
10fc0 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))
10fe0 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
11000 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
11020 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.
11040 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
11060 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))).....
11080 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
110a0 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
110c0 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
110e0 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
11100 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
11120 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
11140 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
11160 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))))
11180 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
111a0 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
111c0 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.
111e0 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
11200 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
11220 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
11240 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).
11260 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.
11280 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
112a0 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
112c0 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))).....
112e0 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
11300 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
11320 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.
11340 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
11360 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
11380 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
113a0 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
113c0 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-
113e0 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
11400 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]\\{
11420 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
11440 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
11460 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
11480 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
114a0 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).......
114c0 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))..
114e0 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.
11500 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-
11520 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))).........(
11540 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).....
11560 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
11580 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
115a0 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
115c0 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)........
115e0 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
11600 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.'("."."..")))............
11620 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
11640 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.(
11660 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)).....
11680 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
116a0 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)))..............
116c0 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
116e0 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
11700 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
11720 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.
11740 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
11760 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..........
11780 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
117a0 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)........
117c0 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
117e0 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
11800 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
11820 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
11840 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
11860 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).......
11880 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
118a0 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.
118c0 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
118e0 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
11900 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
11920 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"
11940 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
11960 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
11980 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))........
119a0 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))))....
119c0 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).
119e0 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
11a00 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
11a20 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
11a40 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
11a60 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).................(
11a80 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
11aa0 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).................
11ac0 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))))
11ae0 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
11b00 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"
11b20 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.(
11b40 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
11b60 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
11b80 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
11ba0 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
11bc0 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
11be0 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
11c00 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
11c20 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)...
11c40 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
11c60 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
11c80 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
11ca0 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
11cc0 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
11ce0 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
11d00 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.".
11d20 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
11d40 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."
11d60 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
11d80 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"))..
11da0 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
11dc0 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.()
11de0 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
11e00 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
11e20 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.
11e40 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
11e60 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
11e80 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
11ea0 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.
11ec0 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
11ee0 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.
11f00 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.......................
11f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12000 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2d 6c 69 62 2e elfeed-20240331.1348/elfeed-lib.
12020 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 el..............................
12040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12060 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
12080 30 30 33 34 32 33 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 35 34 00 20 30 00 00 00 0034235.00000000000.014554..0...
120a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
120c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
120e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12100 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...................
12120 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...................
12140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
121a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
121c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
121e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12200 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
12220 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
12240 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
12260 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.
12280 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
122a0 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
122c0 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
122e0 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
12300 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...;;
12320 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
12340 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
12360 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
12380 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
123a0 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
123c0 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
123e0 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
12400 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.(
12420 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.
12440 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
12460 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
12480 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
124a0 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
124c0 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
124e0 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
12500 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
12520 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
12540 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.
12560 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
12580 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
125a0 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)))
125c0 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
125e0 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
12600 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
12620 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
12640 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
12660 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.
12680 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
126a0 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
126c0 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.
126e0 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....
12700 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.(
12720 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
12740 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-
12760 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
12780 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."
127a0 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
127c0 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."
127e0 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)).
12800 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
12820 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
12840 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
12860 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.
12880 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
128a0 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)..
128c0 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
128e0 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
12900 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
12920 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)).
12940 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
12960 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)))))).
12980 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
129a0 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
129c0 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
129e0 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
12a00 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
12a20 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)...
12a40 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
12a60 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)."-"
12a80 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
12aa0 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
12ac0 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
12ae0 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
12b00 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
12b20 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
12b40 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."
12b60 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..
12b80 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.""))
12ba0 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)
12bc0 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
12be0 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
12c00 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
12c20 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.]+"."."
12c40 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
12c60 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
12c80 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
12ca0 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
12cc0 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
12ce0 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
12d00 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"...(
12d20 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.
12d40 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\\}\
12d60 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
12d80 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?\\)
12da0 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
12dc0 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)........................
12de0 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)..................
12e00 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)............
12e20 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)......
12e40 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)
12e60 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
12e80 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
12ea0 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....................
12ec0 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).
12ee0 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
12f00 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................
12f20 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
12f40 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)))..
12f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
12f80 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
12fa0 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
12fc0 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
12fe0 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
13000 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.(
13020 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
13040 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)...................
13060 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.
13080 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-
130a0 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
130c0 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
130e0 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
13100 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'.
13120 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
13140 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
13160 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
13180 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
131a0 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).......
131c0 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)))..(
131e0 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)..
13200 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
13220 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
13240 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
13260 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.
13280 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
132a0 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..
132c0 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.
132e0 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
13300 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.......
13320 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
13340 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
13360 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....
13380 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
133a0 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.(
133c0 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
133e0 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.
13400 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
13420 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
13440 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.'(
13460 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)))..................
13480 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
134a0 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))
134c0 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
134e0 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
13500 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
13520 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.
13540 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.
13560 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
13580 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
135a0 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
135c0 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
135e0 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
13600 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=[\"']\\([^\"']+\\)[\"'].*?\\
13620 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
13640 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
13660 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
13680 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.
136a0 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
136c0 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))..........
136e0 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)))..
13700 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.
13720 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
13740 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
13760 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.
13780 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
137a0 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
137c0 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
137e0 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)...........(
13800 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
13820 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-
13840 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.(
13860 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
13880 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-
138a0 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
138c0 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
138e0 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
13900 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.".
13920 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
13940 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.
13960 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.
13980 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
139a0 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....
139c0 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'".
139e0 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))))
13a00 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
13a20 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.">")..
13a40 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).........
13a60 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
13a80 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))..
13aa0 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
13ac0 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>
13ae0 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
13b00 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-
13b20 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
13b40 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
13b60 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
13b80 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
13ba0 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
13bc0 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.
13be0 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
13c00 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
13c20 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
13c40 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
13c60 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
13c80 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.
13ca0 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
13cc0 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
13ce0 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
13d00 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....
13d20 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-
13d40 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))))
13d60 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-
13d80 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
13da0 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
13dc0 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
13de0 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
13e00 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-
13e20 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
13e40 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--
13e60 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
13e80 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.
13ea0 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..
13ec0 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."
13ee0 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
13f00 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
13f20 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....................
13f40 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
13f60 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"))..............
13f80 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
13fa0 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................
13fc0 20 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
13fe0 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...................
14000 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...
14020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
14040 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
14060 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
14080 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...................
140a0 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...................
140c0 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)
140e0 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
14100 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
14120 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)).............................
14140 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
14160 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)))))................
14180 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)))))))
141a0 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
141c0 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
141e0 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
14200 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.....(
14220 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
14240 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
14260 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
14280 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).(
142a0 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-
142c0 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.
142e0 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.
14300 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
14320 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)....
14340 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
14360 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))..(
14380 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
143a0 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
143c0 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
143e0 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
14400 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.
14420 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#
14440 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
14460 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
14480 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
144a0 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
144c0 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)..."
144e0 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
14500 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._.
14520 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
14540 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)))
14560 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
14580 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
145a0 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
145c0 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.
145e0 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
14600 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))).......
14620 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
14640 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
14660 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-
14680 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.
146a0 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.
146c0 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
146e0 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.
14700 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
14720 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
14740 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
14760 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
14780 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
147a0 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
147c0 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
147e0 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
14800 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))........(
14820 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-
14840 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-
14860 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
14880 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
148a0 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
148c0 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.().
148e0 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
14900 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
14920 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).......
14940 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).
14960 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
14980 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.
149a0 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
149c0 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
149e0 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
14a00 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
14a20 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
14a40 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
14a60 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
14a80 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
14aa0 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
14ac0 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.
14ae0 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.
14b00 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.
14b20 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
14b40 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)))..
14b60 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)).....(
14b80 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."^
14ba0 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
14bc0 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
14be0 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.
14c00 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))).....
14c20 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.
14c40 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
14c60 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
14c80 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
14ca0 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-
14cc0 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).
14ce0 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
14d00 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
14d20 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
14d40 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
14d60 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..
14d80 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.\
14da0 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.
14dc0 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.
14de0 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
14e00 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.
14e20 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
14e40 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.
14e60 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
14e80 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
14ea0 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
14ec0 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
14ee0 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]+\\)-\\
14f00 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
14f20 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.
14f40 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
14f60 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,.....
14f80 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.............
14fa0 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
14fc0 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))..............
14fe0 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
15000 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))).............(
15020 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)..............
15040 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
15060 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+.
15080 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
150a0 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
150c0 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
150e0 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)
15100 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
15120 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."...
15140 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.=.""....
15160 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.....
15180 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."^\\.\\./"
151a0 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))..
151c0 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."^\\./"
151e0 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))..
15200 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."^/\\./
15220 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)).
15240 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."^/\\.
15260 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
15280 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
152a0 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
152c0 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)).....
152e0 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))..........
15300 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).
15320 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-
15340 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
15360 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))..........."/")..........
15380 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).
153a0 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-
153c0 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
153e0 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
15400 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
15420 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."^/?[^/]*".""
15440 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)
15460 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
15480 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
154a0 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
154c0 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
154e0 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.
15500 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.
15520 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
15540 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
15560 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
15580 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
155a0 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
155c0 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.
155e0 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)...
15600 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."")........
15620 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)....
15640 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))....
15660 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
15680 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.........((
156a0 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
156c0 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))........;;
156e0 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?........(
15700 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
15720 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.
15740 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
15760 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
15780 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)).
157a0 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
157c0 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)))..
157e0 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
15800 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
15820 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-
15840 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.............
15860 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)
15880 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
158a0 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
158c0 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.........
158e0 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
15900 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).
15920 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)
15940 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
15960 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
15980 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
159a0 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
159c0 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.
159e0 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-
15a00 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.(
15a20 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.
15a40 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......
15a60 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).
15a80 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....
15aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c00 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2d 6c 69 6e 6b elfeed-20240331.1348/elfeed-link
15c20 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.............................
15c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c60 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
15c80 30 30 30 35 36 35 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 37 34 36 00 20 30 00 00 00 0005654.00000000000.014746..0...
15ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d00 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...................
15d20 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...................
15d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e00 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
15e20 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
15e40 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
15e60 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
15e80 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
15ea0 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
15ec0 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
15ee0 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
15f00 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
15f20 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
15f40 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
15f60 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
15f80 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
15fa0 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.()..."
15fc0 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
15fe0 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.
16000 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
16020 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
16040 2e 20 20 54 68 65 73 65 20 63 61 6e 20 62 65 20 75 73 65 64 20 69 6e 20 74 68 65 20 63 61 70 74 ...These.can.be.used.in.the.capt
16060 75 72 65 20 74 65 6d 70 6c 61 74 65 73 20 61 73 0a 25 3a 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d ure.templates.as.%:elfeed-entry-
16080 3c 70 72 6f 70 3e 2e 20 20 53 65 65 20 60 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 2d 63 72 65 61 <prop>...See.`elfeed-entry--crea
160a0 74 65 27 20 66 6f 72 20 74 68 65 20 6c 69 73 74 0a 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 70 72 te'.for.the.list.of.available.pr
160c0 6f 70 73 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d 70 20 27 ops."...(cond.((derived-mode-p.'
160e0 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 28 66 75 elfeed-search-mode)..........(fu
16100 6e 63 61 6c 6c 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6f 72 67 2d 6c 69 6e 6b 2d 73 74 6f ncall.(if.(fboundp.'org-link-sto
16120 72 65 2d 70 72 6f 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 re-props).......................
16140 23 27 6f 72 67 2d 6c 69 6e 6b 2d 73 74 6f 72 65 2d 70 72 6f 70 73 0a 20 20 20 20 20 20 20 20 20 #'org-link-store-props..........
16160 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 20 23 27 6f ...........(with-no-warnings.#'o
16180 72 67 2d 73 74 6f 72 65 2d 6c 69 6e 6b 2d 70 72 6f 70 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 rg-store-link-props))...........
161a0 3a 74 79 70 65 20 22 65 6c 66 65 65 64 22 0a 20 20 20 20 20 20 20 20 20 20 3a 6c 69 6e 6b 20 28 :type."elfeed"...........:link.(
161c0 66 6f 72 6d 61 74 20 22 65 6c 66 65 65 64 3a 25 73 22 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 format."elfeed:%s".elfeed-search
161e0 2d 66 69 6c 74 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 3a 64 65 73 63 72 69 70 74 69 6f 6e 20 -filter)...........:description.
16200 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 elfeed-search-filter)).........(
16220 28 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d 70 20 27 65 6c 66 65 65 64 2d 73 68 6f 77 2d 6d 6f 64 (derived-mode-p.'elfeed-show-mod
16240 65 29 0a 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 0a 20 20 20 20 20 20 20 20 20 20 27 6f 72 e)..........(apply...........'or
16260 67 2d 73 74 6f 72 65 2d 6c 69 6e 6b 2d 70 72 6f 70 73 0a 20 20 20 20 20 20 20 20 20 20 3a 74 79 g-store-link-props...........:ty
16280 70 65 20 22 65 6c 66 65 65 64 22 0a 20 20 20 20 20 20 20 20 20 20 3a 6c 69 6e 6b 20 28 66 6f 72 pe."elfeed"...........:link.(for
162a0 6d 61 74 20 22 65 6c 66 65 65 64 3a 25 73 23 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 mat."elfeed:%s#%s"..............
162c0 20 20 20 20 20 20 20 20 20 20 20 28 63 61 72 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 69 64 ...........(car.(elfeed-entry-id
162e0 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .elfeed-show-entry))............
16300 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d .............(cdr.(elfeed-entry-
16320 69 64 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 id.elfeed-show-entry))).........
16340 20 20 3a 64 65 73 63 72 69 70 74 69 6f 6e 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 69 74 ..:description.(elfeed-entry-tit
16360 6c 65 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 le.elfeed-show-entry)...........
16380 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 70 72 6f 70 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 .(cl-loop.for.prop.in...........
163a0 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 69 64 20 27 74 69 74 6c 65 20 27 6c 69 6e 6b ..........(list.'id.'title.'link
163c0 20 27 64 61 74 65 20 27 63 6f 6e 74 65 6e 74 20 27 63 6f 6e 74 65 6e 74 2d 74 79 70 65 20 27 65 .'date.'content.'content-type.'e
163e0 6e 63 6c 6f 73 75 72 65 73 20 27 74 61 67 73 20 27 66 65 65 64 2d 69 64 20 27 6d 65 74 61 29 0a nclosures.'tags.'feed-id.'meta).
16400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 63 6f 6e 63 20 28 6c 69 73 74 0a ....................nconc.(list.
16420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 ...........................(inte
16440 72 6e 20 28 63 6f 6e 63 61 74 20 22 3a 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 22 20 28 73 79 6d rn.(concat.":elfeed-entry-".(sym
16460 62 6f 6c 2d 6e 61 6d 65 20 70 72 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bol-name.prop)))................
16480 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 ............(funcall............
164a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 6e 20 28 63 6f 6e 63 61 74 .................(intern.(concat
164c0 20 22 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 70 72 ."elfeed-entry-".(symbol-name.pr
164e0 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 op)))...........................
16500 20 20 65 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 29 29 29 29 29 29 29 0a 0a 3b 3b 3b 23 ..elfeed-show-entry)))))))..;;;#
16520 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 6c 69 6e 6b 2d 6f 70 ##autoload.(defun.elfeed-link-op
16540 65 6e 20 28 66 69 6c 74 65 72 2d 6f 72 2d 69 64 29 0a 20 20 22 4a 75 6d 70 20 74 6f 20 61 6e 20 en.(filter-or-id)..."Jump.to.an.
16560 65 6c 66 65 65 64 20 65 6e 74 72 79 20 6f 72 20 73 65 61 72 63 68 2e 0a 0a 44 65 70 65 6e 64 69 elfeed.entry.or.search...Dependi
16580 6e 67 20 6f 6e 20 77 68 61 74 20 46 49 4c 54 45 52 2d 4f 52 2d 49 44 20 6c 6f 6f 6b 73 20 6c 69 ng.on.what.FILTER-OR-ID.looks.li
165a0 6b 65 2c 20 77 65 20 6a 75 6d 70 20 74 6f 20 65 69 74 68 65 72 0a 73 65 61 72 63 68 20 62 75 66 ke,.we.jump.to.either.search.buf
165c0 66 65 72 20 6f 72 20 73 68 6f 77 20 61 20 63 6f 6e 63 72 65 74 65 20 65 6e 74 72 79 2e 22 0a 20 fer.or.show.a.concrete.entry."..
165e0 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 28 5b 5e 23 5d 2b 5c 5c 29 23 .(if.(string-match."\\([^#]+\\)#
16600 5c 5c 28 2e 2b 5c 5c 29 22 20 66 69 6c 74 65 72 2d 6f 72 2d 69 64 29 0a 20 20 20 20 20 20 28 65 \\(.+\\)".filter-or-id).......(e
16620 6c 66 65 65 64 2d 73 68 6f 77 2d 65 6e 74 72 79 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d lfeed-show-entry.(elfeed-db-get-
16640 65 6e 74 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 entry...........................
16660 28 63 6f 6e 73 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 66 69 6c 74 65 72 2d 6f 72 2d (cons.(match-string.1.filter-or-
16680 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 id).............................
166a0 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 20 66 69 6c 74 65 72 2d 6f 72 2d 69 64 ....(match-string.2.filter-or-id
166c0 29 29 29 29 0a 20 20 20 20 28 65 6c 66 65 65 64 29 0a 20 20 20 20 28 65 6c 66 65 65 64 2d 73 65 )))).....(elfeed).....(elfeed-se
166e0 61 72 63 68 2d 73 65 74 2d 66 69 6c 74 65 72 20 66 69 6c 74 65 72 2d 6f 72 2d 69 64 29 29 29 0a arch-set-filter.filter-or-id))).
16700 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 .;;;###autoload.(eval-after-load
16720 20 27 6f 72 67 0a 20 20 60 28 66 75 6e 63 61 6c 6c 0a 20 20 20 20 3b 3b 20 54 68 65 20 65 78 74 .'org...`(funcall.....;;.The.ext
16740 72 61 20 71 75 6f 74 65 20 62 65 6c 6f 77 20 69 73 20 6e 65 63 65 73 73 61 72 79 20 62 65 63 61 ra.quote.below.is.necessary.beca
16760 75 73 65 20 75 6e 63 6f 6d 70 69 6c 65 64 20 63 6c 6f 73 75 72 65 73 0a 20 20 20 20 3b 3b 20 64 use.uncompiled.closures.....;;.d
16780 6f 20 6e 6f 74 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 68 65 6d 73 65 6c 76 65 73 2e 20 54 68 o.not.evaluate.to.themselves..Th
167a0 65 20 71 75 6f 74 65 20 69 73 20 68 61 72 6d 6c 65 73 73 20 66 6f 72 0a 20 20 20 20 3b 3b 20 62 e.quote.is.harmless.for.....;;.b
167c0 79 74 65 2d 63 6f 6d 70 69 6c 65 64 20 66 75 6e 63 74 69 6f 6e 20 6f 62 6a 65 63 74 73 2e 0a 20 yte-compiled.function.objects...
167e0 20 20 20 27 2c 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 76 65 72 ...',(lambda.().........(if.(ver
16800 73 69 6f 6e 3c 20 28 6f 72 67 2d 76 65 72 73 69 6f 6e 29 20 22 39 2e 30 22 29 0a 20 20 20 20 20 sion<.(org-version)."9.0")......
16820 20 20 20 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 0a 20 20 20 20 20 20 20 .......(with-no-warnings........
16840 20 20 20 20 20 20 20 28 6f 72 67 2d 61 64 64 2d 6c 69 6e 6b 2d 74 79 70 65 20 22 65 6c 66 65 65 .......(org-add-link-type."elfee
16860 64 22 20 23 27 65 6c 66 65 65 64 2d 6c 69 6e 6b 2d 6f 70 65 6e 29 0a 20 20 20 20 20 20 20 20 20 d".#'elfeed-link-open)..........
16880 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6f 72 67 2d 73 74 6f 72 65 2d 6c 69 6e 6b 2d 66 .....(add-hook.'org-store-link-f
168a0 75 6e 63 74 69 6f 6e 73 20 23 27 65 6c 66 65 65 64 2d 6c 69 6e 6b 2d 73 74 6f 72 65 2d 6c 69 6e unctions.#'elfeed-link-store-lin
168c0 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 0a k))...........(with-no-warnings.
168e0 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 6c 69 6e 6b 2d 73 65 74 2d 70 61 72 61 6d 65 ............(org-link-set-parame
16900 74 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 6c 66 65 65 64 22 0a 20 20 20 20 20 ters.............."elfeed"......
16920 20 20 20 20 20 20 20 20 3a 66 6f 6c 6c 6f 77 20 23 27 65 6c 66 65 65 64 2d 6c 69 6e 6b 2d 6f 70 ........:follow.#'elfeed-link-op
16940 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 74 6f 72 65 20 23 27 65 6c 66 65 65 64 2d en..............:store.#'elfeed-
16960 6c 69 6e 6b 2d 73 74 6f 72 65 2d 6c 69 6e 6b 29 29 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 link-store-link))))))..(provide.
16980 27 65 6c 66 65 65 64 2d 6c 69 6e 6b 29 0a 0a 3b 3b 3b 20 65 6c 66 65 65 64 2d 6c 69 6e 6b 2e 65 'elfeed-link)..;;;.elfeed-link.e
169a0 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 l.ends.here.....................
169c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
169e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16a00 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2d 6c 6f 67 2e elfeed-20240331.1348/elfeed-log.
16a20 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 el..............................
16a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16a60 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
16a80 30 30 30 35 31 33 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 36 36 00 20 30 00 00 00 0005137.00000000000.014566..0...
16aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16b00 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...................
16b20 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...................
16b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16c00 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
16c20 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
16c40 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:..;;;.
16c60 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
16c80 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.:
16ca0 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))...
16cc0 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
16ce0 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.'
16d00 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
16d20 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
16d40 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
16d60 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
16d80 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).
16da0 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-
16dc0 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
16de0 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
16e00 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
16e20 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
16e40 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
16e60 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
16e80 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
16ea0 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
16ec0 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
16ee0 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
16f00 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")
16f20 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
16f40 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
16f60 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
16f80 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
16fa0 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
16fc0 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
16fe0 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
17000 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
17020 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
17040 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
17060 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
17080 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.
170a0 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
170c0 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
170e0 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
17100 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).
17120 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).........(
17140 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
17160 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)..."
17180 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
171a0 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.....
171c0 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
171e0 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
17200 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.(
17220 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
17240 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
17260 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
17280 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,
172a0 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
172c0 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
172e0 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
17300 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))........
17320 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.
17340 20 20 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
17360 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)..
17380 20 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.'
173a0 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).....
173c0 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
173e0 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)........
17400 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
17420 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))).......
17440 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
17460 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
17480 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
174a0 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
174c0 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
174e0 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
17500 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........
17520 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."[".
17540 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
17560 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)."]."..............
17580 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.
175a0 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")......
175c0 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-
175e0 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...
17600 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
17620 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
17640 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..
17660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
176a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
176c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
176e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
177a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
177c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
177e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17800 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2d 70 6b 67 2e elfeed-20240331.1348/elfeed-pkg.
17820 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 el..............................
17840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17860 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
17880 30 30 30 30 35 36 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 36 37 00 20 30 00 00 00 0000566.00000000000.014567..0...
178a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
178c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
178e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17900 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...................
17920 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...................
17940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
179a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
179c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
179e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17a00 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 65 6c 66 65 65 64 22 20 22 32 30 32 34 30 33 (define-package."elfeed"."202403
17a20 33 31 2e 31 33 34 38 22 20 22 61 6e 20 45 6d 61 63 73 20 41 74 6f 6d 2f 52 53 53 20 66 65 65 64 31.1348"."an.Emacs.Atom/RSS.feed
17a40 20 72 65 61 64 65 72 22 0a 20 20 27 28 28 65 6d 61 63 73 20 22 32 34 2e 33 22 29 29 0a 20 20 3a .reader"...'((emacs."24.3"))...:
17a60 63 6f 6d 6d 69 74 20 22 35 63 30 35 61 31 65 61 62 33 37 62 63 31 31 33 65 63 62 31 35 38 61 34 commit."5c05a1eab37bc113ecb158a4
17a80 64 35 37 66 65 30 35 33 35 32 66 61 32 63 36 61 22 20 3a 61 75 74 68 6f 72 73 0a 20 20 27 28 28 d57fe05352fa2c6a".:authors...'((
17aa0 22 43 68 72 69 73 74 6f 70 68 65 72 20 57 65 6c 6c 6f 6e 73 22 20 2e 20 22 77 65 6c 6c 6f 6e 73 "Christopher.Wellons"..."wellons
17ac0 40 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 @nullprogram.com"))...:maintaine
17ae0 72 0a 20 20 27 28 22 43 68 72 69 73 74 6f 70 68 65 72 20 57 65 6c 6c 6f 6e 73 22 20 2e 20 22 77 r...'("Christopher.Wellons"..."w
17b00 65 6c 6c 6f 6e 73 40 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d 22 29 0a 20 20 3a 75 72 6c 20 ellons@nullprogram.com")...:url.
17b20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 6b 65 65 74 6f 2f 65 6c 66 65 65 "https://github.com/skeeto/elfee
17b40 64 22 29 0a 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 3b 3b 20 6e 6f 2d 62 79 d").;;.Local.Variables:.;;.no-by
17b60 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 0a 3b 3b 20 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 te-compile:.t.;;.End:...........
17b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17c00 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2d 73 65 61 72 elfeed-20240331.1348/elfeed-sear
17c20 63 68 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ch.el...........................
17c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17c60 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
17c80 30 31 31 32 30 30 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 32 34 34 00 20 30 00 00 00 0112006.00000000000.015244..0...
17ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17d00 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...................
17d20 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...................
17d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17e00 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
17e20 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:.
17e40 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
17e60 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.
17e80 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:..(
17ea0 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
17ec0 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
17ee0 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
17f00 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
17f20 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
17f40 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
17f60 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
17f80 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
17fa0 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-
17fc0 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
17fe0 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
18000 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.")..
18020 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
18040 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.`
18060 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
18080 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.
180a0 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
180c0 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
180e0 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
18100 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
18120 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
18140 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
18160 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".
18180 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.
181a0 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
181c0 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
181e0 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
18200 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
18220 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
18240 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
18260 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
18280 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
182a0 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
182c0 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
182e0 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).
18300 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.
18320 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.
18340 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
18360 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.
18380 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
183a0 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
183c0 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.`
183e0 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
18400 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
18420 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
18440 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
18460 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
18480 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
184a0 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)))
184c0 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
184e0 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,.
18500 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
18520 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.
18540 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
18560 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
18580 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
185a0 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
185c0 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
185e0 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,.
18600 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
18620 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
18640 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
18660 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
18680 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
186a0 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
186c0 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,
186e0 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.
18700 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
18720 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).
18740 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
18760 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...:
18780 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
187a0 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))
187c0 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
187e0 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
18800 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
18820 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.
18840 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
18860 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
18880 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.
188a0 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
188c0 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
188e0 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
18900 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
18920 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
18940 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
18960 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
18980 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
189a0 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
189c0 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
189e0 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
18a00 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
18a20 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
18a40 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
18a60 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.
18a80 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
18aa0 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
18ac0 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
18ae0 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
18b00 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.#
18b20 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).
18b40 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
18b60 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
18b80 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...
18ba0 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
18bc0 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.
18be0 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
18c00 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
18c20 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
18c40 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
18c60 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
18c80 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
18ca0 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.
18cc0 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'."..
18ce0 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
18d00 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
18d20 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.
18d40 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
18d60 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)).
18d80 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
18da0 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
18dc0 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
18de0 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
18e00 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
18e20 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
18e40 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
18e60 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
18e80 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)..
18ea0 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
18ec0 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
18ee0 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-
18f00 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
18f20 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).
18f40 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"
18f60 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)...
18f80 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
18fa0 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
18fc0 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
18fe0 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
19000 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
19020 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
19040 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).......(
19060 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
19080 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."
190a0 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
190c0 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
190e0 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)..
19100 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-
19120 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".
19140 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
19160 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
19180 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."-".#'
191a0 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).......(
191c0 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
191e0 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
19200 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
19220 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
19240 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
19260 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
19280 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."...(
192a0 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.((
192c0 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
192e0 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).......
19300 20 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
19320 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.........................
19340 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
19360 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
19380 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.").....
193a0 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).....
193c0 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
193e0 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
19400 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
19420 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.".").....
19440 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
19460 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
19480 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
194a0 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."
194c0 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
194e0 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
19500 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-
19520 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
19540 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
19560 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
19580 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
195a0 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)..............
195c0 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)
195e0 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
19600 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
19620 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
19640 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.
19660 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)...........
19680 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
196a0 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:
196c0 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
196e0 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..............
19700 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
19720 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
19740 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
19760 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."
19780 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
197a0 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-
197c0 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
197e0 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.((
19800 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)
19820 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-
19840 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
19860 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.
19880 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
198a0 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*.(
198c0 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
198e0 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)))............(
19900 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-%
19920 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))...........
19940 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
19960 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.
19980 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
199a0 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-
199c0 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)...............
199e0 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
19a00 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)......
19a20 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
19a40 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."")..
19a60 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."
19a80 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).....
19aa0 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
19ac0 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.......
19ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19b00 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
19b20 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)))................("")))))))
19b40 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.()..
19b60 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.
19b80 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
19ba0 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
19bc0 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
19be0 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).
19c00 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
19c20 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
19c40 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.
19c60 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....
19c80 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
19ca0 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.........;;
19cc0 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
19ce0 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....
19d00 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
19d20 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
19d40 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
19d60 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........
19d80 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
19da0 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")
19dc0 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-
19de0 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
19e00 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.
19e20 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
19e40 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
19e60 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
19e80 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
19ea0 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
19ec0 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
19ee0 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
19f00 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
19f20 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
19f40 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
19f60 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
19f80 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
19fa0 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-
19fc0 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
19fe0 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-
1a000 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
1a020 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
1a040 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
1a060 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-
1a080 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
1a0a0 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
1a0c0 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
1a0e0 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.()..."
1a100 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
1a120 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
1a140 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).....;;
1a160 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.
1a180 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
1a1a0 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
1a1c0 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
1a1e0 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
1a200 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.
1a220 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
1a240 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
1a260 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."...(
1a280 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
1a2a0 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
1a2c0 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
1a2e0 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
1a300 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
1a320 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)))......
1a340 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).
1a360 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)
1a380 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
1a3a0 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
1a3c0 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)))..
1a3e0 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).........
1a400 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
1a420 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
1a440 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)..............
1a460 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)............
1a480 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))))........(
1a4a0 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
1a4c0 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
1a4e0 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
1a500 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).
1a520 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
1a540 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
1a560 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
1a580 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
1a5a0 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
1a5c0 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
1a5e0 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
1a600 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
1a620 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
1a640 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).
1a660 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
1a680 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)).
1a6a0 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.
1a6c0 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.'
1a6e0 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-
1a700 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
1a720 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."
1a740 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
1a760 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
1a780 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
1a7a0 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
1a7c0 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
1a7e0 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
1a800 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
1a820 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
1a840 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
1a860 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
1a880 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)..(
1a8a0 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
1a8c0 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
1a8e0 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
1a900 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.'
1a920 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-
1a940 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
1a960 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
1a980 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
1a9a0 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
1a9c0 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
1a9e0 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
1aa00 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
1aa20 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...'((
1aa40 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))
1aa60 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
1aa80 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
1aaa0 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
1aac0 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
1aae0 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
1ab00 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
1ab20 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
1ab40 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
1ab60 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.
1ab80 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.
1aba0 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
1abc0 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
1abe0 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
1ac00 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
1ac20 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
1ac40 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
1ac60 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.
1ac80 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
1aca0 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
1acc0 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
1ace0 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
1ad00 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
1ad20 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
1ad40 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
1ad60 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.
1ad80 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
1ada0 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
1adc0 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............
1ade0 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).....
1ae00 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).....
1ae20 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-
1ae40 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
1ae60 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
1ae80 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
1aea0 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
1aec0 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))).
1aee0 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
1af00 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
1af20 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
1af40 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
1af60 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)))..........
1af80 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))
1afa0 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...........
1afc0 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
1afe0 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
1b000 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.
1b020 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
1b040 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
1b060 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.................
1b080 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
1b0a0 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))...
1b0c0 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.","))....
1b0e0 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
1b100 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
1b120 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
1b140 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.............
1b160 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.
1b180 20 20 20 20 20 20 20 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
1b1a0 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....
1b1c0 20 20 20 20 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
1b1e0 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.........................
1b200 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
1b220 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
1b240 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
1b260 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
1b280 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
1b2a0 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.
1b2c0 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.
1b2e0 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
1b300 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
1b320 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.
1b340 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.
1b360 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
1b380 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
1b3a0 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
1b3c0 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.(
1b3e0 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.())...
1b400 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
1b420 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.()).....
1b440 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
1b460 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.()).....
1b480 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
1b4a0 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
1b4c0 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
1b4e0 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.(
1b500 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...................(
1b520 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
1b540 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
1b560 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
1b580 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)...............
1b5a0 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)
1b5c0 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 )))...................(?-.......
1b5e0 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
1b600 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)))).....
1b620 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.'##
1b640 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)........................
1b660 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))))..
1b680 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
1b6a0 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)..............
1b6c0 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
1b6e0 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)."--")..........
1b700 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
1b720 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))......
1b740 20 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
1b760 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
1b780 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)))).........................
1b7a0 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
1b7c0 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))..............
1b7e0 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
1b800 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))..............
1b820 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
1b840 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)).........
1b860 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
1b880 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))))...................(
1b8a0 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.
1b8c0 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
1b8e0 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)...
1b900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 72 65 ........................(push.re
1b920 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))))................
1b940 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
1b960 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))))...
1b980 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
1b9a0 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)))...........
1b9c0 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
1b9e0 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)..................
1ba00 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)))).....
1ba20 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
1ba40 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))).............
1ba60 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-
1ba80 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)....................
1baa0 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))))...
1bac0 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
1bae0 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)
1bb00 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 ................................
1bb20 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))))).....`
1bb40 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.
1bb60 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
1bb80 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
1bba0 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.....
1bbc0 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
1bbe0 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..
1bc00 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
1bc20 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
1bc40 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
1bc60 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
1bc80 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
1bca0 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.
1bcc0 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))..
1bce0 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
1bd00 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.
1bd20 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
1bd40 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
1bd60 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
1bd80 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
1bda0 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
1bdc0 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")...
1bde0 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")..
1be00 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")..
1be20 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").
1be40 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"
1be60 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
1be80 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
1bea0 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")).
1bec0 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
1bee0 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
1bf00 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)............
1bf20 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).......
1bf40 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.
1bf60 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.................
1bf80 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
1bfa0 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))
1bfc0 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
1bfe0 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")."
1c000 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
1c020 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.&
1c040 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
1c060 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.
1c080 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
1c0a0 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
1c0c0 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
1c0e0 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
1c100 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
1c120 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
1c140 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
1c160 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
1c180 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
1c1a0 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
1c1c0 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
1c1e0 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
1c200 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
1c220 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.".
1c240 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
1c260 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.....
1c280 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..........................
1c2a0 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.
1c2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1c2e0 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..........
1c300 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...
1c320 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.....................
1c340 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-
1c360 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
1c380 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
1c3a0 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)
1c3c0 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
1c3e0 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."+
1c400 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.
1c420 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
1c440 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))...
1c460 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)........
1c480 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
1c4a0 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.
1c4c0 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)).......(
1c4e0 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
1c500 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
1c520 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.
1c540 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))....
1c560 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).....
1c580 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
1c5a0 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
1c5c0 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
1c5e0 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
1c600 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)...
1c620 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
1c640 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
1c660 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
1c680 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
1c6a0 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
1c6c0 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
1c6e0 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
1c700 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
1c720 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
1c740 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
1c760 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
1c780 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
1c7a0 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..........................
1c7c0 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.....
1c7e0 20 20 20 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
1c800 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..................
1c820 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
1c840 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
1c860 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
1c880 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
1c8a0 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
1c8c0 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))........
1c8e0 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
1c900 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
1c920 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-
1c940 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
1c960 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
1c980 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
1c9a0 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
1c9c0 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)))...
1c9e0 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.
1ca00 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
1ca20 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))................
1ca40 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
1ca60 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))
1ca80 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.(
1caa0 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)
1cac0 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.(
1cae0 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
1cb00 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
1cb20 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.....
1cb40 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).........
1cb60 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
1cb80 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)).........
1cba0 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
1cbc0 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))))........
1cbe0 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
1cc00 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)............
1cc20 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.....
1cc40 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))......
1cc60 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
1cc80 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)))
1cca0 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
1ccc0 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)
1cce0 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
1cd00 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)...........................(
1cd20 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)...
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 20 20 20 28 73 74 72 ............................(str
1cd60 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))).....
1cd80 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)).....
1cda0 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)...
1cdc0 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
1cde0 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)............
1ce00 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
1ce20 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)))................
1ce40 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
1ce60 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
1ce80 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
1cea0 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'.
1cec0 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
1cee0 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.\
1cf00 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.
1cf20 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
1cf40 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...
1cf60 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........................
1cf80 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.
1cfa0 20 20 20 20 20 20 20 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
1cfc0 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............
1cfe0 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
1d000 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.........................
1d020 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).
1d040 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.
1d060 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
1d080 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)..........
1d0a0 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................
1d0c0 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
1d0e0 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)..............
1d100 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
1d120 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...
1d140 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.........
1d160 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*.
1d180 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..................
1d1a0 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
1d1c0 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.(-.
1d1e0 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))))...........
1d200 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
1d220 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
1d240 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)))).
1d260 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
1d280 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)..................
1d2a0 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
1d2c0 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)........................
1d2e0 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
1d300 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.(
1d320 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)))).....
1d340 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-
1d360 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
1d380 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))......
1d3a0 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.(
1d3c0 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)........
1d3e0 20 20 20 20 20 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
1d400 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)."")))))...
1d420 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............
1d440 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)........
1d460 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)))).
1d480 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..........
1d4a0 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)...
1d4c0 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
1d4e0 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
1d500 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.......
1d520 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
1d540 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))).........
1d560 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
1d580 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........................
1d5a0 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))
1d5c0 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
1d5e0 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..........
1d600 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
1d620 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)..............
1d640 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
1d660 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)))...............,@
1d680 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
1d6a0 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.......................
1d6c0 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........................
1d6e0 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
1d700 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)...........................
1d720 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
1d740 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
1d760 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
1d780 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
1d7a0 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...............
1d7c0 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
1d7e0 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)...........
1d800 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
1d820 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)))))
1d840 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
1d860 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.......
1d880 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...
1d8a0 20 20 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
1d8c0 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................
1d8e0 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
1d900 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)...........
1d920 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
1d940 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))))
1d960 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.
1d980 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
1d9a0 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
1d9c0 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
1d9e0 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
1da00 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..
1da20 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=
1da40 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-
1da60 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
1da80 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."."))
1daa0 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
1dac0 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
1dae0 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
1db00 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
1db20 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'."...
1db40 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
1db60 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
1db80 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
1dba0 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
1dbc0 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)
1dbe0 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.
1dc00 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.
1dc20 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
1dc40 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.
1dc60 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
1dc80 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.
1dca0 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
1dcc0 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
1dce0 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
1dd00 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
1dd20 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.
1dd40 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
1dd60 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
1dd80 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
1dda0 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
1ddc0 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
1dde0 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
1de00 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
1de20 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.
1de40 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
1de60 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
1de80 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
1dea0 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
1dec0 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.
1dee0 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
1df00 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
1df20 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
1df40 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.
1df60 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\"..
1df80 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.
1dfa0 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
1dfc0 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
1dfe0 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.
1e000 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.
1e020 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.
1e040 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
1e060 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.
1e080 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
1e0a0 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."
1e0c0 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
1e0e0 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
1e100 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
1e120 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
1e140 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
1e160 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
1e180 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
1e1a0 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.........
1e1c0 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.
1e1e0 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
1e200 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
1e220 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.
1e240 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
1e260 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
1e280 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
1e2a0 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
1e2c0 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)..
1e2e0 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
1e300 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.........
1e320 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
1e340 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
1e360 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
1e380 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
1e3a0 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
1e3c0 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..........(
1e3e0 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)........
1e400 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
1e420 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)
1e440 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
1e460 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
1e480 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
1e4a0 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
1e4c0 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)..................
1e4e0 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)..............
1e500 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))))).....
1e520 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
1e540 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
1e560 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
1e580 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
1e5a0 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.(
1e5c0 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.
1e5e0 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.
1e600 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.((
1e620 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
1e640 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....
1e660 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
1e680 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))).
1e6a0 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
1e6c0 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
1e6e0 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))).......(
1e700 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......
1e720 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
1e740 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)
1e760 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
1e780 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
1e7a0 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)
1e7c0 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
1e7e0 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
1e800 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))........
1e820 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)))....
1e840 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
1e860 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
1e880 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
1e8a0 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
1e8c0 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
1e8e0 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 ................................
1e900 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
1e920 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)........................
1e940 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
1e960 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
1e980 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)
1e9a0 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
1e9c0 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
1e9e0 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
1ea00 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
1ea20 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
1ea40 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
1ea60 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.
1ea80 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
1eaa0 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
1eac0 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-
1eae0 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
1eb00 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
1eb20 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).............
1eb40 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
1eb60 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)..
1eb80 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-
1eba0 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
1ebc0 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)...........
1ebe0 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
1ec00 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)............
1ec20 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.
1ec40 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
1ec60 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
1ec80 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
1eca0 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
1ecc0 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
1ece0 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
1ed00 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.
1ed20 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)..."
1ed40 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
1ed60 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
1ed80 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
1eda0 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
1edc0 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
1ede0 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
1ee00 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-
1ee20 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-
1ee40 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
1ee60 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
1ee80 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."...(
1eea0 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
1eec0 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
1eee0 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
1ef00 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.
1ef20 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)
1ef40 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
1ef60 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
1ef80 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))...........
1efa0 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
1efc0 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
1efe0 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
1f000 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
1f020 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
1f040 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.......(
1f060 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))....
1f080 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
1f0a0 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))).......
1f0c0 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-
1f0e0 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
1f100 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
1f120 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
1f140 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
1f160 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.
1f180 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
1f1a0 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-
1f1c0 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
1f1e0 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
1f200 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
1f220 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
1f240 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..
1f260 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,.
1f280 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
1f2a0 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
1f2c0 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
1f2e0 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
1f300 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))
1f320 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
1f340 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)))).
1f360 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
1f380 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).........
1f3a0 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
1f3c0 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.=.(
1f3e0 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)...
1f400 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
1f420 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
1f440 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.
1f460 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................
1f480 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
1f4a0 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.............................
1f4c0 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)...........
1f4e0 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)
1f500 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
1f520 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)
1f540 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
1f560 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'..
1f580 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
1f5a0 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
1f5c0 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
1f5e0 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."
1f600 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
1f620 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
1f640 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
1f660 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.............
1f680 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)
1f6a0 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
1f6c0 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
1f6e0 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..................
1f700 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)......
1f720 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)))..
1f740 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
1f760 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.
1f780 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
1f7a0 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
1f7c0 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
1f7e0 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
1f800 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.......(
1f820 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
1f840 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
1f860 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-
1f880 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
1f8a0 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
1f8c0 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
1f8e0 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."
1f900 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
1f920 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))....
1f940 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
1f960 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
1f980 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
1f9a0 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.....
1f9c0 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)
1f9e0 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).....
1fa00 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
1fa20 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.
1fa40 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
1fa60 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
1fa80 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
1faa0 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-
1fac0 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:.%
1fae0 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
1fb00 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).
1fb20 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-
1fb40 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)).
1fb60 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
1fb80 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)..
1fba0 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
1fbc0 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
1fbe0 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:."
1fc00 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
1fc20 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
1fc40 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
1fc60 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)...
1fc80 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
1fca0 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)).....
1fcc0 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
1fce0 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
1fd00 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
1fd20 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
1fd40 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:."))
1fd60 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
1fd80 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
1fda0 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
1fdc0 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)...
1fde0 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
1fe00 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)).....
1fe20 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
1fe40 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
1fe60 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
1fe80 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.
1fea0 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:.")))
1fec0 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
1fee0 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
1ff00 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
1ff20 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
1ff40 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).........
1ff60 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
1ff80 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
1ffa0 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
1ffc0 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
1ffe0 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
20000 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
20020 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
20040 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
20060 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))))..(
20080 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.(
200a0 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.
200c0 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
200e0 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-
20100 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
20120 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
20140 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
20160 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-
20180 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).....(
201a0 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
201c0 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
201e0 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
20200 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
20220 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
20240 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
20260 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
20280 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
202a0 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
202c0 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
202e0 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..
20300 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!"
20320 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.
20340 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
20360 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.
20380 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
203a0 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
203c0 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
203e0 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.
20400 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.
20420 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."
20440 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
20460 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
20480 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
204a0 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
204c0 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
204e0 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
20500 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
20520 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).
20540 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
20560 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
20580 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
205a0 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
205c0 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
205e0 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.?+.
20600 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-
20620 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
20640 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)....
20660 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
20680 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
206a0 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
206c0 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
206e0 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
20700 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
20720 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
20740 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
20760 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
20780 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
207a0 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
207c0 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
207e0 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))))
20800 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
20820 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
20840 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
20860 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-
20880 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
208a0 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.
208c0 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
208e0 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
20900 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
20920 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-
20940 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
20960 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
20980 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
209a0 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
209c0 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
209e0 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
20a00 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
20a20 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........................
20a40 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)...
20a60 20 20 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.")
20a80 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
20aa0 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
20ac0 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
20ae0 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)............
20b00 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
20b20 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
20b40 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).....
20b60 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)))))))).
20b80 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
20ba0 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
20bc0 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
20be0 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
20c00 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-
20c20 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
20c40 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........
20c60 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
20c80 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))).
20ca0 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
20cc0 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
20ce0 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-
20d00 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
20d20 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
20d40 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
20d60 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
20d80 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-
20da0 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.()..
20dc0 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
20de0 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.
20e00 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
20e20 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
20e40 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.
20e60 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
20e80 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
20ea0 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-
20ec0 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
20ee0 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)).......
20f00 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
20f20 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..
20f40 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
20f60 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
20f80 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
20fa0 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
20fc0 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
20fe0 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
21000 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-
21020 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-
21040 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)
21060 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
21080 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
210a0 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)...
210c0 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-
210e0 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
21100 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
21120 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
21140 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
21160 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
21180 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
211a0 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
211c0 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
211e0 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
21200 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...........................
21220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
212a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
212c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
212e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
213a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
213c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
213e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21400 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2d 73 68 6f 77 elfeed-20240331.1348/elfeed-show
21420 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.............................
21440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21460 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
21480 30 30 34 35 36 32 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 37 36 36 00 20 30 00 00 00 0045620.00000000000.014766..0...
214a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
214c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
214e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21500 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...................
21520 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...................
21540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
215a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
215c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
215e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21600 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
21620 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:
21640 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
21660 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
21680 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:..
216a0 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)
216c0 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.'
216e0 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).;
21700 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
21720 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)..(
21740 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
21760 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
21780 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
217a0 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.
217c0 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
217e0 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
21800 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
21820 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
21840 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
21860 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.
21880 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).".
218a0 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
218c0 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
218e0 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
21900 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
21920 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
21940 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
21960 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."...:
21980 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.(
219a0 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).
219c0 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.
219e0 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)..................
21a00 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
21a20 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
21a40 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
21a60 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
21a80 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."..
21aa0 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
21ac0 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
21ae0 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
21b00 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)..............
21b20 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
21b40 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
21b60 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
21b80 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
21ba0 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
21bc0 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.(
21be0 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
21c00 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)
21c20 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
21c40 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
21c60 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
21c80 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".#'
21ca0 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
21cc0 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
21ce0 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".#
21d00 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
21d20 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)
21d40 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
21d60 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).......
21d80 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
21da0 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."
21dc0 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
21de0 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
21e00 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
21e20 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).......(
21e40 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
21e60 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."<
21e80 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).......(
21ea0 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
21ec0 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."
21ee0 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)......
21f00 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
21f20 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
21f40 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
21f60 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
21f80 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)
21fa0 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]
21fc0 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
21fe0 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
22000 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
22020 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
22040 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
22060 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
22080 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".
220a0 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))).
220c0 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'
220e0 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.().
22100 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
22120 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-
22140 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
22160 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-
22180 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
221a0 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..
221c0 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"..
221e0 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
22200 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
22220 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)...
22240 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
22260 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).......
22280 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
222a0 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
222c0 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
222e0 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
22300 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).
22320 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
22340 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.(
22360 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
22380 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
223a0 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
223c0 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
223e0 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..
22400 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
22420 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
22440 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....
22460 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
22480 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)))........
224a0 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
224c0 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).(
224e0 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.(
22500 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
22520 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.
22540 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
22560 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
22580 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
225a0 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
225c0 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............
225e0 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)..........
22600 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
22620 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
22640 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
22660 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".......
22680 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
226a0 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).................
226c0 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.(
226e0 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
22700 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>
22720 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-
22740 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
22760 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
22780 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
227a0 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
227c0 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).....
227e0 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).....
22800 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
22820 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
22840 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.
22860 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
22880 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
228a0 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.....(
228c0 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)......
228e0 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
22900 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
22920 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
22940 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))...........((
22960 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
22980 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))...........
229a0 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
229c0 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).........
229e0 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
22a00 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.()...
22a20 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.
22a40 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
22a60 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
22a80 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
22aa0 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
22ac0 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
22ae0 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
22b00 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
22b20 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
22b40 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.(
22b60 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
22b80 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
22ba0 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)).....
22bc0 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
22be0 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
22c00 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,.%
22c20 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))..........(
22c40 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
22c60 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)))
22c80 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
22ca0 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))..
22cc0 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
22ce0 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
22d00 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
22d20 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
22d40 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
22d60 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).
22d80 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.
22da0 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
22dc0 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
22de0 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
22e00 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
22e20 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
22e40 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.
22e60 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
22e80 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
22ea0 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
22ec0 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
22ee0 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)...................
22f00 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
22f20 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
22f40 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\
22f60 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)..
22f80 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
22fa0 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
22fc0 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
22fe0 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
23000 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).................
23020 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
23040 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
23060 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.(
23080 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
230a0 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).............
230c0 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
230e0 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))))...
23100 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:.".'
23120 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)).....
23140 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)..
23160 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
23180 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
231a0 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)......
231c0 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."
231e0 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
23200 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
23220 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))..
23240 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"))...
23260 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.
23280 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).....
232a0 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
232c0 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
232e0 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.
23300 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)))....
23320 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
23340 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
23360 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
23380 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)...(
233a0 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
233c0 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
233e0 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..."
23400 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
23420 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
23440 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
23460 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
23480 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
234a0 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
234c0 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
234e0 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
23500 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
23520 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
23540 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.......(
23560 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>*".
23580 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
235a0 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
235c0 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)))...
235e0 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
23600 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
23620 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.".
23640 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
23660 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
23680 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
236a0 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).....
236c0 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)
236e0 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))...
23700 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
23720 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-
23740 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
23760 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
23780 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
237a0 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
237c0 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)..
237e0 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
23800 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
23820 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
23840 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
23860 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.
23880 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
238a0 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
238c0 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-
238e0 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
23900 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
23920 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)).
23940 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-
23960 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
23980 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-
239a0 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
239c0 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.*
239e0 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)
23a00 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
23a20 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)
23a40 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
23a60 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
23a80 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
23aa0 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
23ac0 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
23ae0 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
23b00 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
23b20 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.
23b40 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
23b60 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...
23b80 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:.%
23ba0 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
23bc0 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
23be0 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)))
23c00 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.()..
23c20 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
23c40 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
23c60 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
23c80 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))).....(
23ca0 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).
23cc0 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
23ce0 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
23d00 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
23d20 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
23d40 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))).......(
23d60 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))))..(
23d80 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
23da0 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.
23dc0 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
23de0 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:
23e00 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
23e20 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
23e40 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-
23e60 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)...
23e80 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.
23ea0 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
23ec0 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.(&
23ee0 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
23f00 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
23f20 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
23f40 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)).........
23f60 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
23f80 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))...............
23fa0 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
23fc0 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)))..
23fe0 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
24000 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
24020 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-
24040 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
24060 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
24080 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
240a0 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
240c0 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
240e0 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
24100 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
24120 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
24140 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.
24160 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
24180 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
241a0 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
241c0 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
241e0 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...
24200 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
24220 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
24240 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
24260 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
24280 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
242a0 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
242c0 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
242e0 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
24300 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
24320 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
24340 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
24360 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
24380 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
243a0 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
243c0 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
243e0 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
24400 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
24420 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.
24440 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.()............(
24460 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))......
24480 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
244a0 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)
244c0 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
244e0 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
24500 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.
24520 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
24540 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
24560 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
24580 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
245a0 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.
245c0 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
245e0 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
24600 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
24620 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
24640 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
24660 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
24680 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
246a0 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
246c0 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
246e0 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.
24700 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
24720 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
24740 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)..........
24760 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)
24780 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
247a0 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.
247c0 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)))..
247e0 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.
24800 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).....
24820 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))))
24840 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
24860 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
24880 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
248a0 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
248c0 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............
248e0 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:."
24900 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)))....
24920 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)...
24940 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
24960 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
24980 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
249a0 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.
249c0 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.
249e0 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
24a00 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
24a20 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..................(
24a40 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
24a60 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.
24a80 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)........
24aa0 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
24ac0 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.
24ae0 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
24b00 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.
24b20 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-
24b40 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
24b60 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.(
24b80 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...........
24ba0 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
24bc0 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
24be0 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
24c00 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
24c20 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
24c40 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
24c60 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.
24c80 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
24ca0 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
24cc0 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
24ce0 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
24d00 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))
24d20 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
24d40 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..................
24d60 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
24d80 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.........................
24da0 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
24dc0 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
24de0 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
24e00 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)...........................
24e20 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))))
24e40 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
24e60 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
24e80 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
24ea0 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
24ec0 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
24ee0 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
24f00 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
24f20 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.
24f40 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)...........
24f60 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
24f80 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)))))
24fa0 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
24fc0 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
24fe0 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
25000 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.
25020 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
25040 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
25060 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]
25080 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
250a0 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
250c0 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....
250e0 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
25100 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
25120 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
25140 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
25160 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
25180 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*.(
251a0 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
251c0 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
251e0 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.............
25200 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
25220 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))..
25240 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
25260 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)))........
25280 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
252a0 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)).
252c0 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-
252e0 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))..
25300 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
25320 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
25340 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-
25360 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)))..........
25380 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
253a0 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
253c0 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
253e0 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
25400 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)).............
25420 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...................
25440 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
25460 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..............
25480 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
254a0 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.
254c0 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..
254e0 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
25500 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
25520 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).....................
25540 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
25560 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)........
25580 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
255a0 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
255c0 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--
255e0 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
25600 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
25620 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
25640 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
25660 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
25680 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.(
256a0 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
256c0 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
256e0 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
25700 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
25720 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
25740 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
25760 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).
25780 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-
257a0 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
257c0 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)..
257e0 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
25800 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
25820 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
25840 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
25860 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
25880 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
258a0 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
258c0 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
258e0 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
25900 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
25920 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
25940 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
25960 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
25980 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
259a0 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
259c0 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
259e0 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
25a00 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....
25a20 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).......
25a40 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
25a60 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
25a80 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
25aa0 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
25ac0 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
25ae0 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
25b00 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
25b20 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
25b40 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
25b60 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
25b80 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
25ba0 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
25bc0 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
25be0 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
25c00 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)..................
25c20 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.
25c40 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
25c60 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
25c80 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.
25ca0 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
25cc0 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-
25ce0 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
25d00 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
25d20 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
25d40 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
25d60 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.(
25d80 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
25da0 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
25dc0 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
25de0 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).................
25e00 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))))...
25e20 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
25e40 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
25e60 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))
25e80 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
25ea0 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
25ec0 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
25ee0 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'
25f00 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
25f20 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.
25f40 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)).......
25f60 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
25f80 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
25fa0 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
25fc0 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
25fe0 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
26000 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
26020 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
26040 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))
26060 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)).....
26080 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
260a0 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
260c0 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).
260e0 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
26100 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
26120 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-
26140 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
26160 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
26180 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.................
261a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
261c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
261e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26200 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 65 6c 66 65 65 64 2e 65 6c 00 00 elfeed-20240331.1348/elfeed.el..
26220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26260 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
26280 30 30 36 36 36 33 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 30 31 36 00 20 30 00 00 00 0066632.00000000000.014016..0...
262a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
262c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
262e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26300 00 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...................
26320 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...................
26340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
263a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
263c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
263e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26400 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/
26420 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
26440 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
26460 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.
26480 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
264a0 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
264c0 40 6e 75 6c 6c 70 72 6f 67 72 61 6d 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a @nullprogram.com>.;;.URL:.https:
264e0 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 6b 65 65 74 6f 2f 65 6c 66 65 65 64 0a 0a 3b 3b 3b 20 //github.com/skeeto/elfeed..;;;.
26500 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 45 6c 66 65 65 64 20 69 73 20 61 20 77 65 62 20 Commentary:..;;.Elfeed.is.a.web.
26520 66 65 65 64 20 63 6c 69 65 6e 74 20 66 6f 72 20 45 6d 61 63 73 2c 20 69 6e 73 70 69 72 65 64 20 feed.client.for.Emacs,.inspired.
26540 62 79 20 6e 6f 74 6d 75 63 68 2e 20 53 65 65 0a 3b 3b 20 74 68 65 20 52 45 41 44 4d 45 20 66 6f by.notmuch..See.;;.the.README.fo
26560 72 20 66 75 6c 6c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a r.full.documentation...;;;.Code:
26580 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 78 6d ..(require.'cl-lib).(require.'xm
265a0 6c 29 0a 28 72 65 71 75 69 72 65 20 27 78 6d 6c 2d 71 75 65 72 79 29 0a 28 72 65 71 75 69 72 65 l).(require.'xml-query).(require
265c0 20 27 75 72 6c 2d 70 61 72 73 65 29 0a 28 72 65 71 75 69 72 65 20 27 75 72 6c 2d 71 75 65 75 65 .'url-parse).(require.'url-queue
265e0 29 0a 0a 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 64 2d 64 62 29 0a 28 72 65 71 75 69 72 65 )..(require.'elfeed-db).(require
26600 20 27 65 6c 66 65 65 64 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 64 2d 6c .'elfeed-lib).(require.'elfeed-l
26620 6f 67 29 0a 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 64 2d 63 75 72 6c 29 0a 0a 3b 3b 20 49 og).(require.'elfeed-curl)..;;.I
26640 6e 74 65 72 66 61 63 65 20 74 6f 20 65 6c 66 65 65 64 2d 73 65 61 72 63 68 20 28 6c 61 7a 79 20 nterface.to.elfeed-search.(lazy.
26660 72 65 71 75 69 72 65 64 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 65 6c 66 65 required).(declare-function.elfe
26680 65 64 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 20 ed-search-buffer.'elfeed-search.
266a0 28 29 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 65 6c 66 65 65 64 2d 73 65 61 ()).(declare-function.elfeed-sea
266c0 72 63 68 2d 6d 6f 64 65 20 20 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 20 28 29 29 0a 0a 28 rch-mode...'elfeed-search.())..(
266e0 64 65 66 67 72 6f 75 70 20 65 6c 66 65 65 64 20 28 29 0a 20 20 22 41 6e 20 45 6d 61 63 73 20 77 defgroup.elfeed.()..."An.Emacs.w
26700 65 62 20 66 65 65 64 20 72 65 61 64 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 6f 6d 6d 29 eb.feed.reader."...:group.'comm)
26720 0a 0a 28 64 65 66 63 6f 6e 73 74 20 65 6c 66 65 65 64 2d 76 65 72 73 69 6f 6e 20 22 33 2e 34 2e ..(defconst.elfeed-version."3.4.
26740 31 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 66 65 65 64 73 20 28 29 0a 1")..(defcustom.elfeed-feeds.().
26760 20 20 22 4c 69 73 74 20 6f 66 20 61 6c 6c 20 66 65 65 64 73 20 74 68 61 74 20 45 6c 66 65 65 64 .."List.of.all.feeds.that.Elfeed
26780 20 73 68 6f 75 6c 64 20 66 6f 6c 6c 6f 77 2e 0a 59 6f 75 20 6d 75 73 74 20 61 64 64 20 79 6f 75 .should.follow..You.must.add.you
267a0 72 20 66 65 65 64 73 20 74 6f 20 74 68 69 73 20 6c 69 73 74 2e 0a 0a 49 6e 20 69 74 73 20 73 69 r.feeds.to.this.list...In.its.si
267c0 6d 70 6c 65 73 74 20 66 6f 72 6d 20 74 68 69 73 20 77 69 6c 6c 20 62 65 20 61 20 6c 69 73 74 20 mplest.form.this.will.be.a.list.
267e0 6f 66 20 73 74 72 69 6e 67 73 20 6f 66 20 66 65 65 64 20 55 52 4c 73 2e 0a 49 74 65 6d 73 20 69 of.strings.of.feed.URLs..Items.i
26800 6e 20 74 68 69 73 20 6c 69 73 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 6c 69 73 74 20 77 68 6f n.this.list.can.also.be.list.who
26820 73 65 20 63 61 72 20 69 73 20 74 68 65 20 66 65 65 64 20 55 52 4c 0a 61 6e 64 20 63 64 72 20 69 se.car.is.the.feed.URL.and.cdr.i
26840 73 20 61 20 6c 69 73 74 20 6f 66 20 73 79 6d 62 6f 6c 73 20 74 6f 20 62 65 20 61 70 70 6c 69 65 s.a.list.of.symbols.to.be.applie
26860 64 20 74 6f 20 61 6c 6c 20 64 69 73 63 6f 76 65 72 65 64 0a 65 6e 74 72 69 65 73 20 61 73 20 74 d.to.all.discovered.entries.as.t
26880 61 67 73 20 28 5c 22 61 75 74 6f 74 61 67 73 5c 22 29 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c ags.(\"autotags\")..For.example,
268a0 0a 0a 20 20 28 73 65 74 71 20 65 6c 66 65 65 64 2d 66 65 65 64 73 20 5c 5c 3d 27 28 5c 22 68 74 ....(setq.elfeed-feeds.\\='(\"ht
268c0 74 70 3a 2f 2f 66 6f 6f 2f 5c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tp://foo/\".....................
268e0 20 20 20 5c 22 68 74 74 70 3a 2f 2f 62 61 72 2f 5c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...\"http://bar/\"..............
26900 20 20 20 20 20 20 20 20 20 20 28 5c 22 68 74 74 70 3a 2f 2f 62 61 7a 2f 5c 22 20 63 6f 6d 69 63 ..........(\"http://baz/\".comic
26920 29 29 29 0a 0a 41 6c 6c 20 65 6e 74 72 69 65 73 20 66 72 6f 6d 20 74 68 65 20 5c 22 62 61 7a 5c )))..All.entries.from.the.\"baz\
26940 22 20 66 65 65 64 20 77 69 6c 6c 20 62 65 20 74 61 67 67 65 64 20 61 73 20 5c 22 63 6f 6d 69 63 ".feed.will.be.tagged.as.\"comic
26960 5c 22 0a 77 68 65 6e 20 74 68 65 79 20 61 72 65 20 66 69 72 73 74 20 64 69 73 63 6f 76 65 72 65 \".when.they.are.first.discovere
26980 64 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 20 27 28 72 d."...:group.'elfeed...:type.'(r
269a0 65 70 65 61 74 20 28 63 68 6f 69 63 65 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 epeat.(choice.string............
269c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 73 74 72 69 6e 67 20 28 72 65 70 65 ..............(cons.string.(repe
269e0 61 74 20 73 79 6d 62 6f 6c 29 29 29 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 at.symbol)))))..(defcustom.elfee
26a00 64 2d 66 65 65 64 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 27 28 65 6c 66 65 65 64 2d 67 65 74 2d d-feed-functions...'(elfeed-get-
26a20 6c 69 6e 6b 2d 61 74 2d 70 6f 69 6e 74 0a 20 20 20 20 65 6c 66 65 65 64 2d 67 65 74 2d 75 72 6c link-at-point.....elfeed-get-url
26a40 2d 61 74 2d 70 6f 69 6e 74 0a 20 20 20 20 65 6c 66 65 65 64 2d 63 6c 69 70 62 6f 61 72 64 2d 67 -at-point.....elfeed-clipboard-g
26a60 65 74 29 0a 20 20 22 4c 69 73 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 75 73 65 20 et)..."List.of.functions.to.use.
26a80 74 6f 20 67 65 74 20 70 6f 73 73 69 62 6c 65 20 66 65 65 64 73 20 66 6f 72 20 60 65 6c 66 65 65 to.get.possible.feeds.for.`elfee
26aa0 64 2d 61 64 64 2d 66 65 65 64 27 2e 0a 45 61 63 68 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c d-add-feed'..Each.function.shoul
26ac0 64 20 61 63 63 65 70 74 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2c 20 61 6e 64 20 72 65 74 75 72 d.accept.no.arguments,.and.retur
26ae0 6e 20 61 20 73 74 72 69 6e 67 20 6f 72 20 6e 69 6c 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c n.a.string.or.nil."...:group.'el
26b00 66 65 65 64 0a 20 20 3a 74 79 70 65 20 27 68 6f 6f 6b 0a 20 20 3a 6f 70 74 69 6f 6e 73 20 27 28 feed...:type.'hook...:options.'(
26b20 65 6c 66 65 65 64 2d 67 65 74 2d 6c 69 6e 6b 2d 61 74 2d 70 6f 69 6e 74 0a 20 20 20 20 20 20 20 elfeed-get-link-at-point........
26b40 20 20 20 20 20 20 65 6c 66 65 65 64 2d 67 65 74 2d 75 72 6c 2d 61 74 2d 70 6f 69 6e 74 0a 20 20 ......elfeed-get-url-at-point...
26b60 20 20 20 20 20 20 20 20 20 20 20 65 6c 66 65 65 64 2d 63 6c 69 70 62 6f 61 72 64 2d 67 65 74 29 ...........elfeed-clipboard-get)
26b80 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 75 73 65 2d 63 75 72 6c 0a 20 20 )..(defcustom.elfeed-use-curl...
26ba0 28 6e 6f 74 20 28 6e 75 6c 6c 20 28 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 20 65 6c 66 65 (not.(null.(executable-find.elfe
26bc0 65 64 2d 63 75 72 6c 2d 70 72 6f 67 72 61 6d 2d 6e 61 6d 65 29 29 29 0a 20 20 22 49 66 20 6e 6f ed-curl-program-name)))..."If.no
26be0 6e 2d 6e 69 6c 2c 20 66 65 74 63 68 20 66 65 65 64 73 20 75 73 69 6e 67 20 63 75 72 6c 20 69 6e n-nil,.fetch.feeds.using.curl.in
26c00 73 74 65 61 64 20 6f 66 20 60 75 72 6c 2d 72 65 74 72 69 65 76 65 27 2e 22 0a 20 20 3a 67 72 6f stead.of.`url-retrieve'."...:gro
26c20 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 up.'elfeed...:type.'boolean)..(d
26c40 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d 75 73 65 72 2d 61 67 65 6e 74 20 28 66 6f 72 6d efcustom.elfeed-user-agent.(form
26c60 61 74 20 22 45 6d 61 63 73 20 45 6c 66 65 65 64 20 25 73 22 20 65 6c 66 65 65 64 2d 76 65 72 73 at."Emacs.Elfeed.%s".elfeed-vers
26c80 69 6f 6e 29 0a 20 20 22 55 73 65 72 20 61 67 65 6e 74 20 73 74 72 69 6e 67 20 74 6f 20 75 73 65 ion)..."User.agent.string.to.use
26ca0 20 66 6f 72 20 45 6c 66 65 65 64 20 28 72 65 71 75 69 72 65 73 20 60 65 6c 66 65 65 64 2d 75 73 .for.Elfeed.(requires.`elfeed-us
26cc0 65 2d 63 75 72 6c 27 29 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 e-curl')."...:group.'elfeed...:t
26ce0 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 65 6c 66 65 65 64 2d ype.'string)..(defcustom.elfeed-
26d00 69 6e 69 74 69 61 6c 2d 74 61 67 73 20 27 28 75 6e 72 65 61 64 29 0a 20 20 22 49 6e 69 74 69 61 initial-tags.'(unread)..."Initia
26d20 6c 20 74 61 67 73 20 66 6f 72 20 6e 65 77 20 65 6e 74 72 69 65 73 2e 22 0a 20 20 3a 67 72 6f 75 l.tags.for.new.entries."...:grou
26d40 70 20 27 65 6c 66 65 65 64 0a 20 20 3a 74 79 70 65 20 27 28 72 65 70 65 61 74 20 73 79 6d 62 6f p.'elfeed...:type.'(repeat.symbo
26d60 6c 29 29 0a 0a 3b 3b 20 46 65 74 63 68 69 6e 67 3a 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 l))..;;.Fetching:..(defvar.elfee
26d80 64 2d 68 74 74 70 2d 65 72 72 6f 72 2d 68 6f 6f 6b 73 20 28 29 0a 20 20 22 48 6f 6f 6b 73 20 74 d-http-error-hooks.()..."Hooks.t
26da0 6f 20 72 75 6e 20 77 68 65 6e 20 61 6e 20 68 74 74 70 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 65 72 o.run.when.an.http.connection.er
26dc0 72 6f 72 20 6f 63 63 75 72 73 2e 0a 49 74 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 32 20 ror.occurs..It.is.called.with.2.
26de0 61 72 67 75 6d 65 6e 74 73 2e 20 54 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 69 73 arguments..The.first.argument.is
26e00 20 74 68 65 20 75 72 6c 20 6f 66 0a 74 68 65 20 66 61 69 6c 69 6e 67 20 66 65 65 64 2e 20 54 68 .the.url.of.the.failing.feed..Th
26e20 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 68 74 74 70 20 73 74 e.second.argument.is.the.http.st
26e40 61 74 75 73 20 63 6f 64 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 70 61 72 atus.code.")..(defvar.elfeed-par
26e60 73 65 2d 65 72 72 6f 72 2d 68 6f 6f 6b 73 20 28 29 0a 20 20 22 48 6f 6f 6b 73 20 74 6f 20 72 75 se-error-hooks.()..."Hooks.to.ru
26e80 6e 20 77 68 65 6e 20 61 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 73 20 64 75 72 69 6e 67 20 74 68 n.when.an.error.occurs.during.th
26ea0 65 20 70 61 72 73 69 6e 67 20 6f 66 20 61 20 66 65 65 64 2e 0a 49 74 20 69 73 20 63 61 6c 6c 65 e.parsing.of.a.feed..It.is.calle
26ec0 64 20 77 69 74 68 20 32 20 61 72 67 75 6d 65 6e 74 73 2e 20 54 68 65 20 66 69 72 73 74 20 61 72 d.with.2.arguments..The.first.ar
26ee0 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 75 72 6c 20 6f 66 0a 74 68 65 20 66 61 69 6c 69 6e 67 gument.is.the.url.of.the.failing
26f00 20 66 65 65 64 2e 20 54 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 .feed..The.second.argument.is.th
26f20 65 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 e.error.message..")..(defvar.elf
26f40 65 65 64 2d 75 70 64 61 74 65 2d 68 6f 6f 6b 73 20 28 29 0a 20 20 22 48 6f 6f 6b 73 20 74 6f 20 eed-update-hooks.()..."Hooks.to.
26f60 72 75 6e 20 61 6e 79 20 74 69 6d 65 20 61 20 66 65 65 64 20 75 70 64 61 74 65 20 68 61 73 20 63 run.any.time.a.feed.update.has.c
26f80 6f 6d 70 6c 65 74 65 64 20 61 20 72 65 71 75 65 73 74 2e 0a 49 74 20 69 73 20 63 61 6c 6c 65 64 ompleted.a.request..It.is.called
26fa0 20 77 69 74 68 20 31 20 61 72 67 75 6d 65 6e 74 3a 20 74 68 65 20 55 52 4c 20 6f 66 20 74 68 65 .with.1.argument:.the.URL.of.the
26fc0 20 66 65 65 64 20 74 68 61 74 20 77 61 73 20 6a 75 73 74 0a 75 70 64 61 74 65 64 2e 20 54 68 65 .feed.that.was.just.updated..The
26fe0 20 68 6f 6f 6b 20 69 73 20 63 61 6c 6c 65 64 20 65 76 65 6e 20 77 68 65 6e 20 6e 6f 20 6e 65 77 .hook.is.called.even.when.no.new
27000 20 65 6e 74 72 69 65 73 20 77 65 72 65 0a 66 6f 75 6e 64 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 .entries.were.found.")..(defvar.
27020 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 69 6e 69 74 2d 68 6f 6f 6b 73 20 28 29 0a 20 20 22 48 elfeed-update-init-hooks.()..."H
27040 6f 6f 6b 73 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 66 65 65 ooks.called.when.one.or.more.fee
27060 64 20 75 70 64 61 74 65 73 20 68 61 76 65 20 62 65 67 75 6e 2e 0a 52 65 63 65 69 76 65 72 73 20 d.updates.have.begun..Receivers.
27080 6d 61 79 20 77 61 6e 74 20 74 6f 2c 20 73 61 79 2c 20 75 70 64 61 74 65 20 61 20 64 69 73 70 6c may.want.to,.say,.update.a.displ
270a0 61 79 20 74 6f 20 69 6e 64 69 63 61 74 65 20 74 68 61 74 0a 75 70 64 61 74 65 73 20 61 72 65 20 ay.to.indicate.that.updates.are.
270c0 70 65 6e 64 69 6e 67 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 74 61 67 2d 68 pending.")..(defvar.elfeed-tag-h
270e0 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
27100 20 6f 72 20 6d 6f 72 65 20 65 6e 74 72 69 65 73 20 61 64 64 20 74 61 67 73 2e 0a 49 74 20 69 73 .or.more.entries.add.tags..It.is
27120 20 63 61 6c 6c 65 64 20 77 69 74 68 20 32 20 61 72 67 75 6d 65 6e 74 73 2e 20 54 68 65 20 66 69 .called.with.2.arguments..The.fi
27140 72 73 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 65 6e 74 72 79 0a 6c 69 73 74 2e 20 rst.argument.is.the.entry.list..
27160 54 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 74 61 67 20 6c The.second.argument.is.the.tag.l
27180 69 73 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 75 6e 74 61 67 2d 68 6f 6f ist.")..(defvar.elfeed-untag-hoo
271a0 6b 73 20 28 29 0a 20 20 22 48 6f 6f 6b 73 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 6f 6e 65 20 6f ks.()..."Hooks.called.when.one.o
271c0 72 20 6d 6f 72 65 20 65 6e 74 72 69 65 73 20 72 65 6d 6f 76 65 20 74 61 67 73 2e 0a 49 74 20 69 r.more.entries.remove.tags..It.i
271e0 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 32 20 61 72 67 75 6d 65 6e 74 73 2e 20 54 68 65 20 66 s.called.with.2.arguments..The.f
27200 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 65 6e 74 72 79 0a 6c 69 73 74 2e irst.argument.is.the.entry.list.
27220 20 54 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 74 61 67 20 .The.second.argument.is.the.tag.
27240 6c 69 73 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 65 64 2d 2d 69 6e 68 69 62 69 74 list.")..(defvar.elfeed--inhibit
27260 2d 75 70 64 61 74 65 2d 69 6e 69 74 2d 68 6f 6f 6b 73 20 6e 69 6c 0a 20 20 22 57 68 65 6e 20 6e -update-init-hooks.nil..."When.n
27280 6f 6e 2d 6e 69 6c 2c 20 64 6f 6e 27 74 20 72 75 6e 20 60 65 6c 66 65 65 64 2d 75 70 64 61 74 65 on-nil,.don't.run.`elfeed-update
272a0 2d 69 6e 69 74 2d 68 6f 6f 6b 73 27 2e 22 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 71 -init-hooks'.")..(defun.elfeed-q
272c0 75 65 75 65 2d 63 6f 75 6e 74 2d 61 63 74 69 76 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 ueue-count-active.()..."Return.t
272e0 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 70 72 6f 63 65 73 73 2e 22 0a he.number.of.items.in.process.".
27300 20 20 28 69 66 20 65 6c 66 65 65 64 2d 75 73 65 2d 63 75 72 6c 0a 20 20 20 20 20 20 65 6c 66 65 ..(if.elfeed-use-curl.......elfe
27320 65 64 2d 63 75 72 6c 2d 71 75 65 75 65 2d 61 63 74 69 76 65 0a 20 20 20 20 28 63 6c 2d 63 6f 75 ed-curl-queue-active.....(cl-cou
27340 6e 74 2d 69 66 20 23 27 75 72 6c 2d 71 75 65 75 65 2d 62 75 66 66 65 72 20 75 72 6c 2d 71 75 65 nt-if.#'url-queue-buffer.url-que
27360 75 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 71 75 65 75 65 2d 63 6f 75 6e 74 ue)))..(defun.elfeed-queue-count
27380 2d 74 6f 74 61 6c 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f -total.()..."Return.the.number.o
273a0 66 20 69 74 65 6d 73 20 69 6e 20 70 72 6f 63 65 73 73 2e 22 0a 20 20 28 69 66 20 65 6c 66 65 65 f.items.in.process."...(if.elfee
273c0 64 2d 75 73 65 2d 63 75 72 6c 0a 20 20 20 20 20 20 28 2b 20 28 6c 65 6e 67 74 68 20 65 6c 66 65 d-use-curl.......(+.(length.elfe
273e0 65 64 2d 63 75 72 6c 2d 71 75 65 75 65 29 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 71 75 65 75 65 ed-curl-queue).elfeed-curl-queue
27400 2d 61 63 74 69 76 65 29 0a 20 20 20 20 28 6c 65 6e 67 74 68 20 75 72 6c 2d 71 75 65 75 65 29 29 -active).....(length.url-queue))
27420 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 74 2d 6d 61 78 2d 63 6f 6e 6e 65 63 74 )..(defun.elfeed-set-max-connect
27440 69 6f 6e 73 20 28 6e 29 0a 20 20 22 4c 69 6d 69 74 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 ions.(n)..."Limit.the.maximum.nu
27460 6d 62 65 72 20 6f 66 20 63 6f 6e 63 75 72 72 65 6e 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 74 mber.of.concurrent.connections.t
27480 6f 20 4e 2e 22 0a 20 20 28 69 66 20 65 6c 66 65 65 64 2d 75 73 65 2d 63 75 72 6c 0a 20 20 20 20 o.N."...(if.elfeed-use-curl.....
274a0 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 6d 61 78 2d 63 6f 6e 6e 65 63 74 69 ..(setf.elfeed-curl-max-connecti
274c0 6f 6e 73 20 6e 29 0a 20 20 20 20 28 73 65 74 66 20 75 72 6c 2d 71 75 65 75 65 2d 70 61 72 61 6c ons.n).....(setf.url-queue-paral
274e0 6c 65 6c 2d 70 72 6f 63 65 73 73 65 73 20 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 lel-processes.n)))..(defun.elfee
27500 64 2d 67 65 74 2d 6d 61 78 2d 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 28 29 0a 20 20 22 47 65 74 20 d-get-max-connections.()..."Get.
27520 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6e 63 75 72 72 65 6e 74 the.maximum.number.of.concurrent
27540 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 2e 22 0a 20 20 28 69 66 20 65 6c 66 65 65 64 2d 75 73 65 2d .connections."...(if.elfeed-use-
27560 63 75 72 6c 0a 20 20 20 20 20 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 6d 61 78 2d 63 6f 6e 6e 65 curl.......elfeed-curl-max-conne
27580 63 74 69 6f 6e 73 0a 20 20 20 20 75 72 6c 2d 71 75 65 75 65 2d 70 61 72 61 6c 6c 65 6c 2d 70 72 ctions.....url-queue-parallel-pr
275a0 6f 63 65 73 73 65 73 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 73 65 74 2d 74 69 6d ocesses))..(defun.elfeed-set-tim
275c0 65 6f 75 74 20 28 73 65 63 6f 6e 64 73 29 0a 20 20 22 4c 69 6d 69 74 20 74 68 65 20 74 69 6d 65 eout.(seconds)..."Limit.the.time
275e0 20 66 6f 72 20 66 65 74 63 68 69 6e 67 20 61 20 66 65 65 64 20 74 6f 20 53 45 43 4f 4e 44 53 2e .for.fetching.a.feed.to.SECONDS.
27600 22 0a 20 20 28 69 66 20 65 6c 66 65 65 64 2d 75 73 65 2d 63 75 72 6c 0a 20 20 20 20 20 20 28 73 "...(if.elfeed-use-curl.......(s
27620 65 74 66 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 74 69 6d 65 6f 75 74 20 73 65 63 6f 6e 64 73 29 etf.elfeed-curl-timeout.seconds)
27640 0a 20 20 20 20 28 73 65 74 66 20 75 72 6c 2d 71 75 65 75 65 2d 74 69 6d 65 6f 75 74 20 73 65 63 .....(setf.url-queue-timeout.sec
27660 6f 6e 64 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 67 65 74 2d 74 69 6d 65 6f onds)))..(defun.elfeed-get-timeo
27680 75 74 20 28 29 0a 20 20 22 47 65 74 20 74 68 65 20 74 69 6d 65 20 6c 69 6d 69 74 20 66 6f 72 20 ut.()..."Get.the.time.limit.for.
276a0 66 65 74 63 68 69 6e 67 20 66 65 65 64 73 20 69 6e 20 53 45 43 4f 4e 44 53 2e 22 0a 20 20 28 69 fetching.feeds.in.SECONDS."...(i
276c0 66 20 65 6c 66 65 65 64 2d 75 73 65 2d 63 75 72 6c 0a 20 20 20 20 20 20 65 6c 66 65 65 64 2d 63 f.elfeed-use-curl.......elfeed-c
276e0 75 72 6c 2d 74 69 6d 65 6f 75 74 0a 20 20 20 20 75 72 6c 2d 71 75 65 75 65 2d 74 69 6d 65 6f 75 url-timeout.....url-queue-timeou
27700 74 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 69 73 2d 73 74 61 74 75 73 2d 65 72 72 t))..(defun.elfeed-is-status-err
27720 6f 72 20 28 73 74 61 74 75 73 20 75 73 65 2d 63 75 72 6c 29 0a 20 20 22 43 68 65 63 6b 20 69 66 or.(status.use-curl)..."Check.if
27740 20 48 54 54 50 20 72 65 71 75 65 73 74 20 72 65 74 75 72 6e 65 64 20 73 74 61 74 75 73 20 6d 65 .HTTP.request.returned.status.me
27760 61 6e 73 20 61 20 65 72 72 6f 72 2e 22 0a 20 20 28 6f 72 20 28 61 6e 64 20 75 73 65 2d 63 75 72 ans.a.error."...(or.(and.use-cur
27780 6c 20 28 6e 75 6c 6c 20 73 74 61 74 75 73 29 29 20 3b 20 6e 69 6c 20 3d 20 65 72 72 6f 72 0a 20 l.(null.status)).;.nil.=.error..
277a0 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 75 73 65 2d 63 75 72 6c 29 20 28 65 71 20 28 63 61 .....(and.(not.use-curl).(eq.(ca
277c0 72 20 73 74 61 74 75 73 29 20 3a 65 72 72 6f 72 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 r.status).:error))))..(defmacro.
277e0 65 6c 66 65 65 64 2d 77 69 74 68 2d 66 65 74 63 68 20 28 75 72 6c 20 26 72 65 73 74 20 62 6f 64 elfeed-with-fetch.(url.&rest.bod
27800 79 29 0a 20 20 22 41 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 20 72 75 6e 20 42 4f 44 59 20 69 6e y)..."Asynchronously.run.BODY.in
27820 20 61 20 62 75 66 66 65 72 20 77 69 74 68 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 66 72 6f 6d .a.buffer.with.the.contents.from
27840 20 55 52 4c 2e 0a 54 68 69 73 20 6d 61 63 72 6f 20 69 73 20 61 6e 61 70 68 6f 72 69 63 2c 20 77 .URL..This.macro.is.anaphoric,.w
27860 69 74 68 20 53 54 41 54 55 53 20 72 65 66 65 72 72 69 6e 67 20 74 6f 20 74 68 65 20 73 74 61 74 ith.STATUS.referring.to.the.stat
27880 75 73 20 66 72 6f 6d 0a 60 75 72 6c 2d 72 65 74 72 69 65 76 65 27 2f 63 55 52 4c 20 61 6e 64 20 us.from.`url-retrieve'/cURL.and.
278a0 55 53 45 2d 43 55 52 4c 20 62 65 69 6e 67 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 69 6e 76 6f USE-CURL.being.the.original.invo
278c0 6b 65 64 2d 76 61 6c 75 65 0a 6f 66 20 60 65 6c 66 65 65 64 2d 75 73 65 2d 63 75 72 6c 27 2e 22 ked-value.of.`elfeed-use-curl'."
278e0 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 64 65 66 75 6e 29 29 0a 20 20 60 28 ...(declare.(indent.defun))...`(
27900 6c 65 74 2a 20 28 28 75 73 65 2d 63 75 72 6c 20 65 6c 66 65 65 64 2d 75 73 65 2d 63 75 72 6c 29 let*.((use-curl.elfeed-use-curl)
27920 20 3b 20 63 61 70 74 75 72 65 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65 20 69 6e 20 63 6c 6f 73 .;.capture.current.value.in.clos
27940 75 72 65 0a 20 20 20 20 20 20 20 20 20 20 28 63 62 20 28 6c 61 6d 62 64 61 20 28 73 74 61 74 75 ure...........(cb.(lambda.(statu
27960 73 29 20 2c 40 62 6f 64 79 29 29 29 0a 20 20 20 20 20 28 69 66 20 65 6c 66 65 65 64 2d 75 73 65 s).,@body)))......(if.elfeed-use
27980 2d 63 75 72 6c 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 66 65 65 64 20 28 65 6c 66 -curl..........(let*.((feed.(elf
279a0 65 65 64 2d 64 62 2d 67 65 74 2d 66 65 65 64 20 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 eed-db-get-feed.url))...........
279c0 20 20 20 20 20 20 28 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 20 28 65 6c 66 65 65 64 2d 6d 65 74 ......(last-modified.(elfeed-met
279e0 61 20 66 65 65 64 20 3a 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 29 29 0a 20 20 20 20 20 20 20 20 a.feed.:last-modified)).........
27a00 20 20 20 20 20 20 20 20 28 65 74 61 67 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 20 66 65 65 64 20 ........(etag.(elfeed-meta.feed.
27a20 3a 65 74 61 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 65 61 64 65 72 73 :etag)).................(headers
27a40 20 60 28 28 22 55 73 65 72 2d 41 67 65 6e 74 22 20 2e 20 2c 65 6c 66 65 65 64 2d 75 73 65 72 2d .`(("User-Agent"...,elfeed-user-
27a60 61 67 65 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 65 74 61 67 0a agent))))............(when.etag.
27a80 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 60 28 22 49 66 2d 4e 6f 6e 65 2d 4d 61 .............(push.`("If-None-Ma
27aa0 74 63 68 22 20 2e 20 2c 65 74 61 67 29 20 68 65 61 64 65 72 73 29 29 0a 20 20 20 20 20 20 20 20 tch"...,etag).headers)).........
27ac0 20 20 20 28 77 68 65 6e 20 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 0a 20 20 20 20 20 20 20 20 20 ...(when.last-modified..........
27ae0 20 20 20 20 28 70 75 73 68 20 60 28 22 49 66 2d 4d 6f 64 69 66 69 65 64 2d 53 69 6e 63 65 22 20 ....(push.`("If-Modified-Since".
27b00 2e 20 2c 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 29 20 68 65 61 64 65 72 73 29 29 0a 20 20 20 20 ..,last-modified).headers)).....
27b20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 63 75 72 6c 2d 65 6e 71 75 65 75 65 20 2c 75 72 6c .......(elfeed-curl-enqueue.,url
27b40 20 63 62 20 3a 68 65 61 64 65 72 73 20 68 65 61 64 65 72 73 29 29 0a 20 20 20 20 20 20 20 28 75 .cb.:headers.headers))........(u
27b60 72 6c 2d 71 75 65 75 65 2d 72 65 74 72 69 65 76 65 20 2c 75 72 6c 20 63 62 20 28 29 20 74 20 74 rl-queue-retrieve.,url.cb.().t.t
27b80 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 75 6e 6a 61 6d 20 28 29 0a 20 20 22 ))))..(defun.elfeed-unjam.()..."
27ba0 4d 61 6e 75 61 6c 6c 79 20 63 6c 65 61 72 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 70 6f Manually.clear.the.connection.po
27bc0 6f 6c 20 77 68 65 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 66 61 69 6c 20 74 6f 20 74 69 6d 65 ol.when.connections.fail.to.time
27be0 6f 75 74 2e 0a 54 68 69 73 20 69 73 20 61 20 77 6f 72 6b 61 72 6f 75 6e 64 20 66 6f 72 20 69 73 out..This.is.a.workaround.for.is
27c00 73 75 65 73 20 69 6e 20 60 75 72 6c 2d 71 75 65 75 65 2d 72 65 74 72 69 65 76 65 27 2e 22 0a 20 sues.in.`url-queue-retrieve'."..
27c20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 20 65 6c 66 65 65 64 2d 75 73 65 2d .(interactive)...(if.elfeed-use-
27c40 63 75 72 6c 0a 20 20 20 20 20 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 71 75 65 curl.......(setf.elfeed-curl-que
27c60 75 65 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 71 ue.nil.............elfeed-curl-q
27c80 75 65 75 65 2d 61 63 74 69 76 65 20 30 29 0a 20 20 20 20 28 6c 65 74 20 28 28 66 61 69 6c 73 20 ueue-active.0).....(let.((fails.
27ca0 28 6d 61 70 63 61 72 20 23 27 75 72 6c 2d 71 75 65 75 65 2d 75 72 6c 20 75 72 6c 2d 71 75 65 75 (mapcar.#'url-queue-url.url-queu
27cc0 65 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 66 61 69 6c 73 0a 20 20 20 20 20 20 20 20 28 e))).......(when.fails.........(
27ce0 65 6c 66 65 65 64 2d 6c 6f 67 20 27 77 61 72 6e 20 22 45 6c 66 65 65 64 20 61 62 6f 72 74 65 64 elfeed-log.'warn."Elfeed.aborted
27d00 20 66 65 65 64 73 3a 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .feeds:.%s".....................
27d20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 20 66 61 69 6c 73 20 22 20 22 29 (mapconcat.#'identity.fails.".")
27d40 29 29 0a 20 20 20 20 20 20 28 73 65 74 66 20 75 72 6c 2d 71 75 65 75 65 20 6e 69 6c 29 29 29 0a )).......(setf.url-queue.nil))).
27d60 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 69 6e 69 74 ..(run-hooks.'elfeed-update-init
27d80 2d 68 6f 6f 6b 73 29 29 0a 0a 3b 3b 20 50 61 72 73 69 6e 67 3a 0a 0a 28 64 65 66 75 6e 20 65 6c -hooks))..;;.Parsing:..(defun.el
27da0 66 65 65 64 2d 66 65 65 64 2d 74 79 70 65 20 28 63 6f 6e 74 65 6e 74 29 0a 20 20 22 52 65 74 75 feed-feed-type.(content)..."Retu
27dc0 72 6e 20 74 68 65 20 66 65 65 64 20 74 79 70 65 20 28 3a 61 74 6f 6d 2c 20 3a 72 73 73 2c 20 3a rn.the.feed.type.(:atom,.:rss,.:
27de0 72 73 73 31 2e 30 29 20 6f 72 20 6e 69 6c 20 66 6f 72 20 75 6e 6b 6e 6f 77 6e 2e 22 0a 20 20 28 rss1.0).or.nil.for.unknown."...(
27e00 6c 65 74 20 28 28 74 6f 70 20 28 78 6d 6c 2d 71 75 65 72 79 2d 73 74 72 69 70 2d 6e 73 20 28 63 let.((top.(xml-query-strip-ns.(c
27e20 61 61 72 20 63 6f 6e 74 65 6e 74 29 29 29 29 0a 20 20 20 20 28 63 61 64 72 20 28 61 73 73 6f 63 aar.content)))).....(cadr.(assoc
27e40 20 74 6f 70 20 27 28 28 66 65 65 64 20 3a 61 74 6f 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .top.'((feed.:atom).............
27e60 20 20 20 20 20 20 20 20 20 20 20 28 72 73 73 20 3a 72 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 ...........(rss.:rss)...........
27e80 20 20 20 20 20 20 20 20 20 20 20 20 20 28 52 44 46 20 3a 72 73 73 31 2e 30 29 29 29 29 29 29 0a .............(RDF.:rss1.0)))))).
27ea0 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 67 65 6e 65 72 61 74 65 2d 69 64 20 28 26 6f 70 74 .(defun.elfeed-generate-id.(&opt
27ec0 69 6f 6e 61 6c 20 63 6f 6e 74 65 6e 74 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 61 6e 20 49 44 ional.content)..."Generate.an.ID
27ee0 20 62 61 73 65 64 20 6f 6e 20 43 4f 4e 54 45 4e 54 20 6f 72 20 66 72 6f 6d 20 74 68 65 20 63 75 .based.on.CONTENT.or.from.the.cu
27f00 72 72 65 6e 74 20 74 69 6d 65 2e 22 0a 20 20 28 63 6f 6e 63 61 74 20 22 75 72 6e 3a 73 68 61 31 rrent.time."...(concat."urn:sha1
27f20 3a 22 20 28 73 68 61 31 20 28 66 6f 72 6d 61 74 20 22 25 73 22 20 28 6f 72 20 63 6f 6e 74 65 6e :".(sha1.(format."%s".(or.conten
27f40 74 20 28 66 6c 6f 61 74 2d 74 69 6d 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 t.(float-time))))))..(defun.elfe
27f60 65 64 2d 2d 61 74 6f 6d 2d 63 6f 6e 74 65 6e 74 20 28 65 6e 74 72 79 29 0a 20 20 22 47 65 74 20 ed--atom-content.(entry)..."Get.
27f80 63 6f 6e 74 65 6e 74 20 73 74 72 69 6e 67 20 66 72 6f 6d 20 45 4e 54 52 59 2e 22 0a 20 20 28 6c content.string.from.ENTRY."...(l
27fa0 65 74 20 28 28 63 6f 6e 74 65 6e 74 2d 74 79 70 65 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 63 et.((content-type.(xml-query*.(c
27fc0 6f 6e 74 65 6e 74 20 3a 74 79 70 65 29 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 28 69 66 20 28 ontent.:type).entry))).....(if.(
27fe0 65 71 75 61 6c 20 63 6f 6e 74 65 6e 74 2d 74 79 70 65 20 22 78 68 74 6d 6c 22 29 0a 20 20 20 20 equal.content-type."xhtml").....
28000 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 ....(with-temp-buffer...........
28020 28 6c 65 74 20 28 28 78 68 74 6d 6c 20 28 63 64 64 72 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 (let.((xhtml.(cddr.(xml-query*.(
28040 63 6f 6e 74 65 6e 74 29 20 65 6e 74 72 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 content).entry)))).............(
28060 64 6f 6c 69 73 74 20 28 65 6c 65 6d 65 6e 74 20 78 68 74 6d 6c 29 0a 20 20 20 20 20 20 20 20 20 dolist.(element.xhtml)..........
28080 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 65 6c 65 6d 65 6e 74 29 0a 20 20 20 20 20 .....(if.(stringp.element)......
280a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 65 6c 65 6d 65 6e 74 29 0a 20 20 .............(insert.element)...
280c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 78 6d 6c 2d 75 6e 70 61 72 73 ..............(elfeed-xml-unpars
280e0 65 20 65 6c 65 6d 65 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d e.element))))...........(buffer-
28100 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 61 6c 6c 2d 63 6f 6e 74 65 6e string)).......(let.((all-conten
28120 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c t..............(or.(xml-query-al
28140 6c 2a 20 28 63 6f 6e 74 65 6e 74 20 2a 29 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 l*.(content.*).entry)...........
28160 20 20 20 20 20 20 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 73 75 6d 6d 61 72 79 20 .......(xml-query-all*.(summary.
28180 2a 29 20 65 6e 74 72 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 61 6c 6c 2d 63 *).entry)))).........(when.all-c
281a0 6f 6e 74 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 63 6f 6e 63 61 74 ontent...........(apply.#'concat
281c0 20 61 6c 6c 2d 63 6f 6e 74 65 6e 74 29 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 66 65 .all-content))))))..(defvar.elfe
281e0 65 64 2d 6e 65 77 2d 65 6e 74 72 79 2d 70 61 72 73 65 2d 68 6f 6f 6b 20 27 28 29 0a 20 20 22 48 ed-new-entry-parse-hook.'()..."H
28200 6f 6f 6b 20 74 6f 20 62 65 20 63 61 6c 6c 65 64 20 61 66 74 65 72 20 70 61 72 73 69 6e 67 20 61 ook.to.be.called.after.parsing.a
28220 20 6e 65 77 20 65 6e 74 72 79 2e 0a 0a 54 61 6b 65 20 74 68 72 65 65 20 61 72 67 75 6d 65 6e 74 .new.entry...Take.three.argument
28240 73 3a 20 74 68 65 20 66 65 65 64 20 54 59 50 45 2c 20 74 68 65 20 58 4d 4c 20 73 74 72 75 63 74 s:.the.feed.TYPE,.the.XML.struct
28260 75 72 65 20 66 6f 72 20 74 68 65 0a 65 6e 74 72 79 2c 20 61 6e 64 20 74 68 65 20 45 6c 66 65 65 ure.for.the.entry,.and.the.Elfee
28280 64 20 45 4e 54 52 59 20 6f 62 6a 65 63 74 2e 20 52 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 d.ENTRY.object..Return.value.is.
282a0 69 67 6e 6f 72 65 64 2c 20 61 6e 64 0a 69 73 20 63 61 6c 6c 65 64 20 66 6f 72 20 73 69 64 65 2d ignored,.and.is.called.for.side-
282c0 65 66 66 65 63 74 73 20 6f 6e 20 74 68 65 20 45 4e 54 52 59 20 6f 62 6a 65 63 74 2e 22 29 0a 0a effects.on.the.ENTRY.object.")..
282e0 28 64 65 66 73 75 62 73 74 20 65 6c 66 65 65 64 2d 2d 66 69 78 75 70 2d 70 72 6f 74 6f 63 6f 6c (defsubst.elfeed--fixup-protocol
28300 20 28 70 72 6f 74 6f 63 6f 6c 20 75 72 6c 29 0a 20 20 22 50 72 65 70 65 6e 64 20 50 52 4f 54 4f .(protocol.url)..."Prepend.PROTO
28320 43 4f 4c 20 74 6f 20 55 52 4c 20 69 66 20 69 74 20 69 73 20 70 72 6f 74 6f 63 6f 6c 2d 72 65 6c COL.to.URL.if.it.is.protocol-rel
28340 61 74 69 76 65 2e 0a 49 66 20 50 52 4f 54 4f 43 4f 4c 20 69 73 20 6e 69 6c 2c 20 72 65 74 75 72 ative..If.PROTOCOL.is.nil,.retur
28360 6e 73 20 55 52 4c 2e 22 0a 20 20 28 69 66 20 28 61 6e 64 20 70 72 6f 74 6f 63 6f 6c 20 75 72 6c ns.URL."...(if.(and.protocol.url
28380 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 2f 2f 5b 5e 2f 5d 22 20 75 72 6c 29 29 .(string-match-p."^//[^/]".url))
283a0 0a 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 70 72 6f 74 6f 63 6f 6c 20 22 3a 22 20 75 72 6c 29 .......(concat.protocol.":".url)
283c0 0a 20 20 20 20 75 72 6c 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 65 6c 66 65 65 64 2d 2d 61 74 .....url))..(defsubst.elfeed--at
283e0 6f 6d 2d 61 75 74 68 6f 72 73 2d 74 6f 2d 70 6c 69 73 74 20 28 61 75 74 68 6f 72 73 29 0a 20 20 om-authors-to-plist.(authors)...
28400 22 50 61 72 73 65 20 6c 69 73 74 20 6f 66 20 61 75 74 68 6f 72 20 58 4d 4c 20 74 61 67 73 20 69 "Parse.list.of.author.XML.tags.i
28420 6e 74 6f 20 6c 69 73 74 20 6f 66 20 70 6c 69 73 74 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 65 nto.list.of.plists."...(let.((re
28440 73 75 6c 74 20 28 29 29 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 61 75 74 68 6f 72 20 61 75 sult.())).....(dolist.(author.au
28460 74 68 6f 72 73 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 6c 69 73 74 20 28 29 29 0a 20 20 thors).......(let.((plist.())...
28480 20 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 6e 61 6d ..........(name.(xml-query*.(nam
284a0 65 20 2a 29 20 61 75 74 68 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 75 72 69 20 28 e.*).author)).............(uri.(
284c0 78 6d 6c 2d 71 75 65 72 79 2a 20 28 75 72 69 20 2a 29 20 61 75 74 68 6f 72 29 29 0a 20 20 20 20 xml-query*.(uri.*).author)).....
284e0 20 20 20 20 20 20 20 20 28 65 6d 61 69 6c 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 65 6d 61 69 ........(email.(xml-query*.(emai
28500 6c 20 2a 29 20 61 75 74 68 6f 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 65 6d 61 l.*).author))).........(when.ema
28520 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 70 6c 69 73 74 20 28 6c 69 73 74 20 3a il...........(setf.plist.(list.:
28540 65 6d 61 69 6c 20 28 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 70 20 65 6d 61 69 6c 29 29 29 29 0a email.(elfeed-cleanup.email)))).
28560 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 75 72 69 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 ........(when.uri...........(set
28580 66 20 70 6c 69 73 74 20 28 6e 63 6f 6e 63 20 28 6c 69 73 74 20 3a 75 72 69 20 28 65 6c 66 65 65 f.plist.(nconc.(list.:uri.(elfee
285a0 64 2d 63 6c 65 61 6e 75 70 20 75 72 69 29 29 20 70 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 d-cleanup.uri)).plist)))........
285c0 20 28 77 68 65 6e 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 70 6c 69 73 .(when.name...........(setf.plis
285e0 74 20 28 6e 63 6f 6e 63 20 28 6c 69 73 74 20 3a 6e 61 6d 65 20 28 65 6c 66 65 65 64 2d 63 6c 65 t.(nconc.(list.:name.(elfeed-cle
28600 61 6e 75 70 20 6e 61 6d 65 29 29 20 70 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 anup.name)).plist))).........(pu
28620 73 68 20 70 6c 69 73 74 20 72 65 73 75 6c 74 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 sh.plist.result))).....(nreverse
28640 20 72 65 73 75 6c 74 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 65 6c 66 65 65 64 2d 2d 63 72 .result)))..(defsubst.elfeed--cr
28660 65 61 74 6f 72 73 2d 74 6f 2d 70 6c 69 73 74 20 28 63 72 65 61 74 6f 72 73 29 0a 20 20 22 43 6f eators-to-plist.(creators)..."Co
28680 6e 76 65 72 74 20 44 75 62 6c 69 6e 20 43 6f 72 65 20 6c 69 73 74 20 6f 66 20 63 72 65 61 74 6f nvert.Dublin.Core.list.of.creato
286a0 72 73 20 69 6e 74 6f 20 61 6e 20 61 75 74 68 6f 72 73 20 70 6c 69 73 74 2e 22 0a 20 20 28 63 6c rs.into.an.authors.plist."...(cl
286c0 2d 6c 6f 6f 70 20 66 6f 72 20 63 72 65 61 74 6f 72 20 69 6e 20 63 72 65 61 74 6f 72 73 0a 20 20 -loop.for.creator.in.creators...
286e0 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 28 6c 69 73 74 20 3a 6e 61 6d 65 20 63 72 65 .........collect.(list.:name.cre
28700 61 74 6f 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 65 6e 74 72 69 65 73 2d 66 ator)))..(defun.elfeed-entries-f
28720 72 6f 6d 2d 61 74 6f 6d 20 28 75 72 6c 20 78 6d 6c 29 0a 20 20 22 54 75 72 6e 20 70 61 72 73 65 rom-atom.(url.xml)..."Turn.parse
28740 64 20 41 74 6f 6d 20 63 6f 6e 74 65 6e 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 65 6c d.Atom.content.into.a.list.of.el
28760 66 65 65 64 2d 65 6e 74 72 79 20 73 74 72 75 63 74 73 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 feed-entry.structs."...(let*.((f
28780 65 65 64 2d 69 64 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f 74 6f 63 6f 6c 20 28 eed-id.url)..........(protocol.(
287a0 75 72 6c 2d 74 79 70 65 20 28 75 72 6c 2d 67 65 6e 65 72 69 63 2d 70 61 72 73 65 2d 75 72 6c 20 url-type.(url-generic-parse-url.
287c0 75 72 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 73 70 61 63 65 20 28 65 6c 66 65 url)))..........(namespace.(elfe
287e0 65 64 2d 75 72 6c 2d 74 6f 2d 6e 61 6d 65 73 70 61 63 65 20 75 72 6c 29 29 0a 20 20 20 20 20 20 ed-url-to-namespace.url)).......
28800 20 20 20 28 66 65 65 64 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 66 65 65 64 20 66 65 65 ...(feed.(elfeed-db-get-feed.fee
28820 64 2d 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 65 6c 66 65 65 64 2d 63 d-id))..........(title.(elfeed-c
28840 6c 65 61 6e 75 70 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 66 65 65 64 20 74 69 74 6c 65 20 2a leanup.(xml-query*.(feed.title.*
28860 29 20 78 6d 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 75 74 68 6f 72 73 20 28 78 6d 6c 2d ).xml)))..........(authors.(xml-
28880 71 75 65 72 79 2d 61 6c 6c 2a 20 28 66 65 65 64 20 61 75 74 68 6f 72 29 20 78 6d 6c 29 29 0a 20 query-all*.(feed.author).xml))..
288a0 20 20 20 20 20 20 20 20 28 78 6d 6c 2d 62 61 73 65 20 28 6f 72 20 28 78 6d 6c 2d 71 75 65 72 79 ........(xml-base.(or.(xml-query
288c0 2a 20 28 66 65 65 64 20 3a 62 61 73 65 29 20 78 6d 6c 29 20 75 72 6c 29 29 0a 20 20 20 20 20 20 *.(feed.:base).xml).url)).......
288e0 20 20 20 28 61 75 74 6f 74 61 67 73 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 61 75 74 6f 74 61 ...(autotags.(elfeed-feed-autota
28900 67 73 20 75 72 6c 29 29 29 0a 20 20 20 20 28 73 65 74 66 20 28 65 6c 66 65 65 64 2d 66 65 65 64 gs.url))).....(setf.(elfeed-feed
28920 2d 75 72 6c 20 66 65 65 64 29 20 75 72 6c 0a 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 -url.feed).url...........(elfeed
28940 2d 66 65 65 64 2d 74 69 74 6c 65 20 66 65 65 64 29 20 74 69 74 6c 65 0a 20 20 20 20 20 20 20 20 -feed-title.feed).title.........
28960 20 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 61 75 74 68 6f 72 20 66 65 65 64 29 20 28 65 6c 66 ..(elfeed-feed-author.feed).(elf
28980 65 65 64 2d 2d 61 74 6f 6d 2d 61 75 74 68 6f 72 73 2d 74 6f 2d 70 6c 69 73 74 20 61 75 74 68 6f eed--atom-authors-to-plist.autho
289a0 72 73 29 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 65 6e 74 72 79 20 69 6e 20 28 rs)).....(cl-loop.for.entry.in.(
289c0 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 66 65 65 64 20 65 6e 74 72 79 29 20 78 6d 6c 29 xml-query-all*.(feed.entry).xml)
289e0 20 63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 74 69 .collect..............(let*.((ti
28a00 74 6c 65 20 28 6f 72 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 74 69 74 6c 65 20 2a 29 20 65 6e tle.(or.(xml-query*.(title.*).en
28a20 74 72 79 29 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 try)."")).....................(x
28a40 6d 6c 2d 62 61 73 65 20 28 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 6c 6f 63 61 74 69 6f 6e 0a ml-base.(elfeed-update-location.
28a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 ...............................x
28a80 6d 6c 2d 62 61 73 65 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 3a 62 61 73 65 29 20 28 6c 69 73 ml-base.(xml-query*.(:base).(lis
28aa0 74 20 65 6e 74 72 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.entry)))).....................
28ac0 28 61 6e 79 6c 69 6e 6b 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 6c 69 6e 6b 20 3a 68 72 65 66 (anylink.(xml-query*.(link.:href
28ae0 29 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 ).entry)).....................(a
28b00 6c 74 6c 69 6e 6b 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 6c 69 6e 6b 20 5b 72 65 6c 20 22 61 ltlink.(xml-query*.(link.[rel."a
28b20 6c 74 65 72 6e 61 74 65 22 5d 20 3a 68 72 65 66 29 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 lternate"].:href).entry)).......
28b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 6b 20 28 65 6c 66 65 65 64 2d 2d 66 69 78 ..............(link.(elfeed--fix
28b60 75 70 2d 70 72 6f 74 6f 63 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 up-protocol.....................
28b80 20 20 20 20 20 20 20 70 72 6f 74 6f 63 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......protocol.................
28ba0 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 6c 6f 63 61 74 69 ...........(elfeed-update-locati
28bc0 6f 6e 20 78 6d 6c 2d 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on.xml-base.....................
28be0 20 20 20 20 20 20 20 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 ...............................(
28c00 6f 72 20 61 6c 74 6c 69 6e 6b 20 61 6e 79 6c 69 6e 6b 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 or.altlink.anylink))))..........
28c20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 74 65 20 28 6f 72 20 28 78 6d 6c 2d 71 75 65 72 79 2a ...........(date.(or.(xml-query*
28c40 20 28 70 75 62 6c 69 73 68 65 64 20 2a 29 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 .(published.*).entry)...........
28c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 ....................(xml-query*.
28c80 28 75 70 64 61 74 65 64 20 2a 29 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (updated.*).entry)..............
28ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 64 61 .................(xml-query*.(da
28cc0 74 65 20 2a 29 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 te.*).entry)....................
28ce0 20 20 20 20 20 20 20 20 20 20 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 6d 6f 64 69 66 69 65 64 ...........(xml-query*.(modified
28d00 20 2a 29 20 65 6e 74 72 79 29 20 3b 20 41 74 6f 6d 20 30 2e 33 0a 20 20 20 20 20 20 20 20 20 20 .*).entry).;.Atom.0.3...........
28d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 ....................(xml-query*.
28d40 28 69 73 73 75 65 64 20 2a 29 20 65 6e 74 72 79 29 29 29 20 3b 20 41 74 6f 6d 20 30 2e 33 0a 20 (issued.*).entry))).;.Atom.0.3..
28d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 75 74 68 6f 72 73 20 28 6e 63 6f ...................(authors.(nco
28d80 6e 63 20 28 65 6c 66 65 65 64 2d 2d 61 74 6f 6d 2d 61 75 74 68 6f 72 73 2d 74 6f 2d 70 6c 69 73 nc.(elfeed--atom-authors-to-plis
28da0 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t...............................
28dc0 20 20 20 20 20 20 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 61 75 74 68 6f 72 29 20 .......(xml-query-all*.(author).
28de0 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 entry)).........................
28e00 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 44 75 62 6c 69 6e 20 43 6f 72 65 0a 20 20 20 20 20 ............;;.Dublin.Core......
28e20 20 20 20 20 20 20 20 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 ...............................(
28e40 65 6c 66 65 65 64 2d 2d 63 72 65 61 74 6f 72 73 2d 74 6f 2d 70 6c 69 73 74 0a 20 20 20 20 20 20 elfeed--creators-to-plist.......
28e60 20 20 20 20 20 20 20 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 ...............................(
28e80 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 63 72 65 61 74 6f 72 20 2a 29 20 65 6e 74 72 79 xml-query-all*.(creator.*).entry
28ea0 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 74 65 67 6f )))).....................(catego
28ec0 72 69 65 73 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 63 61 74 65 67 6f 72 79 20 3a ries.(xml-query-all*.(category.:
28ee0 74 65 72 6d 29 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 term).entry))...................
28f00 20 20 28 63 6f 6e 74 65 6e 74 20 28 65 6c 66 65 65 64 2d 2d 61 74 6f 6d 2d 63 6f 6e 74 65 6e 74 ..(content.(elfeed--atom-content
28f20 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 64 .entry)).....................(id
28f40 20 28 6f 72 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 69 64 20 2a 29 20 65 6e 74 72 79 29 20 6c .(or.(xml-query*.(id.*).entry).l
28f60 69 6e 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ink.............................
28f80 28 65 6c 66 65 65 64 2d 67 65 6e 65 72 61 74 65 2d 69 64 20 63 6f 6e 74 65 6e 74 29 29 29 0a 20 (elfeed-generate-id.content)))..
28fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 79 70 65 20 28 6f 72 20 28 78 6d ...................(type.(or.(xm
28fc0 6c 2d 71 75 65 72 79 2a 20 28 63 6f 6e 74 65 6e 74 20 3a 74 79 70 65 29 20 65 6e 74 72 79 29 0a l-query*.(content.:type).entry).
28fe0 20 20 20 20 20 20 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
29000 6d 6c 2d 71 75 65 72 79 2a 20 28 73 75 6d 6d 61 72 79 20 3a 74 79 70 65 29 20 65 6e 74 72 79 29 ml-query*.(summary.:type).entry)
29020 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ..............................."
29040 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 61 67 73 20 28 65 ")).....................(tags.(e
29060 6c 66 65 65 64 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 74 61 67 73 20 61 75 74 6f 74 61 67 73 20 65 6c lfeed-normalize-tags.autotags.el
29080 66 65 65 64 2d 69 6e 69 74 69 61 6c 2d 74 61 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 feed-initial-tags)).............
290a0 20 20 20 20 20 20 20 20 28 63 6f 6e 74 65 6e 74 2d 74 79 70 65 20 28 69 66 20 28 73 74 72 69 6e ........(content-type.(if.(strin
290c0 67 2d 6d 61 74 63 68 2d 70 20 22 68 74 6d 6c 22 20 74 79 70 65 29 20 27 68 74 6d 6c 20 6e 69 6c g-match-p."html".type).'html.nil
290e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 74 61 67 73 20 28 78 )).....................(etags.(x
29100 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 6c 69 6e 6b 20 5b 72 65 6c 20 22 65 6e 63 6c 6f 73 ml-query-all*.(link.[rel."enclos
29120 75 72 65 22 5d 29 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ure"]).entry))..................
29140 20 20 20 28 65 6e 63 6c 6f 73 75 72 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(enclosures..................
29160 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 65 6e 63 6c 6f 73 75 72 65 20 69 6e 20 65 74 ....(cl-loop.for.enclosure.in.et
29180 61 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ags.............................
291a0 20 20 66 6f 72 20 77 72 61 70 20 3d 20 28 6c 69 73 74 20 65 6e 63 6c 6f 73 75 72 65 29 0a 20 20 ..for.wrap.=.(list.enclosure)...
291c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 ............................for.
291e0 68 72 65 66 20 3d 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 3a 68 72 65 66 29 20 77 72 61 70 29 href.=.(xml-query*.(:href).wrap)
29200 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 ...............................f
29220 6f 72 20 74 79 70 65 20 3d 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 3a 74 79 70 65 29 20 77 72 or.type.=.(xml-query*.(:type).wr
29240 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).............................
29260 20 20 66 6f 72 20 6c 65 6e 67 74 68 20 3d 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 3a 6c 65 6e ..for.length.=.(xml-query*.(:len
29280 67 74 68 29 20 77 72 61 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gth).wrap)......................
292a0 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 28 6c 69 73 74 20 68 72 65 66 20 74 79 70 65 .........collect.(list.href.type
292c0 20 6c 65 6e 67 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .length))).....................(
292e0 64 62 2d 65 6e 74 72 79 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 2d 63 72 65 61 74 65 0a 20 db-entry.(elfeed-entry--create..
29300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 ..............................:t
29320 69 74 6c 65 20 28 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 70 20 74 69 74 6c 65 29 0a 20 20 20 20 itle.(elfeed-cleanup.title).....
29340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 65 65 64 ...........................:feed
29360 2d 69 64 20 66 65 65 64 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -id.feed-id.....................
29380 20 20 20 20 20 20 20 20 20 20 20 3a 69 64 20 28 63 6f 6e 73 20 6e 61 6d 65 73 70 61 63 65 20 28 ...........:id.(cons.namespace.(
293a0 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 70 20 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 elfeed-cleanup.id)).............
293c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 6e 6b 20 28 65 6c 66 65 65 64 ...................:link.(elfeed
293e0 2d 63 6c 65 61 6e 75 70 20 6c 69 6e 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -cleanup.link)..................
29400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 61 67 73 20 74 61 67 73 0a 20 20 20 20 20 20 20 ..............:tags.tags........
29420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 64 61 74 65 20 28 6f ........................:date.(o
29440 72 20 28 65 6c 66 65 65 64 2d 66 6c 6f 61 74 2d 74 69 6d 65 20 64 61 74 65 29 20 28 66 6c 6f 61 r.(elfeed-float-time.date).(floa
29460 74 2d 74 69 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-time))........................
29480 20 20 20 20 20 20 20 20 3a 63 6f 6e 74 65 6e 74 20 63 6f 6e 74 65 6e 74 0a 20 20 20 20 20 20 20 ........:content.content........
294a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 65 6e 63 6c 6f 73 75 ........................:enclosu
294c0 72 65 73 20 65 6e 63 6c 6f 73 75 72 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 res.enclosures..................
294e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6e 74 65 6e 74 2d 74 79 70 65 20 63 6f 6e 74 ..............:content-type.cont
29500 65 6e 74 2d 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ent-type........................
29520 20 20 20 20 20 20 20 20 3a 6d 65 74 61 20 60 28 2c 40 28 77 68 65 6e 20 61 75 74 68 6f 72 73 0a ........:meta.`(,@(when.authors.
29540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
29560 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 61 75 74 68 6f 72 73 20 61 75 74 68 6f 72 ...........(list.:authors.author
29580 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s)).............................
295a0 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 63 61 74 65 67 6f 72 69 65 73 0a 20 20 ...........,@(when.categories...
295c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
295e0 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 63 61 74 65 67 6f 72 69 65 73 20 63 61 74 65 67 .........(list.:categories.categ
29600 6f 72 69 65 73 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 ories))))))................(doli
29620 73 74 20 28 68 6f 6f 6b 20 65 6c 66 65 65 64 2d 6e 65 77 2d 65 6e 74 72 79 2d 70 61 72 73 65 2d st.(hook.elfeed-new-entry-parse-
29640 68 6f 6f 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 hook)..................(funcall.
29660 68 6f 6f 6b 20 3a 61 74 6f 6d 20 65 6e 74 72 79 20 64 62 2d 65 6e 74 72 79 29 29 0a 20 20 20 20 hook.:atom.entry.db-entry)).....
29680 20 20 20 20 20 20 20 20 20 20 20 64 62 2d 65 6e 74 72 79 29 29 29 29 0a 0a 28 64 65 66 73 75 62 ...........db-entry))))..(defsub
296a0 73 74 20 65 6c 66 65 65 64 2d 2d 72 73 73 2d 61 75 74 68 6f 72 2d 74 6f 2d 70 6c 69 73 74 20 28 st.elfeed--rss-author-to-plist.(
296c0 61 75 74 68 6f 72 29 0a 20 20 22 50 61 72 73 65 20 61 6e 20 52 53 53 20 61 75 74 68 6f 72 20 65 author)..."Parse.an.RSS.author.e
296e0 6c 65 6d 65 6e 74 20 69 6e 74 6f 20 61 6e 20 61 75 74 68 6f 72 73 20 70 6c 69 73 74 2e 22 0a 20 lement.into.an.authors.plist."..
29700 20 28 77 68 65 6e 20 61 75 74 68 6f 72 0a 20 20 20 20 28 6c 65 74 20 28 28 63 6c 65 61 6e 20 28 .(when.author.....(let.((clean.(
29720 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 70 20 61 75 74 68 6f 72 29 29 29 0a 20 20 20 20 20 20 28 elfeed-cleanup.author))).......(
29740 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5e 5c 5c 28 2e 2a 5c 5c 29 20 28 5c 5c 28 if.(string-match."^\\(.*\\).(\\(
29760 5b 5e 29 5d 2b 5c 5c 29 29 24 22 20 63 6c 65 61 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 [^)]+\\))$".clean)...........(li
29780 73 74 20 28 6c 69 73 74 20 3a 6e 61 6d 65 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 20 63 st.(list.:name.(match-string.2.c
297a0 6c 65 61 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 65 6d 61 lean).......................:ema
297c0 69 6c 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 63 6c 65 61 6e 29 29 29 0a 20 20 20 20 il.(match-string.1.clean))).....
297e0 20 20 20 20 28 6c 69 73 74 20 28 6c 69 73 74 20 3a 65 6d 61 69 6c 20 63 6c 65 61 6e 29 29 29 29 ....(list.(list.:email.clean))))
29800 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 65 6e 74 72 69 65 73 2d 66 72 6f 6d 2d 72 ))..(defun.elfeed-entries-from-r
29820 73 73 20 28 75 72 6c 20 78 6d 6c 29 0a 20 20 22 54 75 72 6e 20 70 61 72 73 65 64 20 52 53 53 20 ss.(url.xml)..."Turn.parsed.RSS.
29840 63 6f 6e 74 65 6e 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 65 6c 66 65 65 64 2d 65 6e content.into.a.list.of.elfeed-en
29860 74 72 79 20 73 74 72 75 63 74 73 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 65 65 64 2d 69 64 20 try.structs."...(let*.((feed-id.
29880 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f 74 6f 63 6f 6c 20 28 75 72 6c 2d 74 79 70 url)..........(protocol.(url-typ
298a0 65 20 28 75 72 6c 2d 67 65 6e 65 72 69 63 2d 70 61 72 73 65 2d 75 72 6c 20 75 72 6c 29 29 29 0a e.(url-generic-parse-url.url))).
298c0 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 73 70 61 63 65 20 28 65 6c 66 65 65 64 2d 75 72 6c 2d .........(namespace.(elfeed-url-
298e0 74 6f 2d 6e 61 6d 65 73 70 61 63 65 20 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 65 65 to-namespace.url))..........(fee
29900 64 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 66 65 65 64 20 66 65 65 64 2d 69 64 29 29 0a d.(elfeed-db-get-feed.feed-id)).
29920 20 20 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 70 20 .........(title.(elfeed-cleanup.
29940 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 72 73 73 20 63 68 61 6e 6e 65 6c 20 74 69 74 6c 65 20 2a (xml-query*.(rss.channel.title.*
29960 29 20 78 6d 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 75 74 6f 74 61 67 73 20 28 65 6c 66 ).xml)))..........(autotags.(elf
29980 65 65 64 2d 66 65 65 64 2d 61 75 74 6f 74 61 67 73 20 75 72 6c 29 29 29 0a 20 20 20 20 28 73 65 eed-feed-autotags.url))).....(se
299a0 74 66 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 75 72 6c 20 66 65 65 64 29 20 75 72 6c 0a 20 20 tf.(elfeed-feed-url.feed).url...
299c0 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 74 69 74 6c 65 20 66 65 65 64 29 ........(elfeed-feed-title.feed)
299e0 20 74 69 74 6c 65 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 69 74 65 6d 20 69 6e .title).....(cl-loop.for.item.in
29a00 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 72 73 73 20 63 68 61 6e 6e 65 6c 20 69 74 .(xml-query-all*.(rss.channel.it
29a20 65 6d 29 20 78 6d 6c 29 20 63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c em).xml).collect..............(l
29a40 65 74 2a 20 28 28 74 69 74 6c 65 20 28 6f 72 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 74 69 74 et*.((title.(or.(xml-query*.(tit
29a60 6c 65 20 2a 29 20 69 74 65 6d 29 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le.*).item).""))................
29a80 20 20 20 20 20 28 67 75 69 64 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 67 75 69 64 20 2a 29 20 .....(guid.(xml-query*.(guid.*).
29aa0 69 74 65 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 6b item)).....................(link
29ac0 20 28 65 6c 66 65 65 64 2d 2d 66 69 78 75 70 2d 70 72 6f 74 6f 63 6f 6c 0a 20 20 20 20 20 20 20 .(elfeed--fixup-protocol........
29ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 74 6f 63 6f 6c 0a 20 20 20 ....................protocol....
29b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 78 6d 6c ........................(or.(xml
29b20 2d 71 75 65 72 79 2a 20 28 6c 69 6e 6b 20 2a 29 20 69 74 65 6d 29 20 67 75 69 64 29 29 29 0a 20 -query*.(link.*).item).guid)))..
29b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 74 65 20 28 6f 72 20 28 78 6d ...................(date.(or.(xm
29b60 6c 2d 71 75 65 72 79 2a 20 28 70 75 62 44 61 74 65 20 2a 29 20 69 74 65 6d 29 0a 20 20 20 20 20 l-query*.(pubDate.*).item)......
29b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 6d 6c 2d 71 75 .........................(xml-qu
29ba0 65 72 79 2a 20 28 64 61 74 65 20 2a 29 20 69 74 65 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 ery*.(date.*).item)))...........
29bc0 20 20 20 20 20 20 20 20 20 20 28 61 75 74 68 6f 72 73 20 28 6e 63 6f 6e 63 20 28 65 6c 66 65 65 ..........(authors.(nconc.(elfee
29be0 64 2d 2d 72 73 73 2d 61 75 74 68 6f 72 2d 74 6f 2d 70 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 d--rss-author-to-plist..........
29c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 6d 6c ............................(xml
29c20 2d 71 75 65 72 79 2a 20 28 61 75 74 68 6f 72 20 2a 29 20 69 74 65 6d 29 29 0a 20 20 20 20 20 20 -query*.(author.*).item)).......
29c40 20 20 20 20 20 20 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 ..............................;;
29c60 20 44 75 62 6c 69 6e 20 43 6f 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .Dublin.Core....................
29c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 2d 63 72 65 61 74 6f .................(elfeed--creato
29ca0 72 73 2d 74 6f 2d 70 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rs-to-plist.....................
29cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a .................(xml-query-all*
29ce0 20 28 63 72 65 61 74 6f 72 20 2a 29 20 69 74 65 6d 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(creator.*).item))))...........
29d00 20 20 20 20 20 20 20 20 20 20 28 63 61 74 65 67 6f 72 69 65 73 20 28 78 6d 6c 2d 71 75 65 72 79 ..........(categories.(xml-query
29d20 2d 61 6c 6c 2a 20 28 63 61 74 65 67 6f 72 79 20 2a 29 20 69 74 65 6d 29 29 0a 20 20 20 20 20 20 -all*.(category.*).item)).......
29d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 74 65 6e 74 20 28 6f 72 20 28 78 6d 6c 2d ..............(content.(or.(xml-
29d60 71 75 65 72 79 2d 61 6c 6c 2a 20 28 65 6e 63 6f 64 65 64 20 2a 29 20 69 74 65 6d 29 0a 20 20 20 query-all*.(encoded.*).item)....
29d80 20 20 20 20 20 20 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
29da0 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 64 65 73 63 72 69 70 74 69 6f 6e 20 2a 29 20 69 74 ml-query-all*.(description.*).it
29dc0 65 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 73 63 72 em))).....................(descr
29de0 69 70 74 69 6f 6e 20 28 61 70 70 6c 79 20 23 27 63 6f 6e 63 61 74 20 63 6f 6e 74 65 6e 74 29 29 iption.(apply.#'concat.content))
29e00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 64 20 28 6f 72 20 67 75 69 .....................(id.(or.gui
29e20 64 20 6c 69 6e 6b 20 28 65 6c 66 65 65 64 2d 67 65 6e 65 72 61 74 65 2d 69 64 20 64 65 73 63 72 d.link.(elfeed-generate-id.descr
29e40 69 70 74 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 iption))).....................(f
29e60 75 6c 6c 2d 69 64 20 28 63 6f 6e 73 20 6e 61 6d 65 73 70 61 63 65 20 28 65 6c 66 65 65 64 2d 63 ull-id.(cons.namespace.(elfeed-c
29e80 6c 65 61 6e 75 70 20 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 leanup.id)))....................
29ea0 20 28 6f 72 69 67 69 6e 61 6c 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 65 6e 74 72 79 20 .(original.(elfeed-db-get-entry.
29ec0 66 75 6c 6c 2d 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f full-id)).....................(o
29ee0 72 69 67 69 6e 61 6c 2d 64 61 74 65 20 28 61 6e 64 20 6f 72 69 67 69 6e 61 6c 20 28 65 6c 66 65 riginal-date.(and.original.(elfe
29f00 65 64 2d 65 6e 74 72 79 2d 64 61 74 65 20 6f 72 69 67 69 6e 61 6c 29 29 29 0a 20 20 20 20 20 20 ed-entry-date.original))).......
29f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 61 67 73 20 28 65 6c 66 65 65 64 2d 6e 6f 72 6d ..............(tags.(elfeed-norm
29f40 61 6c 69 7a 65 2d 74 61 67 73 20 61 75 74 6f 74 61 67 73 20 65 6c 66 65 65 64 2d 69 6e 69 74 69 alize-tags.autotags.elfeed-initi
29f60 61 6c 2d 74 61 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 al-tags)).....................(e
29f80 74 61 67 73 20 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 65 6e 63 6c 6f 73 75 72 65 29 tags.(xml-query-all*.(enclosure)
29fa0 20 69 74 65 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 63 .item)).....................(enc
29fc0 6c 6f 73 75 72 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c losures......................(cl
29fe0 2d 6c 6f 6f 70 20 66 6f 72 20 65 6e 63 6c 6f 73 75 72 65 20 69 6e 20 65 74 61 67 73 0a 20 20 20 -loop.for.enclosure.in.etags....
2a000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 77 ...........................for.w
2a020 72 61 70 20 3d 20 28 6c 69 73 74 20 65 6e 63 6c 6f 73 75 72 65 29 0a 20 20 20 20 20 20 20 20 20 rap.=.(list.enclosure)..........
2a040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 75 72 6c 20 3d 20 28 .....................for.url.=.(
2a060 78 6d 6c 2d 71 75 65 72 79 2a 20 28 3a 75 72 6c 29 20 77 72 61 70 29 0a 20 20 20 20 20 20 20 20 xml-query*.(:url).wrap).........
2a080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 79 70 65 20 3d ......................for.type.=
2a0a0 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 3a 74 79 70 65 29 20 77 72 61 70 29 0a 20 20 20 20 20 .(xml-query*.(:type).wrap)......
2a0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 6c 65 6e .........................for.len
2a0e0 67 74 68 20 3d 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 3a 6c 65 6e 67 74 68 29 20 77 72 61 70 gth.=.(xml-query*.(:length).wrap
2a100 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 )...............................
2a120 63 6f 6c 6c 65 63 74 20 28 6c 69 73 74 20 75 72 6c 20 74 79 70 65 20 6c 65 6e 67 74 68 29 29 29 collect.(list.url.type.length)))
2a140 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 62 2d 65 6e 74 72 79 20 28 .....................(db-entry.(
2a160 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 2d 63 72 65 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 elfeed-entry--create............
2a180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 69 74 6c 65 20 28 65 6c 66 65 ....................:title.(elfe
2a1a0 65 64 2d 63 6c 65 61 6e 75 70 20 74 69 74 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ed-cleanup.title)...............
2a1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 64 20 66 75 6c 6c 2d 69 64 0a 20 20 20 .................:id.full-id....
2a1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 65 65 ............................:fee
2a200 64 2d 69 64 20 66 65 65 64 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d-id.feed-id....................
2a220 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 6e 6b 20 28 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 ............:link.(elfeed-cleanu
2a240 70 20 6c 69 6e 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p.link).........................
2a260 20 20 20 20 20 20 20 3a 74 61 67 73 20 74 61 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......:tags.tags...............
2a280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 64 61 74 65 20 28 65 6c 66 65 65 64 2d 6e .................:date.(elfeed-n
2a2a0 65 77 2d 64 61 74 65 2d 66 6f 72 2d 65 6e 74 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ew-date-for-entry...............
2a2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 69 67 69 6e 61 6c ........................original
2a2e0 2d 64 61 74 65 20 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -date.date).....................
2a300 20 20 20 20 20 20 20 20 20 20 20 3a 65 6e 63 6c 6f 73 75 72 65 73 20 65 6e 63 6c 6f 73 75 72 65 ...........:enclosures.enclosure
2a320 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...............................
2a340 20 3a 63 6f 6e 74 65 6e 74 20 64 65 73 63 72 69 70 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 .:content.description...........
2a360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6e 74 65 6e 74 2d 74 79 .....................:content-ty
2a380 70 65 20 27 68 74 6d 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pe.'html........................
2a3a0 20 20 20 20 20 20 20 20 3a 6d 65 74 61 20 60 28 2c 40 28 77 68 65 6e 20 61 75 74 68 6f 72 73 0a ........:meta.`(,@(when.authors.
2a3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2a3e0 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 61 75 74 68 6f 72 73 20 61 75 74 68 6f 72 ...........(list.:authors.author
2a400 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s)).............................
2a420 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 63 61 74 65 67 6f 72 69 65 73 0a 20 20 ...........,@(when.categories...
2a440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2a460 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 63 61 74 65 67 6f 72 69 65 73 20 63 61 74 65 67 .........(list.:categories.categ
2a480 6f 72 69 65 73 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 ories))))))................(doli
2a4a0 73 74 20 28 68 6f 6f 6b 20 65 6c 66 65 65 64 2d 6e 65 77 2d 65 6e 74 72 79 2d 70 61 72 73 65 2d st.(hook.elfeed-new-entry-parse-
2a4c0 68 6f 6f 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 hook)..................(funcall.
2a4e0 68 6f 6f 6b 20 3a 72 73 73 20 69 74 65 6d 20 64 62 2d 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 hook.:rss.item.db-entry)).......
2a500 20 20 20 20 20 20 20 20 20 64 62 2d 65 6e 74 72 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c .........db-entry))))..(defun.el
2a520 66 65 65 64 2d 65 6e 74 72 69 65 73 2d 66 72 6f 6d 2d 72 73 73 31 2e 30 20 28 75 72 6c 20 78 6d feed-entries-from-rss1.0.(url.xm
2a540 6c 29 0a 20 20 22 54 75 72 6e 20 70 61 72 73 65 64 20 52 53 53 20 31 2e 30 20 63 6f 6e 74 65 6e l)..."Turn.parsed.RSS.1.0.conten
2a560 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 65 6c 66 65 65 64 2d 65 6e 74 72 79 20 73 74 t.into.a.list.of.elfeed-entry.st
2a580 72 75 63 74 73 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 65 65 64 2d 69 64 20 75 72 6c 29 0a 20 ructs."...(let*.((feed-id.url)..
2a5a0 20 20 20 20 20 20 20 20 28 6e 61 6d 65 73 70 61 63 65 20 28 65 6c 66 65 65 64 2d 75 72 6c 2d 74 ........(namespace.(elfeed-url-t
2a5c0 6f 2d 6e 61 6d 65 73 70 61 63 65 20 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 65 65 64 o-namespace.url))..........(feed
2a5e0 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 66 65 65 64 20 66 65 65 64 2d 69 64 29 29 0a 20 .(elfeed-db-get-feed.feed-id))..
2a600 20 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 70 20 28 ........(title.(elfeed-cleanup.(
2a620 78 6d 6c 2d 71 75 65 72 79 2a 20 28 52 44 46 20 63 68 61 6e 6e 65 6c 20 74 69 74 6c 65 20 2a 29 xml-query*.(RDF.channel.title.*)
2a640 20 78 6d 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 75 74 6f 74 61 67 73 20 28 65 6c 66 65 .xml)))..........(autotags.(elfe
2a660 65 64 2d 66 65 65 64 2d 61 75 74 6f 74 61 67 73 20 75 72 6c 29 29 29 0a 20 20 20 20 28 73 65 74 ed-feed-autotags.url))).....(set
2a680 66 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 75 72 6c 20 66 65 65 64 29 20 75 72 6c 0a 20 20 20 f.(elfeed-feed-url.feed).url....
2a6a0 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 74 69 74 6c 65 20 66 65 65 64 29 20 .......(elfeed-feed-title.feed).
2a6c0 74 69 74 6c 65 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 69 74 65 6d 20 69 6e 20 title).....(cl-loop.for.item.in.
2a6e0 28 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 2a 20 28 52 44 46 20 69 74 65 6d 29 20 78 6d 6c 29 20 (xml-query-all*.(RDF.item).xml).
2a700 63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 74 69 74 collect..............(let*.((tit
2a720 6c 65 20 28 6f 72 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 74 69 74 6c 65 20 2a 29 20 69 74 65 le.(or.(xml-query*.(title.*).ite
2a740 6d 29 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e m)."")).....................(lin
2a760 6b 20 28 78 6d 6c 2d 71 75 65 72 79 2a 20 28 6c 69 6e 6b 20 2a 29 20 69 74 65 6d 29 29 0a 20 20 k.(xml-query*.(link.*).item))...
2a780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 74 65 20 28 6f 72 20 28 78 6d 6c ..................(date.(or.(xml
2a7a0 2d 71 75 65 72 79 2a 20 28 70 75 62 44 61 74 65 20 2a 29 20 69 74 65 6d 29 0a 20 20 20 20 20 20 -query*.(pubDate.*).item).......
2a7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 6d 6c 2d 71 75 65 ........................(xml-que
2a7e0 72 79 2a 20 28 64 61 74 65 20 2a 29 20 69 74 65 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ry*.(date.*).item)))............
2a800 20 20 20 20 20 20 20 20 20 28 64 65 73 63 72 69 70 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 .........(description...........
2a820 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 63 6f 6e 63 61 74 20 28 78 6d 6c 2d ...........(apply.#'concat.(xml-
2a840 71 75 65 72 79 2d 61 6c 6c 2a 20 28 64 65 73 63 72 69 70 74 69 6f 6e 20 2a 29 20 69 74 65 6d 29 query-all*.(description.*).item)
2a860 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 64 20 28 6f 72 20 6c )).....................(id.(or.l
2a880 69 6e 6b 20 28 65 6c 66 65 65 64 2d 67 65 6e 65 72 61 74 65 2d 69 64 20 64 65 73 63 72 69 70 74 ink.(elfeed-generate-id.descript
2a8a0 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6c 6c ion))).....................(full
2a8c0 2d 69 64 20 28 63 6f 6e 73 20 6e 61 6d 65 73 70 61 63 65 20 28 65 6c 66 65 65 64 2d 63 6c 65 61 -id.(cons.namespace.(elfeed-clea
2a8e0 6e 75 70 20 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f nup.id))).....................(o
2a900 72 69 67 69 6e 61 6c 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 65 6e 74 72 79 20 66 75 6c riginal.(elfeed-db-get-entry.ful
2a920 6c 2d 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 69 67 l-id)).....................(orig
2a940 69 6e 61 6c 2d 64 61 74 65 20 28 61 6e 64 20 6f 72 69 67 69 6e 61 6c 20 28 65 6c 66 65 65 64 2d inal-date.(and.original.(elfeed-
2a960 65 6e 74 72 79 2d 64 61 74 65 20 6f 72 69 67 69 6e 61 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 entry-date.original)))..........
2a980 20 20 20 20 20 20 20 20 20 20 20 28 74 61 67 73 20 28 65 6c 66 65 65 64 2d 6e 6f 72 6d 61 6c 69 ...........(tags.(elfeed-normali
2a9a0 7a 65 2d 74 61 67 73 20 61 75 74 6f 74 61 67 73 20 65 6c 66 65 65 64 2d 69 6e 69 74 69 61 6c 2d ze-tags.autotags.elfeed-initial-
2a9c0 74 61 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 62 2d 65 tags)).....................(db-e
2a9e0 6e 74 72 79 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 2d 63 72 65 61 74 65 0a 20 20 20 20 20 ntry.(elfeed-entry--create......
2aa00 20 20 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
2aa20 20 28 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 70 20 74 69 74 6c 65 29 0a 20 20 20 20 20 20 20 20 .(elfeed-cleanup.title).........
2aa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 64 20 66 75 6c 6c 2d .......................:id.full-
2aa60 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 id..............................
2aa80 20 20 3a 66 65 65 64 2d 69 64 20 66 65 65 64 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..:feed-id.feed-id..............
2aaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 6e 6b 20 28 65 6c 66 65 65 64 2d ..................:link.(elfeed-
2aac0 63 6c 65 61 6e 75 70 20 6c 69 6e 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cleanup.link)...................
2aae0 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 61 67 73 20 74 61 67 73 0a 20 20 20 20 20 20 20 20 .............:tags.tags.........
2ab00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 64 61 74 65 20 28 65 6c .......................:date.(el
2ab20 66 65 65 64 2d 6e 65 77 2d 64 61 74 65 2d 66 6f 72 2d 65 6e 74 72 79 0a 20 20 20 20 20 20 20 20 feed-new-date-for-entry.........
2ab40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 ..............................or
2ab60 69 67 69 6e 61 6c 2d 64 61 74 65 20 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 iginal-date.date)...............
2ab80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6e 74 65 6e 74 20 64 65 73 63 72 69 .................:content.descri
2aba0 70 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ption...........................
2abc0 20 20 20 20 20 3a 63 6f 6e 74 65 6e 74 2d 74 79 70 65 20 27 68 74 6d 6c 29 29 29 0a 20 20 20 20 .....:content-type.'html))).....
2abe0 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 68 6f 6f 6b 20 65 6c 66 65 65 64 2d ...........(dolist.(hook.elfeed-
2ac00 6e 65 77 2d 65 6e 74 72 79 2d 70 61 72 73 65 2d 68 6f 6f 6b 29 0a 20 20 20 20 20 20 20 20 20 20 new-entry-parse-hook)...........
2ac20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 68 6f 6f 6b 20 3a 72 73 73 31 2e 30 20 69 74 65 .......(funcall.hook.:rss1.0.ite
2ac40 6d 20 64 62 2d 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 62 2d 65 m.db-entry))................db-e
2ac60 6e 74 72 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 66 65 65 64 2d 6c 69 73 ntry))))..(defun.elfeed-feed-lis
2ac80 74 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 6c 61 74 20 6c 69 73 74 20 76 65 72 73 69 t.()..."Return.a.flat.list.versi
2aca0 6f 6e 20 6f 66 20 60 65 6c 66 65 65 64 2d 66 65 65 64 73 27 2e 0a 4f 6e 6c 79 20 61 20 6c 69 73 on.of.`elfeed-feeds'..Only.a.lis
2acc0 74 20 6f 66 20 73 74 72 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 2e 22 0a t.of.strings.will.be.returned.".
2ace0 20 20 3b 3b 20 56 61 6c 69 64 61 74 65 20 65 6c 66 65 65 64 2d 66 65 65 64 73 20 61 6e 64 20 66 ..;;.Validate.elfeed-feeds.and.f
2ad00 61 69 6c 20 65 61 72 6c 79 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 73 79 6e 63 68 72 6f 6e 6f ail.early.rather.than.asynchrono
2ad20 75 73 6c 79 20 6c 61 74 65 72 2e 0a 20 20 28 64 6f 6c 69 73 74 20 28 66 65 65 64 20 65 6c 66 65 usly.later....(dolist.(feed.elfe
2ad40 65 64 2d 66 65 65 64 73 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 63 6c 2d 74 79 70 65 63 61 ed-feeds).....(unless.(cl-typeca
2ad60 73 65 20 66 65 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 61 6e 64 se.feed...............(list.(and
2ad80 20 28 73 74 72 69 6e 67 70 20 28 63 61 72 20 66 65 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(stringp.(car.feed))...........
2ada0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 65 76 65 72 79 20 23 27 73 79 6d 62 6f ...............(cl-every.#'symbo
2adc0 6c 70 20 28 63 64 72 20 66 65 65 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 lp.(cdr.feed))))...............(
2ade0 73 74 72 69 6e 67 20 74 29 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 65 6c 66 65 65 64 2d string.t)).......(error."elfeed-
2ae00 66 65 65 64 73 20 6d 61 6c 66 6f 72 6d 65 64 2c 20 62 61 64 20 65 6e 74 72 79 3a 20 25 53 22 20 feeds.malformed,.bad.entry:.%S".
2ae20 66 65 65 64 29 29 29 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 66 65 65 64 20 69 6e 20 65 feed)))...(cl-loop.for.feed.in.e
2ae40 6c 66 65 65 64 2d 66 65 65 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 28 6c 69 73 lfeed-feeds............when.(lis
2ae60 74 70 20 66 65 65 64 29 20 63 6f 6c 6c 65 63 74 20 28 63 61 72 20 66 65 65 64 29 0a 20 20 20 20 tp.feed).collect.(car.feed).....
2ae80 20 20 20 20 20 20 20 65 6c 73 65 20 63 6f 6c 6c 65 63 74 20 66 65 65 64 29 29 0a 0a 28 64 65 66 .......else.collect.feed))..(def
2aea0 75 6e 20 65 6c 66 65 65 64 2d 66 65 65 64 2d 61 75 74 6f 74 61 67 73 20 28 75 72 6c 2d 6f 72 2d un.elfeed-feed-autotags.(url-or-
2aec0 66 65 65 64 29 0a 20 20 22 52 65 74 75 72 6e 20 74 61 67 73 20 74 6f 20 61 75 74 6f 6d 61 74 69 feed)..."Return.tags.to.automati
2aee0 63 61 6c 6c 79 20 61 70 70 6c 79 20 74 6f 20 61 6c 6c 20 65 6e 74 72 69 65 73 20 66 72 6f 6d 20 cally.apply.to.all.entries.from.
2af00 55 52 4c 2d 4f 52 2d 46 45 45 44 2e 22 0a 20 20 28 6c 65 74 20 28 28 75 72 6c 20 28 69 66 20 28 URL-OR-FEED."...(let.((url.(if.(
2af20 65 6c 66 65 65 64 2d 66 65 65 64 2d 70 20 75 72 6c 2d 6f 72 2d 66 65 65 64 29 0a 20 20 20 20 20 elfeed-feed-p.url-or-feed)......
2af40 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 75 72 6c ............(or.(elfeed-feed-url
2af60 20 75 72 6c 2d 6f 72 2d 66 65 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .url-or-feed)...................
2af80 20 20 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 69 64 20 75 72 6c 2d 6f 72 2d 66 65 65 64 29 29 ...(elfeed-feed-id.url-or-feed))
2afa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 72 6c 2d 6f 72 2d 66 65 65 64 29 29 29 0a 20 ................url-or-feed)))..
2afc0 20 20 20 28 6d 61 70 63 61 72 20 23 27 65 6c 66 65 65 64 2d 6b 65 79 77 6f 72 64 2d 3e 73 79 6d ...(mapcar.#'elfeed-keyword->sym
2afe0 62 6f 6c 20 28 63 64 72 20 28 61 73 73 6f 63 20 75 72 6c 20 65 6c 66 65 65 64 2d 66 65 65 64 73 bol.(cdr.(assoc.url.elfeed-feeds
2b000 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 61 70 70 6c 79 2d 61 75 74 6f 74 )))))..(defun.elfeed-apply-autot
2b020 61 67 73 2d 6e 6f 77 20 28 29 0a 20 20 22 41 70 70 6c 79 20 61 75 74 6f 74 61 67 73 20 74 6f 20 ags-now.()..."Apply.autotags.to.
2b040 65 78 69 73 74 69 6e 67 20 65 6e 74 72 69 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 65 existing.entries.according.to.`e
2b060 6c 66 65 65 64 2d 66 65 65 64 73 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 lfeed-feeds'."...(interactive)..
2b080 20 28 77 69 74 68 2d 65 6c 66 65 65 64 2d 64 62 2d 76 69 73 69 74 20 28 65 6e 74 72 79 20 66 65 .(with-elfeed-db-visit.(entry.fe
2b0a0 65 64 29 0a 20 20 20 20 28 61 70 70 6c 79 20 23 27 65 6c 66 65 65 64 2d 74 61 67 20 65 6e 74 72 ed).....(apply.#'elfeed-tag.entr
2b0c0 79 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 61 75 74 6f 74 61 67 73 20 66 65 65 64 29 29 29 29 y.(elfeed-feed-autotags.feed))))
2b0e0 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 68 61 6e 64 6c 65 2d 68 74 74 70 2d 65 72 72 6f ..(defun.elfeed-handle-http-erro
2b100 72 20 28 75 72 6c 20 73 74 61 74 75 73 29 0a 20 20 22 48 61 6e 64 6c 65 20 61 6e 20 68 74 74 70 r.(url.status)..."Handle.an.http
2b120 20 65 72 72 6f 72 20 64 75 72 69 6e 67 20 72 65 74 72 69 65 76 61 6c 20 6f 66 20 55 52 4c 20 77 .error.during.retrieval.of.URL.w
2b140 69 74 68 20 53 54 41 54 55 53 20 63 6f 64 65 2e 22 0a 20 20 28 63 6c 2d 69 6e 63 66 20 28 65 6c ith.STATUS.code."...(cl-incf.(el
2b160 66 65 65 64 2d 6d 65 74 61 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 66 65 65 64 20 75 72 feed-meta.(elfeed-db-get-feed.ur
2b180 6c 29 20 3a 66 61 69 6c 75 72 65 73 20 30 29 29 0a 20 20 28 72 75 6e 2d 68 6f 6f 6b 2d 77 69 74 l).:failures.0))...(run-hook-wit
2b1a0 68 2d 61 72 67 73 20 27 65 6c 66 65 65 64 2d 68 74 74 70 2d 65 72 72 6f 72 2d 68 6f 6f 6b 73 20 h-args.'elfeed-http-error-hooks.
2b1c0 75 72 6c 20 73 74 61 74 75 73 29 0a 20 20 28 65 6c 66 65 65 64 2d 6c 6f 67 20 27 65 72 72 6f 72 url.status)...(elfeed-log.'error
2b1e0 20 22 25 73 3a 20 25 53 22 20 75 72 6c 20 73 74 61 74 75 73 29 29 0a 0a 28 64 65 66 75 6e 20 65 ."%s:.%S".url.status))..(defun.e
2b200 6c 66 65 65 64 2d 68 61 6e 64 6c 65 2d 70 61 72 73 65 2d 65 72 72 6f 72 20 28 75 72 6c 20 65 72 lfeed-handle-parse-error.(url.er
2b220 72 6f 72 29 0a 20 20 22 48 61 6e 64 6c 65 20 70 61 72 73 65 20 65 72 72 6f 72 20 64 75 72 69 6e ror)..."Handle.parse.error.durin
2b240 67 20 70 61 72 73 69 6e 67 20 6f 66 20 55 52 4c 20 77 69 74 68 20 45 52 52 4f 52 20 6d 65 73 73 g.parsing.of.URL.with.ERROR.mess
2b260 61 67 65 2e 22 0a 20 20 28 63 6c 2d 69 6e 63 66 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 20 28 65 age."...(cl-incf.(elfeed-meta.(e
2b280 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 66 65 65 64 20 75 72 6c 29 20 3a 66 61 69 6c 75 72 65 73 lfeed-db-get-feed.url).:failures
2b2a0 20 30 29 29 0a 20 20 28 72 75 6e 2d 68 6f 6f 6b 2d 77 69 74 68 2d 61 72 67 73 20 27 65 6c 66 65 .0))...(run-hook-with-args.'elfe
2b2c0 65 64 2d 70 61 72 73 65 2d 65 72 72 6f 72 2d 68 6f 6f 6b 73 20 75 72 6c 20 65 72 72 6f 72 29 0a ed-parse-error-hooks.url.error).
2b2e0 20 20 28 65 6c 66 65 65 64 2d 6c 6f 67 20 27 65 72 72 6f 72 20 22 25 73 3a 20 25 73 22 20 75 72 ..(elfeed-log.'error."%s:.%s".ur
2b300 6c 20 65 72 72 6f 72 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d l.error))..(defun.elfeed-update-
2b320 66 65 65 64 20 28 75 72 6c 29 0a 20 20 22 55 70 64 61 74 65 20 61 20 73 70 65 63 69 66 69 63 20 feed.(url)..."Update.a.specific.
2b340 66 65 65 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 28 63 6f 6d feed."...(interactive.(list.(com
2b360 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 46 65 65 64 3a 20 22 20 28 65 6c 66 65 65 64 2d 66 65 pleting-read."Feed:.".(elfeed-fe
2b380 65 64 2d 6c 69 73 74 29 29 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 65 6c 66 65 65 64 2d 2d 69 6e ed-list))))...(unless.elfeed--in
2b3a0 68 69 62 69 74 2d 75 70 64 61 74 65 2d 69 6e 69 74 2d 68 6f 6f 6b 73 0a 20 20 20 20 28 72 75 6e hibit-update-init-hooks.....(run
2b3c0 2d 68 6f 6f 6b 73 20 27 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 69 6e 69 74 2d 68 6f 6f 6b 73 -hooks.'elfeed-update-init-hooks
2b3e0 29 29 0a 20 20 28 65 6c 66 65 65 64 2d 77 69 74 68 2d 66 65 74 63 68 20 75 72 6c 0a 20 20 20 20 ))...(elfeed-with-fetch.url.....
2b400 28 69 66 20 28 65 6c 66 65 65 64 2d 69 73 2d 73 74 61 74 75 73 2d 65 72 72 6f 72 20 73 74 61 74 (if.(elfeed-is-status-error.stat
2b420 75 73 20 75 73 65 2d 63 75 72 6c 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 69 6e us.use-curl).........(let.((prin
2b440 74 2d 65 73 63 61 70 65 2d 6e 65 77 6c 69 6e 65 73 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 t-escape-newlines.t))...........
2b460 28 65 6c 66 65 65 64 2d 68 61 6e 64 6c 65 2d 68 74 74 70 2d 65 72 72 6f 72 0a 20 20 20 20 20 20 (elfeed-handle-http-error.......
2b480 20 20 20 20 20 75 72 6c 20 28 69 66 20 75 73 65 2d 63 75 72 6c 20 65 6c 66 65 65 64 2d 63 75 72 .....url.(if.use-curl.elfeed-cur
2b4a0 6c 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 20 73 74 61 74 75 73 29 29 29 0a 20 20 20 20 20 20 l-error-message.status))).......
2b4c0 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 20 (condition-case.error...........
2b4e0 28 6c 65 74 20 28 28 66 65 65 64 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 66 65 65 64 20 (let.((feed.(elfeed-db-get-feed.
2b500 75 72 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 75 73 65 2d 63 url))).............(unless.use-c
2b520 75 72 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 6d 6f 76 65 2d 74 url...............(elfeed-move-t
2b540 6f 2d 66 69 72 73 74 2d 65 6d 70 74 79 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 o-first-empty-line).............
2b560 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 75 6c 74 69 62 79 74 65 20 74 29 29 0a 20 20 20 20 ..(set-buffer-multibyte.t)).....
2b580 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 6c 20 65 6c 66 65 65 64 2d 63 75 72 6c ........(unless.(eql.elfeed-curl
2b5a0 2d 73 74 61 74 75 73 2d 63 6f 64 65 20 33 30 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -status-code.304)...............
2b5c0 3b 3b 20 55 70 64 61 74 65 20 4c 61 73 74 2d 4d 6f 64 69 66 69 65 64 20 61 6e 64 20 45 74 61 67 ;;.Update.Last-Modified.and.Etag
2b5e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 65 6c 66 65 65 64 2d 6d 65 74 ...............(setf.(elfeed-met
2b600 61 20 66 65 65 64 20 3a 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 29 0a 20 20 20 20 20 20 20 20 20 a.feed.:last-modified)..........
2b620 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 28 61 73 73 6f 63 20 22 6c 61 73 74 2d 6d 6f 64 ...........(cdr.(assoc."last-mod
2b640 69 66 69 65 64 22 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 68 65 61 64 65 72 73 29 29 0a 20 20 20 ified".elfeed-curl-headers))....
2b660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 20 66 65 .................(elfeed-meta.fe
2b680 65 64 20 3a 65 74 61 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 ed.:etag).....................(c
2b6a0 64 72 20 28 61 73 73 6f 63 20 22 65 74 61 67 22 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 68 65 61 dr.(assoc."etag".elfeed-curl-hea
2b6c0 64 65 72 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c ders)))...............(if.(equal
2b6e0 20 75 72 6c 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 6c 6f 63 61 74 69 6f 6e 29 0a 20 20 20 20 20 .url.elfeed-curl-location)......
2b700 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 20 .............(setf.(elfeed-meta.
2b720 66 65 65 64 20 3a 63 61 6e 6f 6e 69 63 61 6c 2d 75 72 6c 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 feed.:canonical-url).nil).......
2b740 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 65 6c 66 65 65 64 2d 6d 65 74 61 20 66 65 65 ..........(setf.(elfeed-meta.fee
2b760 64 20 3a 63 61 6e 6f 6e 69 63 61 6c 2d 75 72 6c 29 20 65 6c 66 65 65 64 2d 63 75 72 6c 2d 6c 6f d.:canonical-url).elfeed-curl-lo
2b780 63 61 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 78 cation))...............(let*.((x
2b7a0 6d 6c 20 28 65 6c 66 65 65 64 2d 78 6d 6c 2d 70 61 72 73 65 2d 72 65 67 69 6f 6e 20 28 70 6f 69 ml.(elfeed-xml-parse-region.(poi
2b7c0 6e 74 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nt).(point-max)))...............
2b7e0 20 20 20 20 20 20 20 28 65 6e 74 72 69 65 73 20 28 63 6c 2d 63 61 73 65 20 28 65 6c 66 65 65 64 .......(entries.(cl-case.(elfeed
2b800 2d 66 65 65 64 2d 74 79 70 65 20 78 6d 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -feed-type.xml).................
2b820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 61 74 6f 6d 20 28 65 6c 66 65 65 64 2d 65 ................(:atom.(elfeed-e
2b840 6e 74 72 69 65 73 2d 66 72 6f 6d 2d 61 74 6f 6d 20 75 72 6c 20 78 6d 6c 29 29 0a 20 20 20 20 20 ntries-from-atom.url.xml))......
2b860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 72 73 73 ...........................(:rss
2b880 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 69 65 73 2d 66 72 6f 6d 2d 72 73 73 20 75 72 6c 20 78 6d .(elfeed-entries-from-rss.url.xm
2b8a0 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l)).............................
2b8c0 20 20 20 20 28 3a 72 73 73 31 2e 30 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 69 65 73 2d 66 72 6f ....(:rss1.0.(elfeed-entries-fro
2b8e0 6d 2d 72 73 73 31 2e 30 20 75 72 6c 20 78 6d 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 m-rss1.0.url.xml))..............
2b900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 74 68 65 72 77 69 73 65 0a 20 20 ...................(otherwise...
2b920 20 20 20 20 20 20 20 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 ...............................(
2b940 65 72 72 6f 72 20 28 65 6c 66 65 65 64 2d 68 61 6e 64 6c 65 2d 70 61 72 73 65 2d 65 72 72 6f 72 error.(elfeed-handle-parse-error
2b960 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 ................................
2b980 20 20 20 20 20 20 20 20 20 20 75 72 6c 20 22 55 6e 6b 6e 6f 77 6e 20 66 65 65 64 20 74 79 70 65 ..........url."Unknown.feed.type
2b9a0 2e 22 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 .")))))).................(elfeed
2b9c0 2d 64 62 2d 61 64 64 20 65 6e 74 72 69 65 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 -db-add.entries)))).........(err
2b9e0 6f 72 20 28 65 6c 66 65 65 64 2d 68 61 6e 64 6c 65 2d 70 61 72 73 65 2d 65 72 72 6f 72 20 75 72 or.(elfeed-handle-parse-error.ur
2ba00 6c 20 65 72 72 6f 72 29 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 75 73 65 2d 63 75 72 6c l.error)))).....(unless.use-curl
2ba20 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 28 72 75 6e 2d 68 .......(kill-buffer)).....(run-h
2ba40 6f 6f 6b 2d 77 69 74 68 2d 61 72 67 73 20 27 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 68 6f 6f ook-with-args.'elfeed-update-hoo
2ba60 6b 73 20 75 72 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 63 61 6e 64 69 64 61 ks.url)))..(defun.elfeed-candida
2ba80 74 65 2d 66 65 65 64 73 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 te-feeds.()..."Return.a.list.of.
2baa0 70 6f 73 73 69 62 6c 65 20 66 65 65 64 73 20 66 72 6f 6d 20 60 65 6c 66 65 65 64 2d 66 65 65 64 possible.feeds.from.`elfeed-feed
2bac0 2d 66 75 6e 63 74 69 6f 6e 73 27 2e 22 0a 20 20 28 6c 65 74 20 28 72 65 73 29 0a 20 20 20 20 28 -functions'."...(let.(res).....(
2bae0 72 75 6e 2d 68 6f 6f 6b 2d 77 72 61 70 70 65 64 0a 20 20 20 20 20 27 65 6c 66 65 65 64 2d 66 65 run-hook-wrapped......'elfeed-fe
2bb00 65 64 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 66 75 6e 29 0a ed-functions......(lambda.(fun).
2bb20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 76 61 6c 20 28 65 6c 66 65 65 64 2d 63 6c 65 61 6e .......(let*.((val.(elfeed-clean
2bb40 75 70 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 up.(funcall.fun))))..........(wh
2bb60 65 6e 20 28 61 6e 64 20 28 6e 6f 74 20 28 7a 65 72 6f 70 20 28 6c 65 6e 67 74 68 20 76 61 6c 29 en.(and.(not.(zerop.(length.val)
2bb80 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 2d 6c )).....................(elfeed-l
2bba0 6f 6f 6b 73 2d 6c 69 6b 65 2d 75 72 6c 2d 70 20 76 61 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 ooks-like-url-p.val))...........
2bbc0 20 28 63 6c 2d 70 75 73 68 6e 65 77 20 76 61 6c 20 72 65 73 20 3a 74 65 73 74 20 23 27 65 71 75 .(cl-pushnew.val.res.:test.#'equ
2bbe0 61 6c 29 29 29 0a 20 20 20 20 20 20 20 6e 69 6c 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 al)))........nil)).....(nreverse
2bc00 20 72 65 73 29 29 29 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 61 64 64 2d 66 65 .res)))..(cl-defun.elfeed-add-fe
2bc20 65 64 20 28 75 72 6c 20 26 6b 65 79 20 73 61 76 65 29 0a 20 20 22 4d 61 6e 75 61 6c 6c 79 20 61 ed.(url.&key.save)..."Manually.a
2bc40 64 64 20 61 20 66 65 65 64 20 74 6f 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 0a 49 66 20 53 41 dd.a.feed.to.the.database..If.SA
2bc60 56 45 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 74 68 65 20 6e 65 77 20 76 61 6c 75 65 20 6f 66 20 e2 VE.is.non-nil.the.new.value.of..
2bc80 80 98 65 6c 66 65 65 64 2d 66 65 65 64 73 e2 80 99 20 69 73 20 73 61 76 65 64 2e 20 20 57 68 65 ..elfeed-feeds....is.saved...Whe
2bca0 6e 0a 63 61 6c 6c 65 64 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 53 41 56 45 20 69 73 20 n.called.interactively,.SAVE.is.
2bcc0 73 65 74 20 74 6f 20 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 69 set.to.t."...(interactive....(li
2bce0 73 74 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 66 65 65 64 73 20 28 65 6c 66 65 65 64 2d 63 61 6e st.....(let*.((feeds.(elfeed-can
2bd00 64 69 64 61 74 65 2d 66 65 65 64 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 70 didate-feeds))............(promp
2bd20 74 20 28 69 66 20 66 65 65 64 73 20 28 63 6f 6e 63 61 74 20 22 55 52 4c 20 28 64 65 66 61 75 6c t.(if.feeds.(concat."URL.(defaul
2bd40 74 20 22 20 28 63 61 72 20 66 65 65 64 73 29 20 20 22 29 3a 20 22 29 0a 20 20 20 20 20 20 20 20 t.".(car.feeds).."):.").........
2bd60 20 20 20 20 20 20 20 20 20 20 20 20 20 22 55 52 4c 3a 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 ............."URL:."))..........
2bd80 20 20 28 69 6e 70 75 74 20 28 72 65 61 64 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 20 70 ..(input.(read-from-minibuffer.p
2bda0 72 6f 6d 70 74 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 66 65 65 64 73 29 29 0a 20 20 rompt.nil.nil.nil.nil.feeds))...
2bdc0 20 20 20 20 20 20 20 20 20 28 72 65 73 75 6c 74 20 28 65 6c 66 65 65 64 2d 63 6c 65 61 6e 75 70 .........(result.(elfeed-cleanup
2bde0 20 69 6e 70 75 74 29 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 6f 74 20 28 7a 65 72 .input))).......(cond.((not.(zer
2be00 6f 70 20 28 6c 65 6e 67 74 68 20 72 65 73 75 6c 74 29 29 29 20 72 65 73 75 6c 74 29 0a 20 20 20 op.(length.result))).result)....
2be20 20 20 20 20 20 20 20 20 20 28 66 65 65 64 73 20 28 63 61 72 20 66 65 65 64 73 29 29 0a 20 20 20 .........(feeds.(car.feeds))....
2be40 20 20 20 20 20 20 20 20 20 28 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 20 66 65 65 64 20 74 .........((user-error."No.feed.t
2be60 6f 20 61 64 64 22 29 29 29 29 0a 20 20 20 20 3a 73 61 76 65 20 74 29 29 0a 20 20 28 63 6c 2d 70 o.add")))).....:save.t))...(cl-p
2be80 75 73 68 6e 65 77 20 75 72 6c 20 65 6c 66 65 65 64 2d 66 65 65 64 73 20 3a 74 65 73 74 20 23 27 ushnew.url.elfeed-feeds.:test.#'
2bea0 65 71 75 61 6c 29 0a 20 20 28 77 68 65 6e 20 73 61 76 65 0a 20 20 20 20 28 63 75 73 74 6f 6d 69 equal)...(when.save.....(customi
2bec0 7a 65 2d 73 61 76 65 2d 76 61 72 69 61 62 6c 65 20 27 65 6c 66 65 65 64 2d 66 65 65 64 73 20 65 ze-save-variable.'elfeed-feeds.e
2bee0 6c 66 65 65 64 2d 66 65 65 64 73 29 29 0a 20 20 28 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 66 lfeed-feeds))...(elfeed-update-f
2bf00 65 65 64 20 75 72 6c 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e eed.url))..;;;###autoload.(defun
2bf20 20 65 6c 66 65 65 64 2d 75 70 64 61 74 65 20 28 29 0a 20 20 22 55 70 64 61 74 65 20 61 6c 6c 20 .elfeed-update.()..."Update.all.
2bf40 74 68 65 20 66 65 65 64 73 20 69 6e 20 60 65 6c 66 65 65 64 2d 66 65 65 64 73 27 2e 22 0a 20 20 the.feeds.in.`elfeed-feeds'."...
2bf60 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 65 6c 66 65 65 64 2d 6c 6f 67 20 27 69 6e 66 (interactive)...(elfeed-log.'inf
2bf80 6f 20 22 45 6c 66 65 65 64 20 75 70 64 61 74 65 3a 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 o."Elfeed.update:.%s"...........
2bfa0 20 20 20 20 28 66 6f 72 6d 61 74 2d 74 69 6d 65 2d 73 74 72 69 6e 67 20 22 25 42 20 25 65 20 25 ....(format-time-string."%B.%e.%
2bfc0 59 20 25 48 3a 25 4d 3a 25 53 20 25 5a 22 29 29 0a 20 20 28 6c 65 74 20 28 28 65 6c 66 65 65 64 Y.%H:%M:%S.%Z"))...(let.((elfeed
2bfe0 2d 2d 69 6e 68 69 62 69 74 2d 75 70 64 61 74 65 2d 69 6e 69 74 2d 68 6f 6f 6b 73 20 74 29 29 0a --inhibit-update-init-hooks.t)).
2c000 20 20 20 20 28 6d 61 70 63 20 23 27 65 6c 66 65 65 64 2d 75 70 64 61 74 65 2d 66 65 65 64 20 28 ....(mapc.#'elfeed-update-feed.(
2c020 65 6c 66 65 65 64 2d 2d 73 68 75 66 66 6c 65 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 6c 69 73 elfeed--shuffle.(elfeed-feed-lis
2c040 74 29 29 29 29 0a 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 65 6c 66 65 65 64 2d 75 70 64 61 74 t))))...(run-hooks.'elfeed-updat
2c060 65 2d 69 6e 69 74 2d 68 6f 6f 6b 73 29 0a 20 20 28 65 6c 66 65 65 64 2d 64 62 2d 73 61 76 65 29 e-init-hooks)...(elfeed-db-save)
2c080 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 20 )..;;;###autoload.(defun.elfeed.
2c0a0 28 29 0a 20 20 22 45 6e 74 65 72 20 65 6c 66 65 65 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 ()..."Enter.elfeed."...(interact
2c0c0 69 76 65 29 0a 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 65 6c 66 65 65 64 ive)...(switch-to-buffer.(elfeed
2c0e0 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 6d -search-buffer))...(unless.(eq.m
2c100 61 6a 6f 72 2d 6d 6f 64 65 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 ajor-mode.'elfeed-search-mode)..
2c120 20 20 20 28 65 6c 66 65 65 64 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 29 29 0a 0a 3b 3b 20 4e 65 ...(elfeed-search-mode)))..;;.Ne
2c140 77 20 65 6e 74 72 79 20 66 69 6c 74 65 72 69 6e 67 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 65 6c 66 w.entry.filtering..(cl-defun.elf
2c160 65 65 64 2d 6d 61 6b 65 2d 74 61 67 67 65 72 0a 20 20 20 20 28 26 6b 65 79 20 66 65 65 64 2d 74 eed-make-tagger.....(&key.feed-t
2c180 69 74 6c 65 20 66 65 65 64 2d 75 72 6c 20 65 6e 74 72 79 2d 74 69 74 6c 65 20 65 6e 74 72 79 2d itle.feed-url.entry-title.entry-
2c1a0 6c 69 6e 6b 20 61 66 74 65 72 20 62 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 20 20 61 64 64 20 link.after.before...........add.
2c1c0 72 65 6d 6f 76 65 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 66 75 6e remove.callback)..."Create.a.fun
2c1e0 63 74 69 6f 6e 20 74 68 61 74 20 61 64 64 73 20 6f 72 20 72 65 6d 6f 76 65 73 20 74 61 67 73 20 ction.that.adds.or.removes.tags.
2c200 6f 6e 20 6d 61 74 63 68 69 6e 67 20 65 6e 74 72 69 65 73 2e 0a 0a 46 45 45 44 2d 54 49 54 4c 45 on.matching.entries...FEED-TITLE
2c220 2c 20 46 45 45 44 2d 55 52 4c 2c 20 45 4e 54 52 59 2d 54 49 54 4c 45 2c 20 61 6e 64 20 45 4e 54 ,.FEED-URL,.ENTRY-TITLE,.and.ENT
2c240 52 59 2d 4c 49 4e 4b 20 61 72 65 20 72 65 67 75 6c 61 72 0a 65 78 70 72 65 73 73 69 6f 6e 73 20 RY-LINK.are.regular.expressions.
2c260 6f 72 20 61 20 6c 69 73 74 20 28 6e 6f 74 20 3c 72 65 67 65 78 3e 29 2c 20 77 68 69 63 68 20 69 or.a.list.(not.<regex>),.which.i
2c280 6e 64 69 63 61 74 65 73 20 61 20 6e 65 67 61 74 69 76 65 0a 6d 61 74 63 68 2e 20 41 46 54 45 52 ndicates.a.negative.match..AFTER
2c2a0 20 61 6e 64 20 42 45 46 4f 52 45 20 61 72 65 20 72 65 6c 61 74 69 76 65 20 74 69 6d 65 73 20 28 .and.BEFORE.are.relative.times.(
2c2c0 73 65 65 0a 60 65 6c 66 65 65 64 2d 74 69 6d 65 2d 64 75 72 61 74 69 6f 6e 27 29 2e 20 45 6e 74 see.`elfeed-time-duration')..Ent
2c2e0 72 69 65 73 20 6d 75 73 74 20 6d 61 74 63 68 20 61 6c 6c 20 70 72 6f 76 69 64 65 64 0a 65 78 70 ries.must.match.all.provided.exp
2c300 72 65 73 73 69 6f 6e 73 2e 20 49 66 20 61 6e 20 65 6e 74 72 79 20 6d 61 74 63 68 65 73 2c 20 61 ressions..If.an.entry.matches,.a
2c320 64 64 20 74 61 67 73 20 41 44 44 20 61 6e 64 20 72 65 6d 6f 76 65 20 74 61 67 73 0a 52 45 4d 4f dd.tags.ADD.and.remove.tags.REMO
2c340 56 45 2e 0a 0a 45 78 61 6d 70 6c 65 73 2c 0a 0a 20 20 28 65 6c 66 65 65 64 2d 6d 61 6b 65 2d 74 VE...Examples,....(elfeed-make-t
2c360 61 67 67 65 72 20 3a 66 65 65 64 2d 75 72 6c 20 5c 22 79 6f 75 74 75 62 65 5c 5c 5c 5c 2e 63 6f agger.:feed-url.\"youtube\\\\.co
2c380 6d 5c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 61 64 64 20 5c m\".......................:add.\
2c3a0 5c 3d 27 28 76 69 64 65 6f 20 79 6f 75 74 75 62 65 29 29 0a 0a 20 20 28 65 6c 66 65 65 64 2d 6d \='(video.youtube))....(elfeed-m
2c3c0 61 6b 65 2d 74 61 67 67 65 72 20 3a 62 65 66 6f 72 65 20 5c 22 31 20 77 65 65 6b 20 61 67 6f 5c ake-tagger.:before.\"1.week.ago\
2c3e0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 72 65 6d 6f 76 65 20 ".......................:remove.
2c400 5c 5c 3d 27 75 6e 72 65 61 64 29 0a 0a 20 20 28 65 6c 66 65 65 64 2d 6d 61 6b 65 2d 74 61 67 67 \\='unread)....(elfeed-make-tagg
2c420 65 72 20 3a 66 65 65 64 2d 75 72 6c 20 5c 22 65 78 61 6d 70 6c 65 5c 5c 5c 5c 2e 63 6f 6d 5c 22 er.:feed-url.\"example\\\\.com\"
2c440 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 65 6e 74 72 79 2d 74 69 .......................:entry-ti
2c460 74 6c 65 20 5c 5c 3d 27 28 6e 6f 74 20 5c 22 73 6f 6d 65 74 68 69 6e 67 20 69 6e 74 65 72 65 73 tle.\\='(not.\"something.interes
2c480 74 69 6e 67 5c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 61 ting\").......................:a
2c4a0 64 64 20 5c 5c 3d 27 6a 75 6e 6b 29 0a 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 dd.\\='junk)..The.returned.funct
2c4c0 69 6f 6e 20 73 68 6f 75 6c 64 20 62 65 20 61 64 64 65 64 20 74 6f 20 60 65 6c 66 65 65 64 2d 6e ion.should.be.added.to.`elfeed-n
2c4e0 65 77 2d 65 6e 74 72 79 2d 68 6f 6f 6b 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 61 66 74 65 72 2d ew-entry-hook'."...(let.((after-
2c500 74 69 6d 65 20 20 28 61 6e 64 20 61 66 74 65 72 20 20 28 65 6c 66 65 65 64 2d 74 69 6d 65 2d 64 time..(and.after..(elfeed-time-d
2c520 75 72 61 74 69 6f 6e 20 61 66 74 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 62 65 66 6f 72 65 uration.after))).........(before
2c540 2d 74 69 6d 65 20 28 61 6e 64 20 62 65 66 6f 72 65 20 28 65 6c 66 65 65 64 2d 74 69 6d 65 2d 64 -time.(and.before.(elfeed-time-d
2c560 75 72 61 74 69 6f 6e 20 62 65 66 6f 72 65 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e uration.before)))).....(when.(an
2c580 64 20 61 64 64 20 28 73 79 6d 62 6f 6c 70 20 61 64 64 29 29 20 28 73 65 74 66 20 61 64 64 20 28 d.add.(symbolp.add)).(setf.add.(
2c5a0 6c 69 73 74 20 61 64 64 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 72 65 6d 6f 76 list.add))).....(when.(and.remov
2c5c0 65 20 28 73 79 6d 62 6f 6c 70 20 72 65 6d 6f 76 65 29 29 20 28 73 65 74 66 20 72 65 6d 6f 76 65 e.(symbolp.remove)).(setf.remove
2c5e0 20 28 6c 69 73 74 20 72 65 6d 6f 76 65 29 29 29 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 65 6e .(list.remove))).....(lambda.(en
2c600 74 72 79 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 65 65 64 20 28 65 6c 66 65 65 64 2d 65 try).......(let.((feed.(elfeed-e
2c620 6e 74 72 79 2d 66 65 65 64 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 ntry-feed.entry)).............(d
2c640 61 74 65 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 64 61 74 65 20 65 6e 74 72 79 29 29 0a 20 ate.(elfeed-entry-date.entry))..
2c660 20 20 20 20 20 20 20 20 20 20 20 28 63 61 73 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68 20 74 29 29 ...........(case-fold-search.t))
2c680 0a 20 20 20 20 20 20 20 20 28 63 6c 2d 66 6c 65 74 20 28 28 6d 61 74 63 68 20 28 72 20 73 29 0a .........(cl-flet.((match.(r.s).
2c6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 6e 75 .........................(or.(nu
2c6c0 6c 6c 20 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ll.r)...........................
2c6e0 20 20 20 28 69 66 20 28 6c 69 73 74 70 20 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(if.(listp.r)................
2c700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 6d ..................(not.(string-m
2c720 61 74 63 68 2d 70 20 28 63 6c 2d 73 65 63 6f 6e 64 20 72 29 20 73 29 29 0a 20 20 20 20 20 20 20 atch-p.(cl-second.r).s))........
2c740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d ........................(string-
2c760 6d 61 74 63 68 2d 70 20 72 20 73 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e match-p.r.s)))))...........(when
2c780 20 28 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 66 65 .(and..................(match.fe
2c7a0 65 64 2d 74 69 74 6c 65 20 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 74 69 74 6c 65 20 20 66 65 ed-title..(elfeed-feed-title..fe
2c7c0 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 66 65 65 ed))..................(match.fee
2c7e0 64 2d 75 72 6c 20 20 20 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 75 72 6c 20 20 20 20 66 65 65 d-url....(elfeed-feed-url....fee
2c800 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 65 6e 74 72 d))..................(match.entr
2c820 79 2d 74 69 74 6c 65 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 74 69 74 6c 65 20 65 6e 74 72 y-title.(elfeed-entry-title.entr
2c840 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 65 6e 74 72 y))..................(match.entr
2c860 79 2d 6c 69 6e 6b 20 20 28 65 6c 66 65 65 64 2d 65 6e 74 72 79 2d 6c 69 6e 6b 20 20 65 6e 74 72 y-link..(elfeed-entry-link..entr
2c880 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 6e 6f 74 20 61 66 y))..................(or.(not.af
2c8a0 74 65 72 2d 74 69 6d 65 29 20 20 28 3e 20 64 61 74 65 20 28 2d 20 28 66 6c 6f 61 74 2d 74 69 6d ter-time)..(>.date.(-.(float-tim
2c8c0 65 29 20 61 66 74 65 72 2d 74 69 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e).after-time)))................
2c8e0 20 20 28 6f 72 20 28 6e 6f 74 20 62 65 66 6f 72 65 2d 74 69 6d 65 29 20 28 3c 20 64 61 74 65 20 ..(or.(not.before-time).(<.date.
2c900 28 2d 20 28 66 6c 6f 61 74 2d 74 69 6d 65 29 20 62 65 66 6f 72 65 2d 74 69 6d 65 29 29 29 29 0a (-.(float-time).before-time)))).
2c920 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 61 64 64 0a 20 20 20 20 20 20 20 20 20 20 ............(when.add...........
2c940 20 20 20 20 28 61 70 70 6c 79 20 23 27 65 6c 66 65 65 64 2d 74 61 67 20 65 6e 74 72 79 20 61 64 ....(apply.#'elfeed-tag.entry.ad
2c960 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 72 65 6d 6f 76 65 0a 20 20 20 d)).............(when.remove....
2c980 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 65 6c 66 65 65 64 2d 75 6e 74 61 67 ...........(apply.#'elfeed-untag
2c9a0 20 65 6e 74 72 79 20 72 65 6d 6f 76 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 .entry.remove)).............(whe
2c9c0 6e 20 63 61 6c 6c 62 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c n.callback...............(funcal
2c9e0 6c 20 63 61 6c 6c 62 61 63 6b 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 l.callback.entry)).............e
2ca00 6e 74 72 79 29 29 29 29 29 29 0a 0a 3b 3b 20 4f 50 4d 4c 0a 0a 28 64 65 66 75 6e 20 65 6c 66 65 ntry))))))..;;.OPML..(defun.elfe
2ca20 65 64 2d 2d 70 61 72 73 65 2d 6f 70 6d 6c 20 28 78 6d 6c 29 0a 20 20 22 50 61 72 73 65 20 58 4d ed--parse-opml.(xml)..."Parse.XM
2ca40 4c 20 28 66 72 6f 6d 20 60 78 6d 6c 2d 70 61 72 73 65 2d 72 65 67 69 6f 6e 27 29 20 69 6e 74 6f L.(from.`xml-parse-region').into
2ca60 20 60 65 6c 66 65 65 64 2d 66 65 65 64 73 27 20 6c 69 73 74 2e 22 0a 20 20 28 63 6c 2d 6c 6f 6f .`elfeed-feeds'.list."...(cl-loo
2ca80 70 20 66 6f 72 20 28 74 61 67 20 61 74 74 72 20 2e 20 63 6f 6e 74 65 6e 74 29 20 69 6e 20 28 63 p.for.(tag.attr...content).in.(c
2caa0 6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e 6f 74 20 23 27 6c 69 73 74 70 20 78 6d 6c 29 0a 20 20 20 l-remove-if-not.#'listp.xml)....
2cac0 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 74 61 67 20 69 6e 74 6f 20 77 6f 72 6b 2d 61 72 6f 75 ........count.tag.into.work-arou
2cae0 6e 64 2d 62 75 67 20 20 3b 20 62 75 67 23 31 35 33 32 36 0a 20 20 20 20 20 20 20 20 20 20 20 77 nd-bug..;.bug#15326............w
2cb00 68 65 6e 20 28 61 73 73 6f 63 20 27 78 6d 6c 55 72 6c 20 61 74 74 72 29 20 63 6f 6c 6c 65 63 74 hen.(assoc.'xmlUrl.attr).collect
2cb20 20 28 63 64 72 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 61 70 70 65 6e 64 .(cdr.it)............else.append
2cb40 20 28 65 6c 66 65 65 64 2d 2d 70 61 72 73 65 2d 6f 70 6d 6c 20 63 6f 6e 74 65 6e 74 29 29 29 0a .(elfeed--parse-opml.content))).
2cb60 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 6c 6f .;;;###autoload.(defun.elfeed-lo
2cb80 61 64 2d 6f 70 6d 6c 20 28 66 69 6c 65 29 0a 20 20 22 4c 6f 61 64 20 66 65 65 64 73 20 66 72 6f ad-opml.(file)..."Load.feeds.fro
2cba0 6d 20 61 6e 20 4f 50 4d 4c 20 66 69 6c 65 20 69 6e 74 6f 20 60 65 6c 66 65 65 64 2d 66 65 65 64 m.an.OPML.file.into.`elfeed-feed
2cbc0 73 27 2e 0a 57 68 65 6e 20 63 61 6c 6c 65 64 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 74 s'..When.called.interactively,.t
2cbe0 68 65 20 63 68 61 6e 67 65 73 20 74 6f 20 60 65 6c 66 65 65 64 2d 66 65 65 64 73 27 20 61 72 65 he.changes.to.`elfeed-feeds'.are
2cc00 0a 73 61 76 65 64 20 74 6f 20 79 6f 75 72 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 20 66 69 6c .saved.to.your.customization.fil
2cc20 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 66 4f 50 4d 4c 20 66 69 6c 65 3a 20 e."...(interactive."fOPML.file:.
2cc40 22 29 0a 20 20 28 6c 65 74 2a 20 28 28 78 6d 6c 20 28 78 6d 6c 2d 70 61 72 73 65 2d 66 69 6c 65 ")...(let*.((xml.(xml-parse-file
2cc60 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 65 65 64 73 20 28 65 6c 66 65 65 64 2d .file))..........(feeds.(elfeed-
2cc80 2d 70 61 72 73 65 2d 6f 70 6d 6c 20 78 6d 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 75 6c 6c -parse-opml.xml))..........(full
2cca0 20 28 61 70 70 65 6e 64 20 66 65 65 64 73 20 65 6c 66 65 65 64 2d 66 65 65 64 73 29 29 29 0a 20 .(append.feeds.elfeed-feeds)))..
2ccc0 20 20 20 28 70 72 6f 67 31 20 28 73 65 74 66 20 65 6c 66 65 65 64 2d 66 65 65 64 73 20 28 63 6c ...(prog1.(setf.elfeed-feeds.(cl
2cce0 2d 64 65 6c 65 74 65 2d 64 75 70 6c 69 63 61 74 65 73 20 66 75 6c 6c 20 3a 74 65 73 74 20 23 27 -delete-duplicates.full.:test.#'
2cd00 73 74 72 69 6e 67 3d 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 63 61 6c 6c 65 64 2d 69 6e string=)).......(when.(called-in
2cd20 74 65 72 61 63 74 69 76 65 6c 79 2d 70 20 27 61 6e 79 29 0a 20 20 20 20 20 20 20 20 28 63 75 73 teractively-p.'any).........(cus
2cd40 74 6f 6d 69 7a 65 2d 73 61 76 65 2d 76 61 72 69 61 62 6c 65 20 27 65 6c 66 65 65 64 2d 66 65 65 tomize-save-variable.'elfeed-fee
2cd60 64 73 20 65 6c 66 65 65 64 2d 66 65 65 64 73 29 0a 20 20 20 20 20 20 20 20 28 65 6c 66 65 65 64 ds.elfeed-feeds).........(elfeed
2cd80 2d 6c 6f 67 20 27 6e 6f 74 69 63 65 20 22 25 64 20 66 65 65 64 73 20 6c 6f 61 64 65 64 20 66 72 -log.'notice."%d.feeds.loaded.fr
2cda0 6f 6d 20 25 73 22 20 28 6c 65 6e 67 74 68 20 66 65 65 64 73 29 20 66 69 6c 65 29 29 29 29 29 0a om.%s".(length.feeds).file))))).
2cdc0 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 65 6c 66 65 65 64 2d 65 78 .;;;###autoload.(defun.elfeed-ex
2cde0 70 6f 72 74 2d 6f 70 6d 6c 20 28 66 69 6c 65 29 0a 20 20 22 45 78 70 6f 72 74 20 74 68 65 20 63 port-opml.(file)..."Export.the.c
2ce00 75 72 72 65 6e 74 20 66 65 65 64 20 6c 69 73 74 69 6e 67 20 74 6f 20 4f 50 4d 4c 2d 66 6f 72 6d urrent.feed.listing.to.OPML-form
2ce20 61 74 74 65 64 20 46 49 4c 45 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 46 4f 75 atted.FILE."...(interactive."FOu
2ce40 74 70 75 74 20 4f 50 4d 4c 20 66 69 6c 65 3a 20 22 29 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d tput.OPML.file:.")...(with-temp-
2ce60 66 69 6c 65 20 66 69 6c 65 0a 20 20 20 20 28 6c 65 74 20 28 28 73 74 61 6e 64 61 72 64 2d 6f 75 file.file.....(let.((standard-ou
2ce80 74 70 75 74 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 28 70 tput.(current-buffer))).......(p
2cea0 72 69 6e 63 20 22 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 5c 22 31 2e 30 5c 22 3f 3e 5c 6e 22 rinc."<?xml.version=\"1.0\"?>\n"
2cec0 29 0a 20 20 20 20 20 20 28 78 6d 6c 2d 70 72 69 6e 74 0a 20 20 20 20 20 20 20 60 28 28 6f 70 6d ).......(xml-print........`((opm
2cee0 6c 20 28 28 76 65 72 73 69 6f 6e 20 2e 20 22 31 2e 30 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 l.((version..."1.0"))...........
2cf00 20 20 20 20 20 28 68 65 61 64 20 28 29 20 28 74 69 74 6c 65 20 28 29 20 22 45 6c 66 65 65 64 20 .....(head.().(title.()."Elfeed.
2cf20 45 78 70 6f 72 74 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 6f 64 79 20 28 Export"))................(body.(
2cf40 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 63 6c 2d 6c 6f 6f )......................,@(cl-loo
2cf60 70 20 66 6f 72 20 75 72 6c 20 69 6e 20 28 65 6c 66 65 65 64 2d 66 65 65 64 2d 6c 69 73 74 29 0a p.for.url.in.(elfeed-feed-list).
2cf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2cfa0 66 6f 72 20 66 65 65 64 20 3d 20 28 65 6c 66 65 65 64 2d 64 62 2d 67 65 74 2d 66 65 65 64 20 75 for.feed.=.(elfeed-db-get-feed.u
2cfc0 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rl).............................
2cfe0 20 20 20 20 66 6f 72 20 74 69 74 6c 65 20 3d 20 28 6f 72 20 28 65 6c 66 65 65 64 2d 66 65 65 64 ....for.title.=.(or.(elfeed-feed
2d000 2d 74 69 74 6c 65 20 66 65 65 64 29 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -title.feed)."")................
2d020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 60 28 6f 75 74 6c 69 .................collect.`(outli
2d040 6e 65 20 28 28 78 6d 6c 55 72 6c 20 2e 20 2c 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ne.((xmlUrl...,url).............
2d060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2d080 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 2e 20 2c 74 69 74 6c 65 29 29 29 29 29 29 29 29 29 29 .......(title...,title))))))))))
2d0a0 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 65 6c 66 65 65 64 29 0a 0a 28 63 6c 2d 65 76 61 6c 2d 77 )..(provide.'elfeed)..(cl-eval-w
2d0c0 68 65 6e 20 28 6c 6f 61 64 20 65 76 61 6c 29 0a 20 20 3b 3b 20 72 75 6e 2d 74 69 6d 65 20 6f 6e hen.(load.eval)...;;.run-time.on
2d0e0 6c 79 2c 20 73 6f 20 64 6f 6e 27 74 20 6c 6f 61 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 ly,.so.don't.load.when.compiling
2d100 20 6f 74 68 65 72 20 66 69 6c 65 73 0a 20 20 28 75 6e 6c 65 73 73 20 62 79 74 65 2d 63 6f 6d 70 .other.files...(unless.byte-comp
2d120 69 6c 65 2d 72 6f 6f 74 2d 64 69 72 0a 20 20 20 20 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 ile-root-dir.....(require.'elfee
2d140 64 2d 63 73 76 29 0a 20 20 20 20 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 64 2d 73 68 6f 77 d-csv).....(require.'elfeed-show
2d160 29 0a 20 20 20 20 28 72 65 71 75 69 72 65 20 27 65 6c 66 65 65 64 2d 73 65 61 72 63 68 29 29 29 ).....(require.'elfeed-search)))
2d180 0a 0a 3b 3b 3b 20 65 6c 66 65 65 64 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 ..;;;.elfeed.el.ends.here.......
2d1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d200 65 6c 66 65 65 64 2d 32 30 32 34 30 33 33 31 2e 31 33 34 38 2f 78 6d 6c 2d 71 75 65 72 79 2e 65 elfeed-20240331.1348/xml-query.e
2d220 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...............................
2d240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d260 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
2d280 30 30 32 30 31 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 31 31 00 20 30 00 00 00 0020100.00000000000.014511..0...
2d2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d300 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...................
2d320 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...................
2d340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d400 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
2d420 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.
2d440 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
2d460 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
2d480 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:..;;
2d4a0 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
2d4c0 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.;;.
2d4e0 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
2d500 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
2d520 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
2d540 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.
2d560 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...;
2d580 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
2d5a0 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
2d5c0 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*',
2d5e0 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
2d600 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
2d620 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
2d640 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
2d660 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
2d680 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
2d6a0 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
2d6c0 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
2d6e0 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.
2d700 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.'
2d720 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
2d740 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
2d760 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
2d780 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
2d7a0 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
2d7c0 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.
2d7e0 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
2d800 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
2d820 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."^.
2d840 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))))..(
2d860 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.
2d880 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
2d8a0 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
2d8c0 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
2d8e0 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-
2d900 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))...........
2d920 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
2d940 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--
2d960 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)...
2d980 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
2d9a0 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
2d9c0 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
2d9e0 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
2da00 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.(
2da20 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
2da40 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
2da60 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
2da80 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
2daa0 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
2dac0 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
2dae0 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.
2db00 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)).....
2db20 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-
2db40 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
2db60 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)).
2db80 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
2dba0 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
2dbc0 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
2dbe0 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
2dc00 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
2dc20 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
2dc40 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
2dc60 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
2dc80 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).......
2dca0 20 20 20 20 20 20 20 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
2dcc0 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..........................
2dce0 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)))
2dd00 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)
2dd20 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
2dd40 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
2dd60 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
2dd80 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
2dda0 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
2ddc0 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
2dde0 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
2de00 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
2de20 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
2de40 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
2de60 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
2de80 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
2dea0 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
2dec0 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
2dee0 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
2df00 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:.
2df20 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
2df40 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
2df60 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.
2df80 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
2dfa0 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
2dfc0 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
2dfe0 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
2e000 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
2e020 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
2e040 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\"
2e060 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
2e080 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
2e0a0 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...
2e0c0 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
2e0e0 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
2e100 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.'*)..
2e120 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
2e140 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
2e160 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
2e180 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-
2e1a0 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...............
2e1c0 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
2e1e0 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
2e200 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.
2e220 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...(
2e240 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)))
2e260 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............((
2e280 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)............(
2e2a0 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))...
2e2c0 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
2e2e0 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
2e300 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))).............
2e320 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))))..
2e340 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
2e360 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
2e380 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
2e3a0 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
2e3c0 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
2e3e0 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
2e400 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
2e420 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))).
2e440 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
2e460 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
2e480 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)))))..;;.
2e4a0 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.
2e4c0 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
2e4e0 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
2e500 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.
2e520 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
2e540 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
2e560 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
2e580 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
2e5a0 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.
2e5c0 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
2e5e0 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
2e600 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
2e620 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
2e640 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
2e660 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
2e680 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
2e6a0 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
2e6c0 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
2e6e0 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.;;.
2e700 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.
2e720 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
2e740 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.
2e760 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
2e780 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
2e7a0 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.
2e7c0 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.
2e7e0 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
2e800 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
2e820 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
2e840 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
2e860 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
2e880 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
2e8a0 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
2e8c0 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.(
2e8e0 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
2e900 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-
2e920 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
2e940 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
2e960 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
2e980 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.,(
2e9a0 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
2e9c0 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
2e9e0 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)...
2ea00 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
2ea20 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
2ea40 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.(
2ea60 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).
2ea80 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.'
2eaa0 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
2eac0 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
2eae0 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
2eb00 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
2eb20 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))......
2eb40 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
2eb60 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)...
2eb80 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)).
2eba0 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.
2ebc0 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
2ebe0 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.
2ec00 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
2ec20 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
2ec40 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)).............
2ec60 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
2ec80 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))...........................
2eca0 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
2ecc0 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).....
2ece0 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
2ed00 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)))..........(
2ed20 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
2ed40 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
2ed60 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))).........
2ed80 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
2eda0 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
2edc0 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)))..
2ede0 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)......
2ee00 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
2ee20 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
2ee40 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
2ee60 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
2ee80 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
2eea0 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
2eec0 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
2eee0 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
2ef00 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.......
2ef20 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.
2ef40 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
2ef60 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)...
2ef80 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
2efa0 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
2efc0 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
2efe0 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
2f000 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
2f020 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*
2f040 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.
2f060 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
2f080 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
2f0a0 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.
2f0c0 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"))
2f0e0 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.()))......
2f100 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
2f120 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)).......
2f140 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
2f160 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)...
2f180 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
2f1a0 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
2f1c0 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
2f1e0 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.
2f200 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
2f220 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
2f240 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
2f260 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
2f280 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
2f2a0 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
2f2c0 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
2f2e0 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
2f300 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
2f320 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
2f340 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
2f360 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
2f380 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.
2f3a0 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
2f3c0 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
2f3e0 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
2f400 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
2f420 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.
2f440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fa00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fa20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fa40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fa60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fa80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2faa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fc00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fc60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fc80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fe00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fe20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fe40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fe60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fe80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ff00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ff20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ff40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ff60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ff80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ffa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ffc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ffe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
300a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
300c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
300e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
301a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
301c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
301e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
302a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
302c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
302e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
303a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
303c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
303e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
304a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
304c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
304e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
305a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
305c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
305e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
306a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
306c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
306e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
307a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
307c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
307e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
308a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
308c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
308e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
309a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
309c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
309e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
310a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
310c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
310e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
311a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
311c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
311e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
312a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
312c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
312e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
313a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
313c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
313e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
314a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
314c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
314e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
315a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
315c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
315e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
316a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
316c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
316e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
317a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
317c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
317e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
318a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
318c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
318e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
319a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
319c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
319e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................