1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 13:00:26 +02:00
Commit graph

1940 commits

Author SHA1 Message Date
Ludovic Courtès
2ff9bf8522 Revert "Install `standard-library.info'."
This reverts commit 0e64cbea3d.
2010-01-23 17:03:11 +01:00
Ludovic Courtès
0e64cbea3d Install `standard-library.info'.
* doc/ref/Makefile.am (BUILT_SOURCES): Move `standard-library.texi'
  to...
  (nodist_info_TEXINFOS): ... here.  New variable.
2010-01-22 16:55:24 +01:00
Ludovic Courtès
788cf40239 Document `guile-tools compile'.
* doc/ref/api-evaluation.texi (Compilation): Document `guile-tools
  compile'.
2010-01-19 22:28:38 +01:00
Michael Gran
912a870246 Document modal encodings problem in ref doc
* doc/ref/api-io.texi (Ports): note that modal encodings are not
  supported
2010-01-19 08:42:44 -08:00
Michael Gran
5b6b22e8ea Move string internals description in ref doc
* doc/ref/api-data.texi: move string internals section
2010-01-18 07:07:34 -08:00
Michael Gran
67af975c0b String ref doc updates for case and conversion
* doc/ref/api-data.texi: clarifications on Alphabetic Case Mapping and
  Conversion To/From C.
2010-01-17 20:10:15 -08:00
Michael Gran
d85ae24dfb Document string-bytes-per-char and %string-dump
* doc/ref/api-data.texi (String Internals): new subsubsection.  Document
  string-bytes-per-char and %string-dump.
2010-01-17 15:25:40 -08:00
Andy Wingo
06bfe276c8 nanosecond timestamp support in stat and utime
* libguile/posix.h:
* libguile/posix.c (scm_utime): Add optional nanosecond arguments. This
  is an incompatible change on the C level, but it's unlikely people are
  using this POSIX wrapper function, because they would just use the
  POSIX function directly. Hopefully, anyway.

* module/system/base/compile.scm (call-with-output-file/atomic):
  Propagate source timestamps to targets with nanosecond precision, if
  available. Fixes build on systems with ext4 filesystems.

* libguile/filesys.c (scm_stat2scm):
* module/ice-9/posix.scm (stat:atimensec, stat:mtimensec)
  (stat:ctimensec): Add three new elements to Scheme stat structures,
  for nanosecond-level timestamps.

* configure.ac: Add checks for utimensat, and for nanosecond fields in
  struct stat. We should switch to using Gnulib things for these,
  though.

* doc/ref/posix.texi (File System): Add documentation for utime's
  additional arguments, and nanosecond stat timestamp accessors.
2010-01-17 16:56:34 +01:00
Michael Gran
6ea3048785 Document R6RS hex escapes
* doc/ref/api-data.texi (Characters, String Syntax): document r6rs hex
  escapes

* doc/ref/api-options.texi (Reader Options): document r6rs-hex-escapes
  reader option
2010-01-13 07:26:10 -08:00
Andy Wingo
136b5494d1 programs print as #<procedure ...>
* module/system/vm/program.scm (write-program): Print as #<procedure
  ...>. Fix stdin printing.

* doc/ref/vm.texi: Update a little bit.
2010-01-12 00:19:18 +01:00
Andy Wingo
dfe13aa2c8 remove section on enclose-array
* doc/ref/api-compound.texi (Array Procedures): Remove section on
  `enclose-array', as it doesn't exist any more.
2010-01-11 22:29:38 +01:00
Michael Gran
67a4a16d8e Add R6RS backspace string escape
R6RS suggests that '\b' should be a string escape for the backspace
character.

* libguile/read.c (scm_read_string): parse backspace escape

* test-suite/tests/strings.test (R6RS backslash escapes): new test
  (Guile extensions backslash escapes): remove R6RS escapes from test.

* doc/ref/api-data.texi (Strings): document new string escape
2010-01-10 15:41:37 -08:00
Michael Gran
15b6a6b284 Add R6RS character names
R6RS adds new names for some of the control characters.

* libguile/chars.c (scm_r6rs_charnames, scm_r6rs_charnums)
  (SCM_N_R6RS_CHARNAMES): new character name constants
  (scm_alt_charnames, scm_alt_charnums): modified to remove duplicates
  (scm_i_charname, scm_i_charname_to_char): use new constants

* test-suite/tests/chars.test (R5RS character names, R6RS character names):
  new tests

* doc/ref/api-data.texi (Characters): updated
2010-01-10 15:16:55 -08:00
Ludovic Courtès
c5e05a1c70 Use HORIZONTAL ELLIPSIS' when available in truncated-print'.
* module/ice-9/pretty-print.scm (truncated-print): Set
  `%default-port-encoding' to the encoding of PORT.  Choose either
  U+2026 or "..." depending on PORT's encoding.

