* module/ice-9/command-line.scm (*usage*): Attempt to suggest that
`--no-debug' doesn't inhibit debugging support.
* doc/ref/guile-invoke.texi (Command-line Options): Make it clear that
`--no-debug' doesn't inhibit debugging support. Reported by Manuel
Serrano.
* doc/ref/match.texi (Pattern Matching): Mention records. Add an
example showing record matching and the `=' pattern. Point users to
`match.upstream.scm'.
* doc/ref/scheme-using.texi (Using Guile Tools): Remove redundant
footnote introduced in e108c961fe.
Mention the version where the new name was introduced.
* doc/ref/goops.texi (Merging Generics): Change (my-module) example to
use (oop goops) and use the right syntax for #:duplicates. Reported
by David Pirotte <david@altosw.be>.
* doc/ref/guile.texi (Programming in Scheme):
* doc/ref/scheme-scripts.texi (Guile Scripting): Moved "Invoking Guile"
to its own file.
* doc/ref/guile-invoke.texi (Invoking Guile): Initial revision. This
file contains the former section "Invoking Guile" that was included in
the chapter "Programming in Scheme" as a subsection named
"Command-line Options." It also includes a new subsection "Environment
Variables," which describes those variables that can be set in the
operating system before Guile is started and which affect Guile's
run-time behavior.
* doc/ref/api-control.texi (Prompt Primitives): Break call-with-prompt
and abort-to-prompt out into a subsubsection.
(Shift and Reset): New subsubsection.
* doc/ref/scheme-using.texi (Using Guile Tools): Add a footnote
mentioning that `guild' used to be `guile-tools'.
* doc/ref/tools.texi (Executable Modules): Nitpicks.
* doc/ref/Makefile.am (guile_TEXINFOS): Remove script-getopt.texi.
* doc/ref/script-getopt.texi: Deleted. This file wasn't included in
the manual, and its content is now duplicated identically in
scheme-scripts.texi.
* doc/ref/data-rep.texi (Immediate objects): Clarify the description
of SCM_UNSPECIFIED. It is returned by some (but not all) expressions
whose value is unspecified by the Scheme standard.
* doc/ref/api-evaluation.texi (Scheme Read): Note that read-set! is
syntax.
(Scheme Write): Likewise for print-set!.
* doc/ref/api-io.texi (Writing): Remove reference to
print-options-interface.
* doc/ref/repl-modules.texi (Readline Options): Update, and add entries
for readline-options, readline-set! et al.
* module/rnrs/io/ports.scm (display): Implement as an
exception-converting wrapper around Guile's core display.
* module/rnrs/io/simple.scm: Don't export Guile's corresponding core
procedures, but use `(rnrs io ports)' instead. This way, we get the
conditions required by R6RS raised.
* doc/ref/r6rs.texi (rnrs io simple): Mention that these procedures are
supposed to raise R6RS conditions.
* module/ice-9/boot-9.scm (while): Specify the return value as #f under
normal conditions, #t under (break), and arg... under (break arg...).
* test-suite/tests/syntax.test ("while"): Test.
* doc/ref/api-control.texi (while do): Document.
* doc/ref/api-data.texi (Conversion to/from C): In descriptions of
scm_to_stringn and scm_to_{latin1,utf8,utf32}, clarify that the
returned length is in units of bytes or code points, not characters.
Also change NULL to @code{NULL} in a few places.
* doc/ref/api-evaluation.texi (Compilation): Add discussion of
--fresh-auto-compile.
* doc/ref/scheme-scripts.texi (Invoking Guile): Add --fresh-auto-compile
option.
* NEWS: Add entry.
* libguile/load.c: Define %fresh-auto-compile.
(scm_primitive_load_path): Use it here.
(scm_init_load_should_auto_compile): Init from GUILE_AUTO_COMPILE env
var, with a value of "fresh".
* module/ice-9/boot-9.scm (load-in-vicinity): Auto-compilation cache is
stale if %fresh-auto-compile is true.
* module/ice-9/command-line.scm (compile-shell-switches): Parse out
--fresh-auto-compile.
* libguile/numbers.c (scm_exact_integer_sqrt): New C procedure to
compute exact integer square root and remainder.
(scm_i_exact_integer_sqrt): New Scheme procedure `exact-integer-sqrt'
from the R6RS, imported into core guile.
* libguile/numbers.h: Add prototypes.
* module/rnrs/base.scm: Remove broken stub implementation, which would
fail badly when applied to large integers.
* doc/ref/api-data.texi: Add documentation.
* doc/ref/r6rs.texi: Change documentation for `exact-integer-sqrt' to a
stub that xrefs the core docs, as is done for other operations
available in core.
* test-suite/tests/numbers.test: Add tests.
* NEWS: Add news entries.
* module/ice-9/boot-9.scm (define-inlineable): Moved here from SRFI-9.
* module/srfi/srfi-9 (define-inlinable): Removed here.
* doc/ref/api-procedures.texi (Inlinable Procedures): Add subsection
about `define-inlinable'.
* doc/ref/api-data.texi (Arithmetic): `floor-remainder' is equivalent to
the R5RS `modulo' when the arguments are integers. Previously,
equivalence was claimed only for exact integers. Similarly for
`truncate-quotient' and `truncate-remainder' compared with the R5RS
`quotient' and `remainder'.
* test-suite/tests/foreign.test ("pointer<->string"): Add test cases.
* libguile/foreign.c (scm_string_to_pointer, scm_pointer_to_string): Add
optional encoding, and in the pointer->string case, length arguments.
* libguile/foreign.h: Update prototypes of internal functions.
Shouldn't affect ABI as they are internal.
* doc/ref/api-foreign.texi (Void Pointers and Byte Access): Update
docs.
* doc/ref/scheme-scripts.texi (Invoking Guile): Document -q.
* doc/ref/scheme-using.texi (Init File): New section, on .guile.
(Readline): Link to Init File.
(System Commands): Document the various REPL options, and
repl-default-option-set!.