bug#42012: Reference Manual and Docstring on number->string
Guile 3.0.3. The reference manual and the docstring of number->string say: "If N is inexact, a radix of 10 will be used." But that is not what happens, e.g., (let ((x 4.0)) (and (inexact? x) (number->string x 3))) evaluates to "11.0" instead of #f or "4.0". Probably "if RADIX is not supplied, a radix of 10 will be used" is meant.
bug#41981: Reference Manual on Vtables: Missing Information on Permission "h"
dsm...@roadrunner.com writes: > Is is documented in the docstring: > > scheme@(guile-user)> ,d make-struct-layout In the reference manual, a description of make-struct-layout directly precedes the '(define* (make-vtable ..) ..)' example that cannot be understood without somehow grasping what is documented about "h" in the docstring of make-struct-layout. However, the description of make-struct-layout in the reference manual says: "FIELDS is as described under ‘make-vtable’ (*note Vtables::)". But that description lacks the information on "h". It may be a matter of opinion. But my opinion stronly is that descriptions about the behavior around permission "h" do should appear in the reference manual in two places: The description of make-vtable and the description of make-struct/no-tail. After glancing at libguile/struct.c, "w", "h", and the depreciated "r" seem in fact to be all possible permissions. I will prepare a patch after I finish getting a good overview of Guile.
bug#42003: Describe Command in meta/guile Does Not Work
I am on the current master branch (3.0.3.4-a5243). With meta/guile I get the following: scheme@(guile-user)> ,d make-struct/no-tail #f Expected: A description of make-struct/no-tail instead of #f. When I run 'make install' followed by meta/guile, then it does yield the expected result.
bug#41983: Reference Manual: Open Question About Magic Metaness of Vtables
I am on the current master branch. After reading section 6.6.18.4 (Meta-Vtables) of the reference manual there remains an open question. A structure X made from a meta-vtable becomes a meta-vtable if standard-vtable-fields is a prefix of the layout in X's field 0. And if X is a meta-vtable, every structure with X as a vtable must have a valid layout in field 0. Suppose the following: standard-vtable-fields accidentally is a prefix of some valid layout string l. Then (define v (make-vtable l)) (make-struct/no-tail v 'a) raises an exception, because 'a is not a valid layout. But v may not be intended to be a meta-vtable, just a vtable. The reference manual does mention why that can not happen, or why is it accepted that it may happen.
bug#41981: Reference Manual on Vtables: Missing Information on Permission "h"
I am on the current master branch. The standard-vtable-fields is "pwuhuhpwphuhuhuh" on my system and something similar in the Reference Manual. In particular, it contains the permission letter "h", but I find no explanation in the manual what that means. Section 6.6.18.1 (Vtables) just mentions: "It used to be that the second letter for each field was a permission code, such as ‘w’ for writable or ‘r’ for read-only." And that read-only has become depriciated. At the end of section 6.6.18.4 (Meta-Vtables) is an example: (define* (make-vtable fields #:optional printer) (make-struct/no-tail (make-struct-layout fields) printer)) Without information on "h", I was not able to make sense of the fact, that fields with permission "h" somehow seem to be skipped by make-struct/no-tail when processing the two init values. In particular, for some reason, the value of printer is put into field 3 of the new structure and not in field 1, almost certainly somehow because fields 1 and 2 have "h". "h" should be documented.
bug#41979: Reference Manual About New Meta-Vtables
doc/ref/api-data.texi from the current master branch contains: Additionally, if these checks see that the layout of the child vtable contains all the required fields of a vtable, in the correct order, then the child vtable will also be a meta-table, inheriting a magical bit from the parent. As far as I understand, the following changes would be correct: Replace the second occurrence of "vtable" by "meta-vtable". (And maybe replace "meta-table" by "meta-vtable".)
bug#41938: Contradictory Information about Encoding in the Reference Manual
Section 4.3.1 (The Top of a Script File) of The Guile Reference Manual generated from the current master branch (3.0.2.152-1ab210) says: If this source code file is not ASCII or ISO-8859-1 encoded, a coding declaration such as ‘coding: utf-8’ should appear in a comment somewhere in the first five lines of the file: see *note Character Encoding of Source Files::. But section 6.18.8 (Character Encoding of Source Files) says: In the absence of any hints, UTF-8 is assumed. Probably the former information (ASCII or ISO-8859-1) is outdated.