Fix attempt to get handle of weak table in (oop goops save)

* module/oop/goops/save.scm (readable?): Fix.  Thanks to Andrew Gaylard
  for the report.
fix try-module-autoload, which did not detect failure to find the file

* libguile/load.c (scm_primitive_load_path): If the second argument is a
  procedure, call it like a thunk.

* doc/ref/api-evaluation.texi (Load Paths): Update docs.

* module/ice-9/boot-9.scm (resolve-interface): Use `unless'.
  (try-module-autoload): Use the new primitive-load-path to detect
  failure to find an appropriate file.  Fixes a bug reported by Diogo
  F. S. Ramos.  Thanks to Noah Lavine for tracking it down.
read-and-compile closes input file after seeing EOF

* module/system/base/compile.scm (read-and-compile): Close the input
  port after we read all of its data.  Perhaps this cleans up some NFS
  ghosts that David Pirotte was seeing.
add dynl.x dep on libpath.h

* libguile/Makefile.am (dynl.x): Add dep on libpath.h.  Thanks to Bogdan
  Marinescu for the report.
Fix http-get* deprecation note

* module/web/client.scm (http-get*): Fix deprecation warning.  Thanks to
  Daniel Hartwig for the report.
fix compilation of glil to assembly

* libguile/vm-i-scheme.c (VM_VALIDATE_STRUCT): Fix the error message if
  the value was not a struct.

* module/system/base/compile.scm (find-language-joint): Default to
  joining at the target language.
  (default-language-joiner): Allow sequences of one compiled expression
  to pass through.  Otherwise error as before.
  (read-and-parse): New helper; actually parses.
  (read-and-compile): Use read-and-parse, and fall back to
  default-language-joiner.

Thanks to Nala Ginrut for the report.
documentation recommends scm_new_smob instead of SCM_NEWSMOB

* doc/ref/api-smobs.texi (Smobs): Document scm_new_smob and
  scm_new_double_smob instead of the SCM_NEWSMOB / SCM_RETURN_NEWSMOB
  family of macros.

* doc/ref/libguile-smobs.texi (Creating Smob Instances): Use
  scm_new_smob.
libguile examples use scm_c_vector functions instead of SCM_SIMPLE_VECTOR_*

* doc/ref/libguile-concepts.texi (Multi-Threading): Use functions in the
  example instead of macros.  Performance is really not a concern with
  this interface, especially now that scm_car and scm_cdr are inline
  functions.
`include' relative paths relative to including file

* module/ice-9/psyntax.scm (include): Like `load', interpret relative
  paths as being relative to the file that does the `include'.

* doc/ref/api-evaluation.texi: Update docs.
add read-string and read-string! to (ice-9 rdelim)

* module/ice-9/rdelim.scm (read-string!, read-string): New functions.
* test-suite/tests/rdelim.test: Add tests.
* doc/ref/api-io.texi: Add docs.

* module/ice-9/iconv.scm:
* module/rnrs/io/ports.scm:
* module/web/uri.scm: Use the new functions.
add fluid->parameter

* module/ice-9/boot-9.scm (make-parameter): Add a docstring.
  (fluid->parameter): New interface.  Use it when turning port fluids
  into parameters.

* doc/ref/api-scheduling.texi (Parameters): Deffn instead of defun for
  make-parameter documentation.  Add docs for fluid->parameter.
current-language is a parameter in boot-9

* module/ice-9/boot-9.scm (current-language): New parameter.

* module/system/base/language.scm (*current-language*): Pull fluid from
  parameter.
  (current-language): Now a re-exported parameter.

* doc/ref/compiler.texi: Update reference from *current-language* fluid
  to current-language parameter.

* module/system/base/compile.scm (compile-and-load):
* module/ice-9/top-repl.scm (top-repl): Default to the current language,
  not to Scheme.

* module/ice-9/eval-string.scm:
* module/system/base/language.scm:
* module/system/repl/command.scm:
* module/system/repl/repl.scm: Update to use current-language parameter
  and parameterize.
docstring in rdelim

* module/ice-9/rdelim.scm: Update docstring.
paameterize in read-and-compile

* module/system/base/compile.scm (read-and-compile): Use
  current-language parameter.
fix dynamic-call doc

* doc/ref/api-foreign.texi (Foreign Functions): Fix doc: interrupts are
  not deferred in a dynamic-call.
add --language argument

* module/ice-9/command-line.scm (*usage*): Make usage of capitalization
  and sentences consistent (lower-case and semicolons, as in ls
  --help).
  Be less specific about languages (Scheme is the default but not the
  only language).
  Document --language.
  (load/lang, eval-string/lang): New helpers.
  (compile-shell-switches): Parse a --language argument, and use it to
  set (current-language).
load files from the command line relative to the cwd

* module/ice-9/command-line.scm (load/lang): Load files from the command
  line relative to the current working directory (fixes regression).
fix regression in -l

* module/ice-9/command-line.scm (compile-shell-switches): Fix regression
  with -l argument, which was loading arg0 instead.
oop goops save: fix compile-time availability of write-component

* module/oop/goops/save.scm (write-component)
  (write-component-procedure): Move definitions up so that syntax
  definition is available when compiling the rest of the file.
Regenerate psyntax-pp.scm.

* module/ice-9/psyntax-pp.scm: Regenerate.  This should have been done
  in commit 84f5a8251710c7d2a01590aa083d9dd409a56279 (`include' relative
  paths relative to including file).