From 5450d64202412630b069c4823e475ef2e8a9e3fd Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Sun, 21 Mar 2021 13:41:31 -0400 Subject: [PATCH] ob-export: Give more informative error on unknown call reference * lisp/ob-exp.el (org-babel-exp-process-buffer): Signal user-error with an informative message rather than letting org-babel-exp-do-export call fail due to an invalid INFO argument. * testing/lisp/test-ob-exp.el (ob-exp/unknown-call-reference): Add test. Reported-by: Greg Minshall Ref: https://orgmode.org/list/628738.1616259666@apollo2.minshall.org --- lisp/ob-exp.el | 7 +++++-- testing/lisp/test-ob-exp.el | 8 ++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lisp/ob-exp.el b/lisp/ob-exp.el index e851ff624..c5790800b 100644 --- a/lisp/ob-exp.el +++ b/lisp/ob-exp.el @@ -216,8 +216,11 @@ this template." (delete-region begin end) (insert replacement))))) ((or `babel-call `inline-babel-call) - (org-babel-exp-do-export (org-babel-lob-get-info element) - 'lob) + (org-babel-exp-do-export + (or (org-babel-lob-get-info element) + (user-error "Unknown Babel reference: %s" + (org-element-property :call element))) + 'lob) (let ((rep (org-fill-template org-babel-exp-call-line-template diff --git a/testing/lisp/test-ob-exp.el b/testing/lisp/test-ob-exp.el index f6be51ffe..9581f2866 100644 --- a/testing/lisp/test-ob-exp.el +++ b/testing/lisp/test-ob-exp.el @@ -585,6 +585,14 @@ src_emacs-lisp{(+ 1 1)}" (org-babel-exp-process-buffer)) (buffer-string))))) +(ert-deftest ob-exp/unknown-call-reference () + "Test exporting with a call that references an unknown name." + (should-error + (org-test-with-temp-text + "call_foo()" + (let ((org-export-use-babel t)) + (org-babel-exp-process-buffer))) + :type 'user-error)) (provide 'test-ob-exp)