* doc/ref/web.texi: New file, here to document the various (web ...)
modules. Quite a rough beginning, but it is a start...
* doc/ref/guile.texi:
* doc/ref/Makefile.am: Add to manual.
* libguile/posix.c (scm_total_processor_count,
scm_current_processor_count): New functions.
* libguile/posix.h (scm_total_processor_count,
scm_current_processor_count): New declarations.
* test-suite/tests/posix.test ("nproc"): New test prefix.
* doc/ref/posix.texi (Processes): Document `total-processor-count' and
`current-processor-count'.
* doc/ref/posix.texi (Processes): Add cross-reference from `setaffinity'
and `getaffinity' to the corresponding node in the glibc manual.
* libguile/posix.c (scm_getaffinity, scm_setaffinity): Likewise.
material
* doc/ref/goops.texi (GOOPS): Move use of (oop goops) here.
(Class Definition): Merged with `Defining New Classes'
(Instance Creation): Insert before covering slot options. Merge in
material from `Creating Instances'.
(Slot Options): Merged some better wording and index entries from
the tutorial version.
(Slot Description Example): New node, containing the <my-complex>
material from the tutorial.
(Methods and Generic Functions, Inheritance): Tutorial sections
moved into main line of the manual.
* doc/ref/goops-tutorial.texi: Nothing left here now.
* doc/ref/goops-tutorial.texi (Class definition): No reason to assume
particular familiarity with CLOS.
(Instance creation and slot access): Remove a couple of words.
* configure.ac: Add checks for `sched_setaffinity' and
`sched_getaffinity'.
* doc/ref/posix.texi (Processes): Document `getaffinity' and
`setaffinity'.
* libguile/posix.c (cpu_set_to_bitvector,
scm_getaffinity)[HAVE_SCHED_GETAFFINITY]: New functions.
(scm_setaffinity)[HAVE_SCHED_SETAFFINITY]: New function.
* libguile/posix.h (scm_getaffinity, scm_setaffinity): New declarations.
* test-suite/tests/posix.test ("affinity"): New test prefix.
Besides allowing user-defined meta-commands, this change also refactors
the meta-command machinery to split reading a command's arguments from
the procedure actually implementing it, and hence allows nesting
meta-commands. As an example of such a command, ",in" is added as a new
meta-command.
* module/system/repl/command.scm: Export `define-meta-command'.
(*command-module*): Replaced by the hash table `*command-infos*'.
(command-info, make-command-info, command-info-procedure)
(command-info-arguments-reader): New procedures, encapsulating the
information about a meta-command.
(command-procedure): Adapted to use the `command-info' lookup
procedure.
(read-command-arguments): New auxiliary procedure invoking a command's
argument reader procedure.
(meta-command): Adapted to the split of reading arguments and
executing a command.
(add-meta-command!): New auxiliary procedure, registers a meta
command's procedure and argument reader into `*command-infos* and
`*command-table*.
(define-meta-command): Extended to allow specification of the command's
category; split the argument reader and actual command procedure.
(guile:apropos, guile:load, guile:compile-file, guile:gc): Remove these
aliases, they are unnecessary as we now use a hash table instead of the
module to store the commands.
(in): New meta-command, which evaluates an expression, or alternatively
executes another meta-command, in the context of a specific module.
* doc/ref/scheme-using.texi (Module Commands): Document the `in'
meta-command.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Add a new command-line switch `-x', which manipulates the
%load-extensions list.
* libguile/script.c (scm_compile_shell_switches): Process the new "-x"
switch.
(scm_shell_usage): Mention the "-x" switch.
* doc/ref/scheme-scripts.texi (Invoking Guile): Add "-x" switch to the
list of command-line switches.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* libguile/srfi-13.h:
* libguile/srfi-13.c (scm_string_filter, scm_string_delete): Swap
char_pred and s argument order, to comply with SRFI-13. There is a
back-compat shim that will detect programs that used the old,
erroneous interface, while giving a warning.
* doc/ref/api-data.texi: Update docs.
* doc/ref/intro.texi (Introduction): Use commas instead of en-dashes
around "for example". Use em-dashes instead of en-dashes around
parenthetical phrases. Remove spaces around em-dashes.
* libguile/posix.c:
* libguile/posix.h:
* libguile/deprecated.h:
* libguile/deprecated.c (scm_cuserid): Deprecate cuserid, as it only
returns 8 bytes of a user's login.
* doc/ref/posix.texi: Remove cuserid from docs.
* module/srfi/srfi-38.scm: New file, partly based on the reference
implementation and on Alex Shinn's public-domain implementation for
Chicken.
* module/Makefile.am (SRFI_SOURCES): Add srfi/srfi-38.scm.
* test-suite/tests/srfi-38.test: New file, minimal test suite for SRFI
38.
* test-suite/Makefile.am (SCM_TESTS): Added tests/srfi-38.test.
* doc/ref/srfi-modules.texi: Add a node for SRFI 38.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Because that probably isn't where people will look for it.
Thanks to Noah Lavine for the idea.
* doc/ref/api-regex.texi (Regular Expressions): New file, containing
the regex doc (promoted one level) that used to be in api-data.texi.
* doc/ref/guile.texi (API Reference): Include new file, and add menu
entry for the new section.
* THANKS: Add Noah.
These sections are pretty similar in aim, but `Tutorial' is mostly
better material.
* doc/ref/goops-tutorial.texi (Class definition): Add a sentence about
what slots are.
* doc/ref/goops-tutorial.texi (Tutorial): Remove repetition of the Stk
origin, and index entries that are overly general in the context of
the whole Guile manual.
(Generic functions): Add text here about the nature of methods,
previously in Quick Start.
* doc/ref/goops.texi (Quick Start): Move `Built-in classes' subsection
to be part of `Introspection'. Delete the rest, apart from snippets
moved into Tutorial.
* doc/ref/goops.texi (Adding Methods to Generic Functions): Move the
bit about no applicable methods to `Invoking Generic Functions'.
Other minor edits.
(Basic Method Definition): Flattened into parent.
(Method Definition Internals): Moved to MOP section at end of
chapter.
* doc/ref/goops.texi (Generic Function Internals): Moved to MOP section
at end of chapter.
(Basic Generic Function Creation): Flattened into parent, and text
simplified.
(Extending Primitives): Renamed from `Extending Guiles Primitives';
removed `generic-capability?', which is no longer available;
simplified a bit.
(Merging Generics): New subsection for the material about merging;
text simplified a bit.
* doc/ref/scheme-using.texi (Using Guile in Emacs): Remove GDS docs, as
we don't have GDS any more. Instead of surveying the field, be
opinionated and tell users what to use: Geiser and Paredit.
* doc/ref/scheme-scripts.texi (Invoking Guile): Some typos.
* doc/ref/tour.texi (Running Guile Scripts): More typos and PDF
improvements.
* doc/ref/scheme-using.texi (Readline, Value History): Minor rewording.
(Help Commands): Minor fixup.
* doc/ref/api-debug.texi (Debugging Examples): Remove section, as the
tracing bits are adequately covered in tracing, and the breakpoints
and such will get covered in the debugging meta-commands section.
* doc/ref/api-debug.texi (Stack Capture): Rename from "Capturing the
Stack or Innermost Stack Frame". Move start-stack docs here.
(Frames): Document accessors for fp, sp, ip, et al.
(Source Properties): Raise to a subsection.
(VM Hooks): Add notes about the VM trace level within hook firing.
(Low-Level Traps): Flesh out.
* doc/ref/Makefile.am:
* doc/ref/guile.texi:
* doc/ref/scheme-debugging.texi: Remove scheme-debugging.texi, which
only described tracing. Tracing documentation is now in
api-debugging.
* doc/ref/scheme-using.texi (Evaluating Scheme Code): Remove reference
to source traps, as that section is going away.
* doc/ref/api-modules.texi (Included Guile Modules): Remove reference to
Tracing. This section is a little silly, anyway...
* doc/ref/api-evaluation.texi (VM Behaviour): Remove section, it is in
api-debugging now.
* doc/ref/api-debug.texi (Stacks, Frames): Rename sections from
"Examining the Stack" and "Examining Stack Frames", respectively.
(Traps): Update for current API. A big and not-quite-finished update.
* doc/ref/goops.texi (Generic Functions and Accessors): Renamed from
`Creating Generic Functions'. Explain what an accessor is.
(Basic Generic Function Creation): Clarify the point of the text
about generics having short names.
* module/srfi/srfi-45.scm: New file, containing the reference implementation of
SRFI 45, slightly adapted to use SRFI-9.
* module/Makefile.am (SRFI_SOURCES): Added srfi/srfi-45.scm.
* test-suite/tests/srfi-45.test: New file.
* test-suite/Makefile.am (SCM_TESTS): Add tests/srfi-45.test.
* doc/ref/srfi-modules.texi (SRFI-45): New node and subsection;
essentially a shortended transcript of the SRFI-45 specification.
* module/srfi/srfi-42/ec.scm: New file; reference implementation of
SRFI 42.
* module/srfi/srfi-42.scm: New file; module for SRFI 42.
* module/Makefile.am (SRFI_SOURCES): Add srfi/srfi-42.scm.
(NOCOMP_SOURCES): Add srfi/srfi-42/ec.scm.
* test-suite/tests/srfi-42.test: New file; test suite for SRFI 42.
* test-suite/Makefile.am: SCM_TESTS: Add tests/srfi-42.test.