branch: externals-release/org
commit 318807013cd69848633c30b303f860ded1db0597
Author: hugcis <[email protected]>
Commit: Ihor Radchenko <[email protected]>

    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
---
 lisp/oc-basic.el | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/lisp/oc-basic.el b/lisp/oc-basic.el
index 3ef7a37e3b..01e314bfdb 100644
--- a/lisp/oc-basic.el
+++ b/lisp/oc-basic.el
@@ -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)

Reply via email to