* libguile/procprop.h (scm_sym_arity): Deprecate. I didn't move it to
deprecated.h though, because that might have some boot implications --
though I didn't check.
* libguile/procprop.c (scm_procedure_properties)
(scm_set_procedure_properties_x, scm_procedure_property)
(scm_set_procedure_property_x): Deprecate access to a procedure's
arity via procedure-properties. Users should use
procedure-minimum-arity.
* module/ice-9/channel.scm (eval):
* module/ice-9/session.scm (arity):
* module/language/tree-il/analyze.scm (validate-arity): Fix up instances
of (procedure-property x 'arity) to use procedure-minimum-arity.
* libguile/procprop.h:
* libguile/procprop.c (scm_procedure_minimum_arity): New public
function, will replace (procedure-property foo 'arity).
* libguile/programs.c (scm_i_program_arity): Rework to always provide
the most permissive arity.
* libguile/programs.h:
* libguile/programs.c (scm_program_name): Remove. procedure-name is
sufficient.
* module/system/vm/program.scm (program-name): Remove from exports list.
(program-documentation): Remove; procedure-documentation is
sufficient.
* libguile/debug.c (scm_procedure_name): Remove special case for
programs.
* module/language/tree-il/analyze.scm (validate-arity): Use
procedure-name.
* module/ice-9/documentation.scm (object-documentation): Just use
procedure-documentation, without special cases for programs.
* libguile/programs.h:
* libguile/programs.c (scm_i_program_properties): Make internal.
(scm_program_name): Use scm_i_program_properties.
* libguile/procprop.c (scm_procedure_properties): Use
scm_i_program_properties, for programs.
* libguile/procs.c (scm_procedure_documentation): Use procedure-property
to get to 'documentation, not program-property.
* module/system/vm/program.scm (program-properties, program-property):
Remove from the exports list.
(program-documentation): Use procedure-property.
* module/texinfo/reflection.scm (macro-arguments)
(macro-additional-stexi)
(object-stexi-documentation): Use procedure-property, not
program-property.
* libguile/procprop.c (overrides, overrides_lock): Rename from props and
props_lock.
(scm_procedure_properties): If no overrides have been set, default to
scm_program_properties (if it's a program).
(scm_set_procedure_properties_x): Error if 'arity is in the alist.
(scm_procedure_property): Just do a lookup in the
scm_procedure_properties.
(scm_set_procedure_properties_x): Init the overrides to
scm_procedure_properties.
* doc/ref/api-languages.texi: Move here from api-translation. Still
stubbed in parts, but it's getting better.
* doc/ref/Makefile.am: Adapt to api-languages.texi name change.
* doc/ref/guile.texi: Likewise.
* doc/ref/intro.texi (Introduction): Change "some" to "the".
(Guile and Scheme): "multithreading" -> "multithreaded".
(Combining with C): Mention "libguile" as library name.
(Guile and the GNU Project): New text.
(Interactive Programming): New text.
(Supporting Multiple Languages): New text, reflecting currently
supported languages.
(Obtaining and Installing Guile): Use @var for version placeholder.
Remove mention of separate tutorial.
Conflicts:
doc/ref/api-procedures.texi
doc/ref/misc-modules.texi
(Caused by me removing `@page' from a couple of sections that have been modified
by others.)
* test-suite/tests/elisp.test: Rework for #nil, to actually be enabled,
to always run, and to use the new compiler. Comment out some failing tests, to
be dealt with in the future.
* module/language/elisp/runtime/macro-slot.scm (or, and): Fix one-arg
case to return the arg as-is.
* module/language/elisp/runtime.scm (nil-value): Fix to be #nil.
* module/system/vm/debug.scm (*debug-input-port*):
(*debug-output-port*): New public fluids.
(run-debugger): Add some kwargs for input and output ports, defaulting
to the debug input and output ports.
(debug-pre-unwind-handler): Print to debug output port.
(debug): Untabify.
* module/ice-9/boot-9.scm (repl-reader): For the default (non-readline)
repl reader, only display the prompt if input isn't already available.
Fixes spurious prompts in the debugger.
* libguile/foreign.c (sym_null_pointer_error): New variable.
(null_pointer_error): New function.
(scm_foreign_set_x): Raise an error if attempting to modify
NULL_POINTER.
(scm_foreign_to_bytevector): Use `null_pointer_error ()' instead of
`scm_misc_error ()'.
* test-suite/tests/foreign.test: New file.
* test-suite/Makefile.am (SCM_TESTS): Add tests/foreign.test.
* test-suite/lib.scm (exception:null-pointer-error): New variable.
* libguile/foreign.c (scm_take_foreign_pointer): Allocate RET in
GC-scanned memory. This fixes a bug where the object pointed to by
SCM_CIF in the pair returned by `cif_to_procedure ()' would be
reclaimed (as a consequence of commit
087aa6aa31).
* libguile/modules.c (scm_module_reverse_lookup): Type-check VARIABLE.
Don't traverse the `uses' list when MODULE is #f.
* test-suite/tests/modules.test ("foundations")["module-reverse-lookup
[pre-module-obarray]", "module-reverse-lookup [wrong-type-arg]"]: New
tests.
* module/ice-9/boot-9.scm (module-use!, module-use-interfaces!): When
adding the module or interface to the use list, clear the cached
imports obarray.
The test case is coming next.
* test-suite/tests/sxml.fold.test:
* test-suite/tests/sxml.ssax.test:
* test-suite/tests/sxml.transform.test:
* test-suite/tests/sxml.xpath.test:
* test-suite/tests/texinfo.docbook.test:
* test-suite/tests/texinfo.serialize.test:
* test-suite/tests/texinfo.string-utils.test:
* test-suite/tests/texinfo.test: Update licenses to GPL or LGPL 3+, and
update copyright holders to be FSF (where that is the case). Copyright
holders who are not FSF have their code in GPL/LGPL-compatible
licesnse.
These describe the initial, unimplemented plan for Unicode
support. These have been overcome by events.
* doc/mbapi.texi: removed
* doc/mltext.texi: removed