Re: [PATCH] oc-basic.el: Stringify year from CSL-JSON date-parts

2022-06-24 Thread Ihor Radchenko
David Lukeš  writes:

> Thanks! OK, will do, thanks for letting me know.

Note that FSF should reply within 5 working days. If they do not, feel
free to ask here for further assistance.

Best,
Ihor



Re: [PATCH] oc-basic.el: Stringify year from CSL-JSON date-parts

2022-06-24 Thread David Lukeš
Thanks! OK, will do, thanks for letting me know.

David



Re: [PATCH] oc-basic.el: Stringify year from CSL-JSON date-parts

2022-06-23 Thread Ihor Radchenko
David Lukes  writes:

> * lisp/oc-basic.el (org-cite-basic--parse-json): Make sure year
> extracted from date-parts is returned as string.  Raise error if
> original type other than number or string.

Thanks!

Applied onto bugfix via 05626952b.

Note that the total LOC of your contributions is exceeding 20LOC
(depending how to count).

You may need to complete the copyright paperwork for future patches.
See https://orgmode.org/worg/org-contribute.html#copyright

Best,
Ihor



[PATCH] oc-basic.el: Stringify year from CSL-JSON date-parts

2022-06-21 Thread David Lukes
* lisp/oc-basic.el (org-cite-basic--parse-json): Make sure year
extracted from date-parts is returned as string.  Raise error if
original type other than number or string.

The stringifiation is motivated by errors like the following on Emacs 28
with nativecomp:

Error during redisplay: (jit-lock-function 544) signaled
(wrong-type-argument "Argument is not a string or a secondary string:
2007")

Additionally, the type check will warn users about problems in their
CSL-JSON bibliographies.

TINYCHANGE
---
 lisp/oc-basic.el | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/lisp/oc-basic.el b/lisp/oc-basic.el
index a937f75..f10b95b 100644
--- a/lisp/oc-basic.el
+++ b/lisp/oc-basic.el
@@ -189,7 +189,14 @@ Return a hash table with citation references as keys and 
fields alist as values.
 (cons 'year
   (cond
((consp date)
-(caar date))
+ (let ((year (caar date)))
+   (cond
+ ((numberp year) (number-to-string 
year))
+ ((stringp year) year)
+ (t
+   (error
+ "First element of CSL-JSON 
date-parts should be a number or string, got %s: %S"
+ (type-of year) year)
((stringp date)
 (replace-regexp-in-string
   (rx
-- 
2.36.1