• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/emacs-93/emacs/lisp/net/

Lines Matching defs:feed

132 ;; * newsticker-feed contains options that define which news
141 ;; have been removed from the feed are kept in the Newsticker cache.
184 ;; * Rewrote feed parsing part. Newsticker now supports RSS 0.91,
208 ;; * Get feed logos only once every 24 h.
216 ;; a single item (bound to key `xi') or a single feed (bound to
228 ;; * Added hook variable `newsticker-select-feed-hook' which is run
229 ;; after `newsticker-(next|previous)-feed'.
233 ;; `newsticker-show-feed-desc'.
250 ;; * Renamed invisible buffers ` *wget-newsticker-<feed>*' to
251 ;; ` *newsticker-wget-<feed>*'.
277 ;; - changes of feed-titles led to duplicate feed items,
307 ;; * Added possibility to display feed logos.
318 ;; for feed desc
322 ;; * Bugfix: Apply coding-systems to feed title and description,
334 ;; 1.1 * Introduced optional feed-specific wget-arguments.
339 ;; 1.0 * Introduced feed-specific retrieval-timers.
411 This is an alist, each element consisting of (feed-name . timer).")
549 newsticker-feed-face
563 ;; customization group feed
564 (defgroup newsticker-feed nil
581 :group 'newsticker-feed)
592 The LABEL gives the name of the news feed. It can be an arbitrary string.
594 The URL gives the location of the news feed. It must point to a valid
599 specifies a fixed time at which this feed shall be retrieved for the
601 unspecified), this feed will be retrieved immediately after calling
604 The INTERVAL specifies the time between retrievals for this feed. If it
612 which apply for this feed only, overriding the value of
614 :type '(repeat (list :tag "News feed"
630 :group 'newsticker-feed)
636 able to return the contents of a news feed file on stdout."
638 :group 'newsticker-feed)
646 :group 'newsticker-feed)
662 :group 'newsticker-feed)
671 :group 'newsticker-feed)
700 "Decides whether to keep unread items which have been removed from feed.
701 If t a new item, which has been removed from the feed, is kept in
727 If FEED-NAME matches the name of the corresponding news feed, the
758 "Settings for layout of the feed reader."
767 which have been removed from the news feed, there is no original
801 "Format string for feed headings.
803 %d The date the feed was retrieved. See `newsticker-date-format'.
804 %l The logo (image) of the feed. Most news feeds provide a small
807 %L The logo (image) of the feed. If the logo is not available
808 the title of the feed is used.
809 %s The statistical data of the feed. See `newsticker-statistics-format'.
810 %t The title of the feed, i.e. its name."
820 %l The logo (image) of the feed. Most news feeds provide a small
823 %L The logo (image) of the feed. If the logo is not available
824 the title of the feed is used.
843 "Format for the date part in item and feed lines.
851 "Format for the statistics part in feed lines.
853 %a The number of all items in the feed.
854 %i The number of immortal items in the feed.
855 %n The number of new items in the feed.
856 %o The number of old items in the feed.
857 %O The number of obsolete items in the feed."
938 "Settings for the faces of the feed reader."
941 (defface newsticker-feed-face
1102 FEED the name of the corresponding news feed,
1129 (defcustom newsticker-select-feed-hook
1131 "List of functions run after a feed has been selected.
1132 Each function is called after one of `newsticker-next-feed', and
1133 `newsticker-previous-feed' has been called.
1136 assures that the current feed is completely visible."
1155 `newsticker-toggle-auto-narrow-to-feed' or
1185 buffers *newsticker-wget-<feed>* will not be closed."
1259 ordinary news items, whereas 'feed denotes an item which is not a
1260 headline but describes the feed itself. INDEX denotes the
1267 (defvar newsticker--auto-narrow-to-feed nil
1268 "Automatically narrow to current news feed.
1269 If non-nil only the items of the current news feed are visible.")
1429 (defconst newsticker--previous-feed-image
1512 "Image for the previous feed button."))
1514 (defconst newsticker--next-feed-image
1602 "Image for the next feed button."))
1679 "Image for the next feed button."))
1805 "Image for the next feed button."))
1887 "Image for the next feed button."))
1990 "Image for the next feed button."))
2173 (define-key tool-bar-map [newsticker-toggle-auto-narrow-to-feed]
2174 (list 'menu-item "newsticker-toggle-auto-narrow-to-feed"
2175 'newsticker-toggle-auto-narrow-to-feed
2179 (define-key tool-bar-map [newsticker-next-feed]
2180 (list 'menu-item "newsticker-next-feed" 'newsticker-next-feed
2182 :help "Go to next feed"
2183 :image newsticker--next-feed-image
2184 :enable '(newsticker-next-feed-available-p)))
2197 (define-key tool-bar-map [newsticker-previous-feed]
2198 (list 'menu-item "newsticker-previous-feed" 'newsticker-previous-feed
2200 :help "Go to previous feed"
2201 :image newsticker--previous-feed-image
2202 :enable '(newsticker-previous-feed-available-p)))
2243 '(:eval (newsticker--buffer-get-feed-title-at-point))
2257 (define-key newsticker-mode-map "sf" 'newsticker-show-feed-desc)
2258 (define-key newsticker-mode-map "hf" 'newsticker-hide-feed-desc)
2272 (define-key newsticker-mode-map "F" 'newsticker-previous-feed)
2276 (define-key newsticker-mode-map "f" 'newsticker-next-feed)
2294 'newsticker-toggle-auto-narrow-to-feed)
2324 '("Get news from feed at point" . newsticker-get-news-at-point))
2330 '("Mark all items in feed at point as read" .
2342 (define-key newsticker-menu [newsticker-toggle-auto-narrow-to-feed]
2343 '("Narrow to single news feed" . newsticker-toggle-auto-narrow-to-feed))
2428 ;; one timer for each feed
2430 (let* ((feed-name (car item))
2439 feed-name))
2441 feed-name start-time interval)
2451 'newsticker-get-news feed-name))
2454 (cons feed-name timer))))))
2565 "Launch retrieval of news for the feed point is in.
2569 (let ((feed (get-text-property (point) 'feed)))
2570 (when feed
2571 (newsticker--debug-msg "Getting news for %s" (symbol-name feed))
2572 (newsticker-get-news (symbol-name feed)))))
2638 (feed (get-text-property pos 'feed))
2644 feed title nt-desc
2652 ;; beg feed title)
2657 beg feed title))))))
2722 (setq search-list '(item feed)))
2737 (defun newsticker-next-item-same-feed ()
2738 "Go to next news item in the same feed.
2746 (end-of-feed (save-excursion (newsticker--buffer-end-of-feed))))
2755 (< (point) end-of-feed))
2771 (setq search-list '(item feed)))
2787 (defun newsticker-next-feed ()
2788 "Go to next news feed.
2792 (newsticker--buffer-goto '(feed))
2793 (run-hooks 'newsticker-select-feed-hook)
2797 (defun newsticker-previous-feed ()
2798 "Go to previous news feed.
2802 (newsticker--buffer-goto '(feed) nil t)
2803 (run-hooks 'newsticker-select-feed-hook)
2813 (newsticker-mark-all-items-of-feed-as-read
2814 (get-text-property (point) 'feed))))
2816 (defun newsticker-mark-all-items-of-feed-as-read (feed)
2818 (when feed
2820 (message "Marking all items as read for %s" (symbol-name feed))
2821 (newsticker--cache-replace-age newsticker--cache feed 'new 'old)
2822 (newsticker--cache-replace-age newsticker--cache feed 'obsolete
2831 (newsticker--buffer-goto '(feed) nil t))))
2840 (while (newsticker-next-item-same-feed)
2860 (let ((feed (get-text-property (point) 'feed)))
2861 (when feed
2877 feed title nt-desc
2890 (newsticker--ticker-text-remove feed title))
2905 (let ((feed (get-text-property (point) 'feed))
2907 (when feed
2919 feed title nil nil nil
2933 (newsticker--ticker-text-remove feed title)
2999 (defun newsticker-hide-feed-desc ()
3002 (newsticker--buffer-hideshow 'desc-feed nil)
3005 (defun newsticker-show-feed-desc ()
3008 (newsticker--buffer-hideshow 'desc-feed t)
3014 (newsticker--buffer-hideshow 'desc-feed nil)
3024 (newsticker--buffer-hideshow 'desc-feed t)
3055 (newsticker--buffer-goto '(extra feed item nil))
3084 (newsticker--buffer-goto '(extra feed item))
3099 (defun newsticker-toggle-auto-narrow-to-feed ()
3100 "Toggle narrowing to current news feed.
3101 If auto-narrowing is active, only news item of the current feed
3104 (newsticker-set-auto-narrow-to-feed
3105 (not newsticker--auto-narrow-to-feed)))
3107 (defun newsticker-set-auto-narrow-to-feed (value)
3108 "Turn narrowing to current news feed on or off.
3112 (setq newsticker--auto-narrow-to-feed value)
3119 If auto-narrowing is active, only one item of the current feed
3129 (setq newsticker--auto-narrow-to-feed nil)
3140 (defun newsticker-next-feed-available-p ()
3141 "Return t if position is before last feed, nil otherwise."
3144 (newsticker--buffer-goto '(feed))
3147 (defun newsticker-previous-feed-available-p ()
3148 "Return t if position is behind first feed, nil otherwise."
3151 (newsticker--buffer-goto '(feed) nil t)
3155 "Return t if position is before last feed, nil otherwise."
3180 (when (get-text-property (point) 'feed)
3188 (when (get-text-property (point) 'feed)
3197 (defun newsticker-get-news (feed-name)
3198 "Get news from the site FEED-NAME and load feed logo.
3203 feed-name)
3204 (let* ((buffername (concat " *newsticker-wget-" feed-name "*"))
3205 (item (or (assoc feed-name newsticker-url-list)
3206 (assoc feed-name newsticker-url-list-defaults)
3209 feed-name)))
3217 (if (get-process feed-name)
3218 (error "Another wget-process is running for %s" feed-name))
3221 (proc (apply 'start-process feed-name buffername
3280 ;; if an error occurs the news feed is not updated!
3392 'feed 'obsolete-old)
3417 ((and (eq 'feed (xml-node-name topnode))
3423 ((and (eq 'feed (xml-node-name topnode))
3428 ;; unknown feed type
3437 ;; the feed
3443 ;; the feed. Or keep them as `obsolete'
3509 (newsticker--debug-msg "Parsing Atom 0.3 feed %s" name)
3510 (let (new-feed new-item)
3511 (setq new-feed (newsticker--parse-generic-feed
3554 (or new-item new-feed)))
3558 Argument NAME gives the name of a news feed. TIME gives the
3560 contains the feed data as returned by the xml parser.
3564 (newsticker--debug-msg "Parsing Atom 1.0 feed %s" name)
3565 (let (new-feed new-item)
3566 (setq new-feed (newsticker--parse-generic-feed
3609 (or new-item new-feed)))
3618 (newsticker--debug-msg "Parsing RSS 0.91 feed %s" name)
3623 is-new-feed has-new-items)
3624 (setq is-new-feed (newsticker--parse-generic-feed
3661 (or has-new-items is-new-feed)))
3669 (newsticker--debug-msg "Parsing RSS 0.92 feed %s" name)
3674 is-new-feed has-new-items)
3675 (setq is-new-feed (newsticker--parse-generic-feed
3712 (or has-new-items is-new-feed)))
3720 (newsticker--debug-msg "Parsing RSS 1.0 feed %s" name)
3722 is-new-feed has-new-items)
3723 (setq is-new-feed (newsticker--parse-generic-feed
3763 (or has-new-items is-new-feed)))
3771 (newsticker--debug-msg "Parsing RSS 2.0 feed %s" name)
3773 is-new-feed has-new-items)
3774 (setq is-new-feed (newsticker--parse-generic-feed
3821 (or has-new-items is-new-feed)))
3823 (defun newsticker--parse-generic-feed (name time title desc link
3825 "Parse generic news feed data.
3826 Argument NAME gives the name of a news feed. TIME gives the
3829 The arguments TITLE, DESC, LINK, and EXTRA-ELEMENTS give the feed's title,
3845 ;; handle the feed itself
3848 desc link 'feed)
3852 title desc link time 'feed position
3853 extra-elements 'feed time))
3860 "Parse generic news feed data.
3861 Argument NAME gives the name of a news feed. TIME gives the
3873 ;; gather all items for this feed
4050 (mapc (lambda (feed)
4052 (cdr feed)))
4202 (defun newsticker--image-get (feed-name url)
4206 feed-name)))
4213 feed-name)
4217 feed-name)
4218 (let* ((buffername (concat " *newsticker-wget-image-" feed-name "*"))
4219 (item (or (assoc feed-name newsticker-url-list)
4220 (assoc feed-name newsticker-url-list-defaults)
4223 feed-name)))
4230 (if (get-process feed-name)
4232 feed-name))
4235 (proc (apply 'start-process feed-name buffername
4244 (feed-name (process-name process)))
4246 ;; if an error occurs the news feed is not updated!
4252 feed-name)
4258 feed-name))
4271 (defun newsticker--image-read (feed-name-symbol disabled)
4277 (symbol-name feed-name-symbol)))
4291 feed-name-symbol error-data))))
4302 (feed-list nil)
4307 (cond ((eq type 'feed)
4308 ;; we're on a feed heading
4309 (when feed-list
4311 (nconc index-alist (list feed-list))
4312 (setq index-alist (list feed-list))))
4313 (setq feed-list (list title)))
4315 (nconc feed-list
4317 (setq go-ahead (newsticker--buffer-goto '(item feed))))
4319 (nconc index-alist (list feed-list))
4320 (setq index-alist (list feed-list)))
4328 (newsticker--buffer-goto '(desc extra feed item))
4370 (let* ((feed-name (car url-item))
4371 (feed-name-symbol (intern feed-name))
4372 (feed (assoc feed-name-symbol newsticker--cache))
4373 (items (cdr feed))
4375 (when feed
4376 ;; insert the feed description
4378 (when (eq (newsticker--age item) 'feed)
4380 feed-name-symbol)))
4387 feed-name-symbol)))
4389 (put-text-property pos (point) 'feed (car feed))
4401 (defun newsticker--buffer-insert-item (item &optional feed-name-symbol)
4407 (if (eq (newsticker--age item) 'feed)
4408 (newsticker--buffer-do-insert-text item 'feed feed-name-symbol)
4409 (newsticker--buffer-do-insert-text item 'item feed-name-symbol))
4411 (newsticker--buffer-do-insert-text item 'desc feed-name-symbol))
4413 (defun newsticker--buffer-do-insert-text (item type feed-name-symbol)
4416 FEED-NAME-SYMBOL tells to which feed this item belongs."
4448 (if (eq type 'feed)
4472 (let ((disabled (cond ((eq (newsticker--age item) 'feed)
4474 feed-name-symbol 'new) 0))
4478 (let ((img (newsticker--image-read feed-name-symbol
4485 (let ((disabled (cond ((eq (newsticker--age item) 'feed)
4487 feed-name-symbol 'new) 0))
4491 (let ((img (newsticker--image-read feed-name-symbol
4497 (if (eq (newsticker--age item) 'feed)
4501 (car (newsticker--cache-get-feed
4502 feed-name-symbol)))))
4508 (if (eq (newsticker--age item) 'feed)
4510 feed-name-symbol)))
4606 (when (memq type '(feed item))
4638 ;;(unless (memq type '(feed item))
4722 (defun newsticker--buffer-statistics (feed-name-symbol)
4723 "Return a statistic string for the feed given by FEED-NAME-SYMBOL.
4728 (format "%d" (newsticker--stat-num-items feed-name-symbol))
4731 (format "%d" (newsticker--stat-num-items feed-name-symbol 'immortal))
4734 (format "%d" (newsticker--stat-num-items feed-name-symbol 'new))
4737 (format "%d" (newsticker--stat-num-items feed-name-symbol 'old))
4740 (format "%d" (newsticker--stat-num-items feed-name-symbol 'obsolete))
4815 (let ((face (cond ((eq nt-face 'feed)
4816 'newsticker-feed-face)
4866 (when newsticker--auto-narrow-to-feed
4867 (let* ((min (or (save-excursion (newsticker--buffer-beginning-of-feed))
4869 (max (or (save-excursion (newsticker--buffer-end-of-feed))
4888 (defun newsticker--buffer-get-feed-title-at-point ()
4889 "Return feed symbol of headline at point."
4890 (format "%s" (or (get-text-property (point) 'feed) " ")))
4893 "Return feed symbol of headline at point."
4938 (if (and (memq type '(item feed))
4941 (newsticker--buffer-goto '(item feed) nil t)
4944 (defun newsticker--buffer-beginning-of-feed ()
4945 "Move point to the beginning of the feed at point.
4951 (if (and (memq type '(feed))
4954 (newsticker--buffer-goto '(feed) nil t)
4960 (when (newsticker--buffer-goto '(item feed nil))
4963 (defun newsticker--buffer-end-of-feed ()
4964 "Move point to the end of the last item of the feed at point.
4966 (when (newsticker--buffer-goto '(feed nil))
4982 (lambda (feed)
4983 (let ((feed-name (symbol-name (car feed))))
4984 (let ((num-new (newsticker--stat-num-items (car feed) 'new))
4985 (num-old (newsticker--stat-num-items (car feed) 'old))
4986 (num-imm (newsticker--stat-num-items (car feed) 'immortal))
4987 (num-obs (newsticker--stat-num-items (car feed) 'obsolete)))
5016 (concat feed-name ": " title) t)
5020 " " feed-name ": " title " +++"))))))
5021 (cdr feed))))))
5030 (defun newsticker--ticker-text-remove (feed title)
5034 (let ((feed-name (symbol-name feed))
5037 (setq newsticker--item-list (remove (concat feed-name ": " t-title)
5042 (regexp-quote (concat " " feed-name ": " t-title " +++"))
5065 (defun newsticker--cache-replace-age (data feed old-age new-age)
5069 (mapc (lambda (a-feed)
5070 (when (or (eq feed 'any)
5071 (eq (car a-feed) feed))
5072 (let ((items (cdr a-feed)))
5082 (defun newsticker--cache-mark-expired (data feed old-age new-age time)
5084 This function sets the age entries in DATA in the feed FEED. If
5088 (lambda (a-feed)
5089 (when (or (eq feed 'any)
5090 (eq (car a-feed) feed))
5091 (let ((items (cdr a-feed)))
5109 (defun newsticker--cache-contains (data feed title desc link age
5118 If AGE equals 'feed the TITLE, DESCription and LINK do not
5132 (lambda (this-feed)
5133 (when (eq (car this-feed) feed)
5141 ;;(or (not (eq age 'feed))
5142 ;; (eq (newsticker--age anitem) 'feed))
5159 (cdr this-feed))))
5164 (defun newsticker--cache-add (data feed-name-symbol title desc link time age
5176 (let ((item (newsticker--cache-contains data feed-name-symbol title
5192 ;; did not exist or age equals 'feed-name-symbol
5194 (mapc (lambda (this-feed)
5195 (when (eq (car this-feed) feed-name-symbol)
5196 (setcdr this-feed (nconc (cdr this-feed)
5202 (throw 'found this-feed)))
5204 ;; the feed is not contained
5205 (add-to-list 'data (list feed-name-symbol
5213 (defun newsticker--cache-remove (data feed-symbol age)
5214 "Remove all entries from DATA in the feed FEED-SYMBOL with AGE.
5219 (feed (car pos))
5221 (while feed
5222 (if (or (assoc (symbol-name (car feed)) newsticker-url-list)
5223 (assoc (symbol-name (car feed)) newsticker-url-list-defaults))
5224 ;; feed is still valid=active
5225 ;; (message "Keeping feed %s" (car feed))
5226 (if (or (eq feed-symbol 'any)
5227 (eq feed-symbol (car feed)))
5228 (let* ((item-pos (cdr feed))
5239 (setcdr feed (cdr item-pos))))
5244 ;; feed is not active anymore
5245 ;; (message "Removing feed %s" (car feed))
5251 (setq feed (car pos)))))
5315 (mapc (lambda (feed-list)
5316 (setcdr feed-list (sort (cdr feed-list)
5335 (defun newsticker--cache-get-feed (feed)
5336 "Return the cached data for the feed FEED.
5338 (assoc feed newsticker--cache))
5343 (defun newsticker--stat-num-items (feed &optional age)
5346 (let ((items (cdr (newsticker--cache-get-feed feed)))
5409 (defun newsticker--run-auto-mark-filter (feed item)
5415 (let ((filter-feed (car filter))
5417 (when (string-match filter-feed feed)
5446 (defun newsticker-new-item-functions-sample (feed item)
5449 (message (concat "newsticker-new-item-functions-sample: feed=`%s', "
5451 feed (newsticker--title item)))
5453 (defun newsticker-download-images (feed item)
5458 (when (string= feed "imagefeed")
5463 (temp-dir (concat "~/tmp/newsticker/" feed "/" title))
5475 (defun newsticker-download-enclosures (feed item)
5485 (temp-dir (concat "~/tmp/newsticker/" feed "/" title))