From 4c1e4e767dc3ed039f5e5060b87eb02d4bfbcf34 Mon Sep 17 00:00:00 2001 From: Alexander Artemenko Date: Sun, 5 Jan 2025 17:47:06 +0000 Subject: [PATCH 1/2] Export object-package generic function. --- full/object-package-impl.lisp | 5 ----- src/changelog.lisp | 9 +++++++++ src/object-package.lisp | 3 ++- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/full/object-package-impl.lisp b/full/object-package-impl.lisp index 694b11f8..5e0fabc7 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 975950ca..ccfefff6 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 4239dc41..a21b7555 100644 --- a/src/object-package.lisp +++ b/src/object-package.lisp @@ -1,5 +1,6 @@ (uiop:define-package #:40ants-doc/object-package - (:use #:cl)) + (:use #:cl) + (:export #:object-package)) (in-package #:40ants-doc/object-package) From 80680b1bb61875629ec84e2f1437c9340d708824 Mon Sep 17 00:00:00 2001 From: Alexander Artemenko Date: Sun, 5 Jan 2025 18:14:28 +0000 Subject: [PATCH 2/2] Added documentation on OBJECT-PACKAGE generic-function. --- full/doc.lisp | 3 +++ src/object-package.lisp | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/full/doc.lisp b/full/doc.lisp index a89e4c4b..2cd73605 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/src/object-package.lisp b/src/object-package.lisp index a21b7555..13fa6aec 100644 --- a/src/object-package.lisp +++ b/src/object-package.lisp @@ -5,6 +5,11 @@ (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)