HELambaP fails to build own documentation due to missing method
A Common Lisp documentation system.
Status: Alpha
Brought to you by:
marcoxa
This is on Windows 10, CCL 1.11, HELambaP commit ea81e6c.
I tried to build documentation for HELambdaP with this command:
|HELambdaP|> (document (asdf:system-source-directory :helambdap) :documentation-title "HELambdaP local documentation build"
:format 'hlp::html)
The build failed because of a missing method for a generic function EXTRACT-FORM-DOCUMENTATION.
I have attached the trace output of HELAmbdaP. Below is the debugger output.
There is no applicable method for the generic function:
#<STANDARD-GENERIC-FUNCTION EXTRACT-FORM-DOCUMENTATION #x21023AAC6F>
when called with arguments:
(#1=(:FILE "helambdap-pkg")
(#1#
(:FILE "helambdap-globals" :DEPENDS-ON ("helambdap-pkg"))
(:MODULE "utilities" :DEPENDS-ON ("helambdap-pkg")
:COMPONENTS
("text-utilities" "filename-utilities" "time-utilities"
"streams-utilities" "symbols-utilities"
(:FILE "lambda-list-parsing")))
(:FILE "naming" :DEPENDS-ON ("helambdap-pkg"))
(:FILE "doc-bit" :DEPENDS-ON ("naming" "helambdap-globals"))
(:FILE "extract-doc" :DEPENDS-ON ("doc-bit"))
(:FILE "helambdap" :DEPENDS-ON ("doc-bit"))
(:FILE "collect-documentation" :DEPENDS-ON ("doc-bit"))
(:FILE "doc-structure" :DEPENDS-ON
("helambdap-pkg" "utilities"))
(:FILE "documentation-production" :DEPENDS-ON
("impl-dependent" "doc-structure"))
(:FILE "xhtml-common-definitions" :DEPENDS-ON
("helambdap-pkg"))
(:FILE "doc-string-handling" :DEPENDS-ON
("xhtml-common-definitions"))
(:FILE "html-source-handling" :DEPENDS-ON
("xhtml-common-definitions"))
(:FILE "xhtml-lambda-producer-protocol" :DEPENDS-ON
("xhtml-common-definitions"))
(:FILE "xhtml-lambda-producer" :DEPENDS-ON
("doc-structure" "utilities" "documentation-production"
"doc-string-handling" "html-source-handling"
"xhtml-lambda-producer-protocol"))
(:MODULE "impl-dependent" :DEPENDS-ON ("helambdap-pkg")
:COMPONENTS ((:FILE "asdf-deps")))))
[Condition of type CCL:NO-APPLICABLE-METHOD-EXISTS]
Restarts:
0: [CONTINUE] Try calling it again
1: [RETRY] Retry SLIME REPL evaluation request.
2: [*ABORT] Return to SLIME's top level.
3: [ABORT-BREAK] Reset this thread
4: [ABORT] Kill this thread
Backtrace:
0: (#<CCL::STANDARD-KERNEL-METHOD NO-APPLICABLE-METHOD (T)> #<STANDARD-GENERIC-FUNCTION EXTRACT-FORM-DOCUMENTATION #x21023AAC6F> (:FILE "helambdap-pkg") ((:FILE "helambdap-pkg") ..)))))
1: (NIL #<Unknown Arguments>)
2: (#<STANDARD-METHOD EXTRACT-DOCUMENTATION (STREAM)> #<BASIC-FILE-CHARACTER-INPUT-STREAM ("c:/mv-program-files/my-lisp-libraries/helambdap-code/helambdap.system"/4248 UTF-8) #x210292FFBD>)
3: (CCL::%CALL-NEXT-METHOD (NIL #<STANDARD-METHOD EXTRACT-DOCUMENTATION (STREAM)> . 82285091))
4: (#<STANDARD-METHOD EXTRACT-DOCUMENTATION :AROUND (STREAM)> #<BASIC-FILE-CHARACTER-INPUT-STREAM ("c:/mv-program-files/my-lisp-libraries/helambdap-code/helambdap.system"/4248 UTF-8) #x210292FFBD>)
5: (CCL::%%STANDARD-COMBINED-METHOD-DCODE (#<STANDARD-METHOD EXTRACT-DOCUMENTATION :AROUND (STREAM)> #<STANDARD-METHOD EXTRACT-DOCUMENTATION (STREAM)>) 82285091)
6: (NIL #<Unknown Arguments>)
7: (#<STANDARD-METHOD EXTRACT-DOCUMENTATION (PATHNAME)> #P"c:/mv-program-files/my-lisp-libraries/helambdap-code/helambdap.system")
8: ((:INTERNAL DFS (COLLECT-DOCUMENTATION (PATHNAME))) #P"c:/mv-program-files/my-lisp-libraries/helambdap-code/helambdap.system")
9: ((:INTERNAL DFS (COLLECT-DOCUMENTATION (PATHNAME))) #P"c:/mv-program-files/my-lisp-libraries/helambdap-code/")
10: (#<STANDARD-METHOD COLLECT-DOCUMENTATION (PATHNAME)> #P"c:/mv-program-files/my-lisp-libraries/helambdap-code/" :EXCLUDE-DIRECTORIES (#P"c:/mv-program-files/my-lisp-libraries/helambdap-code/.git/" ..))..
11: (CCL::%CALL-NEXT-METHOD (NIL #<STANDARD-METHOD COLLECT-DOCUMENTATION (PATHNAME)> . 82285187))
12: (#<STANDARD-METHOD COLLECT-DOCUMENTATION :AROUND (T)> #P"c:/mv-program-files/my-lisp-libraries/helambdap-code/")
13: (CCL::%%STANDARD-COMBINED-METHOD-DCODE (#<STANDARD-METHOD COLLECT-DOCUMENTATION :AROUND (T)> #<STANDARD-METHOD COLLECT-DOCUMENTATION (PATHNAME)>) 82285187)
14: (NIL #<Unknown Arguments>)
15: (#<STANDARD-METHOD BUILD-DOCUMENTATION (PATHNAME T)> #P"c:/mv-program-files/my-lisp-libraries/helambdap-code/" :HTML :DOCUMENTATION-TITLE "HELambdaP local documentation build" :LAYOUT #<DOCUMENTATION-..
16: (CCL::%CALL-NEXT-METHOD (NIL #<STANDARD-METHOD BUILD-DOCUMENTATION (PATHNAME T)> . 82285243))
17: (#<STANDARD-METHOD BUILD-DOCUMENTATION :AROUND (PATHNAME T)> #P"c:/mv-program-files/my-lisp-libraries/helambdap-code/" :HTML)
18: (CCL::%%STANDARD-COMBINED-METHOD-DCODE (#<STANDARD-METHOD BUILD-DOCUMENTATION :AROUND (PATHNAME T)> (#<STANDARD-METHOD BUILD-DOCUMENTATION :BEFORE #>) NIL ..) 82285243)
19: (NIL #<Unknown Arguments>)
20: (DOCUMENT #P"c:/mv-program-files/my-lisp-libraries/helambdap-code/" :DOCUMENTATION-TITLE "HELambdaP local documentation build" :FORMAT :HTML :LAYOUT #<DOCUMENTATION-STRUCTURE #x210242F93D> :SOURCE #P"..
21: (CCL::CALL-CHECK-REGS DOCUMENT #P"c:/mv-program-files/my-lisp-libraries/helambdap-code/" :DOCUMENTATION-TITLE "HELambdaP local documentation build")
Ok. Thanks Mirko.
It took me quite awhile, but I was able to reproduce it on a fresh CCL Windows installation.
I need to have a deeper look at it. Can I ask you what do you use to develop with CCL on Windows?
Thanks
Marco
I use Emacs and Slime
Which version of Emacs?
I use Emacs 25.2.1 and Slime 2.20
On Wed, May 9, 2018 at 4:08 PM Marco Antoniotti marcoxa@users.sourceforge.net wrote:
Related
Tickets:
#1Uploaded a new set of changes.
Please note the new dependency on the CLAD system (on common-lisp.net); it has not made it into QL, so it must be loaded by hand.
I have not tested it on Windows, but I believe it should work.
Avoiding the CCL reader algorithm behavior was easier just bypassing the incriminated file. Using :EXCLUDE-FILES and :EXCLUDE-DIRECTORIES will help in similar situations.
I also fixed (with CLAD) the problem of the uncopied CSS file.
Hopefully it will work now.
Marco
Ahem, I could not find CLAD or CL-AD on common-lisp or google. Did you maybe mispelled it? Or if not, can you post a link?
Looks like it hasn't been picked up by the update processes yet.
Here is the link https://gitlab.common-lisp.net/mantoniotti/CLAD
It should be accessible. Hopefully it will be included in QL the next time around.
Note on CLAD compilation on my system: CCL on Windows: It sets the WINDOWS feature, not the MSWINDOWS feature. With that changge in the code for the constant +cl-subfolder-name+, CLAD compiled.
With that, HELambdaP produced documentation wit the following command:
The HTML documentation is in the system's docs/html subdirectory, and the index is accessible from index.html.