aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2015-06-16 15:39:35 -0400
committerStefan Monnier2015-06-16 15:39:35 -0400
commitac1e89ebaca61c797fcb77a40ad67cd4cef29eeb (patch)
treeb3c1dfa680e1055ec498638b53cc566c88a84748
parenta1f543b4aa2309aecfd4ee2c6c220c71a97bbea8 (diff)
downloademacs-ac1e89ebaca61c797fcb77a40ad67cd4cef29eeb.tar.gz
emacs-ac1e89ebaca61c797fcb77a40ad67cd4cef29eeb.zip
* lisp/net/newst-treeview.el: Use lexical-binding.
-rw-r--r--lisp/net/newst-treeview.el95
1 files changed, 47 insertions, 48 deletions
diff --git a/lisp/net/newst-treeview.el b/lisp/net/newst-treeview.el
index df7628a36a4..eca2a9c3eca 100644
--- a/lisp/net/newst-treeview.el
+++ b/lisp/net/newst-treeview.el
@@ -1,10 +1,9 @@
1;;; newst-treeview.el --- Treeview frontend for newsticker. 1;;; newst-treeview.el --- Treeview frontend for newsticker. -*- lexical-binding:t -*-
2 2
3;; Copyright (C) 2008-2015 Free Software Foundation, Inc. 3;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
4 4
5;; Author: Ulf Jasper <ulf.jasper@web.de> 5;; Author: Ulf Jasper <ulf.jasper@web.de>
6;; Filename: newst-treeview.el 6;; Filename: newst-treeview.el
7;; URL: http://www.nongnu.org/newsticker
8;; Created: 2007 7;; Created: 2007
9;; Keywords: News, RSS, Atom 8;; Keywords: News, RSS, Atom
10;; Package: newsticker 9;; Package: newsticker
@@ -259,8 +258,10 @@ their id stays constant."
259 258
260;; ====================================================================== 259;; ======================================================================
261 260
262(unless (fboundp 'declare-function) (defmacro declare-function (&rest r))) 261(unless (fboundp 'declare-function) (defmacro declare-function (&rest _)))
263(declare-function w3m-toggle-inline-images "ext:w3m" (&optional force no-cache)) 262(declare-function w3m-toggle-inline-images "ext:w3m" (&optional force no-cache))
263(defvar w3m-fill-column)
264(defvar w3-maximum-line-length)
264 265
265(defun newsticker--treeview-render-text (start end) 266(defun newsticker--treeview-render-text (start end)
266 "Render text between markers START and END." 267 "Render text between markers START and END."
@@ -351,7 +352,7 @@ If string SHOW-FEED is non-nil it is shown in the item string."
351 (remove-overlays)))) 352 (remove-overlays))))
352 353
353(defun newsticker--treeview-list-items-with-age-callback (widget 354(defun newsticker--treeview-list-items-with-age-callback (widget
354 changed-widget 355 _changed-widget
355 &rest ages) 356 &rest ages)
356 "Fill newsticker treeview list window with items of certain age. 357 "Fill newsticker treeview list window with items of certain age.
357This is a callback function for the treeview nodes. 358This is a callback function for the treeview nodes.
@@ -360,7 +361,7 @@ Argument CHANGED-WIDGET is the widget that actually has changed.
360Optional argument AGES is the list of ages that are to be shown." 361Optional argument AGES is the list of ages that are to be shown."
361 (newsticker--treeview-list-clear) 362 (newsticker--treeview-list-clear)
362 (widget-put widget :nt-selected t) 363 (widget-put widget :nt-selected t)
363 (apply 'newsticker--treeview-list-items-with-age ages)) 364 (apply #'newsticker--treeview-list-items-with-age ages))
364 365
365(defun newsticker--treeview-list-items-with-age (&rest ages) 366(defun newsticker--treeview-list-items-with-age (&rest ages)
366 "Actually fill newsticker treeview list window with items of certain age. 367 "Actually fill newsticker treeview list window with items of certain age.
@@ -377,7 +378,7 @@ AGES is the list of ages that are to be shown."
377 (newsticker--treeview-list-update nil)) 378 (newsticker--treeview-list-update nil))
378 379
379(defun newsticker--treeview-list-new-items (widget changed-widget 380(defun newsticker--treeview-list-new-items (widget changed-widget
380 &optional event) 381 &optional _event)
381 "Fill newsticker treeview list window with new items. 382 "Fill newsticker treeview list window with new items.
382This is a callback function for the treeview nodes. 383This is a callback function for the treeview nodes.
383Argument WIDGET is the calling treeview widget. 384Argument WIDGET is the calling treeview widget.
@@ -390,7 +391,7 @@ Optional argument EVENT is the mouse event that triggered this action."
390 "This is a virtual feed containing all new items")) 391 "This is a virtual feed containing all new items"))
391 392
392(defun newsticker--treeview-list-immortal-items (widget changed-widget 393(defun newsticker--treeview-list-immortal-items (widget changed-widget
393 &optional event) 394 &optional _event)
394 "Fill newsticker treeview list window with immortal items. 395 "Fill newsticker treeview list window with immortal items.
395This is a callback function for the treeview nodes. 396This is a callback function for the treeview nodes.
396Argument WIDGET is the calling treeview widget. 397Argument WIDGET is the calling treeview widget.
@@ -403,7 +404,7 @@ Optional argument EVENT is the mouse event that triggered this action."
403 "This is a virtual feed containing all immortal items.")) 404 "This is a virtual feed containing all immortal items."))
404 405
405(defun newsticker--treeview-list-obsolete-items (widget changed-widget 406(defun newsticker--treeview-list-obsolete-items (widget changed-widget
406 &optional event) 407 &optional _event)
407 "Fill newsticker treeview list window with obsolete items. 408 "Fill newsticker treeview list window with obsolete items.
408This is a callback function for the treeview nodes. 409This is a callback function for the treeview nodes.
409Argument WIDGET is the calling treeview widget. 410Argument WIDGET is the calling treeview widget.
@@ -455,8 +456,8 @@ Optional argument EVENT is the mouse event that triggered this action."
455 (cdr (newsticker--cache-get-feed (intern feed-name))))) 456 (cdr (newsticker--cache-get-feed (intern feed-name)))))
456 (newsticker--treeview-list-update nil)))) 457 (newsticker--treeview-list-update nil))))
457 458
458(defun newsticker--treeview-list-feed-items (widget changed-widget 459(defun newsticker--treeview-list-feed-items (widget _changed-widget
459 &optional event) 460 &optional _event)
460 "Callback function for listing feed items. 461 "Callback function for listing feed items.
461Argument WIDGET is the calling treeview widget. 462Argument WIDGET is the calling treeview widget.
462Argument CHANGED-WIDGET is the widget that actually has changed. 463Argument CHANGED-WIDGET is the widget that actually has changed.
@@ -583,11 +584,10 @@ The sort function is chosen according to the value of
583(defun newsticker--treeview-list-update-highlight () 584(defun newsticker--treeview-list-update-highlight ()
584 "Update the highlight in the treeview list buffer." 585 "Update the highlight in the treeview list buffer."
585 (newsticker--treeview-list-clear-highlight) 586 (newsticker--treeview-list-clear-highlight)
586 (let (pos num-lines) 587 (with-current-buffer (newsticker--treeview-list-buffer)
587 (with-current-buffer (newsticker--treeview-list-buffer) 588 (let ((inhibit-read-only t))
588 (let ((inhibit-read-only t)) 589 (put-text-property (point-at-bol) (point-at-eol) :nt-selected t))
589 (put-text-property (point-at-bol) (point-at-eol) :nt-selected t)) 590 (newsticker--treeview-list-update-faces)))
590 (newsticker--treeview-list-update-faces))))
591 591
592(defun newsticker--treeview-list-highlight-start () 592(defun newsticker--treeview-list-highlight-start ()
593 "Return position of selection in treeview list buffer." 593 "Return position of selection in treeview list buffer."
@@ -664,23 +664,22 @@ for the button."
664(defun newsticker--treeview-list-select (item) 664(defun newsticker--treeview-list-select (item)
665 "Select ITEM in treeview's list buffer." 665 "Select ITEM in treeview's list buffer."
666 (newsticker--treeview-list-clear-highlight) 666 (newsticker--treeview-list-clear-highlight)
667 (let (pos num-lines) 667 (save-current-buffer
668 (save-current-buffer 668 (set-buffer (newsticker--treeview-list-buffer))
669 (set-buffer (newsticker--treeview-list-buffer)) 669 (goto-char (point-min))
670 (goto-char (point-min)) 670 (catch 'found
671 (catch 'found 671 (while t
672 (while t 672 (let ((it (get-text-property (point) :nt-item)))
673 (let ((it (get-text-property (point) :nt-item))) 673 (when (eq it item)
674 (when (eq it item) 674 (newsticker--treeview-list-update-highlight)
675 (newsticker--treeview-list-update-highlight) 675 (newsticker--treeview-list-update-faces)
676 (newsticker--treeview-list-update-faces) 676 (newsticker--treeview-item-show
677 (newsticker--treeview-item-show 677 item (get-text-property (point) :nt-feed))
678 item (get-text-property (point) :nt-feed)) 678 (throw 'found t)))
679 (throw 'found t))) 679 (forward-line 1)
680 (forward-line 1) 680 (when (eobp)
681 (when (eobp) 681 (goto-char (point-min))
682 (goto-char (point-min)) 682 (throw 'found nil))))))
683 (throw 'found nil)))))))
684 683
685;; ====================================================================== 684;; ======================================================================
686;;; item window 685;;; item window
@@ -863,8 +862,8 @@ Callback function for tree widget that adds nodes for feeds and subgroups."
863 (widget-put icon :leaf-icon 'tree-widget-leaf-icon) 862 (widget-put icon :leaf-icon 'tree-widget-leaf-icon)
864 (tree-widget-icon-create icon)))) 863 (tree-widget-icon-create icon))))
865 864
866(defun newsticker--treeview-tree-expand-status (tree &optional changed-widget 865(defun newsticker--treeview-tree-expand-status (tree &optional _changed-widget
867 event) 866 _event)
868 "Expand the vfeed TREE. 867 "Expand the vfeed TREE.
869Optional arguments CHANGED-WIDGET and EVENT are ignored." 868Optional arguments CHANGED-WIDGET and EVENT are ignored."
870 (tree-widget-set-theme "folder") 869 (tree-widget-set-theme "folder")
@@ -916,7 +915,7 @@ Optional arguments CHANGED-WIDGET and EVENT are ignored."
916 :tag (newsticker--treeview-propertize-tag 915 :tag (newsticker--treeview-propertize-tag
917 "Feeds" 0 "feeds") 916 "Feeds" 0 "feeds")
918 :expander 'newsticker--treeview-tree-expand 917 :expander 'newsticker--treeview-tree-expand
919 :expander-p (lambda (&rest ignore) t) 918 :expander-p (lambda (&rest _) t)
920 :leaf-icon 'newsticker--tree-widget-leaf-icon 919 :leaf-icon 'newsticker--tree-widget-leaf-icon
921 :nt-group (cdr newsticker-groups) 920 :nt-group (cdr newsticker-groups)
922 :nt-id "feeds" 921 :nt-id "feeds"
@@ -927,7 +926,7 @@ Optional arguments CHANGED-WIDGET and EVENT are ignored."
927 :tag (newsticker--treeview-propertize-tag 926 :tag (newsticker--treeview-propertize-tag
928 "Virtual Feeds" 0 "vfeeds") 927 "Virtual Feeds" 0 "vfeeds")
929 :expander 'newsticker--treeview-tree-expand-status 928 :expander 'newsticker--treeview-tree-expand-status
930 :expander-p (lambda (&rest ignore) t) 929 :expander-p (lambda (&rest _) t)
931 :leaf-icon 'newsticker--tree-widget-leaf-icon 930 :leaf-icon 'newsticker--tree-widget-leaf-icon
932 :nt-id "vfeeds" 931 :nt-id "vfeeds"
933 :keep '(:nt-id) 932 :keep '(:nt-id)
@@ -990,10 +989,10 @@ Optional argument NT-ID is added to the tag's properties."
990(defun newsticker--stat-num-items-for-group (feed-name-symbol &rest ages) 989(defun newsticker--stat-num-items-for-group (feed-name-symbol &rest ages)
991 "Count number of items in feed FEED-NAME-SYMBOL that have an age matching AGES." 990 "Count number of items in feed FEED-NAME-SYMBOL that have an age matching AGES."
992 ;;(message "newsticker--stat-num-items-for-group %s %s" feed-name-symbol ages) 991 ;;(message "newsticker--stat-num-items-for-group %s %s" feed-name-symbol ages)
993 (let ((result (apply 'newsticker--stat-num-items feed-name-symbol ages))) 992 (let ((result (apply #'newsticker--stat-num-items feed-name-symbol ages)))
994 (mapc (lambda (f-n) 993 (mapc (lambda (f-n)
995 (setq result (+ result 994 (setq result (+ result
996 (apply 'newsticker--stat-num-items (intern f-n) 995 (apply #'newsticker--stat-num-items (intern f-n)
997 ages)))) 996 ages))))
998 (newsticker--group-get-feeds 997 (newsticker--group-get-feeds
999 (newsticker--group-get-group (symbol-name feed-name-symbol)) t)) 998 (newsticker--group-get-group (symbol-name feed-name-symbol)) t))
@@ -1019,7 +1018,7 @@ the feed is a virtual feed."
1019 num-new)) 1018 num-new))
1020 1019
1021(defun newsticker--treeview-tree-update-tag (w &optional recursive 1020(defun newsticker--treeview-tree-update-tag (w &optional recursive
1022 &rest ignore) 1021 &rest _ignore)
1023 "Update tag for tree widget W. 1022 "Update tag for tree widget W.
1024If RECURSIVE is non-nil recursively update parent widgets as 1023If RECURSIVE is non-nil recursively update parent widgets as
1025well. Argument IGNORE is ignored. Note that this function, if 1024well. Argument IGNORE is ignored. Note that this function, if
@@ -1042,8 +1041,7 @@ that case."
1042 (widget-put w :num-new num-new) 1041 (widget-put w :num-new num-new)
1043 (widget-put w :tag tag) 1042 (widget-put w :tag tag)
1044 (when (marker-position (widget-get w :from)) 1043 (when (marker-position (widget-get w :from))
1045 (let ((p (point)) 1044 (let ((p (point)))
1046 (notify (widget-get w :notify)))
1047 ;; FIXME: This moves point!!!! 1045 ;; FIXME: This moves point!!!!
1048 (with-current-buffer (newsticker--treeview-tree-buffer) 1046 (with-current-buffer (newsticker--treeview-tree-buffer)
1049 (widget-value-set w (widget-value w))) 1047 (widget-value-set w (widget-value w)))
@@ -1057,9 +1055,9 @@ that case."
1057 (newsticker--treeview-tree-do-update-tags w)) 1055 (newsticker--treeview-tree-do-update-tags w))
1058 (newsticker--treeview-tree-update-tag widget)))) 1056 (newsticker--treeview-tree-update-tag widget))))
1059 1057
1060(defun newsticker--treeview-tree-update-tags (&rest ignore) 1058(defun newsticker--treeview-tree-update-tags (&rest _ignore)
1061 "Update all tags of all trees. 1059 "Update all tags of all trees.
1062Arguments IGNORE are ignored." 1060Arguments are ignored."
1063 (save-current-buffer 1061 (save-current-buffer
1064 (set-buffer (newsticker--treeview-tree-buffer)) 1062 (set-buffer (newsticker--treeview-tree-buffer))
1065 (let ((inhibit-read-only t)) 1063 (let ((inhibit-read-only t))
@@ -1655,8 +1653,8 @@ Return t if a new feed was activated, nil otherwise."
1655 (completing-read 1653 (completing-read
1656 "Jump to feed: " 1654 "Jump to feed: "
1657 (append '("new" "obsolete" "immortal" "all") 1655 (append '("new" "obsolete" "immortal" "all")
1658 (mapcar 'car (append newsticker-url-list 1656 (mapcar #'car (append newsticker-url-list
1659 newsticker-url-list-defaults))) 1657 newsticker-url-list-defaults)))
1660 nil t)))) 1658 nil t))))
1661 (newsticker--treeview-unfold-node feed-name)) 1659 (newsticker--treeview-unfold-node feed-name))
1662 1660
@@ -1788,7 +1786,8 @@ return a nested list."
1788 (string= old-name (car elt))) 1786 (string= old-name (car elt)))
1789 (cons new-name (cdr elt))) 1787 (cons new-name (cdr elt)))
1790 (t 1788 (t
1791 elt))) parent-group))) 1789 elt)))
1790 parent-group)))
1792 1791
1793(defun newsticker-group-rename-group (old-name new-name) 1792(defun newsticker-group-rename-group (old-name new-name)
1794 "Rename group OLD-NAME to NEW-NAME." 1793 "Rename group OLD-NAME to NEW-NAME."
@@ -1808,7 +1807,7 @@ return a nested list."
1808(defun newsticker--get-group-names (lst) 1807(defun newsticker--get-group-names (lst)
1809 "Do get the group names from LST." 1808 "Do get the group names from LST."
1810 (delete nil (cons (car lst) 1809 (delete nil (cons (car lst)
1811 (apply 'append 1810 (apply #'append
1812 (mapcar (lambda (e) 1811 (mapcar (lambda (e)
1813 (cond ((listp e) 1812 (cond ((listp e)
1814 (newsticker--get-group-names e)) 1813 (newsticker--get-group-names e))
@@ -1826,7 +1825,7 @@ Update treeview afterwards unless NO-UPDATE is non-nil."
1826 (interactive 1825 (interactive
1827 (let ((completion-ignore-case t)) 1826 (let ((completion-ignore-case t))
1828 (list (completing-read "Name of feed or group to move: " 1827 (list (completing-read "Name of feed or group to move: "
1829 (append (mapcar 'car newsticker-url-list) 1828 (append (mapcar #'car newsticker-url-list)
1830 (newsticker--group-names)) 1829 (newsticker--group-names))
1831 nil t newsticker--treeview-current-feed) 1830 nil t newsticker--treeview-current-feed)
1832 (completing-read "Name of new parent group: " (newsticker--group-names) 1831 (completing-read "Name of new parent group: " (newsticker--group-names)