diff --git a/lisp/ein-shared-output.el b/lisp/ein-shared-output.el index 8c6c6ca..a77c43e 100644 --- a/lisp/ein-shared-output.el +++ b/lisp/ein-shared-output.el @@ -158,7 +158,7 @@ where CELL locates." (defun ein:get-kernel--shared-output () (let ((cell (ein:get-cell-at-point--shared-output))) - (when (slot-boundp cell :kernel) + (when (and (object-p cell) (slot-boundp cell :kernel)) (oref cell :kernel)))) (defun ein:get-cell-at-point--shared-output () diff --git a/tests/test-ein-utils.el b/tests/test-ein-utils.el index ded0db6..e57e03e 100644 --- a/tests/test-ein-utils.el +++ b/tests/test-ein-utils.el @@ -86,6 +86,21 @@ def func(): "Check if `ein:version' can be parsed by `version-to-list'." (version-to-list ein:version)) + +;; Generic getter + +(defmacro eintest:generic-getter-should-return-nil (func) + "In an \"empty\" context, generic getter should return nil." + `(ert-deftest ,(intern (format "%s--nil name" func)) () + (with-temp-buffer + (should (not (,func)))))) + +(eintest:generic-getter-should-return-nil ein:get-url-or-port) +(eintest:generic-getter-should-return-nil ein:get-notebook) +(eintest:generic-getter-should-return-nil ein:get-kernel) +(eintest:generic-getter-should-return-nil ein:get-cell-at-point) +(eintest:generic-getter-should-return-nil ein:get-traceback-data) + ;;; File name translation