oc-basic.el: Stringify year from CSL-JSON date-parts
* 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. Fixes https://list.orgmode.org/875ykv4k2q.fsf@localhost/T/#t TINYCHANGE
This commit is contained in:
parent
02a22d6fad
commit
0dc27a8837
|
@ -189,7 +189,14 @@ Return a hash table with citation references as keys and fields alist as values.
|
||||||
(cons 'year
|
(cons 'year
|
||||||
(cond
|
(cond
|
||||||
((consp date)
|
((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)
|
((stringp date)
|
||||||
(replace-regexp-in-string
|
(replace-regexp-in-string
|
||||||
(rx
|
(rx
|
||||||
|
|
Loading…
Reference in New Issue