From a079c5c92382c203640be1f17a7cd8402541df2f Mon Sep 17 00:00:00 2001 From: Andreas Gerler Date: Wed, 21 May 2025 14:02:00 +0200 Subject: [PATCH] update elfeed-org --- bba.org | 2 +- .../elfeed-org-autoloads.el | 0 .../elfeed-org-pkg.el | 12 ++-- .../elfeed-org.el | 71 +++++++------------ 4 files changed, 33 insertions(+), 52 deletions(-) rename elpa/{elfeed-org-20231009.1125 => elfeed-org-20250219.950}/elfeed-org-autoloads.el (100%) rename elpa/{elfeed-org-20231009.1125 => elfeed-org-20250219.950}/elfeed-org-pkg.el (60%) rename elpa/{elfeed-org-20231009.1125 => elfeed-org-20250219.950}/elfeed-org.el (87%) diff --git a/bba.org b/bba.org index ffec4ae6..8cce2bfc 100644 --- a/bba.org +++ b/bba.org @@ -1133,7 +1133,7 @@ necessary. (if (>= emacs-major-version 24) (progn (add-to-list 'load-path "~/.emacs.d/elpa/elfeed-20210822.2129") - (add-to-list 'load-path "~/.emacs.d/elpa/elfeed-org-20221118.852") + (add-to-list 'load-path "~/.emacs.d/elpa/elfeed-org-20250219.950") (require 'elfeed-org) (elfeed-org) (setq rmh-elfeed-org-files (list "~/org/elfeed.org")))) diff --git a/elpa/elfeed-org-20231009.1125/elfeed-org-autoloads.el b/elpa/elfeed-org-20250219.950/elfeed-org-autoloads.el similarity index 100% rename from elpa/elfeed-org-20231009.1125/elfeed-org-autoloads.el rename to elpa/elfeed-org-20250219.950/elfeed-org-autoloads.el diff --git a/elpa/elfeed-org-20231009.1125/elfeed-org-pkg.el b/elpa/elfeed-org-20250219.950/elfeed-org-pkg.el similarity index 60% rename from elpa/elfeed-org-20231009.1125/elfeed-org-pkg.el rename to elpa/elfeed-org-20250219.950/elfeed-org-pkg.el index 9b6069aa..d624759c 100644 --- a/elpa/elfeed-org-20231009.1125/elfeed-org-pkg.el +++ b/elpa/elfeed-org-20250219.950/elfeed-org-pkg.el @@ -1,12 +1,12 @@ ;; -*- no-byte-compile: t; lexical-binding: nil -*- -(define-package "elfeed-org" "20231009.1125" +(define-package "elfeed-org" "20250219.950" "Configure elfeed with one or more org-mode files." - '((elfeed "1.1.1") - (org "8.2.7") - (cl-lib "0.5")) + '((emacs "28.1") + (elfeed "1.1.1") + (org "8.2.7")) :url "https://github.com/remyhonig/elfeed-org" - :commit "fe59a96969bd321f5f9ec7317a4bc80943b94c86" - :revdesc "fe59a96969bd" + :commit "1197cf29f6604e572ec604874a8f50b58081176a" + :revdesc "1197cf29f660" :keywords '("news") :authors '(("Remy Honig" . "remyhonig@gmail.com")) :maintainers '(("Remy Honig" . "remyhonig@gmail.com"))) diff --git a/elpa/elfeed-org-20231009.1125/elfeed-org.el b/elpa/elfeed-org-20250219.950/elfeed-org.el similarity index 87% rename from elpa/elfeed-org-20231009.1125/elfeed-org.el rename to elpa/elfeed-org-20250219.950/elfeed-org.el index 6bd1af10..fead0ed0 100644 --- a/elpa/elfeed-org-20231009.1125/elfeed-org.el +++ b/elpa/elfeed-org-20250219.950/elfeed-org.el @@ -3,9 +3,9 @@ ;; Copyright (C) 2014 Remy Honig ;; Author : Remy Honig -;; Package-Requires : ((elfeed "1.1.1") (org "8.2.7") (cl-lib "0.5")) +;; Package-Requires : ((emacs "28.1") (elfeed "1.1.1") (org "8.2.7")) ;; URL : https://github.com/remyhonig/elfeed-org -;; Version : 20170423.1 +;; Version : 20250104.0 ;; Keywords : news ;; This program is free software; you can redistribute it and/or modify @@ -21,8 +21,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . -;; Package-Version: 20231009.1125 -;; Package-Revision: fe59a96969bd +;; Package-Version: 20250219.950 +;; Package-Revision: 1197cf29f660 ;;; Commentary: ;; Maintaining tags for all rss feeds is cumbersome using the regular @@ -88,20 +88,21 @@ Return t if it does or nil if it does not." (defun rmh-elfeed-org-mark-feed-ignore (url) "Set tag `rmh-elfeed-org-ignore-tag' to headlines containing the feed URL." - (dolist (org-file rmh-elfeed-org-files) - (with-temp-buffer - (insert-file-contents org-file) - (let ((org-inhibit-startup t) - (org-mode-hook nil)) - (org-mode)) - (goto-char (point-min)) - (while (and - (search-forward url nil t) - (org-at-heading-p t) - (rmh-elfeed-org-is-headline-contained-in-elfeed-tree)) - (org-toggle-tag rmh-elfeed-org-ignore-tag 'on)) - (elfeed-log 'info "elfeed-org tagged '%s' in file '%s' with '%s' to be ignored" url org-file rmh-elfeed-org-ignore-tag)))) - + (let ((org-inhibit-startup t)) + (dolist (org-file rmh-elfeed-org-files) + (with-current-buffer (find-file-noselect + (expand-file-name org-file)) + (org-mode) + (goto-char (point-min)) + (while (and + (search-forward url nil t) + ;; Prefer outline-on-heading-p because org-on-heading-p + ;; is obsolete but org-at-heading-p was only introduced + ;; in org 9.0: + (outline-on-heading-p t) + (rmh-elfeed-org-is-headline-contained-in-elfeed-tree)) + (org-toggle-tag rmh-elfeed-org-ignore-tag 'on)) + (elfeed-log 'info "elfeed-org tagged '%s' in file '%s' with '%s' to be ignored" url org-file rmh-elfeed-org-ignore-tag))))) (defun rmh-elfeed-org-import-trees (tree-id) "Get trees with \":ID:\" property or tag of value TREE-ID. @@ -246,8 +247,7 @@ all. Which in my opinion makes the process more traceable." (let* ((headlines (rmh-elfeed-org-import-headlines-from-files files tree-id)) (subscriptions (rmh-elfeed-org-filter-subscriptions headlines)) (taggers (rmh-elfeed-org-filter-taggers headlines)) - (elfeed-taggers (mapcar #'rmh-elfeed-org-convert-headline-to-tagger-params - (rmh-elfeed-org-filter-taggers headlines)))) + (elfeed-taggers (mapcar #'rmh-elfeed-org-convert-headline-to-tagger-params taggers))) (mapc #'rmh-elfeed-org-export-feed subscriptions) (mapc #'rmh-elfeed-org-export-entry-hook elfeed-taggers)) @@ -279,33 +279,13 @@ all. Which in my opinion makes the process more traceable." (defun rmh-elfeed-org-filter-taggers (headlines) "Filter tagging rules from the HEADLINES in the tree." - (cl-remove-if-not #'identity - (mapcar - (lambda (headline) - (when (string-prefix-p "entry-title" (car headline)) - headline)) - headlines))) + (cl-remove-if-not (lambda (headline) (string-prefix-p "entry-title" (car headline))) + headlines)) (defun rmh-elfeed-org-filter-subscriptions (headlines) "Filter subscriptions to rss feeds from the HEADLINES in the tree." - (cl-remove-if-not #'identity - (mapcar - (lambda (headline) - (let* ((text (car headline)) - (link-and-title (and (string-match "^\\[\\[\\(http.+?\\)\\]\\[\\(.+?\\)\\]\\]" text) - (list (match-string-no-properties 0 text) - (match-string-no-properties 1 text) - (match-string-no-properties 2 text)))) - (hyperlink (and (string-match "^\\[\\[\\(http.+?\\)\\]\\(?:\\[.+?\\]\\)?\\]" text) - (list (match-string-no-properties 0 text) - (match-string-no-properties 1 text))))) - (cond ((string-prefix-p "http" text) headline) - (link-and-title (append (list (nth 1 hyperlink)) - (cdr headline) - (list (nth 2 link-and-title)))) - (hyperlink (append (list (nth 1 hyperlink)) (cdr headline)))))) - headlines))) - + (cl-remove-if (lambda (headline) (string-prefix-p "entry-title" (car headline))) + headlines)) (defun rmh-elfeed-org-convert-opml-to-org (xml level) "Convert OPML content to Org format. @@ -344,7 +324,8 @@ Argument ORG-BUFFER the buffer to write the OPML content to." (org-mode-hook nil)) (org-mode)) (org-element-map (rmh-elfeed-org-import-trees - rmh-elfeed-org-tree-id) 'headline + rmh-elfeed-org-tree-id) + 'headline (lambda (h) (let* ((current-level (org-element-property :level h)) (tags (org-element-property :tags h)) -- 2.47.3