diff --git a/full/doc.lisp b/full/doc.lisp index a89e4c4..2cd7360 100644 --- a/full/doc.lisp +++ b/full/doc.lisp @@ -66,6 +66,8 @@ #:height #:width #:local-image) + (:import-from #:40ants-doc/object-package + #:object-package) (:export #:@index #:@readme #:@changelog)) @@ -657,6 +659,7 @@ See full list of changes in the 40ANTS-DOC/CHANGELOG::@CHANGELOG section. (define-locative-type macro) (exportable-locative-type-p generic-function) (locate-object generic-function) + (object-package generic-function) (locate-error function) (canonical-reference generic-function) (find-source generic-function) diff --git a/full/object-package-impl.lisp b/full/object-package-impl.lisp index 694b11f..5e0fabc 100644 --- a/full/object-package-impl.lisp +++ b/full/object-package-impl.lisp @@ -10,11 +10,6 @@ (in-package #:40ants-doc-full/object-package-impl) -(defmethod object-package ((object t)) - (warn "Unable to figure out *package* for object ~S" - object) - nil) - (defmethod object-package ((object symbol)) (symbol-package object)) diff --git a/src/changelog.lisp b/src/changelog.lisp index 975950c..ccfefff 100644 --- a/src/changelog.lisp +++ b/src/changelog.lisp @@ -155,6 +155,15 @@ "CLEAN-URLS" ;; These objects are not documented yet: "40ANTS-DOC/COMMONDOC/XREF:XREF")) + (0.22.0 2025-01-05 + "* Exported 40ANTS-DOC/OBJECT-PACKAGE:OBJECT-PACKAGE generic-function. + Define a method for it if you have created a new locative type + and encounter a warning like this: + + ``` + WARNING: + Unable to figure out *package* for object #<40ANTS-DOC/LOCATIVES::DIAGRAM {1012A10B53}> + ```") (0.21.0 2025-01-05 "* Changed a way how images are processed. New behaviour should be backward compatible, but now it is possible. But now 40ANTS-DOC-FULL/COMMONDOC/IMAGE:LOCAL-IMAGE function diff --git a/src/object-package.lisp b/src/object-package.lisp index 4239dc4..13fa6ae 100644 --- a/src/object-package.lisp +++ b/src/object-package.lisp @@ -1,9 +1,15 @@ (uiop:define-package #:40ants-doc/object-package - (:use #:cl)) + (:use #:cl) + (:export #:object-package)) (in-package #:40ants-doc/object-package) (defgeneric object-package (object) + (:documentation "Should return a package object where locative object was defined. + + This package will be bound to *PACKAGE* when processing the documentation piece + using 40ANTS-DOC-FULL/COMMONDOC/BUILDER:TO-COMMONDOC generic-function.") + (:method ((object t)) (warn "Unable to figure out *package* for object ~S" object)