diff options
| author | Stefan Monnier | 2015-06-16 15:39:35 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2015-06-16 15:39:35 -0400 |
| commit | ac1e89ebaca61c797fcb77a40ad67cd4cef29eeb (patch) | |
| tree | b3c1dfa680e1055ec498638b53cc566c88a84748 | |
| parent | a1f543b4aa2309aecfd4ee2c6c220c71a97bbea8 (diff) | |
| download | emacs-ac1e89ebaca61c797fcb77a40ad67cd4cef29eeb.tar.gz emacs-ac1e89ebaca61c797fcb77a40ad67cd4cef29eeb.zip | |
* lisp/net/newst-treeview.el: Use lexical-binding.
| -rw-r--r-- | lisp/net/newst-treeview.el | 95 |
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. |
| 357 | This is a callback function for the treeview nodes. | 358 | This is a callback function for the treeview nodes. |
| @@ -360,7 +361,7 @@ Argument CHANGED-WIDGET is the widget that actually has changed. | |||
| 360 | Optional argument AGES is the list of ages that are to be shown." | 361 | Optional 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. |
| 382 | This is a callback function for the treeview nodes. | 383 | This is a callback function for the treeview nodes. |
| 383 | Argument WIDGET is the calling treeview widget. | 384 | Argument 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. |
| 395 | This is a callback function for the treeview nodes. | 396 | This is a callback function for the treeview nodes. |
| 396 | Argument WIDGET is the calling treeview widget. | 397 | Argument 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. |
| 408 | This is a callback function for the treeview nodes. | 409 | This is a callback function for the treeview nodes. |
| 409 | Argument WIDGET is the calling treeview widget. | 410 | Argument 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. |
| 461 | Argument WIDGET is the calling treeview widget. | 462 | Argument WIDGET is the calling treeview widget. |
| 462 | Argument CHANGED-WIDGET is the widget that actually has changed. | 463 | Argument 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. |
| 869 | Optional arguments CHANGED-WIDGET and EVENT are ignored." | 868 | Optional 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. |
| 1024 | If RECURSIVE is non-nil recursively update parent widgets as | 1023 | If RECURSIVE is non-nil recursively update parent widgets as |
| 1025 | well. Argument IGNORE is ignored. Note that this function, if | 1024 | well. 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. |
| 1062 | Arguments IGNORE are ignored." | 1060 | Arguments 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) |