annotate lisp/net/newsticker.el @ 91957:42f58d542f55

*** empty log message ***
author Thien-Thi Nguyen <ttn@gnuvola.org>
date Tue, 19 Feb 2008 11:45:54 +0000
parents 107ccd98fa12
children 606f2d163a64 91e5880a36c1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
1 ;;; newsticker.el --- A Newsticker for Emacs.
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2
79714
6888fd3398e8 Add 2008 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 78229
diff changeset
3 ;; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5 ;; This file is part of GNU Emacs.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7 ;; Author: Ulf Jasper <ulf.jasper@web.de>
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
8 ;; Filename: newsticker.el
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
9 ;; URL: http://www.nongnu.org/newsticker
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10 ;; Created: 17. June 2003
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
11 ;; Keywords: News, RSS, Atom
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
12 ;; Time-stamp: "29. Januar 2007, 21:05:09 (ulf)"
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
13
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
14 ;; ======================================================================
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15
78229
60f8467b3790 Standardize license wording, and switch license to GPLv3 or later.
Glenn Morris <rgm@gnu.org>
parents: 75838
diff changeset
16 ;; GNU Emacs is free software; you can redistribute it and/or modify
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 ;; it under the terms of the GNU General Public License as published by
78229
60f8467b3790 Standardize license wording, and switch license to GPLv3 or later.
Glenn Morris <rgm@gnu.org>
parents: 75838
diff changeset
18 ;; the Free Software Foundation; either version 3, or (at your option)
60f8467b3790 Standardize license wording, and switch license to GPLv3 or later.
Glenn Morris <rgm@gnu.org>
parents: 75838
diff changeset
19 ;; any later version.
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
20
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
21 ;; This program is distributed in the hope that it will be useful, but
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
22 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
23 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24 ;; General Public License for more details.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26 ;; You should have received a copy of the GNU General Public License
78229
60f8467b3790 Standardize license wording, and switch license to GPLv3 or later.
Glenn Morris <rgm@gnu.org>
parents: 75838
diff changeset
27 ;; along with GNU Emacs; see the file COPYING. If not, write to the
60f8467b3790 Standardize license wording, and switch license to GPLv3 or later.
Glenn Morris <rgm@gnu.org>
parents: 75838
diff changeset
28 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
60f8467b3790 Standardize license wording, and switch license to GPLv3 or later.
Glenn Morris <rgm@gnu.org>
parents: 75838
diff changeset
29 ;; Boston, MA 02110-1301, USA.
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
31 (defconst newsticker-version "1.10" "Version number of newsticker.el.")
65998
e6b90c8b34d8 (newsticker-start, newsticker-show-news): Add autoload cookies.
Richard M. Stallman <rms@gnu.org>
parents: 65638
diff changeset
32
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 ;;; Commentary:
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36 ;; Overview
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
37 ;; --------
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
39 ;; Newsticker provides a newsticker for Emacs. A newsticker is a thing
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
40 ;; that asynchronously retrieves headlines from a list of news sites,
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
41 ;; prepares these headlines for reading, and allows for loading the
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
42 ;; corresponding articles in a web browser.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
43
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
44 ;; Headlines consist of a title and (possibly) a small description. They
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
45 ;; are contained in "RSS" (RDF Site Summary) or "Atom" files. Newsticker
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
46 ;; should work with the following RSS formats:
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
47 ;; * RSS 0.91
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
48 ;; (see http://backend.userland.com/rss091 or
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
49 ;; http://my.netscape.com/publish/formats/rss-spec-0.91.html)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
50 ;; * RSS 0.92
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
51 ;; (see http://backend.userland.com/rss092)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
52 ;; * RSS 1.0
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
53 ;; (see http://purl.org/rss/1.0/spec)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
54 ;; * RSS 2.0
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
55 ;; (see http://blogs.law.harvard.edu/tech/rss)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
56 ;; as well as the following Atom formats:
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
57 ;; * Atom 0.3
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
58 ;; * Atom 1.0
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
59 ;; (see http://www.ietf.org/internet-drafts/draft-ietf-atompub-format-11.txt)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
60 ;; That makes Newsticker.el an "Atom aggregator, "RSS reader", "RSS
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
61 ;; aggregator", and "Feed Reader".
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
62
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
63 ;; Newsticker provides several commands for reading headlines, navigating
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
64 ;; through them, marking them as read/unread, hiding old headlines
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
65 ;; etc. Headlines can be displayed as plain text or as rendered HTML.
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
66
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
67 ;; Headlines can be displayed in the echo area, either scrolling like
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
68 ;; messages in a stock-quote ticker, or just changing.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
69
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
70 ;; Newsticker allows for automatic processing of headlines by providing
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
71 ;; hooks and (sample) functions for automatically downloading images and
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
72 ;; enclosed files (as delivered by podcasts, e.g.).
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
73
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
74 ;; Requirements
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
75 ;; ------------
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
76 ;; Newsticker can be used with GNU Emacs version 21.1 or later as well as
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
77 ;; XEmacs. It requires an XML-parser (`xml.el') which is part of GNU
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
78 ;; Emacs. If you are using XEmacs you want to get the `net-utils' package
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
79 ;; which contains `xml.el' for XEmacs.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
80
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
81 ;; Newsticker requires a program which can retrieve files via http and
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
82 ;; prints them to stdout. By default Newsticker will use wget for this
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
83 ;; task.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
84
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
85 ;; Installation
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
86 ;; ------------
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
87
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
88 ;; If you are using Newsticker as part of GNU Emacs there is no need to
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
89 ;; perform any installation steps in order to use Newsticker. Otherwise
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
90 ;; place Newsticker in a directory where Emacs can find it. Add the
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
91 ;; following line to your Emacs startup file (`~/.emacs').
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
92 ;; (add-to-list 'load-path "/path/to/newsticker/")
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
93 ;; (autoload 'newsticker-start "newsticker" "Emacs Newsticker" t)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
94 ;; (autoload 'newsticker-show-news "newsticker" "Emacs Newsticker" t)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
95
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
96 ;; If you are using `imenu', which allows for navigating with the help of a
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
97 ;; menu, you should add the following to your Emacs startup file
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
98 ;; (`~/.emacs').
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
99 ;; (add-hook 'newsticker-mode-hook 'imenu-add-menubar-index)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
100
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
101 ;; That's it.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
102
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
103 ;; Usage
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
104 ;; -----
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
105 ;; The command newsticker-show-news will display all available headlines in
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
106 ;; a special buffer, called `*newsticker*'. It will also start the
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
107 ;; asynchronous download of headlines. The modeline in the `*newsticker*'
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
108 ;; buffer informs whenever new headlines have arrived. Clicking
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
109 ;; mouse-button 2 or pressing RET in this buffer on a headline will call
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
110 ;; browse-url to load the corresponding news story in your favourite web
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
111 ;; browser.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
112
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
113 ;; The scrolling, or flashing of headlines in the echo area, can be started
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
114 ;; with the command newsticker-start-ticker. It can be stopped with
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
115 ;; newsticker-stop-ticker.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
116
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
117 ;; If you just want to start the periodic download of headlines use the
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
118 ;; command newsticker-start. Calling newsticker-stop will stop the
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
119 ;; periodic download, but will call newsticker-stop-ticker as well.
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
120
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
121 ;; Configuration
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
122 ;; -------------
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
123 ;; All Newsticker options are customizable, i.e. they can be changed with
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
124 ;; Emacs customization methods: Call the command customize-group and enter
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
125 ;; `newsticker' for the customization group.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
126
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
127 ;; All Newsticker options have reasonable default values, so that in most
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
128 ;; cases it is not necessary to customize settings before starting
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
129 ;; Newsticker for the first time.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
130
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
131 ;; Newsticker options are organized in the following groups.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
132
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
133 ;; * newsticker-feed contains options that define which news
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
134 ;; feeds are retrieved and how this is done.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
135 ;; o newsticker-url-list defines the list of headlines which are
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
136 ;; retrieved.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
137 ;; o newsticker-retrieval-interval defines how often headlines are
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
138 ;; retrieved.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
139 ;; * newsticker-headline-processing contains options that define how the
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
140 ;; retrieved headlines are processed.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
141 ;; o newsticker-keep-obsolete-items decides whether unread headlines that
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
142 ;; have been removed from the feed are kept in the Newsticker cache.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
143 ;; * newsticker-layout contains options that define how the buffer for
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
144 ;; reading news headlines is formatted.
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
145 ;; o newsticker-item-format defines how the title of a headline is
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
146 ;; formatted.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
147 ;; * newsticker-ticker contains options that define how headlines are shown
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
148 ;; in the echo area.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
149 ;; o newsticker-display-interval and newsticker-scroll-smoothly define
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
150 ;; how headlines are shown in the echo area.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
151 ;; * newsticker-hooks contains options for hooking other Emacs commands to
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
152 ;; newsticker functions.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
153 ;; o newsticker-new-item-functions allows for automatic processing of
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
154 ;; headlines. See `newsticker-download-images', and
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
155 ;; `newsticker-download-enclosures' for sample functions.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
156 ;; * newsticker-miscellaneous contains other Newsticker options.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
157
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
158 ;; Please have a look at the customization buffers for the complete list of
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
159 ;; options.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
160
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
161 ;; Remarks
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
162 ;; -------
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
163 ;; This newsticker is designed do its job silently in the background
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
164 ;; without disturbing you. However, it is probably impossible to prevent
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
165 ;; such a tool from slightly attenuating your Editor's responsiveness every
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
166 ;; once in a while.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
167
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
168 ;; Byte-compiling newsticker.el is recommended.
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
169
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
170 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
171 ;;; History:
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
172
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
173 ;; 1.10 (2007-01-29)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
174 ;; * Bugfixes mostly: `newsticker--decode-iso8601-date',
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
175 ;; `newsticker--sentinel', and others.
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
176 ;; * Renamed `newsticker--retrieval-timer-list' to
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
177 ;; `newsticker-retrieval-timer-list'. Removed
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
178 ;; `newsticker-running-p' -- check newsticker-retrieval-timer-list
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
179 ;; to find out whether newsticker is running. Removed
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
180 ;; `newsticker-ticker-running-p'.
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
181 ;; * Try to cache images in w3m-rendered HTML text.
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
182 ;; * Other minor changes.
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
183
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
184 ;; 1.9 (2005-11-01)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
185 ;; * Rewrote feed parsing part. Newsticker now supports RSS 0.91,
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
186 ;; 0.92, 1.0, 2.0 as well as Atom 0.3 and 1.0 -- thanks to Thien-Thi
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
187 ;; Nguyen.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
188 ;; * Changed auto-marking mechanism: Replaced variable
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
189 ;; `newsticker-auto-mark-filter' with new variable
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
190 ;; `newsticker-auto-mark-filter-list', which allows for looking not
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
191 ;; only at the title but also at the description of a headline.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
192 ;; * Call `newsticker--ticker-text-setup' only after all pending
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
193 ;; downloads processes have finished.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
194 ;; * Improved handling of coding systems.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
195 ;; * Added magic autoload comments.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
196 ;; * Bugfixes:
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
197 ;; - `hide-entry' was hiding too much when called for the last
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
198 ;; headline,
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
199 ;; - update mode-line and menu-bar when necessary,
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
200 ;; - repaired `newsticker--imenu-goto',
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
201 ;; - other minor things.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
202
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
203 ;; 1.8 (2005-08-26)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
204 ;; * Added commands `newsticker-show-extra' and `newsticker-hide-extra'
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
205 ;; to show and hide extra RSS elements, bound to "sx" and "hx"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
206 ;; resp. Changed default value of `newsticker-show-all-rss-elements'
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
207 ;; to nil.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
208 ;; * mode-line: Introduced special mode-line-format for newsticker.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
209 ;; * Get feed logos only once every 24 h.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
210 ;; * Default faces changed.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
211 ;; * Minor fixes.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
212
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
213 ;; 1.7 (2005-06-25)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
214 ;; * Tool-bar support: most important commands can be called from
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
215 ;; tool-bar buttons.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
216 ;; * Auto-Narrowing introduced: *newsticker* buffer can be narrowed to
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
217 ;; a single item (bound to key `xi') or a single feed (bound to
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
218 ;; `xf').
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
219 ;; * Enclosure support: enclosed items are shown (see
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
220 ;; `newsticker-enclosure-face') and can be (automatically) downloaded
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
221 ;; (see below). For those of you who read "podcasts".
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
222 ;; * Added variable `newsticker-auto-mark-filter' for automatically
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
223 ;; marking items as immortal or old.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
224 ;; * Added hook variable `newsticker-new-item-functions' for handling
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
225 ;; new items. Added sample functions `newsticker-download-images',
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
226 ;; and `newsticker-download-enclosures'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
227 ;; * Added hook variable `newsticker-select-item-hook' which is run
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
228 ;; after `newsticker-(next|previous)-(new-)?-item'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
229 ;; * Added hook variable `newsticker-select-feed-hook' which is run
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
230 ;; after `newsticker-(next|previous)-feed'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
231 ;; * Added hook variable `newsticker-buffer-change-hook' which is run
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
232 ;; after the contents or visibility of the newsticker buffer has
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
233 ;; changed, e.g. after `newsticker-buffer-update' or
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
234 ;; `newsticker-show-feed-desc'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
235 ;; * Added command `newsticker-handle-url' for interactively launching
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
236 ;; arbitrary programs for URLs, bound to `C-RET'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
237 ;; * URLs in extra elements are clickable.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
238 ;; * Better support for w3, added command
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
239 ;; `newsticker-w3m-show-inline-images' for displaying all inline
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
240 ;; images.
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
241 ;; * Insert an artificial headline which notifies about failed
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
242 ;; retrievals.
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
243 ;; * Use pubDate element (RSS 2.0) instead of retrieval time when
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
244 ;; available.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
245 ;; * Customizable options grouped.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
246 ;; * Bugfixes: `newsticker--imenu-create-index'; strip whitespace
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
247 ;; from links; apply coding-system to extra-elements; time-comparison
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
248 ;; for obsolete items; and others which I have forgotten.
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
249 ;; * Workaround for another bug in xml-parse-region -- thanks to
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
250 ;; anonymous for sending patch.
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
251 ;; * Renamed invisible buffers ` *wget-newsticker-<feed>*' to
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
252 ;; ` *newsticker-wget-<feed>*'.
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
253 ;; * Tested with GNU Emacs versions 21.3 and 22.0 and XEmacs
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
254 ;; 21.something.
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
255
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
256 ;; 1.6 * Support for (some) optional RSS elements: guid, dc:date. See
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
257 ;; `newsticker-show-all-rss-elements' `newsticker-extra-face'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
258 ;; * Better support for w3m -- `newsticker-default-face' is obsolete
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
259 ;; now, removed `newsticker-w3m-toggle-inline-image'.
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
260 ;; * Added `newsticker-desc-comp-max' -- comparison of item
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
261 ;; descriptions can take quite some time.
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
262 ;; * Added `newsticker--buffer-make-item-completely-visible' to
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
263 ;; ensure that the current item is fully visible.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
264 ;; * Allow for non-positive retrieval-interval, which make newsticker
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
265 ;; get news only once.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
266 ;; * Use :set for customizable variables.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
267 ;; * Added `newsticker-buffer-force-update', bound to key `U'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
268 ;; * Added concept of obsolete items, see
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
269 ;; `newsticker-keep-obsolete-items', `newsticker-obsolete-item-face',
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
270 ;; `newsticker-obsolete-item-max-age'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
271 ;; * Added `newsticker-add-url'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
272 ;; * OPML export.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
273 ;; * Save pre-formatted titles => even better performance!!
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
274 ;; * `newsticker-*-new-item' wraps at beginning/end of buffer.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
275 ;; * Always sort obsolete items to end of item list.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
276 ;; * Bugfixes:
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
277 ;; - newsticker-hide-entry,
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
278 ;; - changes of feed-titles led to duplicate feed items,
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
279 ;; - faces for rendered HTML texts,
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
280 ;; - length of ticker-text (for "exotic"/multibyte texts),
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
281 ;; Thanks to Hiroshi Maruyama.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
282 ;; - suppress items with empty title and description
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
283 ;; - newsticker-sort-method was ignored!
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
284 ;; - prevent call of fill-region on HTML-rendered descriptions.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
285
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
286 ;; 1.5 * Rewrote the visibility stuff. newsticker does not inherit
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
287 ;; outline anymore. Now you have complete freedom for
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
288 ;; `newsticker-*-format'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
289 ;; * Save pre-formatted descriptions => incredible performance boost!!
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
290 ;; * Introduced `newsticker-(start|stop)-ticker'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
291 ;; * Introduced statistics for heading-format and
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
292 ;; `newsticker-statistics-face'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
293 ;; * Introduced `newsticker-enable-logo-manipulations'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
294 ;; * Compare link of items (as well as title and desc).
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
295 ;; * Added `newsticker-start-hook' and `newsticker-stop-hook', thanks
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
296 ;; to mace.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
297 ;; * Bugfixes -- thanks to Ryan Yeske, Jari Aalto, Bruce Ingalls.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
298 ;; * Tested with Emacs 21.3.50, 21.3.1, 21.2, 21.1; XEmacs 21.4.15
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
299
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
300 ;; 1.4 * Enabled HTML rendering, added `newsticker-html-renderer' to
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
301 ;; choose a HTML rendering engine, thanks to Greg Scott for testing
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
302 ;; * New Outline handling using text properties instead of "**"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
303 ;; prefixes.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
304 ;; * Added possibility to mark single item as old (bound to key
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
305 ;; `o' (`newsticker-mark-item-at-point-as-read').
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
306 ;; * Added possibility to mark single item as immortal (bound to key
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
307 ;; `i' (`newsticker-mark-item-at-point-as-immortal').
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
308 ;; * Added possibility to display feed logos.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
309 ;; * Added `newsticker-heading-format', `newsticker-item-format'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
310 ;; * Added `newsticker-date-format'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
311 ;; * Added `newsticker-justification'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
312 ;; * Added `newsticker-automatically-mark-visited-items-as-old'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
313 ;; * Added `newsticker-w3m-toggle-inline-image' which calls
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
314 ;; `w3m-toggle-inline-image' if `newsticker-html-renderer' is
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
315 ;; `w3m-region'. Exists for convenience only (bound to key
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
316 ;; `RET').
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
317
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
318 ;; 1.3 * Compare title AND desc to check whether item is old, except
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
319 ;; for feed desc
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
320 ;; * Mark as not-up-to-date only after new items have arrived.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
321 ;; * Added XEmacs compatibility code, tested with XEmacs 21.4.13.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
322 ;; * Tested with Emacs 21.3.50 and Emacs 21.2.something.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
323 ;; * Bugfix: Apply coding-systems to feed title and description,
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
324 ;; thanks to OHASHI Akira
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
325 ;; * Bugfix: xml-parser-workaround did not work for japanese texts,
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
326 ;; thanks to OHASHI Akira
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
327 ;; * Kill wget-buffers unless newsticker-debug is not nil.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
328 ;; * Bugfix: xml-parser-workaround for "DOCTYPE rdf:RDF"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
329
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
330 ;; 1.2 Peter S Galbraith <psg@debian.org>
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
331 ;; * Added `newsticker-url-list-defaults', splitting the URLs into
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
332 ;; a customizable selection list, and a user add-on list.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
333 ;; * Minor checkdoc fixes.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
334
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
335 ;; 1.1 * Introduced optional feed-specific wget-arguments.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
336 ;; * Keep order of feeds as given in `newsticker-url-list' in
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
337 ;; *newsticker* buffer.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
338 ;; * Ignore unsupported coding systems.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
339
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
340 ;; 1.0 * Introduced feed-specific retrieval-timers.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
341 ;; * Removed dependency on 'cl (cddddr).
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
342 ;; * Thanks to Kevin Rodgers and T.V. Raman for their help.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
343 ;; * Use utf-8 for reading and writing cache data.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
344 ;; * Reported to work with Emacs 21.3.50.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
345
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
346 ;; 0.99 * Minor tweaks.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
347 ;; * Tested with Emacs 21.3.2
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
348
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
349 ;; 0.98 * Check exit status of wget processes. Keep cache data if
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
350 ;; something went wrong. Throw error when old wget-processes
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
351 ;; are hanging around.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
352 ;; * Introduced newsticker-specific faces.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
353 ;; * Added `newsticker-show-descriptions-of-new-items'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
354 ;; * Added `newsticker-hide-old-items-in-newsticker-buffer'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
355 ;; * Added `newsticker-(hide|show)-old-items'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
356
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
357 ;; 0.97 * Minor tweaks.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
358
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
359 ;; 0.96 * Added caching.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
360 ;; * newsticker-mode inherits outline-mode.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
361 ;; * newsticker-mode supports imenu.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
362 ;; * Easy buffer-navigation with newsticker-mode's keymap.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
363 ;; * Some bugs fixed.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
364 ;; * Thanks to Moritz Epple for documentation tips.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
365
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
366 ;; 0.95 * Added newsticker-mode -- Thanks to T.V. Raman.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
367 ;; * Catch xml-parser errors -- Thanks to T.V. Raman.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
368 ;; * Remove stupid newlines in titles (headlines) -- Thanks to
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
369 ;; Jeff Rancier.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
370
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
371 ;; 0.94 * Added clickerability and description for channel headings.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
372 ;; * Made it work for (at least some) rss 0.9<something> feeds.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
373
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
374 ;; 0.93 * Added some more sites.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
375 ;; * Do not flood the *Messages* buffer.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
376 ;; * First attempt at handling coding systems.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
377
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
378 ;; 0.92 * Added `newsticker-wget-name'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
379 ;; * Try to display message only if minibuffer and echo area are
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
380 ;; not in use already.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
381 ;; * Dirty workaround for newer versions of xml.el: Remove
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
382 ;; whitespace in rdf.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
383 ;; * Tested with Emacs 21.3.2 and CVS-snapshot of 2003-06-21.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
384
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
385 ;; 0.91 * First bugfix: *newsticker* is read-only.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
386
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
387 ;; 0.9 * First release.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
388 ;; * Tested with Emacs 21.3.2 and wget 1.8.2.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
389
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
390 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
391 ;;; To Do:
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
392
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
393 ;; * Image handling for XEmacs (create-image does not exist)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
394
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
395 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
396 ;;; Code:
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
397
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
398 (require 'derived)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
399 (require 'xml)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
400
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
401 ;; Silence warnings
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
402 (defvar tool-bar-map)
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
403 (defvar w3-mode-map)
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
404 (defvar w3m-minor-mode-map)
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
405
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
406 ;; ======================================================================
67593
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
407 ;;; Newsticker status
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
408 ;; ======================================================================
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
409
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
410 (defvar newsticker--retrieval-timer-list nil
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
411 "List of timers for news retrieval.
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
412 This is an alist, each element consisting of (feed-name . timer).")
67593
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
413
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
414 (defvar newsticker--display-timer nil
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
415 "Timer for newsticker display.")
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
416
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
417 ;;;###autoload
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
418 (defun newsticker-running-p ()
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
419 "Check whether newsticker is running.
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
420 Return t if newsticker is running, nil otherwise. Newsticker is
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
421 considered to be running if the newsticker timer list is not empty."
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
422 (> (length newsticker--retrieval-timer-list) 0))
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
423
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
424 ;;;###autoload
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
425 (defun newsticker-ticker-running-p ()
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
426 "Check whether newsticker's actual ticker is running.
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
427 Return t if ticker is running, nil otherwise. Newsticker is
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
428 considered to be running if the newsticker timer list is not
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
429 empty."
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
430 (timerp newsticker--display-timer))
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
431
b42dfcb5e692 (newsticker--retrieval-timer-list, newsticker--display-timer)
Richard M. Stallman <rms@gnu.org>
parents: 66704
diff changeset
432 ;; ======================================================================
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
433 ;;; Customizables
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
434 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
435 (defgroup newsticker nil
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
436 "Aggregator for RSS and Atom feeds."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
437 :group 'applications)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
438
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
439 (defconst newsticker--raw-url-list-defaults
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
440 '(("CNET News.com"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
441 "http://export.cnet.com/export/feeds/news/rss/1,11176,,00.xml")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
442 ("Debian Security Advisories"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
443 "http://www.debian.org/security/dsa.en.rdf")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
444 ("Debian Security Advisories - Long format"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
445 "http://www.debian.org/security/dsa-long.en.rdf")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
446 ("Emacs Wiki"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
447 "http://www.emacswiki.org/cgi-bin/wiki.pl?action=rss"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
448 nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
449 3600)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
450 ("Freshmeat.net"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
451 "http://freshmeat.net/backend/fm.rdf")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
452 ("Kuro5hin.org"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
453 "http://www.kuro5hin.org/backend.rdf")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
454 ("LWN (Linux Weekly News)"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
455 "http://lwn.net/headlines/rss")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
456 ("NewsForge"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
457 "http://newsforge.com/index.rss")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
458 ("NY Times: Technology"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
459 "http://partners.userland.com/nytRss/technology.xml")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
460 ("NY Times"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
461 "http://partners.userland.com/nytRss/nytHomepage.xml")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
462 ("Quote of the day"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
463 "http://www.quotationspage.com/data/qotd.rss"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
464 "07:00"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
465 86400)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
466 ("The Register"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
467 "http://www.theregister.co.uk/tonys/slashdot.rdf")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
468 ("slashdot"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
469 "http://slashdot.org/index.rss"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
470 nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
471 3600) ;/. will ban you if under 3600 seconds!
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
472 ("Wired News"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
473 "http://www.wired.com/news_drop/netcenter/netcenter.rdf")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
474 ("Heise News (german)"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
475 "http://www.heise.de/newsticker/heise.rdf")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
476 ("Tagesschau (german)"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
477 "http://www.tagesschau.de/newsticker.rdf"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
478 nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
479 1800)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
480 ("Telepolis (german)"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
481 "http://www.heise.de/tp/news.rdf"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
482 "Default URL list in raw form.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
483 This list is fed into defcustom via `newsticker--splicer'.")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
484
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
485 (defun newsticker--splicer (item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
486 "Convert ITEM for splicing into `newsticker-url-list-defaults'."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
487 (let ((result (list 'list :tag (nth 0 item) (list 'const (nth 0 item))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
488 (element (cdr item)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
489 (while element
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
490 (setq result (append result (list (list 'const (car element)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
491 (setq element (cdr element)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
492 result))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
493
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
494 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
495 ;;; Customization
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
496 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
497 (defun newsticker--set-customvar (symbol value)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
498 "Set newsticker-variable SYMBOL value to VALUE.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
499
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
500 Calls all necessary actions which are necessary in order to make
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
501 the new value effective. Changing `newsticker-url-list', for example,
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
502 will re-start the retrieval-timers."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
503 (unless (condition-case nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
504 (eq (symbol-value symbol) value)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
505 (error nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
506 (set symbol value)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
507 (cond ((eq symbol 'newsticker-sort-method)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
508 (when (fboundp 'newsticker--cache-sort)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
509 (message "Applying new sort method...")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
510 (newsticker--cache-sort)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
511 (newsticker--buffer-set-uptodate nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
512 (message "Applying new sort method...done")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
513 ((memq symbol '(newsticker-url-list-defaults
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
514 newsticker-url-list
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
515 newsticker-retrieval-interval))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
516 (when (and (fboundp 'newsticker-running-p)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
517 (newsticker-running-p))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
518 (message "Restarting newsticker")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
519 (newsticker-stop)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
520 (newsticker-start)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
521 ((eq symbol 'newsticker-display-interval)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
522 (when (and (fboundp 'newsticker-running-p)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
523 (newsticker-running-p))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
524 (message "Restarting ticker")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
525 (newsticker-stop-ticker)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
526 (newsticker-start-ticker)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
527 (message "")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
528 ((memq symbol '(newsticker-hide-old-items-in-echo-area
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
529 newsticker-hide-obsolete-items-in-echo-area
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
530 newsticker-hide-immortal-items-in-echo-area))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
531 (when (and (fboundp 'newsticker-running-p)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
532 (newsticker-running-p))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
533 (message "Restarting newsticker")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
534 (newsticker-stop-ticker)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
535 (newsticker--ticker-text-setup)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
536 (newsticker-start-ticker)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
537 (message "")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
538 ((memq symbol '(newsticker-hide-old-items-in-newsticker-buffer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
539 newsticker-show-descriptions-of-new-items))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
540 (when (fboundp 'newsticker--buffer-set-uptodate)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
541 (newsticker--buffer-set-uptodate nil)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
542 ((memq symbol '(newsticker-heading-format
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
543 newsticker-item-format
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
544 newsticker-desc-format
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
545 newsticker-date-format
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
546 newsticker-statistics-format
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
547 newsticker-justification
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
548 newsticker-use-full-width
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
549 newsticker-html-renderer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
550 newsticker-feed-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
551 newsticker-new-item-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
552 newsticker-old-item-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
553 newsticker-immortal-item-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
554 newsticker-obsolete-item-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
555 newsticker-date-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
556 newsticker-statistics-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
557 ;;newsticker-default-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
558 ))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
559 (when (fboundp 'newsticker--forget-preformatted)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
560 (newsticker--forget-preformatted)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
561 (t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
562 (error "Ooops %s" symbol)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
563
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
564 ;; customization group feed
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
565 (defgroup newsticker-feed nil
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
566 "Settings for news feeds."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
567 :group 'newsticker)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
568
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
569 (defcustom newsticker-url-list-defaults
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
570 '(("Emacs Wiki"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
571 "http://www.emacswiki.org/cgi-bin/wiki.pl?action=rss"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
572 nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
573 3600))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
574 "A customizable list of news feeds to select from.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
575 These were mostly extracted from the Radio Community Server at
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
576 http://subhonker6.userland.com/rcsPublic/rssHotlist.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
577
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
578 You may add other entries in `newsticker-url-list'."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
579 :type `(set ,@(mapcar `newsticker--splicer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
580 newsticker--raw-url-list-defaults))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
581 :set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
582 :group 'newsticker-feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
583
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
584 (defcustom newsticker-url-list nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
585 "The news feeds which you like to watch.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
586
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
587 This alist will be used in addition to selection made customizing
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
588 `newsticker-url-list-defaults'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
589
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
590 This is an alist. Each element consists of two items: a LABEL and a URL,
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
591 optionally followed by a START-TIME, INTERVAL specifier and WGET-ARGUMENTS.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
592
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
593 The LABEL gives the name of the news feed. It can be an arbitrary string.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
594
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
595 The URL gives the location of the news feed. It must point to a valid
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
596 RSS or Atom file. The file is retrieved by calling wget, or whatever you
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
597 specify as `newsticker-wget-name'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
598
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
599 The START-TIME can be either a string, or nil. If it is a string it
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
600 specifies a fixed time at which this feed shall be retrieved for the
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
601 first time. (Examples: \"11:00pm\", \"23:00\".) If it is nil (or
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
602 unspecified), this feed will be retrieved immediately after calling
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
603 `newsticker-start'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
604
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
605 The INTERVAL specifies the time between retrievals for this feed. If it
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
606 is nil (or unspecified) the default interval value as set in
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
607 `newsticker-retrieval-interval' is used.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
608
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
609 \(newsticker.el calls `run-at-time'. The newsticker-parameters START-TIME
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
610 and INTERVAL correspond to the `run-at-time'-parameters TIME and REPEAT.)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
611
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
612 WGET-ARGUMENTS specifies arguments for wget (see `newsticker-wget-name')
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
613 which apply for this feed only, overriding the value of
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
614 `newsticker-wget-arguments'."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
615 :type '(repeat (list :tag "News feed"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
616 (string :tag "Label")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
617 (string :tag "URI")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
618 (choice :tag "Start"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
619 (const :tag "Default" nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
620 (string :tag "Fixed Time"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
621 (choice :tag "Interval"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
622 (const :tag "Default" nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
623 (const :tag "Hourly" 3600)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
624 (const :tag "Daily" 86400)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
625 (const :tag "Weekly" 604800)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
626 (integer :tag "Interval"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
627 (choice :tag "Wget Arguments"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
628 (const :tag "Default arguments" nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
629 (repeat :tag "Special arguments" string))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
630 :set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
631 :group 'newsticker-feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
632
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
633 (defcustom newsticker-wget-name
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
634 "wget"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
635 "Name of the program which is called to retrieve news from the web.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
636 The canonical choice is wget but you may take any other program which is
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
637 able to return the contents of a news feed file on stdout."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
638 :type 'string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
639 :group 'newsticker-feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
640
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
641 (defcustom newsticker-wget-arguments
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
642 '("-q" "-O" "-")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
643 "Arguments which are passed to wget.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
644 There is probably no reason to change the default settings, unless you
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
645 are living behind a firewall."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
646 :type '(repeat (string :tag "Argument"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
647 :group 'newsticker-feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
648
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
649 (defcustom newsticker-retrieval-interval
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
650 3600
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
651 "Time interval for retrieving new news items (seconds).
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
652 If this value is not positive (i.e. less than or equal to 0)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
653 items are retrieved only once!
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
654 Please note that some feeds, e.g. Slashdot, will ban you if you
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
655 make it less than 1800 seconds (30 minutes)!"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
656 :type '(choice :tag "Interval"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
657 (const :tag "No automatic retrieval" 0)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
658 (const :tag "Hourly" 3600)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
659 (const :tag "Daily" 86400)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
660 (const :tag "Weekly" 604800)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
661 (integer :tag "Interval"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
662 :set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
663 :group 'newsticker-feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
664
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
665 (defcustom newsticker-desc-comp-max
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
666 100
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
667 "Relevant length of headline descriptions.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
668 This value gives the maximum number of characters which will be
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
669 taken into account when newsticker compares two headline
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
670 descriptions."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
671 :type 'integer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
672 :group 'newsticker-feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
673
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
674 ;; customization group behaviour
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
675 (defgroup newsticker-headline-processing nil
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
676 "Settings for the automatic processing of headlines."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
677 :group 'newsticker)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
678
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
679 (defcustom newsticker-automatically-mark-items-as-old
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
680 t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
681 "Decides whether to automatically mark items as old.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
682 If t a new item is considered as new only after its first retrieval. As
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
683 soon as it is retrieved a second time, it becomes old. If not t all
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
684 items stay new until you mark them as old. This is done in the
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
685 *newsticker* buffer."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
686 :type 'boolean
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
687 :group 'newsticker-headline-processing)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
688
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
689 (defcustom newsticker-automatically-mark-visited-items-as-old
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
690 t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
691 "Decides whether to automatically mark visited items as old.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
692 If t an item is marked as old as soon as the associated link is
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
693 visited, i.e. after pressing RET or mouse2 on the item's
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
694 headline."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
695
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
696 :type 'boolean
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
697 :group 'newsticker-headline-processing)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
698
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
699 (defcustom newsticker-keep-obsolete-items
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
700 t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
701 "Decides whether to keep unread items which have been removed from feed.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
702 If t a new item, which has been removed from the feed, is kept in
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
703 the cache until it is marked as read."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
704 :type 'boolean
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
705 :group 'newsticker-headline-processing)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
706
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
707 (defcustom newsticker-obsolete-item-max-age
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
708 (* 60 60 24)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
709 "Maximal age of obsolete items, in seconds.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
710 Obsolete items which are older than this value will be silently
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
711 deleted at the next retrieval."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
712 :type 'integer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
713 :group 'newsticker-headline-processing)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
714
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
715 (defcustom newsticker-auto-mark-filter-list
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
716 nil
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
717 "A list of filters for automatically marking headlines.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
718
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
719 This is an alist of the form (FEED-NAME PATTERN-LIST). I.e. each
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
720 element consists of a FEED-NAME a PATTERN-LIST. Each element of
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
721 the pattern-list has the form (AGE TITLE-OR-DESCRIPTION REGEXP).
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
722 AGE must be one of the symbols 'old or 'immortal.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
723 TITLE-OR-DESCRIPTION must be on of the symbols 'title,
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
724 'description, or 'all. REGEXP is a regular expression, i.e. a
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
725 string.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
726
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
727 This filter is checked after a new headline has been retrieved.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
728 If FEED-NAME matches the name of the corresponding news feed, the
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
729 pattern-list is checked: The new headline will be marked as AGE
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
730 if REGEXP matches the headline's TITLE-OR-DESCRIPTION.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
731
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
732 If, for example, `newsticker-auto-mark-filter-list' looks like
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
733 \((slashdot ('old 'title \"^Forget me!$\") ('immortal 'title \"Read me\")
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
734 \('immortal 'all \"important\"))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
735
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
736 then all articles from slashdot are marked as old if they have
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
737 the title \"Forget me!\". All articles with a title containing
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
738 the string \"Read me\" are marked as immortal. All articles which
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
739 contain the string \"important\" in their title or their
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
740 description are marked as immortal."
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
741 :type '(repeat (list :tag "Auto mark filter"
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
742 (string :tag "Feed name")
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
743 (repeat
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
744 (list :tag "Filter element"
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
745 (choice
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
746 :tag "Auto-assigned age"
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
747 (const :tag "Old" old)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
748 (const :tag "Immortal" immortal))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
749 (choice
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
750 :tag "Title/Description"
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
751 (const :tag "Title" title)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
752 (const :tag "Description" description)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
753 (const :tag "All" all))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
754 (string :tag "Regexp")))))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
755 :group 'newsticker-headline-processing)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
756
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
757 ;; customization group layout
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
758 (defgroup newsticker-layout nil
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
759 "Settings for layout of the feed reader."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
760 :group 'newsticker)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
761
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
762 (defcustom newsticker-sort-method
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
763 'sort-by-original-order
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
764 "Sort method for news items.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
765 The following sort methods are available:
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
766 * `sort-by-original-order' keeps the order in which the items
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
767 appear in the headline file (please note that for immortal items,
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
768 which have been removed from the news feed, there is no original
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
769 order),
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
770 * `sort-by-time' looks at the time at which an item has been seen
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
771 the first time. The most recent item is put at top,
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
772 * `sort-by-title' will put the items in an alphabetical order."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
773 :type '(choice
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
774 (const :tag "Keep original order" sort-by-original-order)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
775 (const :tag "Sort by time" sort-by-time)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
776 (const :tag "Sort by title" sort-by-title))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
777 :set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
778 :group 'newsticker-layout)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
779
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
780 (defcustom newsticker-hide-old-items-in-newsticker-buffer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
781 nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
782 "Decides whether to automatically hide old items in the *newsticker* buffer.
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
783 If set to t old items will be completely folded and only new
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
784 items will show up in the *newsticker* buffer. Otherwise old as
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
785 well as new items will be visible."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
786 :type 'boolean
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
787 :set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
788 :group 'newsticker-layout)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
789
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
790 (defcustom newsticker-show-descriptions-of-new-items
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
791 t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
792 "Whether to automatically show descriptions of new items in *newsticker*.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
793 If set to t old items will be folded and new items will be
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
794 unfolded. Otherwise old as well as new items will be folded."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
795 :type 'boolean
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
796 :set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
797 :group 'newsticker-layout)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
798
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
799 (defcustom newsticker-heading-format
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
800 "%l
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
801 %t %d %s"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
802 "Format string for feed headings.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
803 The following printf-like specifiers can be used:
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
804 %d The date the feed was retrieved. See `newsticker-date-format'.
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
805 %l The logo (image) of the feed. Most news feeds provide a small
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
806 image as logo. Newsticker can display them, if Emacs can --
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
807 see `image-types' for a list of supported image types.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
808 %L The logo (image) of the feed. If the logo is not available
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
809 the title of the feed is used.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
810 %s The statistical data of the feed. See `newsticker-statistics-format'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
811 %t The title of the feed, i.e. its name."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
812 :type 'string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
813 :set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
814 :group 'newsticker-layout)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
815
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
816 (defcustom newsticker-item-format
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
817 "%t %d"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
818 "Format string for news item headlines.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
819 The following printf-like specifiers can be used:
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
820 %d The date the item was (first) retrieved. See `newsticker-date-format'.
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
821 %l The logo (image) of the feed. Most news feeds provide a small
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
822 image as logo. Newsticker can display them, if Emacs can --
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
823 see `image-types' for a list of supported image types.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
824 %L The logo (image) of the feed. If the logo is not available
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
825 the title of the feed is used.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
826 %t The title of the item."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
827 :type 'string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
828 :set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
829 :group 'newsticker-layout)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
830
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
831 (defcustom newsticker-desc-format
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
832 "%d %c"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
833 "Format string for news descriptions (contents).
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
834 The following printf-like specifiers can be used:
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
835 %c The contents (description) of the item.
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
836 %d The date the item was (first) retrieved. See
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
837 `newsticker-date-format'."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
838 :type 'string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
839 :set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
840 :group 'newsticker-layout)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
841
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
842 (defcustom newsticker-date-format
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
843 "(%A, %H:%M)"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
844 "Format for the date part in item and feed lines.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
845 See `format-time-string' for a list of valid specifiers."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
846 :type 'string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
847 :set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
848 :group 'newsticker-layout)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
849
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
850 (defcustom newsticker-statistics-format
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
851 "[%n + %i + %o + %O = %a]"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
852 "Format for the statistics part in feed lines.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
853 The following printf-like specifiers can be used:
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
854 %a The number of all items in the feed.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
855 %i The number of immortal items in the feed.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
856 %n The number of new items in the feed.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
857 %o The number of old items in the feed.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
858 %O The number of obsolete items in the feed."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
859 :type 'string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
860 :set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
861 :group 'newsticker-layout)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
862
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
863 (defcustom newsticker-show-all-news-elements
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
864 nil
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
865 "Show all news elements."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
866 :type 'boolean
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
867 ;;:set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
868 :group 'newsticker-layout)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
869
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
870 ;; image related things
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
871 (defcustom newsticker-enable-logo-manipulations
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
872 t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
873 "If non-nil newsticker manipulates logo images.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
874 This enables the following image properties: heuristic mask for all
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
875 logos, and laplace-conversion for images without new items."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
876 :type 'boolean
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
877 :group 'newsticker-layout)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
878
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
879
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
880 ;; rendering
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
881 (defcustom newsticker-justification
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
882 'left
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
883 "How to fill item descriptions.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
884 If non-nil newsticker calls `fill-region' to wrap long lines in
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
885 item descriptions. However, if an item description contains HTML
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
886 text and `newsticker-html-renderer' is non-nil, filling is not
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
887 done."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
888 :type '(choice :tag "Justification"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
889 (const :tag "No filling" nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
890 (const :tag "Left" left)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
891 (const :tag "Right" right)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
892 (const :tag "Center" center)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
893 (const :tag "Full" full))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
894 :set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
895 :group 'newsticker-layout)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
896
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
897 (defcustom newsticker-use-full-width
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
898 t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
899 "Decides whether to use the full window width when filling.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
900 If non-nil newsticker sets `fill-column' so that the whole
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
901 window is used when filling. See also `newsticker-justification'."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
902 :type 'boolean
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
903 :set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
904 :group 'newsticker-layout)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
905
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
906 (defcustom newsticker-html-renderer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
907 nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
908 "Function for rendering HTML contents.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
909 If non-nil, newsticker.el will call this function whenever it finds
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
910 HTML-like tags in item descriptions. Possible functions are, for
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
911 example, `w3m-region', `w3-region', and (if you have htmlr.el installed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
912 `newsticker-htmlr-render'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
913
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
914 In order to make sure that the HTML renderer is loaded when you
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
915 run newsticker, you should add one of the following statements to
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
916 your .emacs. If you use w3m,
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
917
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
918 (autoload 'w3m-region \"w3m\"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
919 \"Render region in current buffer and replace with result.\" t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
920
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
921 or, if you use w3,
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
922
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
923 (require 'w3-auto)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
924
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
925 or, if you use htmlr
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
926
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
927 (require 'htmlr)"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
928 :type '(choice :tag "Function"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
929 (const :tag "None" nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
930 (const :tag "w3" w3-region)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
931 (const :tag "w3m" w3m-region)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
932 (const :tag "htmlr" newsticker-htmlr-render))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
933 :set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
934 :group 'newsticker-layout)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
935
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
936
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
937 ;; faces
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
938 (defgroup newsticker-faces nil
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
939 "Settings for the faces of the feed reader."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
940 :group 'newsticker-layout)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
941
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
942 (defface newsticker-feed-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
943 '((((class color) (background dark))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
944 (:family "helvetica" :bold t :height 1.2 :foreground "misty rose"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
945 (((class color) (background light))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
946 (:family "helvetica" :bold t :height 1.2 :foreground "black")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
947 "Face for news feeds."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
948 :group 'newsticker-faces)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
949
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
950 (defface newsticker-new-item-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
951 '((((class color) (background dark))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
952 (:family "helvetica" :bold t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
953 (((class color) (background light))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
954 (:family "helvetica" :bold t)))
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
955 "Face for new news items."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
956 :group 'newsticker-faces)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
957
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
958 (defface newsticker-old-item-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
959 '((((class color) (background dark))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
960 (:family "helvetica" :bold t :foreground "orange3"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
961 (((class color) (background light))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
962 (:family "helvetica" :bold t :foreground "red4")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
963 "Face for old news items."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
964 :group 'newsticker-faces)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
965
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
966 (defface newsticker-immortal-item-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
967 '((((class color) (background dark))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
968 (:family "helvetica" :bold t :italic t :foreground "orange"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
969 (((class color) (background light))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
970 (:family "helvetica" :bold t :italic t :foreground "blue")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
971 "Face for immortal news items."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
972 :group 'newsticker-faces)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
973
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
974 (defface newsticker-obsolete-item-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
975 '((((class color) (background dark))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
976 (:family "helvetica" :bold t :strike-through t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
977 (((class color) (background light))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
978 (:family "helvetica" :bold t :strike-through t)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
979 "Face for old news items."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
980 :group 'newsticker-faces)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
981
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
982 (defface newsticker-date-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
983 '((((class color) (background dark))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
984 (:family "helvetica" :italic t :height 0.8))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
985 (((class color) (background light))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
986 (:family "helvetica" :italic t :height 0.8)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
987 "Face for newsticker dates."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
988 :group 'newsticker-faces)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
989
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
990 (defface newsticker-statistics-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
991 '((((class color) (background dark))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
992 (:family "helvetica" :italic t :height 0.8))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
993 (((class color) (background light))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
994 (:family "helvetica" :italic t :height 0.8)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
995 "Face for newsticker dates."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
996 :group 'newsticker-faces)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
997
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
998 (defface newsticker-enclosure-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
999 '((((class color) (background dark))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1000 (:bold t :background "orange"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1001 (((class color) (background light))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1002 (:bold t :background "orange")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1003 "Face for enclosed elements."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1004 :group 'newsticker-faces)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1005
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1006 (defface newsticker-extra-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1007 '((((class color) (background dark))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1008 (:italic t :foreground "gray50" :height 0.8))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1009 (((class color) (background light))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1010 (:italic t :foreground "gray50" :height 0.8)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1011 "Face for newsticker dates."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1012 :group 'newsticker-faces)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1013
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1014 ;; (defface newsticker-default-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1015 ;; '((((class color) (background dark))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1016 ;; (:inherit default))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1017 ;; (((class color) (background light))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1018 ;; (:inherit default)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1019 ;; "Face for the description of news items."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1020 ;; ;;:set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1021 ;; :group 'newsticker-faces)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1022
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1023
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1024 ;; customization group ticker
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1025 (defgroup newsticker-ticker nil
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
1026 "Settings for the headline ticker."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1027 :group 'newsticker)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1028
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1029 (defcustom newsticker-display-interval
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1030 0.3
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1031 "Time interval for displaying news items in the echo area (seconds).
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1032 If equal or less than 0 no messages are shown in the echo area. For
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1033 smooth display (see `newsticker-scroll-smoothly') a value of 0.3 seems
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1034 reasonable. For non-smooth display a value of 10 is a good starting
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1035 point."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1036 :type 'number
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1037 :set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1038 :group 'newsticker-ticker)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1039
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1040 (defcustom newsticker-scroll-smoothly
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1041 t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1042 "Decides whether to flash or scroll news items.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1043 If t the news headlines are scrolled (more-or-less) smoothly in the echo
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1044 area. If nil one headline after another is displayed in the echo area.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1045 The variable `newsticker-display-interval' determines how fast this
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1046 display moves/changes and whether headlines are shown in the echo area
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1047 at all. If you change `newsticker-scroll-smoothly' you should also change
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1048 `newsticker-display-interval'."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1049 :type 'boolean
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1050 :group 'newsticker-ticker)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1051
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1052 (defcustom newsticker-hide-immortal-items-in-echo-area
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1053 t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1054 "Decides whether to show immortal/non-expiring news items in the ticker.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1055 If t the echo area will not show immortal items. See also
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
1056 `newsticker-hide-old-items-in-echo-area'."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1057 :type 'boolean
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1058 :set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1059 :group 'newsticker-ticker)
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
1060
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1061 (defcustom newsticker-hide-old-items-in-echo-area
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1062 t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1063 "Decides whether to show only the newest news items in the ticker.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1064 If t the echo area will show only new items, i.e. only items which have
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1065 been added between the last two retrievals."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1066 :type 'boolean
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1067 :set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1068 :group 'newsticker-ticker)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1069
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1070 (defcustom newsticker-hide-obsolete-items-in-echo-area
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1071 t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1072 "Decides whether to show obsolete items items in the ticker.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1073 If t the echo area will not show obsolete items. See also
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
1074 `newsticker-hide-old-items-in-echo-area'."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1075 :type 'boolean
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1076 :set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1077 :group 'newsticker-ticker)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1078
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1079 (defgroup newsticker-hooks nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1080 "Settings for newsticker hooks."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1081 :group 'newsticker)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1082
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1083 (defcustom newsticker-start-hook
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1084 nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1085 "Hook run when starting newsticker.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1086 This hook is run at the very end of `newsticker-start'."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1087 :options '(newsticker-start-ticker)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1088 :type 'hook
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1089 :group 'newsticker-hooks)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1090
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1091 (defcustom newsticker-stop-hook
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1092 nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1093 "Hook run when stopping newsticker.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1094 This hook is run at the very end of `newsticker-stop'."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1095 :options nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1096 :type 'hook
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1097 :group 'newsticker-hooks)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1098
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1099 (defcustom newsticker-new-item-functions
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1100 nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1101 "List of functions run after a new headline has been retrieved.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1102 Each function is called with the following three arguments:
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1103 FEED the name of the corresponding news feed,
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1104 TITLE the title of the headline,
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1105 DESC the decoded description of the headline.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1106
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1107 See `newsticker-download-images', and
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1108 `newsticker-download-enclosures' for sample functions.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1109
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1110 Please note that these functions are called only once for a
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1111 headline after it has been retrieved for the first time."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1112 :type 'hook
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1113 :options '(newsticker-download-images
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1114 newsticker-download-enclosures)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1115 :group 'newsticker-hooks)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1116
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1117 (defcustom newsticker-select-item-hook
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1118 'newsticker--buffer-make-item-completely-visible
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1119 "List of functions run after a headline has been selected.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1120 Each function is called after one of `newsticker-next-item',
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1121 `newsticker-next-new-item', `newsticker-previous-item',
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1122 `newsticker-previous-new-item' has been called.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1123
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1124 The default value 'newsticker--buffer-make-item-completely-visible
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1125 assures that the current item is always completely visible."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1126 :type 'hook
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1127 :options '(newsticker--buffer-make-item-completely-visible)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1128 :group 'newsticker-hooks)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1129
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1130 (defcustom newsticker-select-feed-hook
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1131 'newsticker--buffer-make-item-completely-visible
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1132 "List of functions run after a feed has been selected.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1133 Each function is called after one of `newsticker-next-feed', and
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1134 `newsticker-previous-feed' has been called.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1135
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1136 The default value 'newsticker--buffer-make-item-completely-visible
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1137 assures that the current feed is completely visible."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1138 :type 'hook
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1139 :options '(newsticker--buffer-make-item-completely-visible)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1140 :group 'newsticker-hooks)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1141
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1142 (defcustom newsticker-buffer-change-hook
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1143 'newsticker-w3m-show-inline-images
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1144 "List of functions run after the newsticker buffer has been updated.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1145 Each function is called after `newsticker-buffer-update' has been called.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1146
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1147 The default value '`newsticker-w3m-show-inline-images' loads inline
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1148 images."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1149 :type 'hook
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1150 :group 'newsticker-hooks)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1151
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1152 (defcustom newsticker-narrow-hook
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1153 'newsticker-w3m-show-inline-images
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1154 "List of functions run after narrowing in newsticker buffer has changed.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1155 Each function is called after
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1156 `newsticker-toggle-auto-narrow-to-feed' or
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1157 `newsticker-toggle-auto-narrow-to-item' has been called.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1158
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1159 The default value '`newsticker-w3m-show-inline-images' loads inline
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1160 images."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1161 :type 'hook
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1162 :group 'newsticker-hooks)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1163
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1164 (defgroup newsticker-miscellaneous nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1165 "Miscellaneous newsticker settings."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1166 :group 'newsticker)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1167
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1168 (defcustom newsticker-cache-filename
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1169 "~/.newsticker-cache"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1170 "Name of the newsticker cache file."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1171 :type 'string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1172 :group 'newsticker-miscellaneous)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1173
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1174 (defcustom newsticker-imagecache-dirname
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1175 "~/.newsticker-images"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1176 "Name of the directory where newsticker stores cached images."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1177 :type 'string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1178 :group 'newsticker-miscellaneous)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1179
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1180 ;; debugging
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1181 (defcustom newsticker-debug
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1182 nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1183 "Enables some features needed for debugging newsticker.el.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1184
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1185 If set to t newsticker.el will print lots of debugging messages, and the
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1186 buffers *newsticker-wget-<feed>* will not be closed."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1187 :type 'boolean
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1188 ;;:set 'newsticker--set-customvar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1189 :group 'newsticker-miscellaneous)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1190
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1191 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1192 ;;; Compatibility section, XEmacs, Emacs
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1193 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1194 (unless (fboundp 'time-add)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1195 (require 'time-date);;FIXME
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1196 (defun time-add (t1 t2)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1197 (seconds-to-time (+ (time-to-seconds t1) (time-to-seconds t2)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1198
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1199 (unless (fboundp 'match-string-no-properties)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1200 (defalias 'match-string-no-properties 'match-string))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1201
85777
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 78229
diff changeset
1202 (when (featurep 'xemacs)
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 78229
diff changeset
1203 (unless (fboundp 'replace-regexp-in-string)
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 78229
diff changeset
1204 (defun replace-regexp-in-string (re rp st)
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 78229
diff changeset
1205 (save-match-data ;; apparently XEmacs needs save-match-data
2ca0af23d79d * emulation/edt.el (edt-emacs19-p, edt-x-emacs19-p)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 78229
diff changeset
1206 (replace-in-string st re rp)))))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1207
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1208 ;; copied from subr.el
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1209 (unless (fboundp 'add-to-invisibility-spec)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1210 (defun add-to-invisibility-spec (arg)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1211 "Add elements to `buffer-invisibility-spec'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1212 See documentation for `buffer-invisibility-spec' for the kind of elements
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1213 that can be added."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1214 (if (eq buffer-invisibility-spec t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1215 (setq buffer-invisibility-spec (list t)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1216 (setq buffer-invisibility-spec
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1217 (cons arg buffer-invisibility-spec))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1218
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1219 ;; copied from subr.el
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1220 (unless (fboundp 'remove-from-invisibility-spec)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1221 (defun remove-from-invisibility-spec (arg)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1222 "Remove elements from `buffer-invisibility-spec'."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1223 (if (consp buffer-invisibility-spec)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
1224 (setq buffer-invisibility-spec
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
1225 (delete arg buffer-invisibility-spec)))))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1226
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1227 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1228 ;;; Internal variables
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1229 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1230 (defvar newsticker--item-list nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1231 "List of newsticker items.")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1232 (defvar newsticker--item-position 0
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1233 "Actual position in list of newsticker items.")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1234 (defvar newsticker--prev-message "There was no previous message yet!"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1235 "Last message that the newsticker displayed.")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1236 (defvar newsticker--scrollable-text ""
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1237 "The text which is scrolled smoothly in the echo area.")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1238 (defvar newsticker--buffer-uptodate-p nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1239 "Tells whether the newsticker buffer is up to date.")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1240 (defvar newsticker--latest-update-time (current-time)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1241 "The time at which the latest news arrived.")
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
1242 (defvar newsticker--process-ids nil
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
1243 "List of PIDs of active newsticker processes.")
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1244
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1245 (defvar newsticker--cache nil "Cached newsticker data.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1246 This is a list of the form
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1247
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1248 ((label1
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1249 (title description link time age index preformatted-contents
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1250 preformatted-title)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1251 ...)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1252 (label2
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1253 (title description link time age index preformatted-contents
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1254 preformatted-title)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1255 ...)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1256 ...)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1257
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1258 where LABEL is a symbol. TITLE, DESCRIPTION, and LINK are
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1259 strings. TIME is a time value as returned by `current-time'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1260 AGE is a symbol: 'new, 'old, 'immortal, and 'obsolete denote
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1261 ordinary news items, whereas 'feed denotes an item which is not a
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1262 headline but describes the feed itself. INDEX denotes the
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1263 original position of the item -- used for restoring the original
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1264 order. PREFORMATTED-CONTENTS and PREFORMATTED-TITLE hold the
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1265 formatted contents of the item's description and title. This
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1266 speeds things up if HTML rendering is used, which is rather
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1267 slow.")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1268
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1269 (defvar newsticker--auto-narrow-to-feed nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1270 "Automatically narrow to current news feed.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1271 If non-nil only the items of the current news feed are visible.")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1272
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1273 (defvar newsticker--auto-narrow-to-item nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1274 "Automatically narrow to current news item.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1275 If non-nil only the current headline is visible.")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1276
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1277 (defconst newsticker--error-headline
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1278 "[COULD NOT DOWNLOAD HEADLINES!]"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1279 "Title of error headline which will be inserted if news retrieval fails.")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1280
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1281 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1282 ;;; Toolbar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1283 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1284 (defconst newsticker--next-item-image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1285 (if (fboundp 'create-image)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1286 (create-image "/* XPM */
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1287 static char * next_xpm[] = {
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1288 \"24 24 42 1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1289 \" c None\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1290 \". c #000000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1291 \"+ c #7EB6DE\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1292 \"@ c #82BBE2\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1293 \"# c #85BEE4\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1294 \"$ c #88C1E7\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1295 \"% c #8AC3E8\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1296 \"& c #87C1E6\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1297 \"* c #8AC4E9\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1298 \"= c #8CC6EA\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1299 \"- c #8CC6EB\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1300 \"; c #88C2E7\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1301 \"> c #8BC5E9\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1302 \", c #8DC7EB\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1303 \"' c #87C0E6\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1304 \") c #8AC4E8\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1305 \"! c #8BC5EA\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1306 \"~ c #8BC4E9\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1307 \"{ c #88C1E6\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1308 \"] c #89C3E8\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1309 \"^ c #86BFE5\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1310 \"/ c #83BBE2\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1311 \"( c #82BBE1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1312 \"_ c #86C0E5\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1313 \": c #87C0E5\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1314 \"< c #83BCE2\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1315 \"[ c #81B9E0\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1316 \"} c #81BAE1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1317 \"| c #78B0D9\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1318 \"1 c #7BB3DB\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1319 \"2 c #7DB5DD\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1320 \"3 c #7DB6DD\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1321 \"4 c #72A9D4\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1322 \"5 c #75ACD6\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1323 \"6 c #76AED7\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1324 \"7 c #77AFD8\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1325 \"8 c #6BA1CD\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1326 \"9 c #6EA4CF\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1327 \"0 c #6FA6D1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1328 \"a c #6298C6\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1329 \"b c #659BC8\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1330 \"c c #5C91C0\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1331 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1332 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1333 \" . \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1334 \" .. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1335 \" .+. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1336 \" .@#. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1337 \" .#$%. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1338 \" .&*=-. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1339 \" .;>,,,. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1340 \" .;>,,,=. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1341 \" .')!==~;. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1342 \" .#{]*%;^/. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1343 \" .(#_':#<. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1344 \" .+[@</}. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1345 \" .|1232. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1346 \" .4567. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1347 \" .890. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1348 \" .ab. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1349 \" .c. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1350 \" .. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1351 \" . \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1352 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1353 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1354 \" \"};
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1355 "
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1356 'xpm t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1357 "Image for the next item button."))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1358
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1359 (defconst newsticker--previous-item-image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1360 (if (fboundp 'create-image)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1361 (create-image "/* XPM */
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1362 static char * previous_xpm[] = {
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1363 \"24 24 39 1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1364 \" c None\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1365 \". c #000000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1366 \"+ c #7BB3DB\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1367 \"@ c #83BCE2\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1368 \"# c #7FB8DF\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1369 \"$ c #89C2E7\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1370 \"% c #86BFE5\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1371 \"& c #83BBE2\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1372 \"* c #8CC6EA\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1373 \"= c #8BC4E9\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1374 \"- c #88C2E7\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1375 \"; c #85BEE4\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1376 \"> c #8DC7EB\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1377 \", c #89C3E8\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1378 \"' c #8AC4E8\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1379 \") c #8BC5EA\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1380 \"! c #88C1E6\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1381 \"~ c #8AC4E9\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1382 \"{ c #8AC3E8\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1383 \"] c #86C0E5\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1384 \"^ c #87C0E6\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1385 \"/ c #87C0E5\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1386 \"( c #82BBE2\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1387 \"_ c #81BAE1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1388 \": c #7FB7DF\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1389 \"< c #7DB6DD\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1390 \"[ c #7DB5DD\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1391 \"} c #7CB4DC\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1392 \"| c #79B1DA\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1393 \"1 c #76ADD7\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1394 \"2 c #77AFD8\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1395 \"3 c #73AAD4\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1396 \"4 c #70A7D1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1397 \"5 c #6EA5D0\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1398 \"6 c #6CA2CE\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1399 \"7 c #689ECB\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1400 \"8 c #6399C7\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1401 \"9 c #6095C4\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1402 \"0 c #5C90C0\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1403 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1404 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1405 \" . \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1406 \" .. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1407 \" .+. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1408 \" .@#. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1409 \" .$%&. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1410 \" .*=-;. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1411 \" .>>*,%. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1412 \" .>>>*,%. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1413 \" .')**=-;. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1414 \" .;!,~{-%&. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1415 \" .;]^/;@#. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1416 \" .(@&_:+. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1417 \" .<[}|1. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1418 \" .2134. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1419 \" .567. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1420 \" .89. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1421 \" .0. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1422 \" .. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1423 \" . \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1424 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1425 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1426 \" \"};
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1427 "
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1428 'xpm t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1429 "Image for the previous item button."))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1430
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1431 (defconst newsticker--previous-feed-image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1432 (if (fboundp 'create-image)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1433 (create-image "/* XPM */
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1434 static char * prev_feed_xpm[] = {
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1435 \"24 24 52 1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1436 \" c None\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1437 \". c #000000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1438 \"+ c #70A7D2\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1439 \"@ c #75ADD6\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1440 \"# c #71A8D3\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1441 \"$ c #79B1DA\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1442 \"% c #7BB3DB\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1443 \"& c #7DB5DD\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1444 \"* c #83BBE2\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1445 \"= c #7EB6DE\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1446 \"- c #78B0D9\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1447 \"; c #7FB7DE\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1448 \"> c #88C2E7\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1449 \", c #85BEE4\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1450 \"' c #80B9E0\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1451 \") c #80B8DF\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1452 \"! c #8CC6EA\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1453 \"~ c #89C3E8\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1454 \"{ c #86BFE5\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1455 \"] c #81BAE1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1456 \"^ c #7CB4DC\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1457 \"/ c #7FB8DF\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1458 \"( c #8DC7EB\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1459 \"_ c #7BB3DC\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1460 \": c #7EB7DE\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1461 \"< c #8BC4E9\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1462 \"[ c #8AC4E9\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1463 \"} c #8AC3E8\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1464 \"| c #87C0E6\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1465 \"1 c #87C0E5\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1466 \"2 c #83BCE2\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1467 \"3 c #75ACD6\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1468 \"4 c #7FB7DF\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1469 \"5 c #77AED8\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1470 \"6 c #71A8D2\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1471 \"7 c #70A7D1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1472 \"8 c #76ADD7\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1473 \"9 c #6CA2CE\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1474 \"0 c #699FCC\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1475 \"a c #73AAD4\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1476 \"b c #6BA1CD\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1477 \"c c #669CC9\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1478 \"d c #6298C5\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1479 \"e c #689ECB\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1480 \"f c #6499C7\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1481 \"g c #6095C3\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1482 \"h c #5C91C0\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1483 \"i c #5E93C2\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1484 \"j c #5B90C0\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1485 \"k c #588CBC\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1486 \"l c #578CBC\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1487 \"m c #5589BA\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1488 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1489 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1490 \" ... . \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1491 \" .+. .. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1492 \" .@. .#. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1493 \" .$. .%@. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1494 \" .&. .*=-. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1495 \" .;. .>,'%. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1496 \" .). .!~{]^. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1497 \" ./. .(!~{]_. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1498 \" .:. .!!<>,'%. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1499 \" .&. .~[}>{*=-. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1500 \" .$. .|1,2/%@. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1501 \" .3. .*]4%56. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1502 \" .7. .^$8#9. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1503 \" .0. .a7bc. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1504 \" .d. .efg. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1505 \" .h. .ij. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1506 \" .k. .l. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1507 \" .m. .. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1508 \" ... . \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1509 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1510 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1511 \" \"};
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1512 "
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1513 'xpm t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1514 "Image for the previous feed button."))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1515
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1516 (defconst newsticker--next-feed-image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1517 (if (fboundp 'create-image)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1518 (create-image "/* XPM */
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1519 static char * next_feed_xpm[] = {
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1520 \"24 24 57 1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1521 \" c None\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1522 \". c #000000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1523 \"+ c #6CA2CE\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1524 \"@ c #75ADD6\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1525 \"# c #71A8D3\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1526 \"$ c #79B1DA\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1527 \"% c #7EB7DE\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1528 \"& c #7DB5DD\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1529 \"* c #81BAE1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1530 \"= c #85BEE4\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1531 \"- c #78B0D9\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1532 \"; c #7FB7DE\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1533 \"> c #83BCE3\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1534 \", c #87C1E6\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1535 \"' c #8AC4E9\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1536 \") c #7BB3DB\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1537 \"! c #80B8DF\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1538 \"~ c #88C2E7\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1539 \"{ c #8BC5E9\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1540 \"] c #8DC7EB\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1541 \"^ c #7CB4DC\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1542 \"/ c #7FB8DF\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1543 \"( c #84BDE3\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1544 \"_ c #7BB3DC\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1545 \": c #83BCE2\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1546 \"< c #87C0E6\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1547 \"[ c #8AC4E8\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1548 \"} c #8BC5EA\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1549 \"| c #8CC6EA\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1550 \"1 c #88C1E6\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1551 \"2 c #89C3E8\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1552 \"3 c #8AC3E8\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1553 \"4 c #7EB6DE\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1554 \"5 c #82BBE1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1555 \"6 c #86C0E5\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1556 \"7 c #87C0E5\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1557 \"8 c #75ACD6\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1558 \"9 c #7AB2DA\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1559 \"0 c #81B9E0\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1560 \"a c #82BBE2\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1561 \"b c #71A8D2\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1562 \"c c #70A7D1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1563 \"d c #74ACD6\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1564 \"e c #699FCC\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1565 \"f c #6EA5D0\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1566 \"g c #72A9D4\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1567 \"h c #669CC9\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1568 \"i c #6298C5\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1569 \"j c #679DCA\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1570 \"k c #6BA1CD\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1571 \"l c #6095C3\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1572 \"m c #5C91C0\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1573 \"n c #5F94C2\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1574 \"o c #5B90C0\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1575 \"p c #588CBC\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1576 \"q c #578CBC\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1577 \"r c #5589BA\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1578 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1579 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1580 \" . ... \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1581 \" .. .+. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1582 \" .@. .#. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1583 \" .$%. .@. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1584 \" .&*=. .-. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1585 \" .;>,'. .). \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1586 \" .!=~{]. .^. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1587 \" ./(~{]]. ._. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1588 \" .%:<[}||. .). \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1589 \" .&*=12'3~. .-. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1590 \" .$45=6<7. .@. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1591 \" .8940a:. .b. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1592 \" .cd-)&. .+. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1593 \" .efg8. .h. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1594 \" .ijk. .l. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1595 \" .mn. .o. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1596 \" .p. .q. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1597 \" .. .r. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1598 \" . ... \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1599 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1600 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1601 \" \"};
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1602 "
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1603 'xpm t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1604 "Image for the next feed button."))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1605
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1606 (defconst newsticker--mark-read-image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1607 (if (fboundp 'create-image)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1608 (create-image "/* XPM */
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1609 static char * mark_read_xpm[] = {
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1610 \"24 24 44 1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1611 \" c None\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1612 \". c #C20000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1613 \"+ c #BE0000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1614 \"@ c #C70000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1615 \"# c #CE0000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1616 \"$ c #C90000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1617 \"% c #BD0000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1618 \"& c #CB0000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1619 \"* c #D10000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1620 \"= c #D70000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1621 \"- c #D30000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1622 \"; c #CD0000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1623 \"> c #C60000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1624 \", c #D40000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1625 \"' c #DA0000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1626 \") c #DE0000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1627 \"! c #DB0000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1628 \"~ c #D60000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1629 \"{ c #D00000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1630 \"] c #DC0000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1631 \"^ c #E00000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1632 \"/ c #E40000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1633 \"( c #E10000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1634 \"_ c #DD0000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1635 \": c #D80000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1636 \"< c #E50000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1637 \"[ c #E70000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1638 \"} c #E60000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1639 \"| c #E20000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1640 \"1 c #E90000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1641 \"2 c #E80000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1642 \"3 c #E30000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1643 \"4 c #DF0000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1644 \"5 c #D90000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1645 \"6 c #CC0000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1646 \"7 c #C10000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1647 \"8 c #C30000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1648 \"9 c #BF0000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1649 \"0 c #B90000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1650 \"a c #BC0000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1651 \"b c #BB0000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1652 \"c c #B80000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1653 \"d c #B50000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1654 \"e c #B70000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1655 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1656 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1657 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1658 \" . + \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1659 \" +@# $.% \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1660 \" &*= -;> \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1661 \" ,') !~{ \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1662 \" ]^/ (_: \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1663 \" (<[ }|) \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1664 \" <[1 2<| \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1665 \" }222[< \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1666 \" }}}< \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1667 \" 333| \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1668 \" _4^4)] \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1669 \" ~:' 5=- \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1670 \" 6{- *#$ \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1671 \" 7>$ @89 \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1672 \" 0a+ %bc \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1673 \" ddc edd \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1674 \" ddd ddd \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1675 \" d d \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1676 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1677 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1678 \" \"};
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1679 "
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1680 'xpm t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1681 "Image for the next feed button."))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1682
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1683 (defconst newsticker--mark-immortal-image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1684 (if (fboundp 'create-image)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1685 (create-image "/* XPM */
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1686 static char * mark_immortal_xpm[] = {
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1687 \"24 24 93 2\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1688 \" c None\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1689 \". c #171717\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1690 \"+ c #030303\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1691 \"@ c #000000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1692 \"# c #181818\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1693 \"$ c #090909\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1694 \"% c #FFC960\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1695 \"& c #FFCB61\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1696 \"* c #FFCB62\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1697 \"= c #FFC961\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1698 \"- c #FFC75F\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1699 \"; c #FFC65E\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1700 \"> c #FFCA61\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1701 \", c #FFCD63\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1702 \"' c #FFCF65\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1703 \") c #FFD065\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1704 \"! c #FFCE64\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1705 \"~ c #FFC35C\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1706 \"{ c #FFC45D\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1707 \"] c #FFD166\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1708 \"^ c #FFD267\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1709 \"/ c #FFD368\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1710 \"( c #FFD167\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1711 \"_ c #FFC05A\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1712 \": c #010101\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1713 \"< c #040404\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1714 \"[ c #FFCC62\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1715 \"} c #FFD569\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1716 \"| c #FFD56A\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1717 \"1 c #FFC860\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1718 \"2 c #FFC25B\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1719 \"3 c #FFBB56\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1720 \"4 c #020202\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1721 \"5 c #060606\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1722 \"6 c #FFC15B\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1723 \"7 c #FFC85F\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1724 \"8 c #FFD469\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1725 \"9 c #FFD66A\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1726 \"0 c #FFBC57\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1727 \"a c #1B1B1B\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1728 \"b c #070707\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1729 \"c c #FFBA55\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1730 \"d c #FFB451\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1731 \"e c #FFB954\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1732 \"f c #FFB350\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1733 \"g c #FFB652\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1734 \"h c #FFBE58\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1735 \"i c #FFCD64\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1736 \"j c #FFD066\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1737 \"k c #FFC059\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1738 \"l c #FFB14E\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1739 \"m c #0B0B0B\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1740 \"n c #FFBB55\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1741 \"o c #FFC15A\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1742 \"p c #FFB552\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1743 \"q c #FFAD4B\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1744 \"r c #080808\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1745 \"s c #FFAF4C\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1746 \"t c #FFB853\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1747 \"u c #FFA948\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1748 \"v c #050505\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1749 \"w c #FFB04E\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1750 \"x c #FFB753\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1751 \"y c #FFBC56\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1752 \"z c #FFC55D\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1753 \"A c #FFC55E\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1754 \"B c #FFC45C\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1755 \"C c #FFBD57\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1756 \"D c #FFB854\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1757 \"E c #FFB34F\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1758 \"F c #FFAB4A\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1759 \"G c #FFA545\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1760 \"H c #FFAA49\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1761 \"I c #FFB04D\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1762 \"J c #FFB551\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1763 \"K c #FFBF58\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1764 \"L c #FFB24F\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1765 \"M c #FFAC4A\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1766 \"N c #FFA646\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1767 \"O c #FFA344\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1768 \"P c #FFA848\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1769 \"Q c #FFB14F\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1770 \"R c #FFAF4D\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1771 \"S c #FFA546\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1772 \"T c #FFA243\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1773 \"U c #FFA445\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1774 \"V c #FFAE4C\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1775 \"W c #FFA444\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1776 \"X c #FFA142\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1777 \"Y c #FF9F41\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1778 \"Z c #0A0A0A\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1779 \"` c #FF9E40\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1780 \" . c #FF9F40\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1781 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1782 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1783 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1784 \" . + @ @ + # \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1785 \" $ @ % & * * = - + + \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1786 \" @ ; > , ' ) ' ! * - ~ @ \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1787 \" @ { > ! ] ^ / / ( ' * ; _ : \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1788 \" < _ ; [ ) / } | } / ] , 1 2 3 4 \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1789 \" 5 6 7 , ] 8 9 9 9 } ^ ! = ~ 0 a \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1790 \" b c 6 - , ] 8 9 9 9 } ^ ! % ~ 0 d 5 \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1791 \" : e _ ; * ) / 8 } } / ] , 1 2 3 f 5 \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1792 \" : g h { = i j ^ / ^ ] ! * ; k e l m \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1793 \" : f n o ; > , ' ) ' ! * - 2 0 p q r \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1794 \" : s g 0 6 ; % > * * = - ~ h t l u r \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1795 \" v u w x y k ~ z A z B o C D E F G b \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1796 \" 5 H I J e 0 h K h C c x L M N . \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1797 \" 4 O P q Q d g x g J L R H S T < \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1798 \" @ T U P F q V q M H N W X + \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1799 \" @ Y T O W G G W O X Y @ \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1800 \" 4 Z ` Y Y Y .` 4 4 \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1801 \" 5 : : @ @ Z \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1802 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1803 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1804 \" \"};
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1805 "
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1806 'xpm t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1807 "Image for the next feed button."))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1808
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1809
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1810 (defconst newsticker--narrow-image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1811 (if (fboundp 'create-image)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1812 (create-image "/* XPM */
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1813 static char * narrow_xpm[] = {
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1814 \"24 24 48 1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1815 \" c None\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1816 \". c #000000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1817 \"+ c #969696\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1818 \"@ c #9E9E9E\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1819 \"# c #A4A4A4\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1820 \"$ c #AAAAAA\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1821 \"% c #AEAEAE\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1822 \"& c #B1B1B1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1823 \"* c #B3B3B3\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1824 \"= c #B4B4B4\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1825 \"- c #B2B2B2\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1826 \"; c #AFAFAF\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1827 \"> c #ABABAB\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1828 \", c #A6A6A6\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1829 \"' c #A0A0A0\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1830 \") c #989898\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1831 \"! c #909090\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1832 \"~ c #73AAD4\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1833 \"{ c #7AB2DA\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1834 \"] c #7FB8DF\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1835 \"^ c #84BDE3\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1836 \"/ c #88C2E7\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1837 \"( c #8BC5E9\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1838 \"_ c #8DC7EB\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1839 \": c #8CC6EA\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1840 \"< c #89C3E8\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1841 \"[ c #86BFE5\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1842 \"} c #81BAE1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1843 \"| c #7BB3DC\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1844 \"1 c #75ACD6\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1845 \"2 c #6DA4CF\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1846 \"3 c #979797\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1847 \"4 c #A3A3A3\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1848 \"5 c #A8A8A8\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1849 \"6 c #ADADAD\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1850 \"7 c #ACACAC\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1851 \"8 c #A9A9A9\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1852 \"9 c #A5A5A5\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1853 \"0 c #9A9A9A\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1854 \"a c #929292\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1855 \"b c #8C8C8C\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1856 \"c c #808080\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1857 \"d c #818181\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1858 \"e c #838383\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1859 \"f c #848484\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1860 \"g c #858585\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1861 \"h c #868686\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1862 \"i c #828282\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1863 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1864 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1865 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1866 \" .................. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1867 \" .+@#$%&*=*-;>,')!. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1868 \" .................. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1869 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1870 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1871 \" .................. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1872 \" .~{]^/(___:<[}|12. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1873 \" .................. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1874 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1875 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1876 \" .................. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1877 \" .!3@45>666789'0ab. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1878 \" .................. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1879 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1880 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1881 \" .................. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1882 \" .cccdefghhgficccc. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1883 \" .................. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1884 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1885 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1886 \" \"};
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1887 "
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1888 'xpm t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1889 "Image for the next feed button."))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1890
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1891 (defconst newsticker--get-all-image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1892 (if (fboundp 'create-image)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1893 (create-image "/* XPM */
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1894 static char * get_all_xpm[] = {
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1895 \"24 24 70 1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1896 \" c None\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1897 \". c #000000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1898 \"+ c #F3DA00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1899 \"@ c #F5DF00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1900 \"# c #F7E300\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1901 \"$ c #F9E700\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1902 \"% c #FAEA00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1903 \"& c #FBEC00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1904 \"* c #FBED00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1905 \"= c #FCEE00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1906 \"- c #FAEB00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1907 \"; c #F9E800\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1908 \"> c #F8E500\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1909 \", c #F6E000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1910 \"' c #F4DB00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1911 \") c #F1D500\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1912 \"! c #EFD000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1913 \"~ c #B7CA00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1914 \"{ c #BFD100\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1915 \"] c #C5D700\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1916 \"^ c #CBDB00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1917 \"/ c #CFDF00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1918 \"( c #D2E200\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1919 \"_ c #D4E400\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1920 \": c #D3E300\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1921 \"< c #D0E000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1922 \"[ c #CCDD00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1923 \"} c #C7D800\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1924 \"| c #C1D300\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1925 \"1 c #BACC00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1926 \"2 c #B1C500\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1927 \"3 c #A8BC00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1928 \"4 c #20A900\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1929 \"5 c #22AF00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1930 \"6 c #24B500\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1931 \"7 c #26B900\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1932 \"8 c #27BC00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1933 \"9 c #27BE00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1934 \"0 c #28BF00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1935 \"a c #27BD00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1936 \"b c #26BA00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1937 \"c c #25B600\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1938 \"d c #23B100\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1939 \"e c #21AB00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1940 \"f c #1FA400\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1941 \"g c #1C9B00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1942 \"h c #21AA00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1943 \"i c #24B300\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1944 \"j c #25B800\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1945 \"k c #25B700\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1946 \"l c #24B400\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1947 \"m c #23B000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1948 \"n c #1FA500\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1949 \"o c #1D9E00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1950 \"p c #20A800\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1951 \"q c #21AC00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1952 \"r c #23B200\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1953 \"s c #22AD00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1954 \"t c #1D9F00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1955 \"u c #20A700\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1956 \"v c #1EA100\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1957 \"w c #1C9C00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1958 \"x c #1DA000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1959 \"y c #1B9800\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1960 \"z c #1A9600\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1961 \"A c #1A9700\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1962 \"B c #1A9500\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1963 \"C c #199200\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1964 \"D c #189100\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1965 \"E c #178C00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1966 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1967 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1968 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1969 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1970 \" ................... \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1971 \" .+@#$%&*=*&-;>,')!. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1972 \" ................... \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1973 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1974 \" ................... \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1975 \" .~{]^/(___:<[}|123. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1976 \" ................... \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1977 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1978 \" ................... \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1979 \" .45678909abcdefg. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1980 \" .h5icj7jklmeno. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1981 \" .pq5drrmshft. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1982 \" .fu4h4pnvw. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1983 \" .oxvxtwy. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1984 \" .zAAzB. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1985 \" .CCD. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1986 \" .E. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1987 \" . \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1988 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1989 \" \"};
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1990 "
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1991 'xpm t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1992 "Image for the next feed button."))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1993
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1994
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1995 (defconst newsticker--update-image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1996 (if (fboundp 'create-image)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1997 (create-image "/* XPM */
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1998 static char * update_xpm[] = {
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1999 \"24 24 37 1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2000 \" c None\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2001 \". c #076D00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2002 \"+ c #0A8600\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2003 \"@ c #0A8800\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2004 \"# c #098400\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2005 \"$ c #087200\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2006 \"% c #087900\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2007 \"& c #098500\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2008 \"* c #098100\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2009 \"= c #087600\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2010 \"- c #097E00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2011 \"; c #097F00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2012 \"> c #0A8700\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2013 \", c #0A8C00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2014 \"' c #097C00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2015 \") c #098300\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2016 \"! c #0A8900\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2017 \"~ c #0A8E00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2018 \"{ c #0B9200\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2019 \"] c #087700\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2020 \"^ c #076E00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2021 \"/ c #076C00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2022 \"( c #076B00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2023 \"_ c #076A00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2024 \": c #076900\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2025 \"< c #076800\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2026 \"[ c #066700\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2027 \"} c #066500\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2028 \"| c #066400\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2029 \"1 c #066300\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2030 \"2 c #066600\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2031 \"3 c #066200\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2032 \"4 c #076700\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2033 \"5 c #065E00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2034 \"6 c #066100\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2035 \"7 c #065F00\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2036 \"8 c #066000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2037 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2038 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2039 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2040 \" . +@@@+# \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2041 \" $% &@ +* \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2042 \" =-# ; \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2043 \" %*>, ' \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2044 \" ')!~{ = \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2045 \" ]$ \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2046 \" ^ ^ \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2047 \" . . \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2048 \" / ( \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2049 \" _ : \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2050 \" < [ \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2051 \" } | \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2052 \" [[ \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2053 \" 1 $.:23 \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2054 \" 3 4}35 \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2055 \" 6 655 \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2056 \" 76 85 55 \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2057 \" 5555555 5 \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2058 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2059 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2060 \" \"};
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2061 "
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2062 'xpm t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2063 "Image for the update button."))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2064
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2065 (defconst newsticker--browse-image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2066 (if (fboundp 'create-image)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2067 (create-image "/* XPM */
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2068 static char * visit_xpm[] = {
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2069 \"24 24 39 1\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2070 \" c None\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2071 \". c #000000\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2072 \"+ c #FFFFFF\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2073 \"@ c #00E63D\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2074 \"# c #00E83E\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2075 \"$ c #00E73D\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2076 \"% c #00E93E\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2077 \"& c #00E63C\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2078 \"* c #00E53C\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2079 \"= c #00E23B\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2080 \"- c #00E33B\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2081 \"; c #00E83D\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2082 \"> c #00E13A\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2083 \", c #00DD38\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2084 \"' c #00DE38\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2085 \") c #00E23A\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2086 \"! c #00E43C\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2087 \"~ c #00DF39\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2088 \"{ c #00DB37\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2089 \"] c #00D634\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2090 \"^ c #00D734\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2091 \"/ c #00E039\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2092 \"( c #00DC37\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2093 \"_ c #00D835\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2094 \": c #00D332\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2095 \"< c #00CD2F\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2096 \"[ c #00DB36\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2097 \"} c #00D433\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2098 \"| c #00CF30\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2099 \"1 c #00DA36\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2100 \"2 c #00D936\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2101 \"3 c #00D533\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2102 \"4 c #00D131\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2103 \"5 c #00CE2F\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2104 \"6 c #00CC2F\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2105 \"7 c #00CA2D\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2106 \"8 c #00C62B\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2107 \"9 c #00C52A\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2108 \"0 c #00BE27\",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2109 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2110 \" \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2111 \" . \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2112 \" .+. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2113 \" .+++. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2114 \" .++.++. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2115 \" .++.@.++. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2116 \" .++.##$.++. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2117 \" .++.%%%#&.++. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2118 \" .++.$%%%#*=.++. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2119 \" .++.-@;##$*>,.++. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2120 \" .++.')!&@@*=~{].++. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2121 \" .++.^{~>---)/(_:<.++. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2122 \" .++.^[,~/~'(_}|.++. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2123 \" .++.]_1[12^:|.++. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2124 \" .++.:}33:45.++. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2125 \" .++.<5567.++. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2126 \" .++.889.++. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2127 \" .++.0.++. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2128 \" .++.++. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2129 \" .+++. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2130 \" .+. \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2131 \" . \",
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2132 \" \"};
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2133 "
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2134 'xpm t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2135 "Image for the browse button."))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2136
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2137
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2138 (defvar newsticker-tool-bar-map
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2139 (if (featurep 'xemacs)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2140 nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2141 (let ((tool-bar-map (make-sparse-keymap)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2142 (define-key tool-bar-map [newsticker-sep-1]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2143 (list 'menu-item "--double-line"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2144 (define-key tool-bar-map [newsticker-browse-url]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2145 (list 'menu-item "newsticker-browse-url" 'newsticker-browse-url
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2146 :visible t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2147 :help "Browse URL for item at point"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2148 :image newsticker--browse-image))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2149 (define-key tool-bar-map [newsticker-buffer-force-update]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2150 (list 'menu-item "newsticker-buffer-force-update"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2151 'newsticker-buffer-force-update
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2152 :visible t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2153 :help "Update newsticker buffer"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2154 :image newsticker--update-image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2155 :enable '(not newsticker--buffer-uptodate-p)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2156 (define-key tool-bar-map [newsticker-get-all-news]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2157 (list 'menu-item "newsticker-get-all-news" 'newsticker-get-all-news
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2158 :visible t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2159 :help "Get news for all feeds"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2160 :image newsticker--get-all-image))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2161 (define-key tool-bar-map [newsticker-mark-item-at-point-as-read]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2162 (list 'menu-item "newsticker-mark-item-at-point-as-read"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2163 'newsticker-mark-item-at-point-as-read
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2164 :visible t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2165 :image newsticker--mark-read-image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2166 :help "Mark current item as read"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2167 :enable '(newsticker-item-not-old-p)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2168 (define-key tool-bar-map [newsticker-mark-item-at-point-as-immortal]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2169 (list 'menu-item "newsticker-mark-item-at-point-as-immortal"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2170 'newsticker-mark-item-at-point-as-immortal
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2171 :visible t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2172 :image newsticker--mark-immortal-image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2173 :help "Mark current item as immortal"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2174 :enable '(newsticker-item-not-immortal-p)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2175 (define-key tool-bar-map [newsticker-toggle-auto-narrow-to-feed]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2176 (list 'menu-item "newsticker-toggle-auto-narrow-to-feed"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2177 'newsticker-toggle-auto-narrow-to-feed
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2178 :visible t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2179 :help "Toggle visibility of other feeds"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2180 :image newsticker--narrow-image))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2181 (define-key tool-bar-map [newsticker-next-feed]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2182 (list 'menu-item "newsticker-next-feed" 'newsticker-next-feed
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2183 :visible t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2184 :help "Go to next feed"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2185 :image newsticker--next-feed-image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2186 :enable '(newsticker-next-feed-available-p)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2187 (define-key tool-bar-map [newsticker-next-item]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2188 (list 'menu-item "newsticker-next-item" 'newsticker-next-item
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2189 :visible t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2190 :help "Go to next item"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2191 :image newsticker--next-item-image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2192 :enable '(newsticker-next-item-available-p)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2193 (define-key tool-bar-map [newsticker-previous-item]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2194 (list 'menu-item "newsticker-previous-item" 'newsticker-previous-item
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2195 :visible t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2196 :help "Go to previous item"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2197 :image newsticker--previous-item-image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2198 :enable '(newsticker-previous-item-available-p)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2199 (define-key tool-bar-map [newsticker-previous-feed]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2200 (list 'menu-item "newsticker-previous-feed" 'newsticker-previous-feed
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2201 :visible t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2202 :help "Go to previous feed"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2203 :image newsticker--previous-feed-image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2204 :enable '(newsticker-previous-feed-available-p)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2205 ;; standard icons / actions
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2206 (tool-bar-add-item "close"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2207 'newsticker-close-buffer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2208 'newsticker-close-buffer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2209 :help "Close newsticker buffer")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2210 (tool-bar-add-item "preferences"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2211 'newsticker-customize
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2212 'newsticker-customize
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2213 :help "Customize newsticker")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2214 tool-bar-map)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2215
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2216 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2217 ;;; Newsticker mode
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2218 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2219
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2220 (define-derived-mode newsticker-mode fundamental-mode
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2221 "NewsTicker"
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2222 "Viewing news feeds in Emacs."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2223 (set (make-local-variable 'tool-bar-map) newsticker-tool-bar-map)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2224 (set (make-local-variable 'imenu-sort-function) nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2225 (set (make-local-variable 'scroll-conservatively) 999)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2226 (setq imenu-create-index-function 'newsticker--imenu-create-index)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2227 (setq imenu-default-goto-function 'newsticker--imenu-goto)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2228 (setq buffer-read-only t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2229 (auto-fill-mode -1) ;; turn auto-fill off!
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2230 (font-lock-mode -1) ;; turn off font-lock!!
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2231 (set (make-local-variable 'font-lock-defaults) nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2232 (set (make-local-variable 'line-move-ignore-invisible) t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2233 (setq mode-line-format
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2234 (list "-"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2235 'mode-line-mule-info
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2236 'mode-line-modified
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2237 'mode-line-frame-identification
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2238 " Newsticker ("
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2239 '(newsticker--buffer-uptodate-p
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2240 "up to date"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2241 "NEED UPDATE")
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2242 ") "
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2243 '(:eval (format "[%d]" (length newsticker--process-ids)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2244 " -- "
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2245 '(:eval (newsticker--buffer-get-feed-title-at-point))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2246 ": "
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2247 '(:eval (newsticker--buffer-get-item-title-at-point))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2248 " %-"))
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2249 (add-to-invisibility-spec 't)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2250 (unless newsticker-show-all-news-elements
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2251 (add-to-invisibility-spec 'extra))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2252 (newsticker--buffer-set-uptodate nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2253
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2254 ;; refine its mode-map
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2255 (define-key newsticker-mode-map "sO" 'newsticker-show-old-items)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2256 (define-key newsticker-mode-map "hO" 'newsticker-hide-old-items)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2257 (define-key newsticker-mode-map "sa" 'newsticker-show-all-desc)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2258 (define-key newsticker-mode-map "ha" 'newsticker-hide-all-desc)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2259 (define-key newsticker-mode-map "sf" 'newsticker-show-feed-desc)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2260 (define-key newsticker-mode-map "hf" 'newsticker-hide-feed-desc)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2261 (define-key newsticker-mode-map "so" 'newsticker-show-old-item-desc)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2262 (define-key newsticker-mode-map "ho" 'newsticker-hide-old-item-desc)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2263 (define-key newsticker-mode-map "sn" 'newsticker-show-new-item-desc)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2264 (define-key newsticker-mode-map "hn" 'newsticker-hide-new-item-desc)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2265 (define-key newsticker-mode-map "se" 'newsticker-show-entry)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2266 (define-key newsticker-mode-map "he" 'newsticker-hide-entry)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2267 (define-key newsticker-mode-map "sx" 'newsticker-show-extra)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2268 (define-key newsticker-mode-map "hx" 'newsticker-hide-extra)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2269
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2270 (define-key newsticker-mode-map " " 'scroll-up)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2271 (define-key newsticker-mode-map "q" 'newsticker-close-buffer)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2272 (define-key newsticker-mode-map "p" 'newsticker-previous-item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2273 (define-key newsticker-mode-map "P" 'newsticker-previous-new-item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2274 (define-key newsticker-mode-map "F" 'newsticker-previous-feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2275 (define-key newsticker-mode-map "\t" 'newsticker-next-item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2276 (define-key newsticker-mode-map "n" 'newsticker-next-item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2277 (define-key newsticker-mode-map "N" 'newsticker-next-new-item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2278 (define-key newsticker-mode-map "f" 'newsticker-next-feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2279 (define-key newsticker-mode-map "M" 'newsticker-mark-all-items-as-read)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2280 (define-key newsticker-mode-map "m"
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2281 'newsticker-mark-all-items-at-point-as-read-and-redraw)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2282 (define-key newsticker-mode-map "o"
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2283 'newsticker-mark-item-at-point-as-read)
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2284 (define-key newsticker-mode-map "O"
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2285 'newsticker-mark-all-items-at-point-as-read)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2286 (define-key newsticker-mode-map "G" 'newsticker-get-all-news)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2287 (define-key newsticker-mode-map "g" 'newsticker-get-news-at-point)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2288 (define-key newsticker-mode-map "u" 'newsticker-buffer-update)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2289 (define-key newsticker-mode-map "U" 'newsticker-buffer-force-update)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2290 (define-key newsticker-mode-map "a" 'newsticker-add-url)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2291
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2292 (define-key newsticker-mode-map "i"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2293 'newsticker-mark-item-at-point-as-immortal)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2294
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2295 (define-key newsticker-mode-map "xf"
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2296 'newsticker-toggle-auto-narrow-to-feed)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2297 (define-key newsticker-mode-map "xi"
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2298 'newsticker-toggle-auto-narrow-to-item)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2299
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2300 ;; maps for the clickable portions
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2301 (defvar newsticker--url-keymap (make-sparse-keymap)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2302 "Key map for click-able headings in the newsticker buffer.")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2303 (define-key newsticker--url-keymap [mouse-2]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2304 'newsticker-mouse-browse-url)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2305 (define-key newsticker--url-keymap "\n"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2306 'newsticker-browse-url)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2307 (define-key newsticker--url-keymap "\C-m"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2308 'newsticker-browse-url)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2309 (define-key newsticker--url-keymap [(control return)]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2310 'newsticker-handle-url)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2311
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2312 ;; newsticker menu
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2313 (defvar newsticker-menu (make-sparse-keymap "Newsticker"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2314
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2315 (define-key newsticker-menu [newsticker-browse-url]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2316 '("Browse URL for item at point" . newsticker-browse-url))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2317 (define-key newsticker-menu [newsticker-separator-1]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2318 '("--"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2319 (define-key newsticker-menu [newsticker-buffer-update]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2320 '("Update buffer" . newsticker-buffer-update))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2321 (define-key newsticker-menu [newsticker-separator-2]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2322 '("--"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2323 (define-key newsticker-menu [newsticker-get-all-news]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2324 '("Get news from all feeds" . newsticker-get-all-news))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2325 (define-key newsticker-menu [newsticker-get-news-at-point]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2326 '("Get news from feed at point" . newsticker-get-news-at-point))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2327 (define-key newsticker-menu [newsticker-separator-3]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2328 '("--"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2329 (define-key newsticker-menu [newsticker-mark-all-items-as-read]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2330 '("Mark all items as read" . newsticker-mark-all-items-as-read))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2331 (define-key newsticker-menu [newsticker-mark-all-items-at-point-as-read]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2332 '("Mark all items in feed at point as read" .
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2333 newsticker-mark-all-items-at-point-as-read))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2334 (define-key newsticker-menu [newsticker-mark-item-at-point-as-read]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2335 '("Mark item at point as read" .
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2336 newsticker-mark-item-at-point-as-read))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2337 (define-key newsticker-menu [newsticker-mark-item-at-point-as-immortal]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2338 '("Toggle immortality for item at point" .
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2339 newsticker-mark-item-at-point-as-immortal))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2340 (define-key newsticker-menu [newsticker-separator-4]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2341 '("--"))
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2342 (define-key newsticker-menu [newsticker-toggle-auto-narrow-to-item]
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2343 '("Narrow to single item" . newsticker-toggle-auto-narrow-to-item))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2344 (define-key newsticker-menu [newsticker-toggle-auto-narrow-to-feed]
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2345 '("Narrow to single news feed" . newsticker-toggle-auto-narrow-to-feed))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2346 (define-key newsticker-menu [newsticker-hide-old-items]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2347 '("Hide old items" . newsticker-hide-old-items))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2348 (define-key newsticker-menu [newsticker-show-old-items]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2349 '("Show old items" . newsticker-show-old-items))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2350 (define-key newsticker-menu [newsticker-next-item]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2351 '("Go to next item" . newsticker-next-item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2352 (define-key newsticker-menu [newsticker-previous-item]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2353 '("Go to previous item" . newsticker-previous-item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2354
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2355 ;; bind menu to mouse
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2356 (define-key newsticker-mode-map [down-mouse-3] newsticker-menu)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2357 ;; Put menu in menu-bar
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2358 (define-key newsticker-mode-map [menu-bar Newsticker]
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2359 (cons "Newsticker" newsticker-menu))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2360
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2361
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2362 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2363 ;;; shortcuts
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2364 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2365 (defsubst newsticker--title (item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2366 "Return title of ITEM."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2367 (nth 0 item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2368 (defsubst newsticker--desc (item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2369 "Return description of ITEM."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2370 (nth 1 item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2371 (defsubst newsticker--link (item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2372 "Return link of ITEM."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2373 (nth 2 item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2374 (defsubst newsticker--time (item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2375 "Return time of ITEM."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2376 (nth 3 item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2377 (defsubst newsticker--age (item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2378 "Return age of ITEM."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2379 (nth 4 item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2380 (defsubst newsticker--pos (item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2381 "Return position/index of ITEM."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2382 (nth 5 item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2383 (defsubst newsticker--preformatted-contents (item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2384 "Return pre-formatted text of ITEM."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2385 (nth 6 item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2386 (defsubst newsticker--preformatted-title (item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2387 "Return pre-formatted title of ITEM."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2388 (nth 7 item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2389 (defsubst newsticker--extra (item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2390 "Return extra attributes of ITEM."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2391 (nth 8 item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2392 (defsubst newsticker--guid (item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2393 "Return guid of ITEM."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2394 (let ((guid (assoc 'guid (newsticker--extra item))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2395 (if (stringp guid)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2396 guid
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2397 (car (xml-node-children guid)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2398 (defsubst newsticker--enclosure (item)
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
2399 "Return enclosure element of ITEM in the form \(...FIXME...\) or nil."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2400 (let ((enclosure (assoc 'enclosure (newsticker--extra item))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2401 (if enclosure
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2402 (xml-node-attributes enclosure))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2403
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2404 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2405 ;;; User fun
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2406 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2407
65998
e6b90c8b34d8 (newsticker-start, newsticker-show-news): Add autoload cookies.
Richard M. Stallman <rms@gnu.org>
parents: 65638
diff changeset
2408 ;;;###autoload
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2409 (defun newsticker-start (&optional do-not-complain-if-running)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2410 "Start the newsticker.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2411 Start the timers for display and retrieval. If the newsticker, i.e. the
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2412 timers, are running already a warning message is printed unless
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2413 DO-NOT-COMPLAIN-IF-RUNNING is not nil.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2414 Run `newsticker-start-hook' if newsticker was not running already."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2415 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2416 (let ((running (newsticker-running-p)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2417 ;; read old cache if it exists and newsticker is not running
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2418 (unless running
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2419 (let* ((coding-system-for-read 'utf-8)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2420 (buf (find-file-noselect newsticker-cache-filename)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2421 (when buf
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2422 (set-buffer buf)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2423 (goto-char (point-min))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2424 (condition-case nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2425 (setq newsticker--cache (read buf))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2426 (error
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2427 (message "Error while reading newsticker cache file!")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2428 (setq newsticker--cache nil))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2429 ;; start retrieval timers -- for sake of simplicity we will start
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2430 ;; one timer for each feed
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2431 (mapc (lambda (item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2432 (let* ((feed-name (car item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2433 (start-time (nth 2 item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2434 (interval (or (nth 3 item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2435 newsticker-retrieval-interval))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2436 (timer (assoc (car item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2437 newsticker--retrieval-timer-list)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2438 (if timer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2439 (or do-not-complain-if-running
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2440 (message "Timer for %s is running already!"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2441 feed-name))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2442 (newsticker--debug-msg "Starting timer for %s: %s, %d"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2443 feed-name start-time interval)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2444 ;; do not repeat retrieval if interval not positive
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2445 (if (<= interval 0)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2446 (setq interval nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2447 ;; Suddenly XEmacs doesn't like start-time 0
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2448 (if (or (not start-time)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2449 (and (numberp start-time) (= start-time 0)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2450 (setq start-time 1))
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2451 ;; (message "start-time %s" start-time)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2452 (setq timer (run-at-time start-time interval
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2453 'newsticker-get-news feed-name))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2454 (if interval
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2455 (add-to-list 'newsticker--retrieval-timer-list
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2456 (cons feed-name timer))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2457 (append newsticker-url-list-defaults newsticker-url-list))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2458 (unless running
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2459 (run-hooks 'newsticker-start-hook)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2460 (message "Newsticker started!"))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2461
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2462 ;;;###autoload
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2463 (defun newsticker-start-ticker ()
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2464 "Start newsticker's ticker (but not the news retrieval).
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2465 Start display timer for the actual ticker if wanted and not
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2466 running already."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2467 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2468 (if (and (> newsticker-display-interval 0)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2469 (not newsticker--display-timer))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2470 (setq newsticker--display-timer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2471 (run-at-time newsticker-display-interval
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2472 newsticker-display-interval
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2473 'newsticker--display-tick))))
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
2474
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2475 (defun newsticker-stop ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2476 "Stop the newsticker and the newsticker-ticker.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2477 Cancel the timers for display and retrieval. Run `newsticker-stop-hook'
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2478 if newsticker has been running."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2479 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2480 (newsticker--cache-update t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2481 (newsticker-stop-ticker)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2482 (when (newsticker-running-p)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2483 (mapc (lambda (name-and-timer)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2484 (cancel-timer (cdr name-and-timer)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2485 newsticker--retrieval-timer-list)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2486 (setq newsticker--retrieval-timer-list nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2487 (run-hooks 'newsticker-stop-hook)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2488 (message "Newsticker stopped!")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2489
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2490 (defun newsticker-stop-ticker ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2491 "Stop newsticker's ticker (but not the news retrieval)."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2492 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2493 (when newsticker--display-timer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2494 (cancel-timer newsticker--display-timer)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2495 (setq newsticker--display-timer nil)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2496
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2497 ;; the functions we need for retrieval and display
65998
e6b90c8b34d8 (newsticker-start, newsticker-show-news): Add autoload cookies.
Richard M. Stallman <rms@gnu.org>
parents: 65638
diff changeset
2498 ;;;###autoload
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2499 (defun newsticker-show-news ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2500 "Switch to newsticker buffer. You may want to bind this to a key."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2501 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2502 (newsticker-start t) ;; will start only if not running
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2503 (newsticker-buffer-update)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2504 (switch-to-buffer "*newsticker*"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2505
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2506 (defun newsticker-buffer-force-update ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2507 "Update the newsticker buffer, even if not necessary."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2508 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2509 (newsticker-buffer-update t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2510
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2511 (defun newsticker-buffer-update (&optional force)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2512 "Update the *newsticker* buffer.
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
2513 Unless FORCE is t this is done only if necessary, i.e. when the
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2514 *newsticker* buffer is not up-to-date."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2515 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2516 ;; bring cache data into proper order....
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2517 (newsticker--cache-sort)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2518 ;; fill buffer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2519 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2520 (let ((buf (get-buffer "*newsticker*")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2521 (if buf
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2522 (switch-to-buffer buf)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2523 (switch-to-buffer (get-buffer-create "*newsticker*"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2524 (newsticker--buffer-set-uptodate nil)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2525 (when (or force
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2526 (not newsticker--buffer-uptodate-p))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2527 (message "Preparing newsticker buffer...")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2528 (setq buffer-undo-list t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2529 (let ((inhibit-read-only t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2530 (set-buffer-modified-p nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2531 (erase-buffer)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2532 (newsticker-mode)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2533 ;; Emacs 21.3.50 does not care if we turn off auto-fill in the
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2534 ;; definition of newsticker-mode, so we do it here (again)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2535 (auto-fill-mode -1)
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
2536
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2537 (set-buffer-file-coding-system 'utf-8)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2538
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2539 (if newsticker-use-full-width
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2540 (set (make-local-variable 'fill-column) (1- (window-width))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2541 (newsticker--buffer-insert-all-items)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2542
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2543 ;; FIXME: needed for methods buffer in ecb
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2544 ;; (set-visited-file-name "*newsticker*")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2545
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2546 (set-buffer-modified-p nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2547 (newsticker-hide-all-desc)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2548 (if newsticker-hide-old-items-in-newsticker-buffer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2549 (newsticker-hide-old-items))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2550 (if newsticker-show-descriptions-of-new-items
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2551 (newsticker-show-new-item-desc))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2552 )
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2553 (message ""))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2554 (newsticker--buffer-set-uptodate t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2555 (run-hooks 'newsticker-buffer-change-hook)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2556
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2557 (defun newsticker-get-all-news ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2558 "Launch retrieval of news from all configured newsticker sites.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2559 This does NOT start the retrieval timers."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2560 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2561 ;; launch retrieval of news
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2562 (mapc (lambda (item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2563 (newsticker-get-news (car item)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2564 (append newsticker-url-list-defaults newsticker-url-list)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2565
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2566 (defun newsticker-get-news-at-point ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2567 "Launch retrieval of news for the feed point is in.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2568 This does NOT start the retrieval timers."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2569 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2570 ;; launch retrieval of news
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2571 (let ((feed (get-text-property (point) 'feed)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2572 (when feed
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2573 (newsticker--debug-msg "Getting news for %s" (symbol-name feed))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2574 (newsticker-get-news (symbol-name feed)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2575
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2576 (defun newsticker-add-url (url name)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2577 "Add given URL under given NAME to `newsticker-url-list'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2578 If URL is nil it is searched at point."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2579 (interactive
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2580 (list
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2581 (read-string "URL: "
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2582 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2583 (end-of-line)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2584 (and
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2585 (re-search-backward
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2586 "http://"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2587 (if (> (point) (+ (point-min) 100))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2588 (- (point) 100)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2589 (point-min))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2590 t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2591 (re-search-forward
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2592 "http://[-a-zA-Z0-9&/_.]*"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2593 (if (< (point) (- (point-max) 200))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2594 (+ (point) 200)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2595 (point-max))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2596 t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2597 (buffer-substring-no-properties (match-beginning 0)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2598 (match-end 0)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2599 (read-string "Name: ")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2600 (add-to-list 'newsticker-url-list (list name url nil nil nil) t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2601 (customize-variable 'newsticker-url-list))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2602
86818
45b24827f3b3 (w3m-toggle-inline-image, htmlr-reset)
Glenn Morris <rgm@gnu.org>
parents: 85777
diff changeset
2603 ;; External.
45b24827f3b3 (w3m-toggle-inline-image, htmlr-reset)
Glenn Morris <rgm@gnu.org>
parents: 85777
diff changeset
2604 (declare-function w3m-toggle-inline-image "ext:w3m" (&optional force no-cache))
45b24827f3b3 (w3m-toggle-inline-image, htmlr-reset)
Glenn Morris <rgm@gnu.org>
parents: 85777
diff changeset
2605
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2606 (defun newsticker-w3m-show-inline-images ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2607 "Show inline images in visible text ranges.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2608 In-line images in invisible text ranges are hidden. This function
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2609 calls `w3m-toggle-inline-image'. It works only if
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
2610 `newsticker-html-renderer' is set to `w3m-region'."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2611 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2612 (if (eq newsticker-html-renderer 'w3m-region)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2613 (let ((inhibit-read-only t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2614 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2615 (save-restriction
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2616 (widen)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2617 (goto-char (point-min))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2618 (let ((pos (point)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2619 (while pos
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2620 (setq pos (next-single-property-change pos 'w3m-image))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2621 (when pos
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2622 (goto-char pos)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2623 (when (get-text-property pos 'w3m-image)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2624 (let ((invis (newsticker--lists-intersect-p
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2625 (get-text-property (1- (point))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2626 'invisible)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2627 buffer-invisibility-spec)))
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2628 (unless (car (get-text-property (1- (point))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2629 'display))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2630 (unless invis
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2631 (w3m-toggle-inline-image t)))))))))))))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2632
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2633 (defadvice w3m-insert-image (after newsticker activate)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2634 (newsticker--buffer-after-w3m-insert-image (ad-get-arg 0) (ad-get-arg 1)))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2635
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2636 (defun newsticker--buffer-after-w3m-insert-image (beg end)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2637 "Save preformatted contents after an image has been inserted
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2638 between BEG and END."
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2639 (when (string= (buffer-name) "*newsticker*")
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2640 (save-excursion
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2641 (newsticker--buffer-beginning-of-item)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2642 (let* ((pos (point))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2643 (feed (get-text-property pos 'feed))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2644 (age (get-text-property pos 'nt-age))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2645 (title (get-text-property pos 'nt-title))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2646 (guid (get-text-property pos 'nt-guid))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2647 (nt-desc (get-text-property pos 'nt-desc))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2648 (item (newsticker--cache-contains newsticker--cache
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2649 feed title nt-desc
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2650 nil nil guid))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2651 (desc-beg (newsticker--buffer-goto '(desc)))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2652 (desc-end (newsticker--buffer-end-of-item)))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2653 ;;(add-text-properties beg end (list nt-type desc))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2654 (add-text-properties beg end (list 'invisible
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2655 (get-text-property end 'invisible)))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2656 ;;(message "newsticker--buffer-after-w3m-insert-image at %s, %s: `%s'"
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2657 ;; beg feed title)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2658 (if item
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2659 (newsticker--cache-set-preformatted-contents
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2660 item (buffer-substring desc-beg desc-end))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2661 (message "ooops in newsticker--buffer-after-w3m-insert-image at %s, %s: `%s'"
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2662 beg feed title))))))
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
2663
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2664 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2665 ;;; keymap stuff
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2666 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2667 (defun newsticker-close-buffer ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2668 "Close the newsticker buffer."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2669 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2670 (newsticker--cache-update t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2671 (bury-buffer))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2672
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2673 (defun newsticker-next-new-item (&optional do-not-wrap-at-eob)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2674 "Go to next new news item.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2675 If no new item is found behind point, search is continued at
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2676 beginning of buffer unless optional argument DO-NOT-WRAP-AT-EOB
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2677 is non-nil."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2678 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2679 (widen)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2680 (let ((go-ahead t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2681 (while go-ahead
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2682 (unless (newsticker--buffer-goto '(item) 'new)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2683 ;; found nothing -- wrap
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2684 (unless do-not-wrap-at-eob
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2685 (goto-char (point-min))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2686 (newsticker-next-new-item t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2687 (setq go-ahead nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2688 (unless (newsticker--lists-intersect-p
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2689 (get-text-property (point) 'invisible)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2690 buffer-invisibility-spec)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2691 ;; this item is invisible -- continue search
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2692 (setq go-ahead nil))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2693 (run-hooks 'newsticker-select-item-hook)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2694 (point))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2695
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2696 (defun newsticker-previous-new-item (&optional do-not-wrap-at-bob)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2697 "Go to previous new news item.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2698 If no new item is found before point, search is continued at
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2699 beginning of buffer unless optional argument DO-NOT-WRAP-AT-BOB
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2700 is non-nil."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2701 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2702 (widen)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2703 (let ((go-ahead t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2704 (while go-ahead
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2705 (unless (newsticker--buffer-goto '(item) 'new t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2706 (unless do-not-wrap-at-bob
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2707 (goto-char (point-max))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2708 (newsticker--buffer-goto '(item) 'new t)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2709 (unless (newsticker--lists-intersect-p
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2710 (get-text-property (point) 'invisible)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2711 buffer-invisibility-spec)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2712 (setq go-ahead nil))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2713 (run-hooks 'newsticker-select-item-hook)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2714 (point))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2715
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2716 (defun newsticker-next-item (&optional do-not-wrap-at-eob)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2717 "Go to next news item.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2718 Return new buffer position.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2719 If no item is found below point, search is continued at beginning
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2720 of buffer unless optional argument DO-NOT-WRAP-AT-EOB is
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2721 non-nil."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2722 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2723 (widen)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2724 (let ((go-ahead t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2725 (search-list '(item)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2726 (if newsticker--auto-narrow-to-item
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2727 (setq search-list '(item feed)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2728 (while go-ahead
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2729 (unless (newsticker--buffer-goto search-list)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2730 ;; found nothing -- wrap
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2731 (unless do-not-wrap-at-eob
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2732 (goto-char (point-min)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2733 (setq go-ahead nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2734 (unless (newsticker--lists-intersect-p
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2735 (get-text-property (point) 'invisible)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2736 buffer-invisibility-spec)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2737 (setq go-ahead nil))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2738 (run-hooks 'newsticker-select-item-hook)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2739 (force-mode-line-update)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2740 (point))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2741
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2742 (defun newsticker-next-item-same-feed ()
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2743 "Go to next news item in the same feed.
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2744 Return new buffer position. If no item is found below point or if
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2745 auto-narrow-to-item is enabled, nil is returned."
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2746 (interactive)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2747 (if newsticker--auto-narrow-to-item
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2748 nil
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2749 (let ((go-ahead t)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2750 (current-pos (point))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2751 (end-of-feed (save-excursion (newsticker--buffer-end-of-feed))))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2752 (while go-ahead
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2753 (unless (newsticker--buffer-goto '(item))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2754 (setq go-ahead nil))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2755 (unless (newsticker--lists-intersect-p
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2756 (get-text-property (point) 'invisible)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2757 buffer-invisibility-spec)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2758 (setq go-ahead nil)))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2759 (if (and (> (point) current-pos)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2760 (< (point) end-of-feed))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2761 (point)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2762 (goto-char current-pos)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2763 nil))))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2764
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2765 (defun newsticker-previous-item (&optional do-not-wrap-at-bob)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2766 "Go to previous news item.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2767 Return new buffer position.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2768 If no item is found before point, search is continued at
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2769 beginning of buffer unless optional argument DO-NOT-WRAP-AT-BOB
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2770 is non-nil."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2771 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2772 (widen)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2773 (let ((go-ahead t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2774 (search-list '(item)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2775 (if newsticker--auto-narrow-to-item
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2776 (setq search-list '(item feed)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2777 (when (bobp)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2778 (unless do-not-wrap-at-bob
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2779 (goto-char (point-max))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2780 (while go-ahead
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2781 (if (newsticker--buffer-goto search-list nil t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2782 (unless (newsticker--lists-intersect-p
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2783 (get-text-property (point) 'invisible)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2784 buffer-invisibility-spec)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2785 (setq go-ahead nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2786 (goto-char (point-min))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2787 (setq go-ahead nil))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2788 (run-hooks 'newsticker-select-item-hook)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2789 (force-mode-line-update)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2790 (point))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2791
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2792 (defun newsticker-next-feed ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2793 "Go to next news feed.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2794 Return new buffer position."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2795 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2796 (widen)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2797 (newsticker--buffer-goto '(feed))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2798 (run-hooks 'newsticker-select-feed-hook)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2799 (force-mode-line-update)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2800 (point))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2801
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2802 (defun newsticker-previous-feed ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2803 "Go to previous news feed.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2804 Return new buffer position."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2805 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2806 (widen)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2807 (newsticker--buffer-goto '(feed) nil t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2808 (run-hooks 'newsticker-select-feed-hook)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
2809 (force-mode-line-update)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2810 (point))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2811
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2812 (defun newsticker-mark-all-items-at-point-as-read-and-redraw ()
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2813 "Mark all items as read and clear ticker contents."
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2814 (interactive)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2815 (when (or newsticker--buffer-uptodate-p
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2816 (y-or-n-p
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2817 "Buffer is not up to date -- really mark items as read? "))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2818 (newsticker-mark-all-items-of-feed-as-read
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2819 (get-text-property (point) 'feed))))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2820
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2821 (defun newsticker-mark-all-items-of-feed-as-read (feed)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2822 "Mark all items as read, clear ticker, and redraw *newsticker* buffer."
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2823 (when feed
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2824 (let ((pos (point)))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2825 (message "Marking all items as read for %s" (symbol-name feed))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2826 (newsticker--cache-replace-age newsticker--cache feed 'new 'old)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2827 (newsticker--cache-replace-age newsticker--cache feed 'obsolete
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2828 'old)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2829 (newsticker--cache-update)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2830 (newsticker--buffer-set-uptodate nil)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2831 (newsticker--ticker-text-setup)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2832 (newsticker-buffer-update)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2833 ;; go back to where we came frome
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2834 (goto-char pos)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2835 (end-of-line)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2836 (newsticker--buffer-goto '(feed) nil t))))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2837
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2838 (defun newsticker-mark-all-items-at-point-as-read ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2839 "Mark all items as read and clear ticker contents."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2840 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2841 (when (or newsticker--buffer-uptodate-p
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2842 (y-or-n-p
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2843 "Buffer is not up to date -- really mark items as read? "))
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2844 (newsticker--do-mark-item-at-point-as-read t)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2845 (while (newsticker-next-item-same-feed)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2846 (newsticker--do-mark-item-at-point-as-read t))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2847 (newsticker-next-item t)))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2848
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2849 (defun newsticker-mark-item-at-point-as-read (&optional respect-immortality)
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2850 "Mark item at point as read and move to next item.
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2851 If optional argument RESPECT-IMMORTALITY is not nil immortal items do
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2852 not get changed."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2853 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2854 (when (or newsticker--buffer-uptodate-p
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2855 (y-or-n-p
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2856 "Buffer is not up to date -- really mark this item as read? "))
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2857 (newsticker--do-mark-item-at-point-as-read respect-immortality)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2858 ;; move forward
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2859 (newsticker-next-item t)))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2860
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2861 (defun newsticker--do-mark-item-at-point-as-read (&optional respect-immortality)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2862 "Mark item at point as read.
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2863 If optional argument RESPECT-IMMORTALITY is not nil immortal items do
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2864 not get changed."
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2865 (let ((feed (get-text-property (point) 'feed)))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2866 (when feed
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2867 (save-excursion
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2868 (newsticker--buffer-beginning-of-item)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2869 (let ((inhibit-read-only t)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2870 (age (get-text-property (point) 'nt-age))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2871 (title (get-text-property (point) 'nt-title))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2872 (guid (get-text-property (point) 'nt-guid))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2873 (nt-desc (get-text-property (point) 'nt-desc))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2874 (pos (save-excursion (newsticker--buffer-end-of-item)))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2875 item)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2876 (when (or (eq age 'new)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2877 (eq age 'obsolete)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2878 (and (eq age 'immortal)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2879 (not respect-immortality)))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2880 ;; find item
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2881 (setq item (newsticker--cache-contains newsticker--cache
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2882 feed title nt-desc
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2883 nil nil guid))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2884 ;; mark as old
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2885 (when item
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2886 (setcar (nthcdr 4 item) 'old)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2887 (newsticker--do-forget-preformatted item))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2888 ;; clean up ticker
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2889 (if (or (and (eq age 'new)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2890 newsticker-hide-immortal-items-in-echo-area)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2891 (and (memq age '(old immortal))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2892 (not
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2893 (eq newsticker-hide-old-items-in-newsticker-buffer
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2894 newsticker-hide-immortal-items-in-echo-area))))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2895 (newsticker--ticker-text-remove feed title))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2896 ;; set faces etc.
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2897 (save-excursion
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2898 (save-restriction
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2899 (widen)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2900 (put-text-property (point) pos 'nt-age 'old)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2901 (newsticker--buffer-set-faces (point) pos)))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
2902 (set-buffer-modified-p nil)))))))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2903
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2904 (defun newsticker-mark-item-at-point-as-immortal ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2905 "Mark item at point as read."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2906 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2907 (when (or newsticker--buffer-uptodate-p
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2908 (y-or-n-p
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2909 "Buffer is not up to date -- really mark this item as read? "))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2910 (let ((feed (get-text-property (point) 'feed))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2911 (item nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2912 (when feed
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2913 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2914 (newsticker--buffer-beginning-of-item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2915 (let ((inhibit-read-only t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2916 (oldage (get-text-property (point) 'nt-age))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2917 (title (get-text-property (point) 'nt-title))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2918 (guid (get-text-property (point) 'nt-guid))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2919 (pos (save-excursion (newsticker--buffer-end-of-item))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2920 (let ((newage 'immortal))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2921 (if (eq oldage 'immortal)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2922 (setq newage 'old))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2923 (setq item (newsticker--cache-contains newsticker--cache
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2924 feed title nil nil nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2925 guid))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2926 ;; change age
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2927 (when item
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2928 (setcar (nthcdr 4 item) newage)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2929 (newsticker--do-forget-preformatted item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2930 (if (or (and (eq newage 'immortal)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2931 newsticker-hide-immortal-items-in-echo-area)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2932 (and (eq newage 'obsolete)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2933 newsticker-hide-obsolete-items-in-echo-area)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2934 (and (eq oldage 'immortal)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2935 (not
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2936 (eq newsticker-hide-old-items-in-newsticker-buffer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2937 newsticker-hide-immortal-items-in-echo-area))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2938 (newsticker--ticker-text-remove feed title)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2939 (newsticker--ticker-text-setup))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2940 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2941 (save-restriction
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2942 (widen)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2943 (put-text-property (point) pos 'nt-age newage)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2944 (if (eq newage 'immortal)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2945 (put-text-property (point) pos 'nt-age 'immortal)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2946 (put-text-property (point) pos 'nt-age 'old))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2947 (newsticker--buffer-set-faces (point) pos))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2948 (if item
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2949 (newsticker-next-item t))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2950
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2951 (defun newsticker-mark-all-items-as-read ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2952 "Mark all items as read and clear ticker contents."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2953 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2954 (when (or newsticker--buffer-uptodate-p
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2955 (y-or-n-p
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2956 "Buffer is not up to date -- really mark items as read? "))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2957 (newsticker--cache-replace-age newsticker--cache 'any 'new 'old)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2958 (newsticker--buffer-set-uptodate nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2959 (newsticker--ticker-text-setup)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2960 (newsticker--cache-update)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2961 (newsticker-buffer-update)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2962
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2963 (defun newsticker-hide-extra ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2964 "Hide the extra elements of items."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2965 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2966 (newsticker--buffer-hideshow 'extra nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2967 (newsticker--buffer-redraw))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2968
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2969 (defun newsticker-show-extra ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2970 "Show the extra elements of items."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2971 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2972 (newsticker--buffer-hideshow 'extra t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2973 (newsticker--buffer-redraw))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2974
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2975 (defun newsticker-hide-old-item-desc ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2976 "Hide the description of old items."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2977 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2978 (newsticker--buffer-hideshow 'desc-old nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2979 (newsticker--buffer-redraw))
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
2980
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2981 (defun newsticker-show-old-item-desc ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2982 "Show the description of old items."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2983 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2984 (newsticker--buffer-hideshow 'item-old t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2985 (newsticker--buffer-hideshow 'desc-old t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2986 (newsticker--buffer-redraw))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2987
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2988 (defun newsticker-hide-new-item-desc ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2989 "Hide the description of new items."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2990 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2991 (newsticker--buffer-hideshow 'desc-new nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2992 (newsticker--buffer-hideshow 'desc-immortal nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2993 (newsticker--buffer-hideshow 'desc-obsolete nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2994 (newsticker--buffer-redraw))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2995
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2996 (defun newsticker-show-new-item-desc ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2997 "Show the description of new items."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2998 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2999 (newsticker--buffer-hideshow 'desc-new t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3000 (newsticker--buffer-hideshow 'desc-immortal t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3001 (newsticker--buffer-hideshow 'desc-obsolete t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3002 (newsticker--buffer-redraw))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3003
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3004 (defun newsticker-hide-feed-desc ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3005 "Hide the description of feeds."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3006 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3007 (newsticker--buffer-hideshow 'desc-feed nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3008 (newsticker--buffer-redraw))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3009
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3010 (defun newsticker-show-feed-desc ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3011 "Show the description of old items."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3012 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3013 (newsticker--buffer-hideshow 'desc-feed t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3014 (newsticker--buffer-redraw))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3015
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3016 (defun newsticker-hide-all-desc ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3017 "Hide the descriptions of feeds and all items."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3018 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3019 (newsticker--buffer-hideshow 'desc-feed nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3020 (newsticker--buffer-hideshow 'desc-immortal nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3021 (newsticker--buffer-hideshow 'desc-obsolete nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3022 (newsticker--buffer-hideshow 'desc-new nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3023 (newsticker--buffer-hideshow 'desc-old nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3024 (newsticker--buffer-redraw))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3025
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3026 (defun newsticker-show-all-desc ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3027 "Show the descriptions of feeds and all items."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3028 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3029 (newsticker--buffer-hideshow 'desc-feed t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3030 (newsticker--buffer-hideshow 'desc-immortal t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3031 (newsticker--buffer-hideshow 'desc-obsolete t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3032 (newsticker--buffer-hideshow 'desc-new t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3033 (newsticker--buffer-hideshow 'desc-old t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3034 (newsticker--buffer-redraw))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3035
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3036 (defun newsticker-hide-old-items ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3037 "Hide old items."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3038 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3039 (newsticker--buffer-hideshow 'desc-old nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3040 (newsticker--buffer-hideshow 'item-old nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3041 (newsticker--buffer-redraw))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3042
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3043 (defun newsticker-show-old-items ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3044 "Show old items."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3045 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3046 (newsticker--buffer-hideshow 'item-old t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3047 (newsticker--buffer-redraw))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3048
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3049 (defun newsticker-hide-entry ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3050 "Hide description of entry at point."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3051 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3052 (save-excursion
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
3053 (let* (pos1 pos2
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3054 (inhibit-read-only t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3055 inv-prop org-inv-prop
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3056 is-invisible)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3057 (newsticker--buffer-beginning-of-item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3058 (newsticker--buffer-goto '(desc))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3059 (setq pos1 (max (point-min) (1- (point))))
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3060 (newsticker--buffer-goto '(extra feed item nil))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3061 (setq pos2 (max (point-min) (1- (point))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3062 (setq inv-prop (get-text-property pos1 'invisible))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3063 (setq org-inv-prop (get-text-property pos1 'org-invisible))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3064 (cond ((eq inv-prop t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3065 ;; do nothing
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3066 )
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3067 ((eq org-inv-prop nil)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3068 (add-text-properties pos1 pos2
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
3069 (list 'invisible (list t)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3070 'org-invisible inv-prop)))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3071 (t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3072 ;; toggle
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3073 (add-text-properties pos1 pos2
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3074 (list 'invisible org-inv-prop))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3075 (remove-text-properties pos1 pos2 '(org-invisible))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3076 (newsticker--buffer-redraw))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3077
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3078 (defun newsticker-show-entry ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3079 "Show description of entry at point."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3080 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3081 (save-excursion
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
3082 (let* (pos1 pos2
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3083 (inhibit-read-only t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3084 inv-prop org-inv-prop
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3085 is-invisible)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3086 (newsticker--buffer-beginning-of-item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3087 (newsticker--buffer-goto '(desc))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3088 (setq pos1 (max (point-min) (1- (point))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3089 (newsticker--buffer-goto '(extra feed item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3090 (setq pos2 (max (point-min) (1- (point))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3091 (setq inv-prop (get-text-property pos1 'invisible))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3092 (setq org-inv-prop (get-text-property pos1 'org-invisible))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3093 (cond ((eq org-inv-prop nil)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3094 (add-text-properties pos1 pos2
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3095 (list 'invisible nil
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3096 'org-invisible inv-prop)))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3097 (t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3098 ;; toggle
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3099 (add-text-properties pos1 pos2
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3100 (list 'invisible org-inv-prop))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3101 (remove-text-properties pos1 pos2 '(org-invisible))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3102 (newsticker--buffer-redraw))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3103
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3104 (defun newsticker-toggle-auto-narrow-to-feed ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3105 "Toggle narrowing to current news feed.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3106 If auto-narrowing is active, only news item of the current feed
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3107 are visible."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3108 (interactive)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3109 (newsticker-set-auto-narrow-to-feed
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3110 (not newsticker--auto-narrow-to-feed)))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3111
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3112 (defun newsticker-set-auto-narrow-to-feed (value)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3113 "Turn narrowing to current news feed on or off.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3114 If VALUE is nil, auto-narrowing is turned off, otherwise it is turned on."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3115 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3116 (setq newsticker--auto-narrow-to-item nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3117 (setq newsticker--auto-narrow-to-feed value)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3118 (widen)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3119 (newsticker--buffer-make-item-completely-visible)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3120 (run-hooks 'newsticker-narrow-hook))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3121
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3122 (defun newsticker-toggle-auto-narrow-to-item ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3123 "Toggle narrowing to current news item.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3124 If auto-narrowing is active, only one item of the current feed
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3125 is visible."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3126 (interactive)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3127 (newsticker-set-auto-narrow-to-item
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3128 (not newsticker--auto-narrow-to-item)))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3129
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3130 (defun newsticker-set-auto-narrow-to-item (value)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3131 "Turn narrowing to current news item on or off.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3132 If VALUE is nil, auto-narrowing is turned off, otherwise it is turned on."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3133 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3134 (setq newsticker--auto-narrow-to-feed nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3135 (setq newsticker--auto-narrow-to-item value)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3136 (widen)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3137 (newsticker--buffer-make-item-completely-visible)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3138 (run-hooks 'newsticker-narrow-hook))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3139
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3140 (defun newsticker-customize ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3141 "Open the newsticker customization group."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3142 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3143 (customize-group "newsticker"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3144
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3145 (defun newsticker-next-feed-available-p ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3146 "Return t if position is before last feed, nil otherwise."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3147 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3148 (let ((p (point)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3149 (newsticker--buffer-goto '(feed))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3150 (not (= p (point))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3151
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3152 (defun newsticker-previous-feed-available-p ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3153 "Return t if position is behind first feed, nil otherwise."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3154 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3155 (let ((p (point)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3156 (newsticker--buffer-goto '(feed) nil t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3157 (not (= p (point))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3158
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3159 (defun newsticker-next-item-available-p ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3160 "Return t if position is before last feed, nil otherwise."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3161 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3162 (catch 'result
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3163 (while (< (point) (point-max))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3164 (unless (newsticker--buffer-goto '(item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3165 (throw 'result nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3166 (unless (newsticker--lists-intersect-p
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3167 (get-text-property (point) 'invisible)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3168 buffer-invisibility-spec)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3169 (throw 'result t))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3170
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3171 (defun newsticker-previous-item-available-p ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3172 "Return t if position is behind first item, nil otherwise."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3173 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3174 (catch 'result
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3175 (while (> (point) (point-min))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3176 (unless (newsticker--buffer-goto '(item) nil t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3177 (throw 'result nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3178 (unless (newsticker--lists-intersect-p
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3179 (get-text-property (point) 'invisible)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3180 buffer-invisibility-spec)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3181 (throw 'result t))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3182
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3183 (defun newsticker-item-not-old-p ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3184 "Return t if there is an item at point which is not old, nil otherwise."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3185 (when (get-text-property (point) 'feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3186 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3187 (newsticker--buffer-beginning-of-item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3188 (let ((age (get-text-property (point) 'nt-age)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3189 (and (memq age '(new immortal obsolete)) t)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3190
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3191 (defun newsticker-item-not-immortal-p ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3192 "Return t if there is an item at point which is not immortal, nil otherwise."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3193 (when (get-text-property (point) 'feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3194 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3195 (newsticker--buffer-beginning-of-item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3196 (let ((age (get-text-property (point) 'nt-age)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3197 (and (memq age '(new old obsolete)) t)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3198
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3199 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3200 ;;; local stuff
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3201 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3202 (defun newsticker-get-news (feed-name)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3203 "Get news from the site FEED-NAME and load feed logo.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3204 FEED-NAME must be a string which occurs as the label (i.e. the first element)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3205 in an element of `newsticker-url-list' or `newsticker-url-list-defaults'."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3206 (newsticker--debug-msg "%s: Getting news for %s"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3207 (format-time-string "%A, %H:%M" (current-time))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3208 feed-name)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3209 (let* ((buffername (concat " *newsticker-wget-" feed-name "*"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3210 (item (or (assoc feed-name newsticker-url-list)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3211 (assoc feed-name newsticker-url-list-defaults)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3212 (error
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3213 "Cannot get news for %s: Check newsticker-url-list"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3214 feed-name)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3215 (url (cadr item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3216 (wget-arguments (or (car (cdr (cdr (cdr (cdr item)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3217 newsticker-wget-arguments)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3218 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3219 (set-buffer (get-buffer-create buffername))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3220 (erase-buffer)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3221 ;; throw an error if there is an old wget-process around
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3222 (if (get-process feed-name)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3223 (error "Another wget-process is running for %s" feed-name))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3224 ;; start wget
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3225 (let* ((args (append wget-arguments (list url)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3226 (proc (apply 'start-process feed-name buffername
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3227 newsticker-wget-name args)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3228 (set-process-coding-system proc 'no-conversion 'no-conversion)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3229 (set-process-sentinel proc 'newsticker--sentinel)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3230 (setq newsticker--process-ids (cons (process-id proc)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3231 newsticker--process-ids))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3232 (force-mode-line-update)))))
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
3233
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3234 (defun newsticker-mouse-browse-url (event)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3235 "Call `browse-url' for the link of the item at which the EVENT occurred."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3236 (interactive "e")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3237 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3238 (switch-to-buffer (window-buffer (posn-window (event-end event))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3239 (let ((url (get-text-property (posn-point (event-end event))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3240 'nt-link)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3241 (when url
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3242 (browse-url url)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3243 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3244 (goto-char (posn-point (event-end event)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3245 (if newsticker-automatically-mark-visited-items-as-old
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3246 (newsticker-mark-item-at-point-as-read t)))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3247
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3248 (defun newsticker-browse-url ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3249 "Call `browse-url' for the link of the item at point."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3250 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3251 (let ((url (get-text-property (point) 'nt-link)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3252 (when url
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3253 (browse-url url)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3254 (if newsticker-automatically-mark-visited-items-as-old
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3255 (newsticker-mark-item-at-point-as-read t)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3256
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3257 (defvar newsticker-open-url-history
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3258 '("wget" "xmms" "realplay")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3259 "...")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3260
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3261 (defun newsticker-handle-url ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3262 "Ask for a program to open the link of the item at point."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3263 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3264 (let ((url (get-text-property (point) 'nt-link)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3265 (when url
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3266 (let ((prog (read-string "Open url with: " nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3267 'newsticker-open-url-history)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3268 (when prog
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3269 (message "%s %s" prog url)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3270 (start-process prog prog prog url)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3271 (if newsticker-automatically-mark-visited-items-as-old
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3272 (newsticker-mark-item-at-point-as-read t)))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3273
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3274 (defun newsticker--sentinel (process event)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3275 "Sentinel for extracting news titles from an RDF buffer.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3276 Argument PROCESS is the process which has just changed its state.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3277 Argument EVENT tells what has happened to the process."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3278 (let* ((p-status (process-status process))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3279 (exit-status (process-exit-status process))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3280 (time (current-time))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3281 (name (process-name process))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3282 (name-symbol (intern name))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3283 (something-was-added nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3284 ;; catch known errors (zombie processes, rubbish-xml etc.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3285 ;; if an error occurs the news feed is not updated!
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3286 (catch 'oops
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3287 (unless (and (eq p-status 'exit)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3288 (= exit-status 0))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3289 (setq newsticker--cache
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3290 (newsticker--cache-add
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3291 newsticker--cache
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3292 name-symbol
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3293 newsticker--error-headline
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3294 (format
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3295 (concat "%s: Newsticker could not retrieve news from %s.\n"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3296 "Return status: `%s'\n"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3297 "Command was `%s'")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3298 (format-time-string "%A, %H:%M" (current-time))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3299 name event (process-command process))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3300 ""
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3301 (current-time)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3302 'new
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3303 0 nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3304 (message "%s: Error while retrieving news from %s"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3305 (format-time-string "%A, %H:%M" (current-time))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3306 (process-name process))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3307 (throw 'oops nil))
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3308 (let* ((coding-system 'utf-8)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3309 (node-list
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3310 (save-current-buffer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3311 (set-buffer (process-buffer process))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3312 ;; a very very dirty workaround to overcome the
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3313 ;; problems with the newest (20030621) xml.el:
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3314 ;; remove all unnecessary whitespace
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3315 (goto-char (point-min))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3316 (while (re-search-forward ">[ \t\r\n]+<" nil t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3317 (replace-match "><" nil t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3318 ;; and another brutal workaround (20031105)! For some
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3319 ;; reason the xml parser does not like the colon in the
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3320 ;; doctype name "rdf:RDF"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3321 (goto-char (point-min))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3322 (if (re-search-forward "<!DOCTYPE[ \t\n]+rdf:RDF" nil t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3323 (replace-match "<!DOCTYPE rdfColonRDF" nil t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3324 ;; finally.... ~##^°!!!!!
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3325 (goto-char (point-min))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3326 (while (search-forward "\r\n" nil t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3327 (replace-match "\n" nil t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3328 ;; still more brutal workarounds (20040309)! The xml
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3329 ;; parser does not like doctype rss
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3330 (goto-char (point-min))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3331 (if (re-search-forward "<!DOCTYPE[ \t\n]+rss[ \t\n]*>" nil t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3332 (replace-match "" nil t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3333 ;; And another one (20050618)! (Fixed in GNU Emacs 22.0.50.18)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3334 ;; Remove comments to avoid this xml-parsing bug:
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3335 ;; "XML files can have only one toplevel tag"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3336 (goto-char (point-min))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3337 (while (search-forward "<!--" nil t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3338 (let ((start (match-beginning 0)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3339 (unless (search-forward "-->" nil t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3340 (error "Can't find end of comment"))
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
3341 (delete-region start (point))))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3342 ;; And another one (20050702)! If description is HTML
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3343 ;; encoded and starts with a `<', wrap the whole
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3344 ;; description in a CDATA expression. This happened for
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3345 ;; http://www.thefreedictionary.com/_/WoD/rss.aspx?type=quote
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
3346 (goto-char (point-min))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
3347 (while (re-search-forward
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
3348 "<description>\\(<img.*?\\)</description>" nil t)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
3349 (replace-match
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
3350 "<description><![CDATA[ \\1 ]]></description>"))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
3351 ;; And another one (20051123)! XML parser does not like this:
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
3352 ;; <yweather:location city="Frankfurt/Main" region="" country="GM" />
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
3353 ;; try to "fix" empty attributes
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
3354 ;; This happened for
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
3355 ;; http://xml.weather.yahoo.com/forecastrss?p=GMXX0040&u=f
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
3356 (goto-char (point-min))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
3357 (while (re-search-forward "\\(<[^>]*\\)=\"\"" nil t)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
3358 (replace-match "\\1=\" \""))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3359 ;;
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3360 (set-buffer-modified-p nil)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3361 ;; check coding system
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3362 (goto-char (point-min))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3363 (if (re-search-forward "encoding=\"\\([^\"]+\\)\""
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3364 nil t)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3365 (setq coding-system (intern (downcase (match-string 1))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3366 (setq coding-system
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3367 (condition-case nil
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3368 (check-coding-system coding-system)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3369 (coding-system-error
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3370 (message
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3371 "newsticker.el: ignoring coding system %s for %s"
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3372 coding-system name)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3373 nil))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3374 ;; Decode if possible
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3375 (when coding-system
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3376 (decode-coding-region (point-min) (point-max)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3377 coding-system))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3378 (condition-case errordata
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3379 ;; The xml parser might fail
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3380 ;; or the xml might be bugged
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3381 (xml-parse-region (point-min) (point-max))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3382 (error (message "Could not parse %s: %s"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3383 (buffer-name) (cadr errordata))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3384 (throw 'oops nil)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3385 (topnode (car node-list))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3386 (channelnode (car (xml-get-children topnode 'channel)))
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3387 (imageurl nil))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3388 ;; mark all items as obsolete
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3389 (newsticker--cache-replace-age newsticker--cache
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3390 name-symbol
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3391 'new 'obsolete-new)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3392 (newsticker--cache-replace-age newsticker--cache
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3393 name-symbol
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3394 'old 'obsolete-old)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3395 (newsticker--cache-replace-age newsticker--cache
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3396 name-symbol
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3397 'feed 'obsolete-old)
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
3398
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3399 ;; check Atom/RSS version and call corresponding parser
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3400 (condition-case error-data
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3401 (if (cond
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3402 ;; RSS 0.91
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3403 ((and (eq 'rss (xml-node-name topnode))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3404 (string= "0.91" (xml-get-attribute topnode 'version)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3405 (setq imageurl (newsticker--get-logo-url-rss-0.91 topnode))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3406 (newsticker--parse-rss-0.91 name time topnode))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3407 ;; RSS 0.92
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3408 ((and (eq 'rss (xml-node-name topnode))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3409 (string= "0.92" (xml-get-attribute topnode 'version)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3410 (setq imageurl (newsticker--get-logo-url-rss-0.92 topnode))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3411 (newsticker--parse-rss-0.92 name time topnode))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3412 ;; RSS 1.0
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3413 ((eq 'rdf:RDF (xml-node-name topnode))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3414 (setq imageurl (newsticker--get-logo-url-rss-1.0 topnode))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3415 (newsticker--parse-rss-1.0 name time topnode))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3416 ;; RSS 2.0
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3417 ((and (eq 'rss (xml-node-name topnode))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3418 (string= "2.0" (xml-get-attribute topnode 'version)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3419 (setq imageurl (newsticker--get-logo-url-rss-2.0 topnode))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3420 (newsticker--parse-rss-2.0 name time topnode))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3421 ;; Atom 0.3
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3422 ((and (eq 'feed (xml-node-name topnode))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3423 (string= "http://purl.org/atom/ns#"
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3424 (xml-get-attribute topnode 'xmlns)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3425 (setq imageurl (newsticker--get-logo-url-atom-0.3 topnode))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3426 (newsticker--parse-atom-0.3 name time topnode))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3427 ;; Atom 1.0
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3428 ((and (eq 'feed (xml-node-name topnode))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3429 (string= "http://www.w3.org/2005/Atom"
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3430 (xml-get-attribute topnode 'xmlns)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3431 (setq imageurl (newsticker--get-logo-url-atom-1.0 topnode))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3432 (newsticker--parse-atom-1.0 name time topnode))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3433 ;; unknown feed type
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3434 (t
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3435 (newsticker--debug-msg "Feed type unknown: %s: %s"
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3436 (xml-node-name topnode) name)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3437 nil))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3438 (setq something-was-added t))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3439 (xerror (message "sentinelerror in %s: %s" name error-data)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3440
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3441 ;; Remove those old items from cache which have been removed from
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3442 ;; the feed
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3443 (newsticker--cache-replace-age newsticker--cache
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3444 name-symbol 'obsolete-old 'deleteme)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3445 (newsticker--cache-remove newsticker--cache name-symbol
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3446 'deleteme)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3447 ;; Remove those new items from cache which have been removed from
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3448 ;; the feed. Or keep them as `obsolete'
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3449 (if (not newsticker-keep-obsolete-items)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3450 (newsticker--cache-remove newsticker--cache
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3451 name-symbol 'obsolete-new)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3452 (setq newsticker--cache
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3453 (newsticker--cache-mark-expired
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3454 newsticker--cache name-symbol 'obsolete 'obsolete-expired
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3455 newsticker-obsolete-item-max-age))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3456 (newsticker--cache-remove newsticker--cache
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3457 name-symbol 'obsolete-expired)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3458 (newsticker--cache-replace-age newsticker--cache
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3459 name-symbol 'obsolete-new
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3460 'obsolete))
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3461 (newsticker--update-process-ids)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3462 ;; setup scrollable text
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3463 (when (= 0 (length newsticker--process-ids))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3464 (newsticker--ticker-text-setup))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3465 (setq newsticker--latest-update-time (current-time))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3466 (when something-was-added
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3467 ;; FIXME: should we care about removed items as well?
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3468 (newsticker--cache-update)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3469 (newsticker--buffer-set-uptodate nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3470 ;; kill the process buffer if wanted
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3471 (unless newsticker-debug
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3472 (kill-buffer (process-buffer process)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3473 ;; launch retrieval of image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3474 (when (and imageurl
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3475 (string-match "%l" newsticker-heading-format))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3476 (newsticker--image-get name imageurl))))))
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
3477
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3478 (defun newsticker--get-logo-url-atom-1.0 (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3479 "Return logo URL from atom 1.0 data in NODE."
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3480 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3481 (car (xml-get-children node 'logo)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3482
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3483 (defun newsticker--get-logo-url-atom-0.3 (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3484 "Return logo URL from atom 0.3 data in NODE."
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3485 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3486 (car (xml-get-children (car (xml-get-children node 'image)) 'url)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3487
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3488 (defun newsticker--get-logo-url-rss-2.0 (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3489 "Return logo URL from RSS 2.0 data in NODE."
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3490 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3491 (car (xml-get-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3492 (car (xml-get-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3493 (car (xml-get-children node 'channel)) 'image)) 'url)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3494
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3495 (defun newsticker--get-logo-url-rss-1.0 (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3496 "Return logo URL from RSS 1.0 data in NODE."
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3497 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3498 (car (xml-get-children (car (xml-get-children node 'image)) 'url)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3499
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3500 (defun newsticker--get-logo-url-rss-0.92 (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3501 "Return logo URL from RSS 0.92 data in NODE."
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3502 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3503 (car (xml-get-children (car (xml-get-children node 'image)) 'url)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3504
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3505 (defun newsticker--get-logo-url-rss-0.91 (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3506 "Return logo URL from RSS 0.91 data in NODE."
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3507 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3508 (car (xml-get-children (car (xml-get-children node 'image)) 'url)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3509
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3510 (defun newsticker--parse-atom-0.3 (name time topnode)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3511 "Parse Atom 0.3 data.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3512 Return value as well as arguments NAME, TIME, and TOPNODE are the
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
3513 same as in `newsticker--parse-atom-1.0'."
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3514 (newsticker--debug-msg "Parsing Atom 0.3 feed %s" name)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3515 (let (new-feed new-item)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3516 (setq new-feed (newsticker--parse-generic-feed
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3517 name time
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3518 ;; title
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3519 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3520 (car (xml-get-children topnode 'title))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3521 ;; desc
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3522 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3523 (car (xml-get-children topnode 'content))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3524 ;; link
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3525 (xml-get-attribute
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3526 (car (xml-get-children topnode 'link)) 'href)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3527 ;; extra-elements
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3528 (xml-node-children topnode)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3529 (setq new-item (newsticker--parse-generic-items
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3530 name time (xml-get-children topnode 'entry)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3531 ;; title-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3532 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3533 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3534 (car (xml-get-children node 'title)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3535 ;; desc-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3536 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3537 (or (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3538 (car (xml-get-children node 'content))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3539 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3540 (car (xml-get-children node 'summary))))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3541 ;; link-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3542 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3543 (xml-get-attribute
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3544 (car (xml-get-children node 'link)) 'href))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3545 ;; time-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3546 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3547 (newsticker--decode-rfc822-date
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3548 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3549 (car (xml-get-children node 'modified))))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3550 ;; guid-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3551 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3552 (let ((tguid (assoc 'guid (xml-node-children node))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3553 (if (stringp tguid)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3554 tguid
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3555 (car (xml-node-children tguid)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3556 ;; extra-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3557 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3558 (xml-node-children node))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3559 (or new-item new-feed)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3560
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3561 (defun newsticker--parse-atom-1.0 (name time topnode)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3562 "Parse Atom 1.0 data.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3563 Argument NAME gives the name of a news feed. TIME gives the
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3564 system time at which the data have been retrieved. TOPNODE
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3565 contains the feed data as returned by the xml parser.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3566
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3567 For the Atom 1.0 specification see
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3568 http://www.atompub.org/2005/08/17/draft-ietf-atompub-format-11.html"
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3569 (newsticker--debug-msg "Parsing Atom 1.0 feed %s" name)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3570 (let (new-feed new-item)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3571 (setq new-feed (newsticker--parse-generic-feed
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3572 name time
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3573 ;; title
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3574 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3575 (car (xml-get-children topnode 'title))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3576 ;; desc
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3577 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3578 (car (xml-get-children topnode 'subtitle))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3579 ;; link
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3580 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3581 (car (xml-get-children topnode 'link))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3582 ;; extra-elements
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3583 (xml-node-children topnode)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3584 (setq new-item (newsticker--parse-generic-items
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3585 name time (xml-get-children topnode 'entry)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3586 ;; title-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3587 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3588 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3589 (car (xml-get-children node 'title)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3590 ;; desc-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3591 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3592 (or (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3593 (car (xml-get-children node 'content))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3594 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3595 (car (xml-get-children node 'summary))))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3596 ;; link-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3597 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3598 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3599 (car (xml-get-children node 'link)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3600 ;; time-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3601 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3602 (newsticker--decode-iso8601-date
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3603 (or (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3604 (car (xml-get-children node 'updated))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3605 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3606 (car (xml-get-children node 'published)))))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3607 ;; guid-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3608 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3609 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3610 (car (xml-get-children node 'id)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3611 ;; extra-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3612 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3613 (xml-node-children node))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3614 (or new-item new-feed)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3615
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3616 (defun newsticker--parse-rss-0.91 (name time topnode)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3617 "Parse RSS 0.91 data.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3618 Return value as well as arguments NAME, TIME, and TOPNODE are the
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3619 same as in `newsticker--parse-atom-1.0'.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3620
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3621 For the RSS 0.91 specification see http://backend.userland.com/rss091 or
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3622 http://my.netscape.com/publish/formats/rss-spec-0.91.html."
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3623 (newsticker--debug-msg "Parsing RSS 0.91 feed %s" name)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3624 (let* ((channelnode (car (xml-get-children topnode 'channel)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3625 (pub-date (newsticker--decode-rfc822-date
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3626 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3627 (car (xml-get-children channelnode 'pubDate))))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3628 is-new-feed has-new-items)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3629 (setq is-new-feed (newsticker--parse-generic-feed
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3630 name time
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3631 ;; title
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3632 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3633 (car (xml-get-children channelnode 'title))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3634 ;; desc
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3635 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3636 (car (xml-get-children channelnode
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3637 'description))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3638 ;; link
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3639 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3640 (car (xml-get-children channelnode 'link))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3641 ;; extra-elements
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3642 (xml-node-children channelnode)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3643 (setq has-new-items (newsticker--parse-generic-items
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3644 name time (xml-get-children channelnode 'item)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3645 ;; title-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3646 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3647 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3648 (car (xml-get-children node 'title)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3649 ;; desc-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3650 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3651 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3652 (car (xml-get-children node 'description)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3653 ;; link-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3654 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3655 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3656 (car (xml-get-children node 'link)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3657 ;; time-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3658 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3659 pub-date)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3660 ;; guid-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3661 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3662 nil)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3663 ;; extra-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3664 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3665 (xml-node-children node))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3666 (or has-new-items is-new-feed)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3667
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3668 (defun newsticker--parse-rss-0.92 (name time topnode)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3669 "Parse RSS 0.92 data.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3670 Return value as well as arguments NAME, TIME, and TOPNODE are the
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3671 same as in `newsticker--parse-atom-1.0'.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3672
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3673 For the RSS 0.92 specification see http://backend.userland.com/rss092."
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3674 (newsticker--debug-msg "Parsing RSS 0.92 feed %s" name)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3675 (let* ((channelnode (car (xml-get-children topnode 'channel)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3676 (pub-date (newsticker--decode-rfc822-date
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3677 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3678 (car (xml-get-children channelnode 'pubDate))))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3679 is-new-feed has-new-items)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3680 (setq is-new-feed (newsticker--parse-generic-feed
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3681 name time
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3682 ;; title
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3683 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3684 (car (xml-get-children channelnode 'title))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3685 ;; desc
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3686 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3687 (car (xml-get-children channelnode
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3688 'description))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3689 ;; link
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3690 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3691 (car (xml-get-children channelnode 'link))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3692 ;; extra-elements
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3693 (xml-node-children channelnode)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3694 (setq has-new-items (newsticker--parse-generic-items
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3695 name time (xml-get-children channelnode 'item)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3696 ;; title-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3697 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3698 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3699 (car (xml-get-children node 'title)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3700 ;; desc-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3701 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3702 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3703 (car (xml-get-children node 'description)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3704 ;; link-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3705 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3706 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3707 (car (xml-get-children node 'link)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3708 ;; time-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3709 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3710 pub-date)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3711 ;; guid-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3712 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3713 nil)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3714 ;; extra-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3715 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3716 (xml-node-children node))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3717 (or has-new-items is-new-feed)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3718
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3719 (defun newsticker--parse-rss-1.0 (name time topnode)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3720 "Parse RSS 1.0 data.
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
3721 Return value as well as arguments NAME, TIME, and TOPNODE are the
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
3722 same as in `newsticker--parse-atom-1.0'.
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3723
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3724 For the RSS 1.0 specification see http://web.resource.org/rss/1.0/spec."
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3725 (newsticker--debug-msg "Parsing RSS 1.0 feed %s" name)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3726 (let* ((channelnode (car (xml-get-children topnode 'channel)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3727 is-new-feed has-new-items)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3728 (setq is-new-feed (newsticker--parse-generic-feed
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3729 name time
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3730 ;; title
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3731 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3732 (car (xml-get-children channelnode 'title))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3733 ;; desc
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3734 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3735 (car (xml-get-children channelnode
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3736 'description))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3737 ;; link
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3738 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3739 (car (xml-get-children channelnode 'link))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3740 ;; extra-elements
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3741 (xml-node-children channelnode)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3742 (setq has-new-items (newsticker--parse-generic-items
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3743 name time (xml-get-children topnode 'item)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3744 ;; title-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3745 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3746 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3747 (car (xml-get-children node 'title)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3748 ;; desc-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3749 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3750 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3751 (car (xml-get-children node
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3752 'description)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3753 ;; link-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3754 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3755 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3756 (car (xml-get-children node 'link)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3757 ;; time-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3758 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3759 (newsticker--decode-iso8601-date
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3760 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3761 (car (xml-get-children node 'dc:date))))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3762 ;; guid-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3763 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3764 nil)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3765 ;; extra-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3766 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3767 (xml-node-children node))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3768 (or has-new-items is-new-feed)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3769
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3770 (defun newsticker--parse-rss-2.0 (name time topnode)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3771 "Parse RSS 2.0 data.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3772 Return value as well as arguments NAME, TIME, and TOPNODE are the
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3773 same as in `newsticker--parse-atom-1.0'.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3774
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3775 For the RSS 2.0 specification see http://blogs.law.harvard.edu/tech/rss."
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3776 (newsticker--debug-msg "Parsing RSS 2.0 feed %s" name)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3777 (let* ((channelnode (car (xml-get-children topnode 'channel)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3778 is-new-feed has-new-items)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3779 (setq is-new-feed (newsticker--parse-generic-feed
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3780 name time
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3781 ;; title
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3782 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3783 (car (xml-get-children channelnode 'title))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3784 ;; desc
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3785 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3786 (car (xml-get-children channelnode
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3787 'description))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3788 ;; link
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3789 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3790 (car (xml-get-children channelnode 'link))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3791 ;; extra-elements
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3792 (xml-node-children channelnode)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3793 (setq has-new-items (newsticker--parse-generic-items
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3794 name time (xml-get-children channelnode 'item)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3795 ;; title-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3796 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3797 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3798 (car (xml-get-children node 'title)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3799 ;; desc-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3800 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3801 (or (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3802 (car (xml-get-children node
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3803 'content:encoded))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3804 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3805 (car (xml-get-children node
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3806 'description))))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3807 ;; link-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3808 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3809 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3810 (car (xml-get-children node 'link)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3811 ;; time-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3812 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3813 (newsticker--decode-rfc822-date
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3814 (car (xml-node-children
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3815 (car (xml-get-children node 'pubDate))))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3816 ;; guid-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3817 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3818 (let* ((tguid (assoc 'guid
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3819 (xml-node-children node))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3820 (if (stringp tguid)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3821 tguid
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3822 (car (xml-node-children tguid)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3823 ;; extra-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3824 (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3825 (xml-node-children node))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3826 (or has-new-items is-new-feed)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3827
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3828 (defun newsticker--parse-generic-feed (name time title desc link
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3829 extra-elements)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3830 "Parse generic news feed data.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3831 Argument NAME gives the name of a news feed. TIME gives the
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
3832 system time at which the data have been retrieved.
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3833
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3834 The arguments TITLE, DESC, LINK, and EXTRA-ELEMENTS give the feed's title,
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3835 description, link, and extra elements resp."
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3836 (let ((title (or title "[untitled]"))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3837 (link (or link ""))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3838 (old-item nil)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3839 (position 0)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3840 (something-was-added nil))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3841 ;; decode numeric entities
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3842 (setq title (newsticker--decode-numeric-entities title))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3843 (setq desc (newsticker--decode-numeric-entities desc))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3844 (setq link (newsticker--decode-numeric-entities link))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3845 ;; remove whitespace from title, desc, and link
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3846 (setq title (newsticker--remove-whitespace title))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3847 (setq desc (newsticker--remove-whitespace desc))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3848 (setq link (newsticker--remove-whitespace link))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3849
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3850 ;; handle the feed itself
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3851 (unless (newsticker--cache-contains newsticker--cache
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3852 (intern name) title
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3853 desc link 'feed)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3854 (setq something-was-added t))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3855 (setq newsticker--cache
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3856 (newsticker--cache-add newsticker--cache (intern name)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3857 title desc link time 'feed position
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3858 extra-elements 'feed time))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3859 something-was-added))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3860
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3861 (defun newsticker--parse-generic-items (name time itemlist
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3862 title-fn desc-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3863 link-fn time-fn
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3864 guid-fn extra-fn)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3865 "Parse generic news feed data.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3866 Argument NAME gives the name of a news feed. TIME gives the
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3867 system time at which the data have been retrieved. ITEMLIST
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3868 contains the news items returned by the xml parser.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3869
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3870 The arguments TITLE-FN, DESC-FN, LINK-FN, TIME-FN, GUID-FN, and
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3871 EXTRA-FN give functions for extracting title, description, link,
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3872 time, guid, and extra-elements resp. They are called with one
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3873 argument, which is one of the items in ITEMLIST."
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3874 (let (title desc link
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3875 (old-item nil)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3876 (position 0)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3877 (something-was-added nil))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3878 ;; gather all items for this feed
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3879 (mapc (lambda (node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3880 (setq position (1+ position))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3881 (setq title (or (funcall title-fn node) "[untitled]"))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3882 (setq desc (funcall desc-fn node))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3883 (setq link (or (funcall link-fn node) ""))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3884 (setq time (or (funcall time-fn node) time))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3885 ;; It happened that the title or description
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3886 ;; contained evil HTML code that confused the
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3887 ;; xml parser. Therefore:
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3888 (unless (stringp title)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3889 (setq title (prin1-to-string title)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3890 (unless (or (stringp desc) (not desc))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3891 (setq desc (prin1-to-string desc)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3892 ;; ignore items with empty title AND empty desc
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3893 (when (or (> (length title) 0)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3894 (> (length desc) 0))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3895 ;; decode numeric entities
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3896 (setq title (newsticker--decode-numeric-entities title))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3897 (when desc
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3898 (setq desc (newsticker--decode-numeric-entities desc)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3899 (setq link (newsticker--decode-numeric-entities link))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3900 ;; remove whitespace from title, desc, and link
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3901 (setq title (newsticker--remove-whitespace title))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3902 (setq desc (newsticker--remove-whitespace desc))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3903 (setq link (newsticker--remove-whitespace link))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3904 ;; add data to cache
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3905 ;; do we have this item already?
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3906 (let* ((guid (funcall guid-fn node)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3907 ;;(message "guid=%s" guid)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3908 (setq old-item
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3909 (newsticker--cache-contains newsticker--cache
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3910 (intern name) title
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3911 desc link nil guid)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3912 ;; add this item, or mark it as old, or do nothing
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3913 (let ((age1 'new)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3914 (age2 'old)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3915 (item-new-p nil))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3916 (if old-item
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3917 (let ((prev-age (newsticker--age old-item)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3918 (unless
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3919 newsticker-automatically-mark-items-as-old
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3920 (if (eq prev-age 'obsolete-old)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3921 (setq age2 'old)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3922 (setq age2 'new)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3923 (if (eq prev-age 'immortal)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3924 (setq age2 'immortal)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3925 ;; item was not there
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3926 (setq item-new-p t)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3927 (setq something-was-added t))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3928 (setq newsticker--cache
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3929 (newsticker--cache-add
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3930 newsticker--cache (intern name) title desc link
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3931 time age1 position (funcall extra-fn node)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3932 age2))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3933 (when item-new-p
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3934 (let ((item (newsticker--cache-contains
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3935 newsticker--cache (intern name) title
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3936 desc link nil)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3937 (if newsticker-auto-mark-filter-list
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3938 (newsticker--run-auto-mark-filter name item))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3939 (run-hook-with-args
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3940 'newsticker-new-item-functions name item))))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3941 itemlist)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3942 something-was-added))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
3943
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3944 (defun newsticker--display-tick ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3945 "Called from the display timer.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3946 This function calls a display function, according to the variable
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3947 `newsticker-scroll-smoothly'."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3948 (if newsticker-scroll-smoothly
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3949 (newsticker--display-scroll)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3950 (newsticker--display-jump)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3951
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3952 (defsubst newsticker--echo-area-clean-p ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3953 "Check whether somebody is using the echo area / minibuffer.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3954 Return t if echo area and minibuffer are unused."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3955 (not (or (active-minibuffer-window)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3956 (and (current-message)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3957 (not (string= (current-message)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3958 newsticker--prev-message))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3959
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3960 (defun newsticker--display-jump ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3961 "Called from the display timer.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3962 This function displays the next ticker item in the echo area, unless
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3963 there is another message displayed or the minibuffer is active."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3964 (let ((message-log-max nil));; prevents message text from being logged
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3965 (when (newsticker--echo-area-clean-p)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3966 (setq newsticker--item-position (1+ newsticker--item-position))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3967 (when (>= newsticker--item-position (length newsticker--item-list))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3968 (setq newsticker--item-position 0))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3969 (setq newsticker--prev-message
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3970 (nth newsticker--item-position newsticker--item-list))
65586
86bece058ee5 Message format fixes (commit no. 5)
Deepak Goel <deego@gnufans.org>
parents: 65490
diff changeset
3971 (message "%s" newsticker--prev-message))))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3972
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3973 (defun newsticker--display-scroll ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3974 "Called from the display timer.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3975 This function scrolls the ticker items in the echo area, unless
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3976 there is another message displayed or the minibuffer is active."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3977 (when (newsticker--echo-area-clean-p)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3978 (let* ((width (- (frame-width) 1))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3979 (message-log-max nil);; prevents message text from being logged
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3980 (i newsticker--item-position)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3981 subtext
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3982 (s-text newsticker--scrollable-text)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3983 (l (length s-text)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3984 ;; don't show anything if there is nothing to show
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3985 (unless (< (length s-text) 1)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3986 ;; repeat the ticker string if it is shorter than frame width
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3987 (while (< (length s-text) width)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3988 (setq s-text (concat s-text s-text)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3989 ;; get the width of the printed string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3990 (setq l (length s-text))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3991 (cond ((< i (- l width))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3992 (setq subtext (substring s-text i (+ i width))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3993 (t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3994 (setq subtext (concat
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3995 (substring s-text i l)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3996 (substring s-text 0 (- width (- l i)))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3997 ;; Take care of multibyte strings, for which (string-width) is
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3998 ;; larger than (length).
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3999 ;; Actually, such strings may be smaller than (frame-width)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4000 ;; because return values of (string-width) are too large:
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4001 ;; (string-width "<japanese character>") => 2
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4002 (let ((t-width (1- (length subtext))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4003 (while (> (string-width subtext) width)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4004 (setq subtext (substring subtext 0 t-width))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4005 (setq t-width (1- t-width))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4006 ;; show the ticker text and save current position
65586
86bece058ee5 Message format fixes (commit no. 5)
Deepak Goel <deego@gnufans.org>
parents: 65490
diff changeset
4007 (message "%s" subtext)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4008 (setq newsticker--prev-message subtext)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4009 (setq newsticker--item-position (1+ i))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4010 (when (>= newsticker--item-position l)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4011 (setq newsticker--item-position 0))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4012
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4013 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4014 ;;; misc
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4015 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4016 (defun newsticker--decode-numeric-entities (string)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4017 "Decode SGML numeric entities by their respective utf characters.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4018 This function replaces numeric entities in the input STRING and
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4019 returns the modified string. For example \"&#42;\" gets replaced
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4020 by \"*\"."
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4021 (if (and string (stringp string))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4022 (let ((start 0))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4023 (while (string-match "&#\\([0-9]+\\);" string start)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4024 (condition-case nil
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4025 (setq string (replace-match
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4026 (string (read (substring string
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4027 (match-beginning 1)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4028 (match-end 1))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4029 nil nil string))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4030 (error nil))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4031 (setq start (1+ (match-beginning 0))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4032 string)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4033 nil))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4034
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4035 (defun newsticker--remove-whitespace (string)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4036 "Remove leading and trailing whitespace from STRING."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4037 ;; we must have ...+ but not ...* in the regexps otherwise xemacs loops
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4038 ;; endlessly...
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4039 (when (and string (stringp string))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4040 (replace-regexp-in-string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4041 "[ \t\r\n]+$" ""
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4042 (replace-regexp-in-string "^[ \t\r\n]+" "" string))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4043
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4044 (defun newsticker--do-forget-preformatted (item)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4045 "Forget pre-formatted data for ITEM.
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4046 Remove the pre-formatted from `newsticker--cache'."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4047 (if (nthcdr 7 item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4048 (setcar (nthcdr 7 item) nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4049 (if (nthcdr 6 item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4050 (setcar (nthcdr 6 item) nil)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4051
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4052 (defun newsticker--forget-preformatted ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4053 "Forget all cached pre-formatted data.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4054 Remove the pre-formatted from `newsticker--cache'."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4055 (mapc (lambda (feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4056 (mapc 'newsticker--do-forget-preformatted
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4057 (cdr feed)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4058 newsticker--cache)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4059 (newsticker--buffer-set-uptodate nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4060
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4061 (defun newsticker--debug-msg (string &rest args)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4062 "Print newsticker debug messages.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4063 This function calls `message' with arguments STRING and ARGS, if
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4064 `newsticker-debug' is non-nil."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4065 (and newsticker-debug
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4066 ;;(not (active-minibuffer-window))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4067 ;;(not (current-message))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4068 (apply 'message string args)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4069
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4070 (defun newsticker--decode-iso8601-date (iso8601-string)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4071 "Return ISO8601-STRING in format like `decode-time'.
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
4072 Converts from ISO-8601 to Emacs representation.
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4073 Examples:
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4074 2004-09-17T05:09:49+00:00
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4075 2004-09-17T05:09+00:00
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4076 2004-09-17T05:09:49
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4077 2004-09-17T05:09
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4078 2004-09-17
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4079 2004-09
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4080 2004"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4081 (if iso8601-string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4082 (when (string-match
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4083 (concat
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
4084 "^ *\\([0-9]\\{4\\}\\)"
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4085 "\\(-\\([0-9]\\{2\\}\\)"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4086 "\\(-\\([0-9]\\{2\\}\\)"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4087 "\\(T"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4088 "\\([0-9]\\{2\\}\\):\\([0-9]\\{2\\}\\)"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4089 "\\(:\\([0-9]\\{2\\}\\)\\)?"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4090 "\\(\\([-+Z]\\)\\(\\([0-9]\\{2\\}\\):\\([0-9]\\{2\\}\\)\\)?\\)?"
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
4091 "\\)?\\)?\\)? *$")
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4092 iso8601-string)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4093 (let ((year (read (match-string 1 iso8601-string)))
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
4094 (month (read (or (match-string 3 iso8601-string)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
4095 "1")))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
4096 (day (read (or (match-string 5 iso8601-string)
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
4097 "1")))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4098 (hour (read (or (match-string 7 iso8601-string)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4099 "0")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4100 (minute (read (or (match-string 8 iso8601-string)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4101 "0")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4102 ;;(second (read (or (match-string 10 iso8601-string)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4103 ;; "0")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4104 (sign (match-string 12 iso8601-string))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4105 (offset-hour (read (or (match-string 14 iso8601-string)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4106 "0")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4107 (offset-minute (read (or (match-string 15 iso8601-string)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4108 "0")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4109 (second 0))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4110 (cond ((string= sign "+")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4111 (setq hour (- hour offset-hour))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4112 (setq minute (- minute offset-minute)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4113 ((string= sign "-")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4114 (setq hour (+ hour offset-hour))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4115 (setq minute (+ minute offset-minute))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4116 ;; if UTC subtract current-time-zone offset
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4117 ;;(setq second (+ (car (current-time-zone)) second)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4118
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4119 (condition-case nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4120 (encode-time second minute hour day month year t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4121 (error
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4122 (message "Cannot decode \"%s\"" iso8601-string)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4123 nil))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4124 nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4125
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4126 (defun newsticker--decode-rfc822-date (rfc822-string)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4127 "Return RFC822-STRING in format like `decode-time'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4128 Converts from RFC822 to Emacs representation.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4129 Examples:
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4130 Sat, 07 Sep 2002 00:00:01 GMT
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4131 07 Sep 2002 00:00:01 GMT
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4132 07 Sep 2002"
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4133 (if (and rfc822-string (stringp rfc822-string))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4134 (when (string-match
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4135 (concat
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4136 "\\s-*"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4137 ;; week day
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4138 "\\(\\(Mon\\|Tue\\|Wed\\|Thu\\|Fri\\|Sat\\|Sun\\)\\s-*,?\\)?\\s-*"
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4139 ;; day
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4140 "\\([0-9]\\{1,2\\}\\)\\s-+"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4141 ;; month
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4142 "\\(Jan\\|Feb\\|Mar\\|Apr\\|May\\|Jun\\|Jul\\|Aug\\|"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4143 "Sep\\|Oct\\|Nov\\|Dec\\)\\s-+"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4144 ;; year
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4145 "\\([0-9]\\{2,4\\}\\)"
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4146 ;; time may be missing
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4147 "\\(\\s-+"
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4148 ;; hour
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4149 "\\([0-9]\\{2\\}\\)"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4150 ;; minute
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4151 ":\\([0-9]\\{2\\}\\)"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4152 ;; second
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4153 "\\(:\\([0-9]\\{2\\}\\)\\)?"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4154 ;; zone -- fixme
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4155 "\\(\\s-+.*\\)?"
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4156 "\\)?")
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4157 rfc822-string)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4158 (let ((day (read (match-string 3 rfc822-string)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4159 (month-name (match-string 4 rfc822-string))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4160 (month 0)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4161 (year (read (match-string 5 rfc822-string)))
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4162 (hour (read (or (match-string 7 rfc822-string) "0")))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4163 (minute (read (or (match-string 8 rfc822-string) "0")))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4164 (second (read (or (match-string 10 rfc822-string) "0")))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4165 ;;(zone (match-string 11 rfc822-string))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4166 )
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4167 (condition-case error-data
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4168 (let ((i 1))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4169 (mapc (lambda (m)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4170 (if (string= month-name m)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4171 (setq month i))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4172 (setq i (1+ i)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4173 '("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4174 "Sep" "Oct" "Nov" "Dec"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4175 (encode-time second minute hour day month year t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4176 (error
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4177 (message "Cannot decode \"%s\": %s %s" rfc822-string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4178 (car error-data) (cdr error-data))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4179 nil))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4180 nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4181
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4182 (defun newsticker--lists-intersect-p (list1 list2)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4183 "Return t if LIST1 and LIST2 share elements."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4184 (let ((result nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4185 (mapc (lambda (elt)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4186 (if (memq elt list2)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4187 (setq result t)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4188 list1)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4189 result))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4190
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4191 (defun newsticker--update-process-ids ()
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4192 "Update list of ids of active newsticker processes.
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4193 Checks list of active processes against list of newsticker processes."
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4194 (let ((active-procs (process-list))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4195 (new-list nil))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4196 (mapc (lambda (proc)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4197 (let ((id (process-id proc)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4198 (if (memq id newsticker--process-ids)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4199 (setq new-list (cons id new-list)))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4200 active-procs)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4201 (setq newsticker--process-ids new-list))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4202 (force-mode-line-update))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4203
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4204 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4205 ;;; images
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4206 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4207 (defun newsticker--image-get (feed-name url)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4208 "Get image of the news site FEED-NAME from URL.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4209 If the image has been downloaded in the last 24h do nothing."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4210 (let ((image-name (concat newsticker-imagecache-dirname "/"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4211 feed-name)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4212 (if (and (file-exists-p image-name)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4213 (time-less-p (current-time)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4214 (time-add (nth 5 (file-attributes image-name))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4215 (seconds-to-time 86400))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4216 (newsticker--debug-msg "%s: Getting image for %s skipped"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4217 (format-time-string "%A, %H:%M" (current-time))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4218 feed-name)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4219 ;; download
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4220 (newsticker--debug-msg "%s: Getting image for %s"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4221 (format-time-string "%A, %H:%M" (current-time))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4222 feed-name)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4223 (let* ((buffername (concat " *newsticker-wget-image-" feed-name "*"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4224 (item (or (assoc feed-name newsticker-url-list)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4225 (assoc feed-name newsticker-url-list-defaults)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4226 (error
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4227 "Cannot get news for %s: Check newsticker-url-list"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4228 feed-name)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4229 (wget-arguments (or (car (cdr (cdr (cdr (cdr item)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4230 newsticker-wget-arguments)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4231 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4232 (set-buffer (get-buffer-create buffername))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4233 (erase-buffer)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4234 ;; throw an error if there is an old wget-process around
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4235 (if (get-process feed-name)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4236 (error "Another wget-process is running for image %s"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4237 feed-name))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4238 ;; start wget
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4239 (let* ((args (append wget-arguments (list url)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4240 (proc (apply 'start-process feed-name buffername
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4241 newsticker-wget-name args)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4242 (set-process-coding-system proc 'no-conversion 'no-conversion)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4243 (set-process-sentinel proc 'newsticker--image-sentinel)))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4244
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4245 (defun newsticker--image-sentinel (process event)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4246 "Sentinel for image-retrieving PROCESS caused by EVENT."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4247 (let* ((p-status (process-status process))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4248 (exit-status (process-exit-status process))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4249 (feed-name (process-name process)))
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4250 ;; catch known errors (zombie processes, rubbish-xml, etc.)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4251 ;; if an error occurs the news feed is not updated!
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4252 (catch 'oops
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4253 (unless (and (eq p-status 'exit)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4254 (= exit-status 0))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4255 (message "%s: Error while retrieving image from %s"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4256 (format-time-string "%A, %H:%M" (current-time))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4257 feed-name)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4258 (throw 'oops nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4259 (let (image-name)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4260 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4261 (set-buffer (process-buffer process))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4262 (setq image-name (concat newsticker-imagecache-dirname "/"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4263 feed-name))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4264 (set-buffer-file-coding-system 'no-conversion)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4265 ;; make sure the cache dir exists
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4266 (unless (file-directory-p newsticker-imagecache-dirname)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4267 (make-directory newsticker-imagecache-dirname))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4268 ;; write and close buffer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4269 (let ((require-final-newline nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4270 (backup-inhibited t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4271 (coding-system-for-write 'no-conversion))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4272 (write-region nil nil image-name nil 'quiet))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4273 (set-buffer-modified-p nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4274 (kill-buffer (current-buffer)))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4275
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4276 (defun newsticker--image-read (feed-name-symbol disabled)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4277 "Read the cached image for FEED-NAME-SYMBOL from disk.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4278 If DISABLED is non-nil the image will be converted to a disabled look
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4279 \(unless `newsticker-enable-logo-manipulations' is not t\).
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4280 Return the image."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4281 (let ((image-name (concat newsticker-imagecache-dirname "/"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4282 (symbol-name feed-name-symbol)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4283 (img nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4284 (when (file-exists-p image-name)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4285 (condition-case error-data
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4286 (setq img (create-image
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4287 image-name nil nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4288 :conversion (and newsticker-enable-logo-manipulations
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4289 disabled
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4290 'disabled)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4291 :mask (and newsticker-enable-logo-manipulations
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4292 'heuristic)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4293 :ascent 70))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4294 (error
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4295 (message "Error: cannot create image for %s: %s"
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4296 feed-name-symbol error-data))))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4297 img))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4298
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4299 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4300 ;;; imenu stuff
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4301 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4302 (defun newsticker--imenu-create-index ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4303 "Scan newsticker buffer and return an index for imenu."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4304 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4305 (goto-char (point-min))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4306 (let ((index-alist nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4307 (feed-list nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4308 (go-ahead t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4309 (while go-ahead
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4310 (let ((type (get-text-property (point) 'nt-type))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4311 (title (get-text-property (point) 'nt-title)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4312 (cond ((eq type 'feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4313 ;; we're on a feed heading
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4314 (when feed-list
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4315 (if index-alist
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4316 (nconc index-alist (list feed-list))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4317 (setq index-alist (list feed-list))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4318 (setq feed-list (list title)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4319 (t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4320 (nconc feed-list
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4321 (list (cons title (point)))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4322 (setq go-ahead (newsticker--buffer-goto '(item feed))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4323 (if index-alist
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4324 (nconc index-alist (list feed-list))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4325 (setq index-alist (list feed-list)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4326 index-alist)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4327
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4328 (defun newsticker--imenu-goto (name pos &rest args)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4329 "Go to item NAME at position POS and show item.
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4330 ARGS are ignored."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4331 (goto-char pos)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4332 ;; show headline
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4333 (newsticker--buffer-goto '(desc extra feed item))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4334 (let* ((inhibit-read-only t)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4335 (pos1 (max (point-min) (1- pos)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4336 (pos2 (max pos1 (1- (point))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4337 (inv-prop (get-text-property pos 'invisible))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4338 (org-inv-prop (get-text-property pos 'org-invisible)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4339 (when (eq org-inv-prop nil)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4340 (add-text-properties pos1 pos2 (list 'invisible nil
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4341 'org-invisible inv-prop))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4342 ;; show desc
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4343 (newsticker-show-entry))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4344
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4345 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4346 ;;; buffer stuff
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4347 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4348 (defun newsticker--buffer-set-uptodate (value)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4349 "Set the uptodate-status of the newsticker buffer to VALUE.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4350 The mode-line is changed accordingly."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4351 (setq newsticker--buffer-uptodate-p value)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4352 (let ((b (get-buffer "*newsticker*")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4353 (when b
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4354 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4355 (set-buffer b)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4356 (if value
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4357 (setq mode-name "Newsticker -- up to date -- ")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4358 (setq mode-name "Newsticker -- NEED UPDATE -- ")))
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4359 (force-mode-line-update 0))))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4360
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4361 (defun newsticker--buffer-redraw ()
75646
56945fba998d (newsticker--insert-image): Update docstring. Insert the image directly.
Chong Yidong <cyd@stupidchicken.com>
parents: 75606
diff changeset
4362 "Redraw the newsticker window."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4363 (if (fboundp 'force-window-update)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4364 (force-window-update (current-buffer))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4365 (redraw-frame (selected-frame)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4366 (run-hooks 'newsticker-buffer-change-hook)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4367 (sit-for 0))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4368
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4369 (defun newsticker--buffer-insert-all-items ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4370 "Insert all cached newsticker items into the current buffer.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4371 Keeps order of feeds as given in `newsticker-url-list' and
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4372 `newsticker-url-list-defaults'."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4373 (goto-char (point-min))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4374 (mapc (lambda (url-item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4375 (let* ((feed-name (car url-item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4376 (feed-name-symbol (intern feed-name))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4377 (feed (assoc feed-name-symbol newsticker--cache))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4378 (items (cdr feed))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4379 (pos (point)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4380 (when feed
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4381 ;; insert the feed description
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4382 (mapc (lambda (item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4383 (when (eq (newsticker--age item) 'feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4384 (newsticker--buffer-insert-item item
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4385 feed-name-symbol)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4386 items)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4387 ;;insert the items
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4388 (mapc (lambda (item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4389 (if (memq (newsticker--age item) '(new immortal old
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4390 obsolete))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4391 (newsticker--buffer-insert-item item
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4392 feed-name-symbol)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4393 items)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4394 (put-text-property pos (point) 'feed (car feed))
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
4395
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4396 ;; insert empty line between feeds
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4397 (let ((p (point)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4398 (insert "\n")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4399 (put-text-property p (point) 'hard t)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4400 (append newsticker-url-list newsticker-url-list-defaults))
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
4401
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4402 (newsticker--buffer-set-faces (point-min) (point-max))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4403 (newsticker--buffer-set-invisibility (point-min) (point-max))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4404 (goto-char (point-min)))
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
4405
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4406 (defun newsticker--buffer-insert-item (item &optional feed-name-symbol)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4407 "Insert a news item in the current buffer.
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
4408 Insert a formatted representation of the ITEM. The optional parameter
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
4409 FEED-NAME-SYMBOL determines how the item is formatted and whether the
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
4410 item-retrieval time is added as well."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4411 ;; insert headline
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4412 (if (eq (newsticker--age item) 'feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4413 (newsticker--buffer-do-insert-text item 'feed feed-name-symbol)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4414 (newsticker--buffer-do-insert-text item 'item feed-name-symbol))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4415 ;; insert the description
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4416 (newsticker--buffer-do-insert-text item 'desc feed-name-symbol))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4417
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4418 (defun newsticker--buffer-do-insert-text (item type feed-name-symbol)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4419 "Actually insert contents of news item, format it, render it and all that.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4420 ITEM is a news item, TYPE tells which part of the item shall be inserted,
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4421 FEED-NAME-SYMBOL tells to which feed this item belongs."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4422 (let* ((pos (point))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4423 (format newsticker-desc-format)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4424 (pos-date-start nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4425 (pos-date-end nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4426 (pos-stat-start nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4427 (pos-stat-end nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4428 (pos-text-start nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4429 (pos-text-end nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4430 (pos-extra-start nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4431 (pos-extra-end nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4432 (pos-enclosure-start nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4433 (pos-enclosure-end nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4434 (age (newsticker--age item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4435 (preformatted-contents (newsticker--preformatted-contents item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4436 (preformatted-title (newsticker--preformatted-title item)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4437 (cond ((and preformatted-contents
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4438 (not (eq (aref preformatted-contents 0) ?\n));; we must
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4439 ;; NOT have a line
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4440 ;; break!
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4441 (eq type 'desc))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4442 (insert preformatted-contents))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4443 ((and preformatted-title
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4444 (not (eq (aref preformatted-title 0) ?\n));; we must NOT have a
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4445 ;; line break!
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4446 (eq type 'item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4447 (insert preformatted-title))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4448 (t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4449 ;; item was not formatted before.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4450 ;; Let's go.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4451 (if (eq type 'item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4452 (setq format newsticker-item-format)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4453 (if (eq type 'feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4454 (setq format newsticker-heading-format)))
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
4455
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4456 (while (> (length format) 0)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4457 (let ((prefix (if (> (length format) 1)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4458 (substring format 0 2)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4459 "")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4460 (cond ((string= "%c" prefix)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4461 ;; contents
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4462 (when (newsticker--desc item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4463 (setq pos-text-start (point-marker))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4464 (insert (newsticker--desc item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4465 (setq pos-text-end (point-marker)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4466 (setq format (substring format 2)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4467 ((string= "%d" prefix)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4468 ;; date
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4469 (setq pos-date-start (point-marker))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4470 (if (newsticker--time item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4471 (insert (format-time-string newsticker-date-format
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4472 (newsticker--time item))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4473 (setq pos-date-end (point-marker))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4474 (setq format (substring format 2)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4475 ((string= "%l" prefix)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4476 ;; logo
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4477 (let ((disabled (cond ((eq (newsticker--age item) 'feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4478 (= (newsticker--stat-num-items
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4479 feed-name-symbol 'new) 0))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4480 (t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4481 (not (eq (newsticker--age item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4482 'new))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4483 (let ((img (newsticker--image-read feed-name-symbol
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4484 disabled)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4485 (when img
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4486 (newsticker--insert-image img (car item)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4487 (setq format (substring format 2)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4488 ((string= "%L" prefix)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4489 ;; logo or title
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4490 (let ((disabled (cond ((eq (newsticker--age item) 'feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4491 (= (newsticker--stat-num-items
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4492 feed-name-symbol 'new) 0))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4493 (t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4494 (not (eq (newsticker--age item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4495 'new))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4496 (let ((img (newsticker--image-read feed-name-symbol
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4497 disabled)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4498 (if img
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4499 (newsticker--insert-image img (car item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4500 (when (car item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4501 (setq pos-text-start (point-marker))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4502 (if (eq (newsticker--age item) 'feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4503 (insert (newsticker--title item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4504 ;; FIXME: This is not the "real" title!
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4505 (insert (format "%s"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4506 (car (newsticker--cache-get-feed
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4507 feed-name-symbol)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4508 (setq pos-text-end (point-marker))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4509 (setq format (substring format 2)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4510 ((string= "%s" prefix)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4511 ;; statistics
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4512 (setq pos-stat-start (point-marker))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4513 (if (eq (newsticker--age item) 'feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4514 (insert (newsticker--buffer-statistics
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4515 feed-name-symbol)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4516 (setq pos-stat-end (point-marker))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4517 (setq format (substring format 2)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4518 ((string= "%t" prefix)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4519 ;; title
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4520 (when (car item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4521 (setq pos-text-start (point-marker))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4522 (insert (car item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4523 (setq pos-text-end (point-marker)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4524 (setq format (substring format 2)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4525 ((string-match "%." prefix)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4526 ;; unknown specifier!
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4527 (insert prefix)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4528 (setq format (substring format 2)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4529 ((string-match "^\\([^%]*\\)\\(.*\\)" format) ;; FIXME!
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4530 ;; everything else
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4531 (let ((p (point)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4532 (insert (substring format
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4533 (match-beginning 1) (match-end 1)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4534 ;; in case that the format string contained newlines
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4535 (put-text-property p (point) 'hard t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4536 (setq format (substring format (match-beginning 2)))))))
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
4537
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4538 ;; decode HTML if possible...
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4539 (let ((is-rendered-HTML nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4540 (when (and newsticker-html-renderer pos-text-start pos-text-end)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4541 (condition-case error-data
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4542 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4543 ;; check whether it is necessary to call html renderer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4544 ;; (regexp inspired by htmlr.el)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4545 (goto-char pos-text-start)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4546 (when (re-search-forward
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4547 "</?[A-Za-z1-6]*\\|&#?[A-Za-z0-9]+;" pos-text-end t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4548 ;; (message "%s" (newsticker--title item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4549 (let ((w3m-fill-column (if newsticker-use-full-width
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4550 -1 fill-column))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4551 (w3-maximum-line-length
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4552 (if newsticker-use-full-width nil fill-column)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4553 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4554 (funcall newsticker-html-renderer pos-text-start
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4555 pos-text-end)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4556 (cond ((eq newsticker-html-renderer 'w3m-region)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4557 (add-text-properties pos (point-max)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4558 (list 'keymap
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4559 w3m-minor-mode-map)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4560 ((eq newsticker-html-renderer 'w3-region)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4561 (add-text-properties pos (point-max)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4562 (list 'keymap w3-mode-map))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4563 (setq is-rendered-HTML t)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4564 (error
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4565 (message "Error: HTML rendering failed: %s, %s"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4566 (car error-data) (cdr error-data)))))
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4567 ;; After html rendering there might be chunks of blank
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4568 ;; characters between rendered text and date, statistics or
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4569 ;; whatever. Remove it
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4570 (when (and (eq type 'item) is-rendered-HTML)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4571 (goto-char pos)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4572 (while (re-search-forward "[ \t]*\n[ \t]*" nil t)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4573 (replace-match " " nil nil))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4574 (goto-char (point-max)))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4575 (when (and newsticker-justification
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
4576 (memq type '(item desc))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4577 (not is-rendered-HTML))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4578 (condition-case nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4579 (let ((use-hard-newlines t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4580 (fill-region pos (point-max) newsticker-justification))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4581 (error nil))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4582
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4583 ;; remove leading and trailing newlines
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4584 (goto-char pos)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4585 (unless (= 0 (skip-chars-forward " \t\r\n"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4586 (delete-region pos (point)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4587 (goto-char (point-max))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4588 (let ((end (point)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4589 (unless (= 0 (skip-chars-backward " \t\r\n" (1+ pos)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4590 (delete-region (point) end)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4591 (goto-char (point-max))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4592 ;; closing newline
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4593 (unless nil ;;(eq pos (point))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4594 (insert "\n")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4595 (put-text-property (1- (point)) (point) 'hard t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4596
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4597 ;; insert enclosure element
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4598 (when (eq type 'desc)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4599 (setq pos-enclosure-start (point))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4600 (newsticker--buffer-insert-enclosure item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4601 (setq pos-enclosure-end (point)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4602
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4603 ;; show extra elements
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4604 (when (eq type 'desc)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4605 (goto-char (point-max))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4606 (setq pos-extra-start (point))
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4607 (newsticker--buffer-print-extra-elements item)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4608 (setq pos-extra-end (point)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4609
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4610 ;; text properties
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4611 (when (memq type '(feed item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4612 (add-text-properties pos (1- (point))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4613 (list 'mouse-face 'highlight
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4614 'nt-link (newsticker--link item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4615 'help-echo
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4616 (format "mouse-2: visit item (%s)"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4617 (newsticker--link item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4618 'keymap newsticker--url-keymap))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4619 (add-text-properties pos (point)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4620 (list 'nt-title (newsticker--title item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4621 'nt-desc (newsticker--desc item))))
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
4622
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4623 (add-text-properties pos (point)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4624 (list 'nt-type type
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4625 'nt-face type
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4626 'nt-age age
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4627 'nt-guid (newsticker--guid item)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4628 (when (and pos-date-start pos-date-end)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4629 (put-text-property pos-date-start pos-date-end 'nt-face 'date))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4630 (when (and pos-stat-start pos-stat-end)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4631 (put-text-property pos-stat-start pos-stat-end 'nt-face 'stat))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4632 (when (and pos-extra-start pos-extra-end)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4633 (put-text-property pos-extra-start pos-extra-end
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4634 'nt-face 'extra)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4635 (put-text-property pos-extra-start pos-extra-end
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4636 'nt-type 'extra))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4637 (when (and pos-enclosure-start pos-enclosure-end
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4638 (> pos-enclosure-end pos-enclosure-start))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4639 (put-text-property pos-enclosure-start (1- pos-enclosure-end)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4640 'nt-face 'enclosure))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4641
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4642 ;; left margin
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4643 ;;(unless (memq type '(feed item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4644 ;;(set-left-margin pos (1- (point)) 1))
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
4645
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4646 ;; save rendered stuff
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4647 (cond ((eq type 'desc)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4648 ;; preformatted contents
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4649 (newsticker--cache-set-preformatted-contents
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4650 item (buffer-substring pos (point))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4651 ((eq type 'item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4652 ;; preformatted title
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4653 (newsticker--cache-set-preformatted-title
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4654 item (buffer-substring pos (point)))))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4655
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4656 (defun newsticker--buffer-print-extra-elements (item)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4657 "Insert extra-elements of ITEM in a pretty form into the current buffer."
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4658 (let ((ignored-elements '(items link title description
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4659 content:encoded
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4660 dc:subject dc:date item guid
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4661 pubDate enclosure))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4662 (left-column-width 1))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4663 (mapc (lambda (extra-element)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4664 (unless (memq (car extra-element) ignored-elements)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4665 (setq left-column-width (max left-column-width
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4666 (length (symbol-name
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4667 (car extra-element)))))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4668 (newsticker--extra item))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4669 (mapc (lambda (extra-element)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4670 (unless (memq (car extra-element) ignored-elements)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4671 (newsticker--buffer-do-print-extra-element extra-element
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4672 left-column-width)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4673 (newsticker--extra item))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4674
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4675 (defun newsticker--buffer-do-print-extra-element (extra-element width)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4676 "Actually print an EXTRA-ELEMENT using the given WIDTH."
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4677 (let ((name (symbol-name (car extra-element))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4678 (insert (format "%s: " name))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4679 (insert (make-string (- width (length name)) ? )))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4680 (let (;;(attributes (cadr extra-element)) ;FIXME!!!!
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4681 (contents (cddr extra-element)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4682 (cond ((listp contents)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4683 (mapc (lambda (i)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4684 (if (and (stringp i)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4685 (string-match "^http://.*" i))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4686 (let ((pos (point)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4687 (insert i " ") ; avoid self-reference from the
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4688 ; nt-link thing
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4689 (add-text-properties
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4690 pos (point)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4691 (list 'mouse-face 'highlight
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4692 'nt-link i
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4693 'help-echo
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4694 (format "mouse-2: visit (%s)" i)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4695 'keymap newsticker--url-keymap)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4696 (insert (format "%s" i))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4697 contents))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4698 (t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4699 (insert (format "%s" contents))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4700 (insert "\n")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4701
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4702 (defun newsticker--buffer-insert-enclosure (item)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4703 "Insert enclosure element of a news ITEM into the current buffer."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4704 (let ((enclosure (newsticker--enclosure item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4705 (beg (point)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4706 (when enclosure
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4707 (let ((url (cdr (assoc 'url enclosure)))
75606
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
4708 (length (string-to-number (or (cdr (assoc 'length enclosure))
b4a41bf661e9 (newsticker-version): Changed to "1.10".
Eli Zaretskii <eliz@gnu.org>
parents: 75347
diff changeset
4709 "0")))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4710 (type (cdr (assoc 'type enclosure))))
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4711 (cond ((> length 1048576)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4712 (insert (format "Enclosed file (%s, %1.2f MBytes)" type
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4713 (/ length 1048576))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4714 ((> length 1024)
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4715 (insert (format "Enclosed file (%s, %1.2f KBytes)" type
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
4716 (/ length 1024)))))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4717 (add-text-properties beg (point)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4718 (list 'mouse-face 'highlight
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4719 'nt-link url
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4720 'help-echo (format
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4721 "mouse-2: visit (%s)" url)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4722 'keymap newsticker--url-keymap
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4723 'nt-face 'enclosure
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4724 'nt-type 'desc))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4725 (insert "\n")))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4726
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4727 (defun newsticker--buffer-statistics (feed-name-symbol)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4728 "Return a statistic string for the feed given by FEED-NAME-SYMBOL.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4729 See `newsticker-statistics-format'."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4730 (let ((case-fold-search nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4731 (replace-regexp-in-string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4732 "%a"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4733 (format "%d" (newsticker--stat-num-items feed-name-symbol))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4734 (replace-regexp-in-string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4735 "%i"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4736 (format "%d" (newsticker--stat-num-items feed-name-symbol 'immortal))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4737 (replace-regexp-in-string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4738 "%n"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4739 (format "%d" (newsticker--stat-num-items feed-name-symbol 'new))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4740 (replace-regexp-in-string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4741 "%o"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4742 (format "%d" (newsticker--stat-num-items feed-name-symbol 'old))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4743 (replace-regexp-in-string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4744 "%O"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4745 (format "%d" (newsticker--stat-num-items feed-name-symbol 'obsolete))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4746 newsticker-statistics-format)))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4747
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4748 (defun newsticker--buffer-set-faces (start end)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4749 "Add face properties according to mark property.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4750 Scans the buffer between START and END."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4751 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4752 ;;(put-text-property start end 'face 'newsticker-default-face)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4753 (goto-char start)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4754 (let ((pos1 start)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4755 (pos2 1)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4756 (nt-face (get-text-property start 'nt-face))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4757 (nt-age (get-text-property start 'nt-age)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4758 (when nt-face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4759 (setq pos2 (next-single-property-change (point) 'nt-face))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4760 (newsticker--set-face-properties pos1 pos2 nt-face nt-age)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4761 (setq nt-face (get-text-property pos2 'nt-face))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4762 (setq pos1 pos2))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4763 (while (and (setq pos2 (next-single-property-change pos1 'nt-face))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4764 (<= pos2 end)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4765 (> pos2 pos1))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4766 (newsticker--set-face-properties pos1 pos2 nt-face nt-age)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4767 (setq nt-face (get-text-property pos2 'nt-face))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4768 (setq nt-age (get-text-property pos2 'nt-age))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4769 (setq pos1 pos2)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4770
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4771 (defun newsticker--buffer-set-invisibility (start end)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4772 "Add invisibility properties according to nt-type property.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4773 Scans the buffer between START and END. Sets the 'invisible
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4774 property to '(<nt-type>-<nt-age> <nt-type> <nt-age>)."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4775 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4776 ;; reset invisibility settings
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4777 (put-text-property start end 'invisible nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4778 ;; let's go
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4779 (goto-char start)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4780 (let ((pos1 start)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4781 (pos2 1)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4782 (nt-type (get-text-property start 'nt-type))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4783 (nt-age (get-text-property start 'nt-age)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4784 (when nt-type
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4785 (setq pos2 (next-single-property-change (point) 'nt-type))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4786 (put-text-property (max (point-min) pos1) (1- pos2)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4787 'invisible
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4788 (list (intern
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
4789 (concat
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
4790 (symbol-name
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4791 (if (eq nt-type 'extra) 'desc nt-type))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4792 "-"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4793 (symbol-name nt-age)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4794 nt-type
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4795 nt-age))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4796 (setq nt-type (get-text-property pos2 'nt-type))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4797 (setq pos1 pos2))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4798 (while (and (setq pos2 (next-single-property-change pos1 'nt-type))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4799 (<= pos2 end)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4800 (> pos2 pos1))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4801 ;; must shift one char to the left in order to handle inivisible
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4802 ;; newlines, motion in invisible text areas and all that correctly
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4803 (put-text-property (1- pos1) (1- pos2)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4804 'invisible
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4805 (list (intern
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
4806 (concat
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
4807 (symbol-name
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4808 (if (eq nt-type 'extra) 'desc nt-type))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4809 "-"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4810 (symbol-name nt-age)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4811 nt-type
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4812 nt-age))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4813 (setq nt-type (get-text-property pos2 'nt-type))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4814 (setq nt-age (get-text-property pos2 'nt-age))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4815 (setq pos1 pos2)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4816
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4817 (defun newsticker--set-face-properties (pos1 pos2 nt-face age)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4818 "Set the face for the text between the positions POS1 and POS2.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4819 The face is chosen according the values of NT-FACE and AGE."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4820 (let ((face (cond ((eq nt-face 'feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4821 'newsticker-feed-face)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4822 ((eq nt-face 'item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4823 (cond ((eq age 'new)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4824 'newsticker-new-item-face)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4825 ((eq age 'old)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4826 'newsticker-old-item-face)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4827 ((eq age 'immortal)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4828 'newsticker-immortal-item-face)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4829 ((eq age 'obsolete)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4830 'newsticker-obsolete-item-face)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4831 ((eq nt-face 'date)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4832 'newsticker-date-face)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4833 ((eq nt-face 'stat)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4834 'newsticker-statistics-face)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4835 ((eq nt-face 'extra)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4836 'newsticker-extra-face)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4837 ((eq nt-face 'enclosure)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4838 'newsticker-enclosure-face))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4839 (when face
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4840 (put-text-property pos1 (max pos1 pos2) 'face face))))
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
4841
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4842 (defun newsticker--insert-image (img string)
75646
56945fba998d (newsticker--insert-image): Update docstring. Insert the image directly.
Chong Yidong <cyd@stupidchicken.com>
parents: 75606
diff changeset
4843 "Insert IMG with STRING at point."
56945fba998d (newsticker--insert-image): Update docstring. Insert the image directly.
Chong Yidong <cyd@stupidchicken.com>
parents: 75606
diff changeset
4844 (insert-image img string))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4845
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4846 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4847 ;;; HTML rendering
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4848 ;; ======================================================================
86818
45b24827f3b3 (w3m-toggle-inline-image, htmlr-reset)
Glenn Morris <rgm@gnu.org>
parents: 85777
diff changeset
4849
45b24827f3b3 (w3m-toggle-inline-image, htmlr-reset)
Glenn Morris <rgm@gnu.org>
parents: 85777
diff changeset
4850 ;; External.
45b24827f3b3 (w3m-toggle-inline-image, htmlr-reset)
Glenn Morris <rgm@gnu.org>
parents: 85777
diff changeset
4851 (declare-function htmlr-reset "ext:htmlr" ())
45b24827f3b3 (w3m-toggle-inline-image, htmlr-reset)
Glenn Morris <rgm@gnu.org>
parents: 85777
diff changeset
4852 (declare-function htmlr-step "ext:htmlr" ())
45b24827f3b3 (w3m-toggle-inline-image, htmlr-reset)
Glenn Morris <rgm@gnu.org>
parents: 85777
diff changeset
4853
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4854 (defun newsticker-htmlr-render (pos1 pos2) ;
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4855 "Replacement for `htmlr-render'.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4856 Renders the HTML code in the region POS1 to POS2 using htmlr."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4857 (let ((str (buffer-substring-no-properties pos1 pos2)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4858 (delete-region pos1 pos2)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4859 (insert
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4860 (with-temp-buffer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4861 (insert str)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4862 (goto-char (point-min))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4863 ;; begin original htmlr-render
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4864 (htmlr-reset)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4865 ;; something omitted here...
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4866 (while (< (point) (point-max))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4867 (htmlr-step))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4868 ;; end original htmlr-render
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4869 (newsticker--remove-whitespace (buffer-string))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4870
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4871 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4872 ;;; Functions working on the *newsticker* buffer
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4873 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4874 (defun newsticker--buffer-make-item-completely-visible ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4875 "Scroll buffer until current item is completely visible."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4876 (when newsticker--auto-narrow-to-feed
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4877 (let* ((min (or (save-excursion (newsticker--buffer-beginning-of-feed))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4878 (point-min)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4879 (max (or (save-excursion (newsticker--buffer-end-of-feed))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4880 (point-max))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4881 (narrow-to-region min max)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4882 (when newsticker--auto-narrow-to-item
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4883 (let* ((min (or (save-excursion (newsticker--buffer-beginning-of-item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4884 (point-min)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4885 (max (or (save-excursion (newsticker--buffer-end-of-item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4886 (point-max))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4887 (narrow-to-region min max)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4888 (sit-for 0)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4889 ;; do not count lines and stuff because that does not work when images
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4890 ;; are displayed. Do it the simple way:
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4891 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4892 (newsticker--buffer-end-of-item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4893 (unless (pos-visible-in-window-p)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4894 (recenter -1)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4895 (unless (pos-visible-in-window-p)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4896 (recenter 0)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4897
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4898 (defun newsticker--buffer-get-feed-title-at-point ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4899 "Return feed symbol of headline at point."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4900 (format "%s" (or (get-text-property (point) 'feed) " ")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4901
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4902 (defun newsticker--buffer-get-item-title-at-point ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4903 "Return feed symbol of headline at point."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4904 (format "%s" (or (get-text-property (point) 'nt-title) " ")))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4905
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4906 (defun newsticker--buffer-goto (types &optional age backwards)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4907 "Search next occurrence of TYPES in current buffer.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4908 TYPES is a list of symbols. If TYPES is found point is moved, if
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4909 not point is left unchanged. If optional parameter AGE is not
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4910 nil, the type AND the age must match. If BACKWARDS is t, search
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4911 backwards."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4912 (let ((pos (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4913 (save-restriction
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4914 (widen)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4915 (catch 'found
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4916 (let ((tpos (point)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4917 (while (setq tpos
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4918 (if backwards
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4919 (if (eq tpos (point-min))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4920 nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4921 (or (previous-single-property-change
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4922 tpos 'nt-type)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4923 (point-min)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4924 (next-single-property-change
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4925 tpos 'nt-type)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4926 (and (memq (get-text-property tpos 'nt-type) types)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4927 (or (not age)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4928 (eq (get-text-property tpos 'nt-age) age))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4929 (throw 'found tpos)))))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4930 (when pos
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4931 (goto-char pos))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4932 pos))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4933
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
4934 (defun newsticker--buffer-hideshow (mark-age onoff)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4935 "Hide or show items of type MARK-AGE.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4936 If ONOFF is nil the item is hidden, otherwise it is shown."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4937 (if onoff
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
4938 (remove-from-invisibility-spec mark-age)
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4939 (add-to-invisibility-spec mark-age)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4940
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4941 (defun newsticker--buffer-beginning-of-item ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4942 "Move point to the beginning of the item at point.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4943 Return new position."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4944 (if (bobp)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4945 (point)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4946 (let ((type (get-text-property (point) 'nt-type))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4947 (typebefore (get-text-property (1- (point)) 'nt-type)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4948 (if (and (memq type '(item feed))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4949 (not (eq type typebefore)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4950 (point)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4951 (newsticker--buffer-goto '(item feed) nil t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4952 (point)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4953
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4954 (defun newsticker--buffer-beginning-of-feed ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4955 "Move point to the beginning of the feed at point.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4956 Return new position."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4957 (if (bobp)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4958 (point)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4959 (let ((type (get-text-property (point) 'nt-type))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4960 (typebefore (get-text-property (1- (point)) 'nt-type)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4961 (if (and (memq type '(feed))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4962 (not (eq type typebefore)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4963 (point)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4964 (newsticker--buffer-goto '(feed) nil t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4965 (point)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4966
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4967 (defun newsticker--buffer-end-of-item ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4968 "Move point to the end of the item at point.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4969 Take care: end of item is at the end of its last line!"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4970 (when (newsticker--buffer-goto '(item feed nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4971 (point)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4972
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4973 (defun newsticker--buffer-end-of-feed ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4974 "Move point to the end of the last item of the feed at point.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4975 Take care: end of item is at the end of its last line!"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4976 (when (newsticker--buffer-goto '(feed nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4977 (backward-char 1)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4978 (point)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4979
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4980 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4981 ;;; manipulation of ticker text
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4982 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4983 (defun newsticker--ticker-text-setup ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4984 "Build the ticker text which is scrolled or flashed in the echo area."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4985 ;; reset scrollable text
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4986 (setq newsticker--scrollable-text "")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4987 (setq newsticker--item-list nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4988 (setq newsticker--item-position 0)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4989 ;; build scrollable text from cache data
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4990 (let ((have-something nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4991 (mapc
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4992 (lambda (feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4993 (let ((feed-name (symbol-name (car feed))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4994 (let ((num-new (newsticker--stat-num-items (car feed) 'new))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4995 (num-old (newsticker--stat-num-items (car feed) 'old))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4996 (num-imm (newsticker--stat-num-items (car feed) 'immortal))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4997 (num-obs (newsticker--stat-num-items (car feed) 'obsolete)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4998 (when (or (> num-new 0)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4999 (and (> num-old 0)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5000 (not newsticker-hide-old-items-in-echo-area))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5001 (and (> num-imm 0)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5002 (not newsticker-hide-immortal-items-in-echo-area))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5003 (and (> num-obs 0)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5004 (not newsticker-hide-obsolete-items-in-echo-area)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5005 (setq have-something t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5006 (mapc
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5007 (lambda (item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5008 (let ((title (replace-regexp-in-string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5009 "[\r\n]+" " "
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5010 (newsticker--title item)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5011 (age (newsticker--age item)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5012 (unless (string= title newsticker--error-headline)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5013 (when
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5014 (or (eq age 'new)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5015 (and (eq age 'old)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5016 (not newsticker-hide-old-items-in-echo-area))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5017 (and (eq age 'obsolete)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5018 (not
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5019 newsticker-hide-obsolete-items-in-echo-area))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5020 (and (eq age 'immortal)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5021 (not
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5022 newsticker-hide-immortal-items-in-echo-area)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5023 (setq title (newsticker--remove-whitespace title))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5024 ;; add to flash list
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5025 (add-to-list 'newsticker--item-list
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5026 (concat feed-name ": " title) t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5027 ;; and to the scrollable text
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5028 (setq newsticker--scrollable-text
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5029 (concat newsticker--scrollable-text
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5030 " " feed-name ": " title " +++"))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5031 (cdr feed))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5032 newsticker--cache)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5033 (when have-something
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5034 (setq newsticker--scrollable-text
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5035 (concat "+++ "
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5036 (format-time-string "%A, %H:%M"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5037 newsticker--latest-update-time)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5038 " ++++++" newsticker--scrollable-text)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5039
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5040 (defun newsticker--ticker-text-remove (feed title)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5041 "Remove the item of FEED with TITLE from the ticker text."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5042 ;; reset scrollable text
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5043 (setq newsticker--item-position 0)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5044 (let ((feed-name (symbol-name feed))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5045 (t-title (replace-regexp-in-string "[\r\n]+" " " title)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5046 ;; remove from flash list
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5047 (setq newsticker--item-list (remove (concat feed-name ": " t-title)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5048 newsticker--item-list))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5049 ;; and from the scrollable text
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5050 (setq newsticker--scrollable-text
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5051 (replace-regexp-in-string
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5052 (regexp-quote (concat " " feed-name ": " t-title " +++"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5053 ""
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5054 newsticker--scrollable-text))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5055 (if (string-match (concat "^\\+\\+\\+ [A-Z][a-z]+, "
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5056 "[012]?[0-9]:[0-9][0-9] \\+\\+\\+\\+\\+\\+$")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5057 newsticker--scrollable-text)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5058 (setq newsticker--scrollable-text ""))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5059
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5060 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5061 ;;; manipulation of cached data
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5062 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5063 (defun newsticker--cache-set-preformatted-contents (item contents)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5064 "Set preformatted contents of ITEM to CONTENTS."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5065 (if (nthcdr 6 item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5066 (setcar (nthcdr 6 item) contents)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5067 (setcdr (nthcdr 5 item) (list contents))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5068
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5069 (defun newsticker--cache-set-preformatted-title (item title)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5070 "Set preformatted title of ITEM to TITLE."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5071 (if (nthcdr 7 item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5072 (setcar (nthcdr 7 item) title)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5073 (setcdr (nthcdr 6 item) title)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5074
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5075 (defun newsticker--cache-replace-age (data feed old-age new-age)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5076 "Mark all items in DATA in FEED which carry age OLD-AGE with NEW-AGE.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5077 If FEED is 'any it applies to all feeds. If OLD-AGE is 'any,
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5078 all marks are replaced by NEW-AGE. Removes all pre-formatted contents."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5079 (mapc (lambda (a-feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5080 (when (or (eq feed 'any)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5081 (eq (car a-feed) feed))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5082 (let ((items (cdr a-feed)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5083 (mapc (lambda (item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5084 (when (or (eq old-age 'any)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5085 (eq (newsticker--age item) old-age))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5086 (setcar (nthcdr 4 item) new-age)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5087 (newsticker--do-forget-preformatted item)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5088 items))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5089 data)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5090 data)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5091
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5092 (defun newsticker--cache-mark-expired (data feed old-age new-age time)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5093 "Mark all expired entries.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5094 This function sets the age entries in DATA in the feed FEED. If
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5095 an item's age is OLD-AGE it is set to NEW-AGE if the item is
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5096 older than TIME."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5097 (mapc
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5098 (lambda (a-feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5099 (when (or (eq feed 'any)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5100 (eq (car a-feed) feed))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5101 (let ((items (cdr a-feed)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5102 (mapc
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5103 (lambda (item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5104 (when (eq (newsticker--age item) old-age)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5105 (let ((exp-time (time-add (newsticker--time item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5106 (seconds-to-time time))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5107 (when (time-less-p exp-time (current-time))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5108 (newsticker--debug-msg
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5109 "Item `%s' from %s has expired on %s"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5110 (newsticker--title item)
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
5111 (format-time-string "%Y-%02m-%d, %H:%M"
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5112 (newsticker--time item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5113 (format-time-string "%Y-%02m-%d, %H:%M" exp-time))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5114 (setcar (nthcdr 4 item) new-age)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5115 items))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5116 data)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5117 data)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5118
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5119 (defun newsticker--cache-contains (data feed title desc link age
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5120 &optional guid)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5121 "Check DATA whether FEED contains an item with the given properties.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5122 This function returns the contained item or nil if it is not
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5123 contained.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5124 The properties which are checked are TITLE, DESC, LINK, AGE, and
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5125 GUID. In general all properties must match in order to return a
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5126 certain item, except for the following cases.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5127
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5128 If AGE equals 'feed the TITLE, DESCription and LINK do not
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
5129 matter. If DESC is nil it is ignored as well. If
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5130 `newsticker-desc-comp-max' is non-nil, only the first
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5131 `newsticker-desc-comp-max' characters of DESC are taken into
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5132 account.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5133
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5134 If GUID is non-nil it is sufficient to match this value, and the
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5135 other properties are ignored."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5136 (condition-case nil
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5137 (catch 'found
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5138 (when (and desc newsticker-desc-comp-max
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5139 (> (length desc) newsticker-desc-comp-max))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5140 (setq desc (substring desc 0 newsticker-desc-comp-max)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5141 (mapc
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5142 (lambda (this-feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5143 (when (eq (car this-feed) feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5144 (mapc (lambda (anitem)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5145 (when (or
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5146 ;; global unique id can match
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5147 (and guid
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5148 (string= guid (newsticker--guid anitem)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5149 ;; or title, desc, etc.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5150 (and
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5151 ;;(or (not (eq age 'feed))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5152 ;; (eq (newsticker--age anitem) 'feed))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5153 (string= (newsticker--title anitem)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5154 title)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5155 (or (not link)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5156 (string= (newsticker--link anitem)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5157 link))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5158 (or (not desc)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5159 (if (and desc newsticker-desc-comp-max
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5160 (> (length (newsticker--desc anitem))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5161 newsticker-desc-comp-max))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5162 (string= (substring
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5163 (newsticker--desc anitem)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5164 0 newsticker-desc-comp-max)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5165 desc)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5166 (string= (newsticker--desc anitem)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5167 desc)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5168 (throw 'found anitem)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5169 (cdr this-feed))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5170 data)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5171 nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5172 (error nil)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5173
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5174 (defun newsticker--cache-add (data feed-name-symbol title desc link time age
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5175 position extra-elements
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5176 &optional updated-age updated-time
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5177 preformatted-contents
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5178 preformatted-title)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5179 "Add another item to cache data.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5180 Add to DATA in the FEED-NAME-SYMBOL an item with TITLE, DESC,
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5181 LINK, TIME, AGE, POSITION, and EXTRA-ELEMENTS. If this item is
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5182 contained already, its mark is set to UPDATED-AGE, its time is
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5183 set to UPDATED-TIME, and its pre-formatted contents is set to
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5184 PREFORMATTED-CONTENTS and PREFORMATTED-TITLE. Returns the age
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5185 which the item got."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5186 (let ((item (newsticker--cache-contains data feed-name-symbol title
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5187 desc link age)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5188 (if item
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5189 ;; does exist already -- change age, update time and position
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5190 (progn
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5191 (if (nthcdr 5 item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5192 (setcar (nthcdr 5 item) position)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5193 (setcdr (nthcdr 4 item) (list position)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5194 (setcar (nthcdr 4 item) updated-age)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5195 (if updated-time
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5196 (setcar (nthcdr 3 item) updated-time))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5197 ;; replace cached pre-formatted contents
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5198 (newsticker--cache-set-preformatted-contents
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5199 item preformatted-contents)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5200 (newsticker--cache-set-preformatted-title
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5201 item preformatted-title))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5202 ;; did not exist or age equals 'feed-name-symbol
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5203 (catch 'found
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5204 (mapc (lambda (this-feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5205 (when (eq (car this-feed) feed-name-symbol)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5206 (setcdr this-feed (nconc (cdr this-feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5207 (list (list title desc link
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5208 time age position
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5209 preformatted-contents
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5210 preformatted-title
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5211 extra-elements))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5212 (throw 'found this-feed)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5213 data)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5214 ;; the feed is not contained
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5215 (add-to-list 'data (list feed-name-symbol
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5216 (list title desc link time age position
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5217 preformatted-contents
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5218 preformatted-title
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5219 extra-elements))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5220 t))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5221 data)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5222
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5223 (defun newsticker--cache-remove (data feed-symbol age)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5224 "Remove all entries from DATA in the feed FEED-SYMBOL with AGE.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5225 FEED-SYMBOL may be 'any. Entries from old feeds, which are no longer in
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5226 `newsticker-url-list' or `newsticker-url-list-defaults', are removed as
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5227 well."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5228 (let* ((pos data)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5229 (feed (car pos))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5230 (last-pos nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5231 (while feed
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5232 (if (or (assoc (symbol-name (car feed)) newsticker-url-list)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5233 (assoc (symbol-name (car feed)) newsticker-url-list-defaults))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5234 ;; feed is still valid=active
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5235 ;; (message "Keeping feed %s" (car feed))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5236 (if (or (eq feed-symbol 'any)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5237 (eq feed-symbol (car feed)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5238 (let* ((item-pos (cdr feed))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5239 (item (car item-pos))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5240 (prev-pos nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5241 (while item
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5242 ;;(message "%s" (car item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5243 (if (eq age (newsticker--age item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5244 ;; remove this item
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5245 (progn
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5246 ;;(message "Removing item %s" (car item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5247 (if prev-pos
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5248 (setcdr prev-pos (cdr item-pos))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5249 (setcdr feed (cdr item-pos))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5250 ;;(message "Keeping item %s" (car item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5251 (setq prev-pos item-pos))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5252 (setq item-pos (cdr item-pos))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5253 (setq item (car item-pos)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5254 ;; feed is not active anymore
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5255 ;; (message "Removing feed %s" (car feed))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5256 (if last-pos
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5257 (setcdr last-pos (cdr pos))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5258 (setq data (cdr pos))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5259 (setq last-pos pos)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5260 (setq pos (cdr pos))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5261 (setq feed (car pos)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5262
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5263 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5264 ;;; Sorting
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5265 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5266 (defun newsticker--cache-item-compare-by-time (item1 item2)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5267 "Compare two news items ITEM1 and ITEM2 by comparing their time values."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5268 (catch 'result
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5269 (let ((age1 (newsticker--age item1))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5270 (age2 (newsticker--age item2)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5271 (if (not (eq age1 age2))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5272 (cond ((eq age1 'obsolete)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5273 (throw 'result nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5274 ((eq age2 'obsolete)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5275 (throw 'result t)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5276 (let* ((time1 (newsticker--time item1))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5277 (time2 (newsticker--time item2)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5278 (cond ((< (nth 0 time1) (nth 0 time2))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5279 nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5280 ((> (nth 0 time1) (nth 0 time2))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5281 t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5282 ((< (nth 1 time1) (nth 1 time2))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5283 nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5284 ((> (nth 1 time1) (nth 1 time2))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5285 t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5286 ((< (or (nth 2 time1) 0) (or (nth 2 time2) 0))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5287 nil)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5288 ((> (or (nth 2 time1) 0) (or (nth 2 time2) 0))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5289 t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5290 (t
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5291 nil)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5292
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5293 (defun newsticker--cache-item-compare-by-title (item1 item2)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5294 "Compare ITEM1 and ITEM2 by comparing their titles."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5295 (catch 'result
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5296 (let ((age1 (newsticker--age item1))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5297 (age2 (newsticker--age item2)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5298 (if (not (eq age1 age2))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5299 (cond ((eq age1 'obsolete)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5300 (throw 'result nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5301 ((eq age2 'obsolete)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5302 (throw 'result t)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5303 (string< (newsticker--title item1) (newsticker--title item2))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5304
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5305 (defun newsticker--cache-item-compare-by-position (item1 item2)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5306 "Compare ITEM1 and ITEM2 by comparing their original positions."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5307 (catch 'result
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5308 (let ((age1 (newsticker--age item1))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5309 (age2 (newsticker--age item2)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5310 (if (not (eq age1 age2))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5311 (cond ((eq age1 'obsolete)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5312 (throw 'result nil))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5313 ((eq age2 'obsolete)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5314 (throw 'result t)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5315 (< (or (newsticker--pos item1) 0) (or (newsticker--pos item2) 0))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5316
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5317 (defun newsticker--cache-sort ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5318 "Sort the newsticker cache data."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5319 (let ((sort-fun (cond ((eq newsticker-sort-method 'sort-by-time)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5320 'newsticker--cache-item-compare-by-time)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5321 ((eq newsticker-sort-method 'sort-by-title)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5322 'newsticker--cache-item-compare-by-title)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5323 ((eq newsticker-sort-method 'sort-by-original-order)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5324 'newsticker--cache-item-compare-by-position))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5325 (mapc (lambda (feed-list)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5326 (setcdr feed-list (sort (cdr feed-list)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5327 sort-fun)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5328 newsticker--cache)))
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
5329
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5330 (defun newsticker--cache-update (&optional save)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5331 "Update newsticker cache file.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5332 If optional argument SAVE is not nil the cache file is saved to disk."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5333 (save-excursion
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5334 (let ((coding-system-for-write 'utf-8)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5335 (buf (find-file-noselect newsticker-cache-filename)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5336 (when buf
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5337 (set-buffer buf)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5338 (setq buffer-undo-list t)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5339 (erase-buffer)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5340 (insert ";; -*- coding: utf-8 -*-\n")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5341 (insert (prin1-to-string newsticker--cache))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5342 (when save
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5343 (save-buffer))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5344
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5345 (defun newsticker--cache-get-feed (feed)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5346 "Return the cached data for the feed FEED.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5347 FEED is a symbol!"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5348 (assoc feed newsticker--cache))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5349
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5350 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5351 ;;; Statistics
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5352 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5353 (defun newsticker--stat-num-items (feed &optional age)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5354 "Return number of items in the given FEED which have the given AGE.
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
5355 If AGE is nil, the total number of items is returned."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5356 (let ((items (cdr (newsticker--cache-get-feed feed)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5357 (num 0))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5358 (while items
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5359 (if age
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5360 (if (eq (newsticker--age (car items)) age)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5361 (setq num (1+ num)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5362 (if (memq (newsticker--age (car items)) '(new old immortal obsolete))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5363 (setq num (1+ num))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5364 (setq items (cdr items)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5365 num))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5366
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5367 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5368 ;;; OPML
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5369 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5370 (defun newsticker-opml-export ()
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5371 "OPML subscription export.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5372 Export subscriptions to a buffer in OPML Format."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5373 (interactive)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5374 (with-current-buffer (get-buffer-create "*OPML Export*")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5375 (set-buffer-file-coding-system 'utf-8)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5376 (insert (concat
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5377 "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5378 "<!-- OPML generated by Emacs newsticker.el -->\n"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5379 "<opml version=\"1.0\">\n"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5380 " <head>\n"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5381 " <title>mySubscriptions</title>\n"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5382 " <dateCreated>" (format-time-string "%a, %d %b %Y %T %z")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5383 "</dateCreated>\n"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5384 " <ownerEmail>" user-mail-address "</ownerEmail>\n"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5385 " <ownerName>" (user-full-name) "</ownerName>\n"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5386 " </head>\n"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5387 " <body>\n"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5388 (mapc (lambda (sub)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5389 (insert " <outline text=\"")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5390 (insert (newsticker--title sub))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5391 (insert "\" xmlUrl=\"")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5392 (insert (cadr sub))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5393 (insert "\"/>\n"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5394 (append newsticker-url-list newsticker-url-list-defaults))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5395 (insert " </body>\n</opml>\n"))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5396 (pop-to-buffer "*OPML Export*")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5397 (when (fboundp 'sgml-mode)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5398 (sgml-mode)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5399
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5400 (defun newsticker-opml-import (filename)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5401 "Import OPML data from FILENAME."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5402 (interactive "fOPML file: ")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5403 (set-buffer (find-file-noselect filename))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5404 (goto-char (point-min))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5405 (let* ((node-list (xml-parse-region (point-min) (point-max)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5406 (body (car (xml-get-children (car node-list) 'body)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5407 (outlines (xml-get-children body 'outline)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5408 (mapc (lambda (outline)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5409 (let ((name (xml-get-attribute outline 'text))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5410 (url (xml-get-attribute outline 'xmlUrl)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5411 (add-to-list 'newsticker-url-list
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5412 (list name url nil nil nil) t)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5413 outlines))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5414 (customize-variable 'newsticker-url-list))
65490
e3c81c2db803 (tool-bar-map, w3-mode-map, w3m-minor-mode-map): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents: 65481
diff changeset
5415
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5416 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5417 ;;; Auto marking
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5418 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5419 (defun newsticker--run-auto-mark-filter (feed item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5420 "Automatically mark an item as old or immortal.
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5421 This function checks the variable `newsticker-auto-mark-filter-list'
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5422 for an entry that matches FEED and ITEM."
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5423 (let ((case-fold-search t))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5424 (mapc (lambda (filter)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5425 (let ((filter-feed (car filter))
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5426 (pattern-list (cadr filter)))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5427 (when (string-match filter-feed feed)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5428 (newsticker--do-run-auto-mark-filter item pattern-list))))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5429 newsticker-auto-mark-filter-list)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5430
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5431 (defun newsticker--do-run-auto-mark-filter (item list)
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
5432 "Actually compare ITEM against the pattern-LIST
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
5433 \(from `newsticker-auto-mark-filter-list')."
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5434 (mapc (lambda (pattern)
66704
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5435 (let ((age (nth 0 pattern))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5436 (place (nth 1 pattern))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5437 (regexp (nth 2 pattern))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5438 (title (newsticker--title item))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5439 (desc (newsticker--desc item)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5440 (when (or (eq place 'title) (eq place 'all))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5441 (when (and title (string-match regexp title))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5442 (newsticker--debug-msg "Auto-marking as %s: `%s'"
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5443 age (newsticker--title item))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5444 (setcar (nthcdr 4 item) age)))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5445 (when (or (eq place 'description) (eq place 'all))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5446 (when (and desc (string-match regexp desc))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5447 (newsticker--debug-msg "Auto-marking as %s: `%s'"
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5448 age (newsticker--title item))
768e9c3f6b5a Commentary updated. Code formatting changed.
Eli Zaretskii <eliz@gnu.org>
parents: 65998
diff changeset
5449 (setcar (nthcdr 4 item) age)))))
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5450 list))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5451
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5452
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5453 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5454 ;;; hook samples
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5455 ;; ======================================================================
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5456 (defun newsticker-new-item-functions-sample (feed item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5457 "Demonstrate the use of the `newsticker-new-item-functions' hook.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5458 This function just prints out the values of the FEED and title of the ITEM."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5459 (message (concat "newsticker-new-item-functions-sample: feed=`%s', "
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5460 "title=`%s'")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5461 feed (newsticker--title item)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5462
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5463 (defun newsticker-download-images (feed item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5464 "Download the first image.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5465 If FEED equals \"imagefeed\" download the first image URL found
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5466 in the description=contents of ITEM to the directory
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5467 \"~/tmp/newsticker/FEED/TITLE\" where TITLE is the title of the item."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5468 (when (string= feed "imagefeed")
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5469 (let ((title (newsticker--title item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5470 (desc (newsticker--desc item)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5471 (when (string-match "<img src=\"\\(http://[^ \"]+\\)\"" desc)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5472 (let ((url (substring desc (match-beginning 1) (match-end 1)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5473 (temp-dir (concat "~/tmp/newsticker/" feed "/" title))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5474 (org-dir default-directory))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5475 (unless (file-directory-p temp-dir)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5476 (make-directory temp-dir t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5477 (cd temp-dir)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5478 (message "Getting image %s" url)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5479 (apply 'start-process "wget-image"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5480 " *newsticker-wget-download-images*"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5481 newsticker-wget-name
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5482 (list url))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5483 (cd org-dir))))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5484
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5485 (defun newsticker-download-enclosures (feed item)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5486 "In all FEEDs download the enclosed object of the news ITEM.
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5487 The object is saved to the directory \"~/tmp/newsticker/FEED/TITLE\", which
68573
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
5488 is created if it does not exist. TITLE is the title of the news
f6bc825f1a5b (newsticker--decode-iso8601-date, newsticker--set-customvar,
Juanma Barranquero <lekktu@gmail.com>
parents: 67593
diff changeset
5489 item. Argument FEED is ignored.
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5490 This function is suited for adding it to `newsticker-new-item-functions'."
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5491 (let ((title (newsticker--title item))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5492 (enclosure (newsticker--enclosure item)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5493 (when enclosure
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5494 (let ((url (cdr (assoc 'url enclosure)))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5495 (temp-dir (concat "~/tmp/newsticker/" feed "/" title))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5496 (org-dir default-directory))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5497 (unless (file-directory-p temp-dir)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5498 (make-directory temp-dir t))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5499 (cd temp-dir)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5500 (message "Getting enclosure %s" url)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5501 (apply 'start-process "wget-enclosure"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5502 " *newsticker-wget-download-enclosures*"
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5503 newsticker-wget-name
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5504 (list url))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5505 (cd org-dir)))))
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5506
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5507
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5508 (provide 'newsticker)
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5509
65481
59060d7bf36c Add arch tagline
Miles Bader <miles@gnu.org>
parents: 65468
diff changeset
5510 ;; arch-tag: ab761dfa-67bc-4207-bc64-4307271dc381
65468
c0ae0ed7aa1a New file.
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5511 ;;; newsticker.el ends here