Re: Bug: [patch] fix: ox-rss died when an entry had an empty date [ ( @ /home/arne/.guix-profile/share/emacs/site-lisp/)]

2021-04-30 Thread Bastien
Hi Kyle and Arne,

Kyle Meyer  writes:

> I'm not an ox-rss user and don't know if there are more realistic ways
> to hit this error, but I was able to trigger it by taking an already
> exported buffer of
>
> * h1
>   :PROPERTIES:
>   :ID:   76841adc-b233-4f6d-8446-3478f263544b
>   :PUBDATE:  <2021-01-10 Sun 17:46>
>   :END:
>
> and then setting PUBDATE to an empty string and exporting again.
>
> I'm not sure if the error you see is indicative of a larger issue,
> though either way guarding against an empty string as your patch does
> seems fine.  

Indeed, thanks Arne for reporting this.

> Also, a bit downstream I see
>
>   (if (not pubdate0) "" ;; Skip entries with no PUBDATE prop
>
> It seems like this should be updated to look at pubdate rather than
> pubdate0 to avoid "nil" for the empty string
> case.

Indeed too.  Applied as commit 8ab1e30db in maint.

Thanks,

-- 
 Bastien



Re: Bug: [patch] fix: ox-rss died when an entry had an empty date [ ( @ /home/arne/.guix-profile/share/emacs/site-lisp/)]

2021-01-10 Thread Kyle Meyer
Dr. Arne Babenhauserheide writes:

> When creating an RSS feed, org-publish broke for me with
>
>   signal(error ("Not an Org time string: "))
>   error("Not an Org time string: %s" "")
>   org-parse-time-string("")
>   org-time-string-to-time("")
[...]
> Maybe relevant: I have date enabled in options.
> #+OPTIONS: date:t

I'm not an ox-rss user and don't know if there are more realistic ways
to hit this error, but I was able to trigger it by taking an already
exported buffer of

--8<---cut here---start->8---
* h1
  :PROPERTIES:
  :ID:   76841adc-b233-4f6d-8446-3478f263544b
  :PUBDATE:  <2021-01-10 Sun 17:46>
  :END:
--8<---cut here---end--->8---

and then setting PUBDATE to an empty string and exporting again.

I'm not sure if the error you see is indicative of a larger issue,
though either way guarding against an empty string as your patch does
seems fine.  But...
 
> diff --git a/contrib/lisp/ox-rss.el b/contrib/lisp/ox-rss.el
> index 299d22086..97a4bfc8f 100644
> --- a/contrib/lisp/ox-rss.el
> +++ b/contrib/lisp/ox-rss.el
> @@ -245,7 +245,7 @@ communication channel."
>   (or (org-element-property :CATEGORY headline) "") info))
>(pubdate0 (org-element-property :PUBDATE headline))
>(pubdate (let ((system-time-locale "C"))
> - (if pubdate0
> + (if (and pubdate0 (not (string-empty-p pubdate0))

... you're missing a closing parenthesis here.

Also, a bit downstream I see

  (if (not pubdate0) "" ;; Skip entries with no PUBDATE prop

It seems like this should be updated to look at pubdate rather than
pubdate0 to avoid "nil" for the empty string case.

What do you think?



Bug: [patch] fix: ox-rss died when an entry had an empty date [ ( @ /home/arne/.guix-profile/share/emacs/site-lisp/)]

2021-01-06 Thread Dr. Arne Babenhauserheide


Remember to cover the basics, that is, what you expected to happen and
what in fact did happen.  You don't know how to make a good report?  See

 https://orgmode.org/manual/Feedback.html#Feedback

Your bug report will be posted to the Org mailing list.


When creating an RSS feed, org-publish broke for me with

  signal(error ("Not an Org time string: "))
  error("Not an Org time string: %s" "")
  org-parse-time-string("")
  org-time-string-to-time("")
  (format-time-string "%a, %d %b %Y %H:%M:%S %z" (org-time-string-to-time 
pubdate0))
  (if pubdate0 (format-time-string "%a, %d %b %Y %H:%M:%S %z" 
(org-time-string-to-time pubdate0)))
  ;; …
  org-rss-headline((headline ... ...) #("\nIch bin ei..." 4 395 ... 407 410 
... 492 530 ... 534 535 ... ...) (:export-options nil :back-end ... 
:translate-alist ... :exported-data # 
:input-buffer "rss-feed.org" :input-file "/home/arne/Sch..." :description "" 
...))


Maybe relevant: I have date enabled in options.
#+OPTIONS: date:t

Best wishes,
Arne


From 17b6ba6f9adcd42e03ae2b606043719b2926641a Mon Sep 17 00:00:00 2001
From: Arne Babenhauserheide 
Subject: [PATCH] ox-rss: do not die on empty date

* contrib/lisp/ox-rss.el (org-rss-headline): check for empty string
---
 contrib/lisp/ox-rss.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/lisp/ox-rss.el b/contrib/lisp/ox-rss.el
index 299d22086..97a4bfc8f 100644
--- a/contrib/lisp/ox-rss.el
+++ b/contrib/lisp/ox-rss.el
@@ -245,7 +245,7 @@ communication channel."
(or (org-element-property :CATEGORY headline) "") info))
 (pubdate0 (org-element-property :PUBDATE headline))
 (pubdate (let ((system-time-locale "C"))
-   (if pubdate0
+   (if (and pubdate0 (not (string-empty-p pubdate0))
(format-time-string
 "%a, %d %b %Y %H:%M:%S %z"
 (org-time-string-to-time pubdate0)
-- 
2.29.2



Emacs  : GNU Emacs 27.1 (build 1, x86_64-unknown-linux-gnu, GTK+ Version 
3.24.23, cairo version 1.16.0)
Package: Org mode version  ( @ /home/arne/.guix-profile/share/emacs/site-lisp/)
-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken


signature.asc
Description: PGP signature