* test-suite/tests/print.test ("truncated-print")[tprint]: New ENCODING
  argument.  Update existing tests accordingly. Add UTF-8 tests.

* doc/ref/misc-modules.texi (Pretty Printing): Mention the possible use
  of U+2026.
2010-01-08 10:57:32 +01:00
Andy Wingo
27219b32c7 update uniform vector docs
* doc/ref/api-compound.texi (Uniform Numeric Vectors): Make a subsection
  of "Vectors", and link out to SRFI-4, where the main text has been
  moved.

* doc/ref/api-data.texi (Bytevectors as Uniform Vectors): New section.

* doc/ref/srfi-modules.texi (SRFI-4): Move body of uniform vector docs
  here. Discuss new module separation. Discuss relation to bytevectors.
2010-01-07 23:30:02 +01:00
Ludovic Courtès
7b0419128b Have string ports honor `%default-port-encoding'.
* libguile/strports.c (scm_i_mkstrport): Remove.
  (scm_mkstrport): Don't change the port's encoding to UTF-8; convert
  STR to the default port encoding.
  (scm_strport_to_string): Fix documentation & indentation.

* libguile/strports.h (scm_i_mkstrport): Remove.

* test-suite/lib.scm (exception:encoding-error): New variable.
  (format-test-name): Set `%default-port-encoding' to "UTF-8".

