mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-08-25 16:32:51 +00:00
oc-basic.el: Fix wrong type for the editors field when parsing JSON.
* lisp/oc-basic.el (org-cite-basic--parse-json): Make sure `org-cite-basic--parse-json' produces a string for the editors field. The function `org-cite-basic--get-author' expects a string for both the "authors" field and the "editors" field. The conversion to string was only done for the "authors" field in `org-cite-basic--parse-json'. This patch fixes the issue by applying the transformation to both "authors" and "editors". This points to a more general issue where `org-cite-basic--get-field' is expected to return nil or a string, but calls `org-cite-basic--get-entry' that may return an association list. TINYCHANGE
This commit is contained in:
parent
7f2f73c414
commit
318807013c
|
@ -162,17 +162,17 @@ Return a hash table with citation references as keys and fields alist as values.
|
|||
(puthash (cdr (assq 'id item))
|
||||
(mapcar (pcase-lambda (`(,field . ,value))
|
||||
(pcase field
|
||||
('author
|
||||
;; Author is an array of objects, each
|
||||
;; of them designing a person. These
|
||||
;; objects may contain multiple
|
||||
;; properties, but for this basic
|
||||
;; processor, we'll focus on `given' and
|
||||
;; `family'.
|
||||
((or 'author 'editors)
|
||||
;; Author and editors are arrays of
|
||||
;; objects, each of them designing a
|
||||
;; person. These objects may contain
|
||||
;; multiple properties, but for this
|
||||
;; basic processor, we'll focus on
|
||||
;; `given' and `family'.
|
||||
;;
|
||||
;; For compatibility with BibTeX, add
|
||||
;; "and" between authors.
|
||||
(cons 'author
|
||||
;; "and" between authors and editors.
|
||||
(cons field
|
||||
(mapconcat
|
||||
(lambda (alist)
|
||||
(concat (alist-get 'family alist)
|
||||
|
|
Loading…
Reference in a new issue