From dc26b1d84c7745080f26e0f194a4deb003a0f88f Mon Sep 17 00:00:00 2001 Message-Id: From: Ihor Radchenko Date: Wed, 16 Nov 2022 12:29:17 +0800 Subject: [PATCH] oc-basic: Display ?? in place of missing citations on export * lisp/oc-basic.el (org-cite-basic--format-author-year): (org-cite-basic-export-citation): Display "????" for missing year and "??" for missing other fields. Reported-by: Ihor Radchenko Link: https://orgmode.org/list/871qr6kiuv.fsf@localhost --- lisp/oc-basic.el | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lisp/oc-basic.el b/lisp/oc-basic.el index 3ef7a37e3..fdfee849e 100644 --- a/lisp/oc-basic.el +++ b/lisp/oc-basic.el @@ -580,8 +580,8 @@ (defun org-cite-basic--format-author-year (citation format-cite format-ref info) (suffix (org-element-property :suffix ref))) (funcall format-ref prefix - (org-cite-basic--get-author k info) - (org-cite-basic--get-year k info) + (or (org-cite-basic--get-author k info) "??") + (or (org-cite-basic--get-year k info) "????") suffix))) (org-cite-get-references citation) org-cite-basic-author-year-separator) @@ -652,15 +652,17 @@ (defun org-cite-basic-export-citation (citation style _ info) (org-export-data (mapconcat (lambda (key) - (let ((author (org-cite-basic--get-author key info))) - (if caps (capitalize author) author))) + (or + (let ((author (org-cite-basic--get-author key info))) + (if caps (capitalize author) author)) + "??")) (org-cite-get-references citation t) org-cite-basic-author-year-separator) info))) ;; "noauthor" style. (`(,(or "noauthor" "na") . ,variant) (format (if (funcall has-variant-p variant 'bare) "%s" "(%s)") - (mapconcat (lambda (key) (org-cite-basic--get-year key info)) + (mapconcat (lambda (key) (or (org-cite-basic--get-year key info) "????")) (org-cite-get-references citation t) org-cite-basic-author-year-separator))) ;; "nocite" style. -- 2.35.1