master: make-pax-docs: muffle source location warnings

melisgl via Sbcl-commits <[email protected]> Mon, 29 Jun 2026 12:20:02 +0000
Newsgroups gmane.lisp.steel-bank.cvs
Message-ID <[email protected]>
The branch "master" has been updated in SBCL:
       via  79e63158c90e9af76c356381e7db0297ff88f3a0 (commit)
      from  4499dc643029f4a1ad7386937d5a245019251c1f (commit)

- Log -----------------------------------------------------------------
commit 79e63158c90e9af76c356381e7db0297ff88f3a0
Author: Gabor Melis <[email protected]>
Date:   Mon Jun 8 22:31:40 2026 +0200

    make-pax-docs: muffle source location warnings
---
 contrib/sb-manual/make-pax-docs.lisp | 37 ++++++++++++++++++++++--------------
 1 file changed, 23 insertions(+), 14 deletions(-)

diff --git a/contrib/sb-manual/make-pax-docs.lisp b/contrib/sb-manual/make-pax-docs.lisp
index e4ba12a60..8ebf523be 100644
--- a/contrib/sb-manual/make-pax-docs.lisp
+++ b/contrib/sb-manual/make-pax-docs.lisp
@@ -45,6 +45,13 @@
 \\renewcommand*\\l@subsubsection{\\@dottedtocline{3}{4.3em}{4.0em}}
 \\makeatother")
 
+(defun muffle-uninteresting-warnings (condition)
+  (let ((string (princ-to-string condition)))
+    ;; We know that there is no source location for declarations.
+    (when (and (search "No source location" string)
+               (search "DECLARATION" string))
+      (muffle-warning condition))))
+
 (defun make-pax-docs (&optional git-forge-uri)
   (let ((*git-forge-uri* (or (and (plusp (length git-forge-uri))
                                   git-forge-uri)
@@ -60,20 +67,22 @@
         (pax:*document-pandoc-pdf-options*
           (remove "--verbose" pax:*document-pandoc-pdf-options*
                   :test #'equal)))
-    (format t "Git root: ~A~%Git forge URI: ~A~%Output dir: ~A~%"
-            *git-root* *git-forge-uri* *output-dir*)
-    (format t "Generating manual in plain text format~%")
-    (pax:document @sbcl-manual :pages (sbcl-pages* :plain) :format :plain)
-    (format t "Generating manual in Markdown format~%")
-    (pax:document @sbcl-manual :pages (sbcl-pages* :markdown) :format :markdown)
-    (format t "Generating manual in PDF format~%")
-    (pax:document @sbcl-manual :pages (sbcl-pages* :pdf) :format :pdf)
-    (format t "Generating manual in HTML format~%")
-    (pax:update-asdf-system-html-docs @sbcl-manual "sb-manual"
-                                      :pages (sbcl-pages* :html)
-                                      :target-dir (merge-pathnames "html/"
-                                                                   *output-dir*)
-                                      :style :charter)))
+    (handler-bind ((warning #'muffle-uninteresting-warnings))
+      (format t "Git root: ~A~%Git forge URI: ~A~%Output dir: ~A~%"
+              *git-root* *git-forge-uri* *output-dir*)
+      (format t "Generating manual in plain text format~%")
+      (pax:document @sbcl-manual :pages (sbcl-pages* :plain) :format :plain)
+      (format t "Generating manual in Markdown format~%")
+      (pax:document @sbcl-manual :pages (sbcl-pages* :markdown)
+                    :format :markdown)
+      (format t "Generating manual in PDF format~%")
+      (pax:document @sbcl-manual :pages (sbcl-pages* :pdf) :format :pdf)
+      (format t "Generating manual in HTML format~%")
+      (pax:update-asdf-system-html-docs
+       @sbcl-manual "sb-manual"
+       :pages (sbcl-pages* :html)
+       :target-dir (merge-pathnames "html/" *output-dir*)
+       :style :charter))))
 
 #+nil
 (make-pax-docs)

-----------------------------------------------------------------------


hooks/post-receive
-- 
SBCL