ursetto / chicken-doc Goto Github PK
View Code? Open in Web Editor NEWChicken documentation egg
Home Page: https://api.call-cc.org/doc/chicken-doc
Chicken documentation egg
Home Page: https://api.call-cc.org/doc/chicken-doc
chicken-doc
fails with an "out of range" error when asking for some SRFIs' docs. These are the offending SRFIs:
SRFI-105
SRFI-130
SRFI-135
SRFI-178
SRFI-189
SRFI-196
$ chicken-doc srfi-189
path: (srfi-189)
Error: (u8vector-ref) out of range
#u8(255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 254 255 255 255 255 255 31 0 0 0 0 0 0 0 0 0 63 0 0 0 0 0 0 248 255 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 192 255 255 63 0 0 0 0 2 0 0 0 255 255 255 7 0 0 0 0 0 0 0 0 0 0 192 255 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
It seems u8vector
s are not used directly in chicken-doc
, so the problem may be in a dependency, but I have no other clue about that...
While looking for other SRFIs I noticed that SRFI-111 also fails, but with a different error (probably unrelated):
$ chicken-doc srfi-111
path: (srfi-111)
Error: (caar) bad argument type: ()
Hi there...
When one attempts to install chicken-doc into a custom install location, the installation of the chicken-doc binary fails, because it assumes it will always be installed into /usr/bin; as a non-privileged user, then:
vjo@glaucus/pts/24:~ % export CHICKEN_INSTALL_REPOSITORY=~/local_chickendev/eggs/11
vjo@glaucus/pts/24:~ % chicken-install apropos chicken-doc
building apropos
/usr/bin/csc -host -D compiling-extension -J -s -regenerate-import-libraries -setup-mode -I /home/vjo/.cache/chicken-install/apropos -C -I/home/vjo/.cache/chicken-install/apropos -O3 -d1 -strict-types -no-procedure-checks -no-bound-checks -emit-types-file '/home/vjo/.cache/chicken-install/apropos/symbol-access.types' symbol-access.scm -o /home/vjo/.cache/chicken-install/apropos/symbol-access.so
/usr/bin/csc -regenerate-import-libraries -setup-mode -static -I /home/vjo/.cache/chicken-install/apropos -emit-link-file /home/vjo/.cache/chicken-install/apropos/symbol-access.link -host -D compiling-extension -c -unit symbol-access -D compiling-static-extension -C -I/home/vjo/.cache/chicken-install/apropos -O3 -d1 -strict-types -no-procedure-checks -no-bound-checks symbol-access.scm -o /home/vjo/.cache/chicken-install/apropos/symbol-access.static.o
/usr/bin/csc -setup-mode -s -host -I /home/vjo/.cache/chicken-install/apropos -C -I/home/vjo/.cache/chicken-install/apropos -O3 -d1 -strict-types -no-procedure-checks -no-bound-checks symbol-access.import.scm -o /home/vjo/.cache/chicken-install/apropos/symbol-access.import.so
<several_lines_elided/>
/usr/bin/csc -regenerate-import-libraries -setup-mode -static -I /home/vjo/.cache/chicken-install/chicken-doc -emit-link-file /home/vjo/.cache/chicken-install/chicken-doc/chicken-doc.link -host -D compiling-extension -c -unit chicken-doc -D compiling-static-extension -C -I/home/vjo/.cache/chicken-install/chicken-doc -O2 -d1 chicken-doc.scm -o /home/vjo/.cache/chicken-install/chicken-doc/chicken-doc.static.o
/usr/bin/csc -setup-mode -s -host -I /home/vjo/.cache/chicken-install/chicken-doc -C -I/home/vjo/.cache/chicken-install/chicken-doc -O2 -d0 chicken-doc.import.scm -o /home/vjo/.cache/chicken-install/chicken-doc/chicken-doc.import.so
/usr/bin/csc -setup-mode -s -host -I /home/vjo/.cache/chicken-install/chicken-doc -C -I/home/vjo/.cache/chicken-install/chicken-doc -O2 -d0 chicken-doc-text.import.scm -o /home/vjo/.cache/chicken-install/chicken-doc/chicken-doc-text.import.so
/usr/bin/csc -setup-mode -host -I /home/vjo/.cache/chicken-install/chicken-doc -C -I/home/vjo/.cache/chicken-install/chicken-doc -O2 -d1 chicken-doc-cmd.scm -o /home/vjo/.cache/chicken-install/chicken-doc/chicken-doc-cmd
installing chicken-doc
install: cannot create regular file '/usr/bin/chicken-doc': Permission denied
Error: shell command terminated with nonzero exit code
256
"sh /home/vjo/.cache/chicken-install/chicken-doc/chicken-doc.install.sh"
When I look in "chicken-doc.install.sh", I find:
mkdir -p ${DESTDIR}'/home/vjo/local_chickendev/eggs/11'
rm -f ${DESTDIR}'/home/vjo/local_chickendev/eggs/11/chicken-doc.import.so'
install -m 755 '/home/vjo/.cache/chicken-install/chicken-doc/chicken-doc.import.
so' ${DESTDIR}'/home/vjo/local_chickendev/eggs/11/chicken-doc.import.so'
mkdir -p ${DESTDIR}'/home/vjo/local_chickendev/eggs/11'
rm -f ${DESTDIR}'/home/vjo/local_chickendev/eggs/11/chicken-doc-text.import.so'
install -m 755 '/home/vjo/.cache/chicken-install/chicken-doc/chicken-doc-text.im
port.so' ${DESTDIR}'/home/vjo/local_chickendev/eggs/11/chicken-doc-text.import.s
o'
mkdir -p ${DESTDIR}'/usr/bin'
rm -f ${DESTDIR}'/usr/bin/chicken-doc'
install -m 755 '/home/vjo/.cache/chicken-install/chicken-doc/chicken-doc-cmd' ${DESTDIR}'/usr/bin/chicken-doc'
Is there any way to have the chicken-doc binary placed in a location that's custom?
The documentation at http://wiki.call-cc.org/eggref/5/chicken-doc shows:
$ cd `csi -p '(chicken-home)'`
but with Chicken 5.0.0:
$ csi -p '(chicken-home)'
Error: unbound variable: chicken-home
Call history:
<syntax> (##core#begin (##core#require library scheme#) (##core#require library chicken.base#) (##core#requir...
<syntax> (##core#require library scheme#)
<syntax> (##sys#load-library (##core#quote library))
<syntax> (##core#quote library)
<syntax> (##core#require library chicken.base#)
<syntax> (##sys#load-library (##core#quote library))
<syntax> (##core#quote library)
<syntax> (##core#begin (##core#require expand chicken.syntax#))
<syntax> (##core#require expand chicken.syntax#)
<syntax> (##sys#load-library (##core#quote expand))
<syntax> (##core#quote expand)
<eval> (##sys#load-library (##core#quote library))
<eval> (##sys#load-library (##core#quote library))
<eval> (##sys#load-library (##core#quote expand))
<syntax> (chicken-home)
<eval> (chicken-home) <--
The syntactic binding locate-repository
is also unbound.
As I was looking for the document of function call-with-port
in the API document for chicken, but I got the below response in the result page.
No node found matching identifier call-with-port
Seem like API document for chicken document does not have the index for this symbol, when come to the REPL to check the function call-with-port
after running (import (scheme base))
, it is there. my question is that is there a special reason for http://api.call-cc.org does not index the symbol call-with-port
, which is in the scheme base. Thank in advanced.
Let us say both http://wiki.call-cc.org/eggref/5/srfi-1 and http://api.call-cc.org/5/doc/srfi-1, for the introduction
node in the page. The first one of implementation for the node is
<a href="#introduction"> <h3 id="introduction">Introduction</h3></a>
.
The second of the implementation for that node is
<h3 id="sec:Introduction"><a href="#sec:Introduction">Introduction</a></h3>
But the point is that as I view both of the source of the node in nxml-mode
in Emacs. The first one can not pass the validation.
I'm currently writing chicken-doc.el and walk over all installed eggs at some point. The sqlite3pth
one raises a peculiar error when you try to fetch its data, either by chicken-doc :sql-result
(note the missing trailing colon, unlike what the docs suggest) and this code snippet:
(node-children (lookup-node '(sqlite3pth)))
This occurs with both CHICKEN 5.1.0 and 5.2.0 and version 0.6.1 of the egg. See http://wiki.call-cc.org/eggref/5/sqlite3pth#api for the egg in question. While it's unusual the egg defines a :sql-result:
identifier (note the trailing colon), it's definitely incorrect to omit the trailing colon in the chicken-doc database.
edit: This can be fixed by adjusting the identifier inside id.idx
and root/sqlite3pth/,defs
which suggests something went wrong while generating the documentation tarball.
edit: This might be the fault of svnwiki-signature->identifier
in the svnwiki-sxml
egg, it shows an example reminiscent of Ivan Raikov's eggs.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.