* test-suite/tests/ports.test ("string ports")["%default-port-encoding
  is honored", "suitable encoding [latin-1]", "suitable encoding
  [latin-3]", "wrong encoding"]: New tests.

* test-suite/tests/r6rs-ports.test ("7.2.11 Binary
  Output")["put-bytevector with UTF-16 string port", "put-bytevector
  with wrong-encoding string port"]: New tests.

* test-suite/tests/reader.test (read-string): Set
  `%default-port-encoding' to `#f'.
  ("reading")["unprintable symbol"]: Use a string that doesn't contain
  zeros.

* doc/ref/api-io.texi (String Ports): Document encoding issues with
  `call-with-output-string' and `with-output-to-string'.
2010-01-07 11:10:35 +01:00
Ludovic Courtès
e3eefae0e5 Remove dependency on GNU Make and reliance on /usr/bin/env.
Both were introduced in commit c55cb58a ("integrate guile-lib docs").

* doc/ref/Makefile.am ($(snarf_doc)scmfiles): Rename target to...
  ($(snarf_doc)-scmfiles): ... this.  Change to generate a makefile
  snippet containing a variable definition.  Automake-include the
  generated snippet, `standard-library.am'.
  (EXTRA_DIST): Add `$(snarf_doc).am'.
  (CLEANFILES): Remove `$(snarf_doc)scmfiles'.

* doc/ref/make-texinfo.scm: Remove executable bit and "#!/usr/bin/env".

* doc/ref/standard-library.am: New file.
2010-01-03 19:06:52 +01:00
Andy Wingo
a5bbb22e83 rename goto/args and friends to tail-call, tail-apply, etc
* libguile/vm-i-system.c (tail-call, tail-call/nargs, tail-apply)
  (tail-call/cc): Rename these back to tail-* from goto/*. We should
  reserve the rename-then-goto name for when you actually do a rename
  and goto, not when you shuffle the stack.

* doc/ref/vm.texi:
* module/language/glil/decompile-assembly.scm:
* module/language/tree-il/compile-glil.scm:
* test-suite/tests/tree-il.test: Adapt all callers and documentation.
2010-01-03 14:49:40 +01:00
Andy Wingo
87a6a23669 add truncated-print tests
* doc/ref/misc-modules.texi (Pretty Printing): Fix an error in
  truncated-print example.

* test-suite/Makefile.am:
 * test-suite/tests/print.test: Add truncated-print tests.
2010-01-03 13:35:35 +01:00
Julian Graham
edb7bb4766 Support for Unicode string normalization functions
* libguile/strings.c, libguile/strings.h (normalize_str,
  scm_string_normalize_nfc, scm_string_normalize_nfd, scm_normalize_nfkc,
  scm_string_normalize_nfkd): New functions.
* test-suite/tests/strings.test: Unit tests for `string-normalize-nfc',
  `string-normalize-nfd', `string-normalize-nfkc', and
  `string-normalize-nfkd'.
* doc/ref/api-data.texi (String Comparison): Documentation for normalization
  functions.
2010-01-03 01:08:37 -05:00
Andy Wingo
9274c3dd40 ~:@y allows for truncation to an absolute maximum width
* module/ice-9/format.scm (format): Allow ~:@y to interpret the width as
  the maximum width, inclusive of whatever else has already been output.
* doc/ref/misc-modules.texi (Formatted Output): Document this.
2009-12-29 21:15:08 +01:00
Andy Wingo
b8596c08ac add ~@y truncated printing directive to format
* doc/ref/misc-modules.texi (Formatted Output): Add documentation for
  the new ~@y format directive.
  (Pretty Printing): Add documentation for truncated-write.

* module/ice-9/format.scm (format): Add ~@y, for doing a truncated
  print. Also, allow both ~y variants to take a width parameter.
2009-12-29 13:29:02 +01:00
Michael Gran
a1dcb961a6 Add documentation for scm_c_upcase et al
* doc/ref/api-data.texi: document scm_c_upcase, scm_c_downcase,
  scm_c_titlecase, and scm_t_wchar
2009-12-28 15:26:10 -08:00
Neil Jerram
3323ec063c Automatic manual updates following libguile docstring changes
Affecting the following procedures:

* doc/ref/api-compound.texi (Uniform Numeric Vectors):
  uniform-array-read!

* doc/ref/api-data.texi (Complex): make-rectangular, string=?,
  string<?, string<=?, string>?, string>=?, string-ci=?, string-ci<?,
  string-ci<=?, string-ci>?, string-ci>=?, string-append/shared

* doc/ref/api-evaluation.texi (Reader Extensions): read-hash-extend

* doc/ref/api-procedures.texi (Procedures with Setters): procedure,
  macro?, macro-type

* doc/ref/api-undocumented.texi: module-import-interface,
  %method-more-specific?

* doc/ref/new-docstrings.texi: uniform-array->bytevector,
  %start-stack, guardian-destroyed?, guardian-greedy?,
  destroy-guardian!, gc-dump, gc-disable, gc-enable,
  make-generalized-vector, set-primitive-generic!, nl-langinfo,
  %warn-autocompilation-enabled, make-syncase-macro,
  make-extended-syncase-macro, syncase-macro-type,
  syncase-macro-binding, memoize-expression, unmemoize-expression,
  memoized-expression-typecode, memoized-expression-data,
  memoized-typecode, memoize-variable-access!, module-local-variable,
  module-variable, eval-closure-module, module-transformer,
  module-public-interface, define!, module-reverse-lookup, cddr,
  make-promise, %get-stack-size, %string-dump, %symbol-dump,
  string-bytes-per-char, uniform-vector-element-type,
  uniform-vector-element-size, canonicalize-path, getrlimit, setrlimit

* doc/maint/guile.texi: Corresponding tracking updates.
2009-12-27 23:24:09 +00:00
Neil Jerram
211a5b0425 Doc for getsid
* NEWS: Note new getsid primitive.

* doc/ref/posix.texi (Processes): Document getsid.
2009-12-27 18:44:41 +00:00
Julian Graham
0ca3a342d1 Support for Unicode general categories
* libguile/chars.c, libguile/chars.h (scm_char_general_category): New function.
* test-suite/tests/chars.test: Unit tests for `char-general-category'.
* doc/ref/api-data.texi (Characters): Documentation for
  `char-general-category'.
2009-12-24 11:55:47 -05:00
Julian Graham
dca14012bd Complete support for version information in Guile's `module' form.
* module/ice-9/boot-9.scm (try-load-module, try-module-autoload): Check
  for version argument and use `find-versioned-module' if present.
* module/ice-9/boot-9.scm (find-versioned-module, version-matches?)
  (module-version, set-module-version!, version-matches?): New
  functions.
* module/ice-9/boot-9.scm (module-type, make-module, resolve-module)
  (try-load-module, process-define-module, make-autoload-interface)
  (compile-interface-spec): Add awareness and checking of version
  information.
* doc/ref/api-modules.texi (R6RS Version References): New subsubsection.
  (General Information about Modules): Explain differences in search
  process when version references are used.
  (Using Guile Modules) (Creating Guile Modules): Document `#:version'
  keyword.
2009-12-22 20:34:55 +01:00
Julian Graham
78c22f5edc Support for renaming bindings on module export.
* module/ice-9/boot-9.scm (module-export!, module-replace!)
  (module-re-export!): Allow members of export list to be pairs, mapping
  internal names to external ones.

* doc/ref/api-modules.texi (Creating Guile Modules): Update
  documentation for `#:export', `#:export-syntax', `#:replace',
  `#:re-export', `#:re-export-syntax', `export', and `re-export' to
  reflect new format for arguments.
2009-12-22 20:34:50 +01:00
Julian Graham
820f33aaed Improved support for Unicode title case in Guile's string and character APIs.
* doc/ref/api-data.texi (Characters): Documentation for `char-titlecase'.
* doc/ref/api-i18n.texi (Character Case Mapping): Documentation for
  `char-locale-titlecase' and `string-locale-titlecase'.

* libguile/chars.c, libguile/chars.h (scm_char_titlecase, scm_c_titlecase): New
  functions.

* libguile/i18n.c, libguile/i18n.h (chr_to_case, scm_char_locale_titlecase,
  str_to_case, scm_string_locale_titlecase): New functions.
* libguile/i18n.c (scm_char_locale_downcase, scm_char_locale_upcase,
  scm_string_locale_downcase, scm_string_locale_upcase): Refactor to share code
  via chr_to_case and str_to_case, as appropriate.
* module/ice-9/i18n.scm (char-locale-title-case, string-locale-titlecase): New
  functions.

* libguile/srfi-13.c (string_titlecase_x): Use uc_totitle instead of uc_toupper.

* test-suite/tests/chars.test: Tests for `char-titlecase'.
* test-suite/tests/i18n.test: Tests for `char-locale-titlecase' and
  `string-locale-titlecase'.
* test-suite/tests/srfi-13.test: Tests for `string-titlecase'.
2009-12-22 00:19:56 -05:00
Andy Wingo
700908288c remove "module system quirks" from the manual
* doc/ref/api-modules.texi (Module System Quirks): Remove this outdated
  section.
2009-12-21 11:54:48 +01:00
Neil Jerram
3ce5e1304b Placeholders for expected remaining Intro sections
* doc/ref/intro.texi (Introduction): Add menu entries and sections for
  `Guile and the GNU Project', `Interactive Programming' and
  `Supporting Multiple Languages'.
2009-12-21 01:09:43 +00:00
Neil Jerram
c6c8e7e06d More intro text on combining with C code
* doc/ref/intro.texi (Combining with C): New paragraph.
2009-12-21 01:02:56 +00:00
Andy Wingo
c55cb58ac1 integrate guile-lib docs 2009-12-21 00:01:49 +01:00
Neil Jerram
84d86e7453 Typo and formatting
* doc/ref/intro.texi (Introduction): "onScheme" -> "on Scheme".  Add
  blank lines around @itemize block - looks better in Info.
2009-12-19 23:49:23 +00:00
Neil Jerram
cdda4e0a3d Remove obsolete and empty Tcl/Tk file
* doc/ref/Makefile.am (guile_TEXINFOS): Remove tcltk.texi.

* doc/ref/tcltk.texi: Deleted.
2009-12-19 23:37:28 +00:00
Neil Jerram
ebb6158f23 More about Guile's relationship to Scheme standards
Also continue adding a bit more structure to the introductory "what is
Guile" material.

* doc/ref/intro.texi (Introduction): Split `What is Guile?' (which is
  a bad heading, since we've already answered that...) into `Guile and
  Scheme' and `Combining with C'.  Further splits will follow, to
  cover the other toplevel bullet points.

  (Guile and Scheme): Remove `packaged for use in a wide variety of
  environments', as I don't see what this can mean to the reader at
  this point.  Add text about R6RS and SRFIs.
2009-12-19 23:32:22 +00:00
Neil Jerram
95c2df5c60 Format `Revised^n' more nicely in TeX
* doc/ref/intro.texi (Introduction): Format Revised^n differently for
  TeX.
2009-12-19 23:26:29 +00:00
Neil Jerram
3d9af0c966 New introductory text about Guile
* doc/ref/guile.texi (Top): Rename `Introduction to Guile' as just
  `Introduction'.

* doc/ref/intro.texi: Add new introductory text.  [Not yet complete]

* doc/ref/preface.texi (Preface): Update for chapter renaming.
2009-12-19 01:31:03 +00:00
Neil Jerram
65de749477 Move Conventions section to after `Reporting Bugs'
(Reporting Bugs fits better immediately after the tour of how to use
Guile)

* doc/ref/intro.texi: Move `Manual Conventions' to after `Reporting
  Bugs', and rename to `Typographical Conventions'.
2009-12-19 01:28:27 +00:00
Neil Jerram
029fa8965d Move "Discouraged and Deprecated" from Introduction to API chapter
* doc/ref/intro.texi (Discouraged and Deprecated): Move from here...

* doc/ref/api-discdepr.texi: ...to new file here.

* doc/ref/guile.texi: Include api-discdepr.texi, and include
 `Discouraged and Deprecated' in API chapter menu.

* doc/ref/Makefile.am (guile_TEXINFOS): Add api-discdepr.texi.
2009-12-19 01:20:33 +00:00
Neil Jerram
2a7758fe23 Remove page breaks except before new chapters and indices
* doc/ref/api-binding.texi, doc/ref/api-compound.texi,
  doc/ref/api-control.texi, doc/ref/api-data.texi,
  doc/ref/api-debug.texi, doc/ref/api-evaluation.texi,
  doc/ref/api-i18n.texi, doc/ref/api-io.texi, doc/ref/api-memory.texi,
  doc/ref/api-modules.texi, doc/ref/api-options.texi,
  doc/ref/api-overview.texi, doc/ref/api-procedures.texi,
  doc/ref/api-scheduling.texi, doc/ref/api-smobs.texi,
  doc/ref/api-translation.texi, doc/ref/api-utility.texi,
  doc/ref/expect.texi, doc/ref/libguile-concepts.texi,
  doc/ref/libguile-program.texi, doc/ref/misc-modules.texi,
  doc/ref/repl-modules.texi, doc/ref/scheme-debugging.texi,
  doc/ref/scheme-reading.texi, doc/ref/scheme-scripts.texi,
  doc/ref/script-getopt.texi, doc/ref/scsh.texi,
  doc/ref/srfi-modules.texi: Remove @page before @section.
2009-12-19 00:58:54 +00:00
Neil Jerram
0fc7099144 Remove obsolete material about GH
* doc/ref/extend.texi: Delete.
2009-12-19 00:35:35 +00:00
Neil Jerram
064f84ae56 Streamline the manual's Preface material
(The principle here is that Preface should only contain
meta-information about the manual, such as how to use it and who wrote
it; plus any political points that we want to draw attention to.)

* doc/ref/preface.texi (Preface): Make unnumbered, for consistency
  with other GNU manuals (e.g. Emacs, GSL).  Merge layout text into
  top level.  Simplify first sentence.  Move section on conventions
  away...

* doc/ref/intro.texi (Introduction to Guile): ...to here.
2009-12-19 00:06:42 +00:00
Neil Jerram
3733df073f Update and simplify statement about RnRS support
* doc/ref/scheme-intro.texi (Guile Scheme): Mention R6RS as well as
  R5RS.  Simplify text.
2009-12-18 01:21:55 +00:00
Brian Gough
2c18ac5f8e make the use of the 5-argument @xref command consistent
A few of the @xref references to external manuals in the documentation
are using an old 4-argument form that produces an undefined reference
in the printed manual.  The following patch makes them consistent with
the 5-argument @xrefs used elsewhere in the manual.

--
Brian Gough

Network Theory Ltd,
Publishing Free Software Manuals --- http://www.network-theory.co.uk/

>From 6ca0417830dc5a98699a15808591dc1f2a90dfac Mon Sep 17 00:00:00 2001
From: Brian Gough <bjg@gnu.org>
Date: Mon, 14 Dec 2009 21:34:59 +0000
Subject: [PATCH] make the use of the 5-argument @xref command consistent
 when referring to other manuals.
2009-12-18 01:21:55 +00:00
Brian Gough
72b3aa56af more typo fixes
More spelling corrections and fixes for doubled words (e.g. "the the")

--
Brian Gough

Network Theory Ltd,
Publishing Free Software Manuals --- http://www.network-theory.co.uk/

>From 7be02beedc739c32cce2c8ec8f4ac814c994a13f Mon Sep 17 00:00:00 2001
From: Brian Gough <bjg@gnu.org>
Date: Mon, 14 Dec 2009 22:06:22 +0000
Subject: [PATCH] fix various documentation typos (spelling & doubled words)
2009-12-18 00:53:34 +00:00
Brian Gough
2e4ef7eda1 typo fix
Correction for garbled sentence.

--
Brian Gough

Network Theory Ltd,
Publishing Free Software Manuals --- http://www.network-theory.co.uk/

>From f819b597a46ad4ed23597e5a81d1acab46f15147 Mon Sep 17 00:00:00 2001
From: Brian Gough <bjg@gnu.org>
Date: Mon, 14 Dec 2009 20:04:34 +0000
Subject: [PATCH] typo fix
2009-12-18 00:53:07 +00:00
Brian Gough
93b645239b added brief introduction about SLIB
This patch adds a short introduction to the SLIB section of the manual
with a link to the SLIB homepage.

--
Brian Gough

Network Theory Ltd,
Publishing Free Software Manuals --- http://www.network-theory.co.uk/

>From 60548b6e039bf57694b7841996cfda011cb8a4bf Mon Sep 17 00:00:00 2001
From: Brian Gough <bjg@gnu.org>
Date: Mon, 14 Dec 2009 20:49:27 +0000
Subject: [PATCH] added brief introduction about SLIB
2009-12-18 00:51:20 +00:00
Brian Gough
8d7ee181be Hash Table examples - hashq takes different number of arguments
In the "Hash Tables Example" in the manual, hashq needs 2 arguments
instead of 1 (patch below).  I've updated the hash table output as
well to match the current version.

--
Brian Gough

Network Theory Ltd,
Publishing Free Software Manuals --- http://www.network-theory.co.uk/

>From fdb6101d2e064620746ebfc9f9cd28bbdd2470e8 Mon Sep 17 00:00:00 2001
From: Brian Gough <bjg@gnu.org>
Date: Mon, 14 Dec 2009 19:59:32 +0000
Subject: [PATCH] update docs for Hash Table Examples
 hashq now takes two arguments
 order of elements in hash table is different now
2009-12-18 00:49:20 +00:00
Brian Gough
e163dd343b replace ascii figures with scalable ps/pdf versions.
use ascii figures in HTML output, to work around deficiency in makeinfo
where images are not copied to target directory.
2009-12-17 23:17:59 +00:00