'() instead of #f.
(make-modules-in): Name modules with their real (= full) names.
(the-root-module, the-scm-module): Named `(guile)' instead of
`the-root-module'.
(the-scm-module): Set kind to 'interface.
`proc-documentation'
* doc.scm: Cleaned up a great deal. Put variables at the top of
the file, eliminated `object-documentation' that was broken
(referencing Scwm), drop `help' as session.scm has a better
supported version of that procedure. Rename `proc-doc' to
`proc-documentation' -- `procedure-documentation' is a primitive
getter function, so I use the shorter name for this more useful
function. (Alternatively, we could rename the primitive
getter...)
* boot-9.scm (load-user-init): rewritten. first work out the home
directory and then try to open the file (previously it could try
to open a file in more than one place). catch exceptions when
trying to get a directory from the user database. don't check
that ~/.guile is not a directory before trying to load it (a lack
of ~/.guile is not a crime, but if the file is not valid for any
reason then primitive-load will raise an error).
`#t' when a function treats all non-#f valuers the same.
(remove-if-not): Bug fix: call remove-if-not
instead of remove-if when iterating.
(delete-if-not!): Bug fix: call delete-if-not! instead of
remove-if when iterating.
the end of the pipe to the parent. otherwise move->fdes and
the exec'd program and the exit handlers can interfere with file
descriptors still in use in parent ports.
print improper lists with (x y . z) syntax rather than as
individual pairs. (This code should probably be integrated into C
level facilities. It is currently terribly slow.)
* error.c, gh_data.c, ports.c, script.c, strop.c: include <string.h>.
* strings.c (scm_string_ref): make the 2nd argument compulsory.
previously it defaulted to zero for no good reason that I can see.
use a local variable for SCM_INUM (k). replace
SCM_VALIDATE_INUM_DEF with SCM_VALIDATE_INUM_COPY.
(scm_makfromstr): cosmetic changes.
(scm_string): Accept only chars in the list, not strings, for
conformance to R5RS (particularly for list->string, which is
supposed to be the inverse of string->list.) remove
SCM_DEFER_INTS/SCM_ALLOW_INTS, which is unnecessary since
scm_makstr handles the cell allocation. when reporting wrong-type
arg, don't report the position as 1.
* posix.c (scm_init_posix): intern PIPE_BUF if it's defined.
* boot-9.scm (find-and-link-dynamic-module): pass strings, not symbols,
to string-append.
fill_select_type, set_element): modified so that Scheme
"select" tests port buffers for the ability to provide input
or accept output. Previously only the underlying file descriptors
were checked. Rewrote the docstring.
* expect.scm (expect): don't call char-ready? before expect-select,
since select now checks port buffers itself. don't bother to check
the time first either, since expect-select does it.
re-define format to be format:format (instead of just define,
which interacts poorly with the module system). Thanks to Shuji
Narazaki for this change.
`simple-format' message strings: substitute ~A for %s, and ~S for
%S.
* boot-9.scm: Added (define format simple-format) to expose that
primitive via the simpler name until format.scm is loaded.