diff options
| author | Ulf Jasper | 2008-10-31 20:19:17 +0000 |
|---|---|---|
| committer | Ulf Jasper | 2008-10-31 20:19:17 +0000 |
| commit | c9aafaaf7ed16fcde026a915d021fa8950062d42 (patch) | |
| tree | 213a302e182b37f1db56d09d78ca6316edac9b15 | |
| parent | aad81014a9d9e3e6fc0960e8e3825c839a0a4123 (diff) | |
| download | emacs-c9aafaaf7ed16fcde026a915d021fa8950062d42.tar.gz emacs-c9aafaaf7ed16fcde026a915d021fa8950062d42.zip | |
newsticker fixes: cachefile, layout changes.
| -rw-r--r-- | lisp/ChangeLog | 23 | ||||
| -rw-r--r-- | lisp/net/newst-backend.el | 9 | ||||
| -rw-r--r-- | lisp/net/newst-treeview.el | 51 |
3 files changed, 57 insertions, 26 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d7d6729bf49..c02d9848906 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,26 @@ | |||
| 1 | 2008-10-31 Ulf Jasper <ulf@web.de> | ||
| 2 | |||
| 3 | |||
| 4 | 2008-10-31 Ulf Jasper <ulf.jasper@web.de> | ||
| 5 | |||
| 6 | * net/newst-backend.el (newsticker--cache-update): Fixed no-save | ||
| 7 | case. | ||
| 8 | |||
| 9 | * net/newst-treeview.el (newsticker--treeview-list-update-faces) | ||
| 10 | (newsticker--treeview-list-update, newsticker--treeview-item-show) | ||
| 11 | (newsticker--treeview-tree-update) | ||
| 12 | (newsticker--treeview-tree-update-highlight) | ||
| 13 | (newsticker-treeview-update) | ||
| 14 | (newsticker-treeview-next-item, newsticker-treeview-prev-item) | ||
| 15 | (newsticker-treeview-next-new-or-immortal-item) | ||
| 16 | (newsticker-treeview-prev-new-or-immortal-item) | ||
| 17 | (newsticker-treeview-next-feed, newsticker-treeview-prev-feed) | ||
| 18 | (newsticker-treeview-tree-click): Watch for layout changes. | ||
| 19 | (newsticker--treeview-set-current-node): Cleanup. | ||
| 20 | (newsticker--treeview-restore-layout): Renamed from | ||
| 21 | newsticker--treeview-restore-buffers. | ||
| 22 | (newsticker--treeview-mark-item): Update cache file. | ||
| 23 | |||
| 1 | 2008-10-31 Ulf Jasper <ulf.jasper@web.de> | 24 | 2008-10-31 Ulf Jasper <ulf.jasper@web.de> |
| 2 | 25 | ||
| 3 | * calendar/icalendar.el (icalendar--uid-count): New. | 26 | * calendar/icalendar.el (icalendar--uid-count): New. |
diff --git a/lisp/net/newst-backend.el b/lisp/net/newst-backend.el index f0174c588b8..9359fb2dc77 100644 --- a/lisp/net/newst-backend.el +++ b/lisp/net/newst-backend.el | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | ;; Filename: newst-backend.el | 7 | ;; Filename: newst-backend.el |
| 8 | ;; URL: http://www.nongnu.org/newsticker | 8 | ;; URL: http://www.nongnu.org/newsticker |
| 9 | ;; Keywords: News, RSS, Atom | 9 | ;; Keywords: News, RSS, Atom |
| 10 | ;; Time-stamp: "7. Juli 2008, 19:20:10 (ulf)" | 10 | ;; Time-stamp: "31. Oktober 2008, 21:07:17 (ulf)" |
| 11 | 11 | ||
| 12 | ;; ====================================================================== | 12 | ;; ====================================================================== |
| 13 | 13 | ||
| @@ -2105,14 +2105,15 @@ well." | |||
| 2105 | "Update newsticker cache file. | 2105 | "Update newsticker cache file. |
| 2106 | If optional argument SAVE is not nil the cache file is saved to disk." | 2106 | If optional argument SAVE is not nil the cache file is saved to disk." |
| 2107 | (save-excursion | 2107 | (save-excursion |
| 2108 | (let ((coding-system-for-write 'utf-8)) | 2108 | (let ((coding-system-for-write 'utf-8) |
| 2109 | (with-temp-buffer | 2109 | (buf (find-file-noselect newsticker-cache-filename))) |
| 2110 | (when buf | ||
| 2111 | (set-buffer buf) | ||
| 2110 | (setq buffer-undo-list t) | 2112 | (setq buffer-undo-list t) |
| 2111 | (erase-buffer) | 2113 | (erase-buffer) |
| 2112 | (insert ";; -*- coding: utf-8 -*-\n") | 2114 | (insert ";; -*- coding: utf-8 -*-\n") |
| 2113 | (insert (prin1-to-string newsticker--cache)) | 2115 | (insert (prin1-to-string newsticker--cache)) |
| 2114 | (when save | 2116 | (when save |
| 2115 | (set-visited-file-name newsticker-cache-filename) | ||
| 2116 | (save-buffer)))))) | 2117 | (save-buffer)))))) |
| 2117 | 2118 | ||
| 2118 | (defun newsticker--cache-get-feed (feed) | 2119 | (defun newsticker--cache-get-feed (feed) |
diff --git a/lisp/net/newst-treeview.el b/lisp/net/newst-treeview.el index 4fd886e1d44..0df89b8b299 100644 --- a/lisp/net/newst-treeview.el +++ b/lisp/net/newst-treeview.el | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | ;; URL: http://www.nongnu.org/newsticker | 7 | ;; URL: http://www.nongnu.org/newsticker |
| 8 | ;; Created: 2007 | 8 | ;; Created: 2007 |
| 9 | ;; Keywords: News, RSS, Atom | 9 | ;; Keywords: News, RSS, Atom |
| 10 | ;; Time-stamp: "13. Oktober 2008, 20:34:41 (ulf)" | 10 | ;; Time-stamp: "31. Oktober 2008, 20:44:46 (ulf)" |
| 11 | 11 | ||
| 12 | ;; ====================================================================== | 12 | ;; ====================================================================== |
| 13 | 13 | ||
| @@ -575,7 +575,8 @@ The sort function is chosen according to the value of | |||
| 575 | (forward-line 1) | 575 | (forward-line 1) |
| 576 | (beginning-of-line))))) ;; FIXME!? | 576 | (beginning-of-line))))) ;; FIXME!? |
| 577 | (when pos-sel | 577 | (when pos-sel |
| 578 | (set-window-point (newsticker--treeview-list-window) pos-sel)))) | 578 | (if (window-live-p (newsticker--treeview-list-window)) |
| 579 | (set-window-point (newsticker--treeview-list-window) pos-sel))))) | ||
| 579 | 580 | ||
| 580 | (defun newsticker--treeview-list-clear-highlight () | 581 | (defun newsticker--treeview-list-clear-highlight () |
| 581 | "Clear the highlight in the treeview list buffer." | 582 | "Clear the highlight in the treeview list buffer." |
| @@ -608,8 +609,9 @@ The sort function is chosen according to the value of | |||
| 608 | "Update the faces and highlight in the treeview list buffer. | 609 | "Update the faces and highlight in the treeview list buffer. |
| 609 | If CLEAR-BUFFER is non-nil the list buffer is completely erased." | 610 | If CLEAR-BUFFER is non-nil the list buffer is completely erased." |
| 610 | (save-excursion | 611 | (save-excursion |
| 611 | (set-window-buffer (newsticker--treeview-list-window) | 612 | (if (window-live-p (newsticker--treeview-list-window)) |
| 612 | (newsticker--treeview-list-buffer)) | 613 | (set-window-buffer (newsticker--treeview-list-window) |
| 614 | (newsticker--treeview-list-buffer))) | ||
| 613 | (set-buffer (newsticker--treeview-list-buffer)) | 615 | (set-buffer (newsticker--treeview-list-buffer)) |
| 614 | (if clear-buffer | 616 | (if clear-buffer |
| 615 | (let ((inhibit-read-only t)) | 617 | (let ((inhibit-read-only t)) |
| @@ -779,13 +781,15 @@ for the button." | |||
| 779 | (let ((newsticker-treeview-automatically-mark-displayed-items-as-old nil)) | 781 | (let ((newsticker-treeview-automatically-mark-displayed-items-as-old nil)) |
| 780 | (newsticker-treeview-mark-item-old t) | 782 | (newsticker-treeview-mark-item-old t) |
| 781 | (newsticker--treeview-list-update-faces))) | 783 | (newsticker--treeview-list-update-faces))) |
| 782 | (set-window-point (newsticker--treeview-item-window) 1)) | 784 | (if (window-live-p (newsticker--treeview-item-window)) |
| 785 | (set-window-point (newsticker--treeview-item-window) 1))) | ||
| 783 | 786 | ||
| 784 | (defun newsticker--treeview-item-update () | 787 | (defun newsticker--treeview-item-update () |
| 785 | "Update the treeview item buffer and window." | 788 | "Update the treeview item buffer and window." |
| 786 | (save-excursion | 789 | (save-excursion |
| 787 | (set-window-buffer (newsticker--treeview-item-window) | 790 | (if (window-live-p (newsticker--treeview-item-window)) |
| 788 | (newsticker--treeview-item-buffer)) | 791 | (set-window-buffer (newsticker--treeview-item-window) |
| 792 | (newsticker--treeview-item-buffer))) | ||
| 789 | (set-buffer (newsticker--treeview-item-buffer)) | 793 | (set-buffer (newsticker--treeview-item-buffer)) |
| 790 | (let ((inhibit-read-only t)) | 794 | (let ((inhibit-read-only t)) |
| 791 | (erase-buffer)) | 795 | (erase-buffer)) |
| @@ -864,8 +868,9 @@ Optional arguments CHANGED-WIDGET and EVENT are ignored." | |||
| 864 | (defun newsticker--treeview-tree-update () | 868 | (defun newsticker--treeview-tree-update () |
| 865 | "Update treeview tree buffer and window." | 869 | "Update treeview tree buffer and window." |
| 866 | (save-excursion | 870 | (save-excursion |
| 867 | (set-window-buffer (newsticker--treeview-tree-window) | 871 | (if (window-live-p (newsticker--treeview-tree-window)) |
| 868 | (newsticker--treeview-tree-buffer)) | 872 | (set-window-buffer (newsticker--treeview-tree-window) |
| 873 | (newsticker--treeview-tree-buffer))) | ||
| 869 | (set-buffer (newsticker--treeview-tree-buffer)) | 874 | (set-buffer (newsticker--treeview-tree-buffer)) |
| 870 | (kill-all-local-variables) | 875 | (kill-all-local-variables) |
| 871 | (let ((inhibit-read-only t)) | 876 | (let ((inhibit-read-only t)) |
| @@ -1046,7 +1051,8 @@ Arguments IGNORE are ignored." | |||
| 1046 | (save-excursion (beginning-of-line) (point)) | 1051 | (save-excursion (beginning-of-line) (point)) |
| 1047 | (save-excursion (end-of-line) (1+ (point))) | 1052 | (save-excursion (end-of-line) (1+ (point))) |
| 1048 | (current-buffer))) | 1053 | (current-buffer))) |
| 1049 | (set-window-point (newsticker--treeview-tree-window) pos)))) | 1054 | (if (window-live-p (newsticker--treeview-tree-window)) |
| 1055 | (set-window-point (newsticker--treeview-tree-window) pos))))) | ||
| 1050 | 1056 | ||
| 1051 | ;; ====================================================================== | 1057 | ;; ====================================================================== |
| 1052 | ;;; Toolbar | 1058 | ;;; Toolbar |
| @@ -1198,7 +1204,8 @@ Arguments IGNORE are ignored." | |||
| 1198 | (newsticker--treeview-item-update)) | 1204 | (newsticker--treeview-item-update)) |
| 1199 | 1205 | ||
| 1200 | (defun newsticker-treeview-update () | 1206 | (defun newsticker-treeview-update () |
| 1201 | "Update all treeview buffers and windows." | 1207 | "Update all treeview buffers and windows. |
| 1208 | Note: does not update the layout." | ||
| 1202 | (interactive) | 1209 | (interactive) |
| 1203 | (newsticker--cache-update) | 1210 | (newsticker--cache-update) |
| 1204 | (newsticker--group-manage-orphan-feeds) | 1211 | (newsticker--group-manage-orphan-feeds) |
| @@ -1267,6 +1274,7 @@ Arguments IGNORE are ignored." | |||
| 1267 | (defun newsticker-treeview-show-item () | 1274 | (defun newsticker-treeview-show-item () |
| 1268 | "Show current item." | 1275 | "Show current item." |
| 1269 | (interactive) | 1276 | (interactive) |
| 1277 | (newsticker--treeview-restore-layout) | ||
| 1270 | (newsticker--treeview-list-update-highlight) | 1278 | (newsticker--treeview-list-update-highlight) |
| 1271 | (save-excursion | 1279 | (save-excursion |
| 1272 | (set-buffer (newsticker--treeview-list-buffer)) | 1280 | (set-buffer (newsticker--treeview-list-buffer)) |
| @@ -1281,7 +1289,7 @@ Arguments IGNORE are ignored." | |||
| 1281 | (defun newsticker-treeview-next-item () | 1289 | (defun newsticker-treeview-next-item () |
| 1282 | "Move to next item." | 1290 | "Move to next item." |
| 1283 | (interactive) | 1291 | (interactive) |
| 1284 | (newsticker--treeview-restore-buffers) | 1292 | (newsticker--treeview-restore-layout) |
| 1285 | (save-current-buffer | 1293 | (save-current-buffer |
| 1286 | (set-buffer (newsticker--treeview-list-buffer)) | 1294 | (set-buffer (newsticker--treeview-list-buffer)) |
| 1287 | (if (newsticker--treeview-list-highlight-start) | 1295 | (if (newsticker--treeview-list-highlight-start) |
| @@ -1293,7 +1301,7 @@ Arguments IGNORE are ignored." | |||
| 1293 | (defun newsticker-treeview-prev-item () | 1301 | (defun newsticker-treeview-prev-item () |
| 1294 | "Move to previous item." | 1302 | "Move to previous item." |
| 1295 | (interactive) | 1303 | (interactive) |
| 1296 | (newsticker--treeview-restore-buffers) | 1304 | (newsticker--treeview-restore-layout) |
| 1297 | (save-current-buffer | 1305 | (save-current-buffer |
| 1298 | (set-buffer (newsticker--treeview-list-buffer)) | 1306 | (set-buffer (newsticker--treeview-list-buffer)) |
| 1299 | (forward-line -1)) | 1307 | (forward-line -1)) |
| @@ -1302,7 +1310,7 @@ Arguments IGNORE are ignored." | |||
| 1302 | (defun newsticker-treeview-next-new-or-immortal-item () | 1310 | (defun newsticker-treeview-next-new-or-immortal-item () |
| 1303 | "Move to next new or immortal item." | 1311 | "Move to next new or immortal item." |
| 1304 | (interactive) | 1312 | (interactive) |
| 1305 | (newsticker--treeview-restore-buffers) | 1313 | (newsticker--treeview-restore-layout) |
| 1306 | (newsticker--treeview-list-clear-highlight) | 1314 | (newsticker--treeview-list-clear-highlight) |
| 1307 | (catch 'found | 1315 | (catch 'found |
| 1308 | (let ((index (newsticker-treeview-next-item))) | 1316 | (let ((index (newsticker-treeview-next-item))) |
| @@ -1321,7 +1329,7 @@ Arguments IGNORE are ignored." | |||
| 1321 | (defun newsticker-treeview-prev-new-or-immortal-item () | 1329 | (defun newsticker-treeview-prev-new-or-immortal-item () |
| 1322 | "Move to previous new or immortal item." | 1330 | "Move to previous new or immortal item." |
| 1323 | (interactive) | 1331 | (interactive) |
| 1324 | (newsticker--treeview-restore-buffers) | 1332 | (newsticker--treeview-restore-layout) |
| 1325 | (newsticker--treeview-list-clear-highlight) | 1333 | (newsticker--treeview-list-clear-highlight) |
| 1326 | (catch 'found | 1334 | (catch 'found |
| 1327 | (let ((index (newsticker-treeview-next-item))) | 1335 | (let ((index (newsticker-treeview-next-item))) |
| @@ -1368,7 +1376,8 @@ Move to next item unless DONT-PROCEED is non-nil." | |||
| 1368 | (when item | 1376 | (when item |
| 1369 | (setcar (nthcdr 4 item) new-age) | 1377 | (setcar (nthcdr 4 item) new-age) |
| 1370 | ;; clean up ticker FIXME | 1378 | ;; clean up ticker FIXME |
| 1371 | )) | 1379 | ) |
| 1380 | (newsticker--cache-update)) | ||
| 1372 | 1381 | ||
| 1373 | (defun newsticker-treeview-mark-list-items-old () | 1382 | (defun newsticker-treeview-mark-list-items-old () |
| 1374 | "Mark all listed items as old." | 1383 | "Mark all listed items as old." |
| @@ -1409,9 +1418,6 @@ Move to next item unless DONT-PROCEED is non-nil." | |||
| 1409 | (widget-get node :nt-id)) | 1418 | (widget-get node :nt-id)) |
| 1410 | (setq newsticker--treeview-current-feed (widget-get node :nt-feed)) | 1419 | (setq newsticker--treeview-current-feed (widget-get node :nt-feed)) |
| 1411 | (setq newsticker--treeview-current-vfeed (widget-get node :nt-vfeed)) | 1420 | (setq newsticker--treeview-current-vfeed (widget-get node :nt-vfeed)) |
| 1412 | ;;(message "newsticker--treeview-set-current-node %s/%s" (widget-get node :tag) | ||
| 1413 | ;; (widget-get node :nt-id)) | ||
| 1414 | ;; node) | ||
| 1415 | (newsticker--treeview-tree-update-highlight))) | 1421 | (newsticker--treeview-tree-update-highlight))) |
| 1416 | 1422 | ||
| 1417 | (defun newsticker--treeview-get-first-child (node) | 1423 | (defun newsticker--treeview-get-first-child (node) |
| @@ -1516,7 +1522,7 @@ is activated." | |||
| 1516 | (defun newsticker-treeview-next-feed () | 1522 | (defun newsticker-treeview-next-feed () |
| 1517 | "Move to next feed." | 1523 | "Move to next feed." |
| 1518 | (interactive) | 1524 | (interactive) |
| 1519 | (newsticker--treeview-restore-buffers) | 1525 | (newsticker--treeview-restore-layout) |
| 1520 | (let ((cur (newsticker--treeview-get-current-node))) | 1526 | (let ((cur (newsticker--treeview-get-current-node))) |
| 1521 | ;;(message "newsticker-treeview-next-feed from %s" | 1527 | ;;(message "newsticker-treeview-next-feed from %s" |
| 1522 | ;; (widget-get cur :tag)) | 1528 | ;; (widget-get cur :tag)) |
| @@ -1532,7 +1538,7 @@ is activated." | |||
| 1532 | (defun newsticker-treeview-prev-feed () | 1538 | (defun newsticker-treeview-prev-feed () |
| 1533 | "Move to previous feed." | 1539 | "Move to previous feed." |
| 1534 | (interactive) | 1540 | (interactive) |
| 1535 | (newsticker--treeview-restore-buffers) | 1541 | (newsticker--treeview-restore-layout) |
| 1536 | (let ((cur (newsticker--treeview-get-current-node))) | 1542 | (let ((cur (newsticker--treeview-get-current-node))) |
| 1537 | (message "newsticker-treeview-prev-feed from %s" | 1543 | (message "newsticker-treeview-prev-feed from %s" |
| 1538 | (widget-get cur :tag)) | 1544 | (widget-get cur :tag)) |
| @@ -1893,6 +1899,7 @@ Remove obsolete feeds as well." | |||
| 1893 | (defun newsticker-treeview-tree-click (event) | 1899 | (defun newsticker-treeview-tree-click (event) |
| 1894 | "Handle click EVENT on a tag in the newsticker tree." | 1900 | "Handle click EVENT on a tag in the newsticker tree." |
| 1895 | (interactive "e") | 1901 | (interactive "e") |
| 1902 | (newsticker--treeview-restore-layout) | ||
| 1896 | (save-excursion | 1903 | (save-excursion |
| 1897 | (switch-to-buffer (window-buffer (posn-window (event-end event)))) | 1904 | (switch-to-buffer (window-buffer (posn-window (event-end event)))) |
| 1898 | (newsticker-treeview-tree-do-click (posn-point (event-end event))))) | 1905 | (newsticker-treeview-tree-do-click (posn-point (event-end event))))) |
| @@ -1919,7 +1926,7 @@ POS gives the position where EVENT occurred." | |||
| 1919 | (newsticker--treeview-set-current-node w)))))) | 1926 | (newsticker--treeview-set-current-node w)))))) |
| 1920 | (newsticker--treeview-tree-update-highlight)) | 1927 | (newsticker--treeview-tree-update-highlight)) |
| 1921 | 1928 | ||
| 1922 | (defun newsticker--treeview-restore-buffers () | 1929 | (defun newsticker--treeview-restore-layout () |
| 1923 | "Restore treeview buffers." | 1930 | "Restore treeview buffers." |
| 1924 | (catch 'error | 1931 | (catch 'error |
| 1925 | (dotimes (i 3) | 1932 | (dotimes (i 3) |