1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-05 11:40:20 +02:00
guile/module/ice-9
Mark H Weaver 6dce942c46 String ports use UTF-8; ignore %default-port-encoding.
* libguile/strports.c (scm_mkstrport): Use UTF-8; ignore
  %default-port-encoding.  Rename 'str_len' and 'c_pos' to
  'num_bytes' and 'c_byte_pos'.  Interpret 'pos' argument
  as a character index instead of a byte index.

* module/ice-9/boot-9.scm (%cond-expand-features): Add srfi-6 to the
  list of core features.

* module/srfi/srfi-6.scm (open-input-string, open-output-string): Simply
  re-export these, since the core versions are now compliant.

* doc/ref/api-io.texi (String Ports): Remove text that describes
  non-compliant behavior of string ports with regard to encoding.

* doc/ref/srfi-modules.texi (SRFI-0): Add srfi-6 to the list of
  core features.
  (SRFI-6): Remove text that mentions non-compliant behavior of
  core string ports.

* module/ice-9/format.scm (format):
* module/ice-9/pretty-print.scm (truncated-print):
* module/rnrs/io/ports.scm (open-string-input-port,
  open-string-output-port):
* test-suite/test-suite/lib.scm (format-test-name):
* test-suite/tests/chars.test ("combining accent is pretty-printed",
  "combining X is pretty-printed"):
* test-suite/tests/ecmascript.test (eread, eread/1):
* test-suite/tests/rdelim.test:
* test-suite/tests/reader.test (read-string):
* test-suite/tests/regexp.test:
* test-suite/tests/srfi-105.test (read-string): Don't set
  %default-port-encoding before creating string ports.

* benchmark-suite/benchmarks/ports.bm (%latin1-port): Use
  'set-port-encoding!' to set the string port encoding.
  (%utf8/ascii-port, %utf8/wide-port, "rdelim"): Don't set
  %default-port-encoding before creating string ports.

* test-suite/tests/r6rs-ports.test ("lookahead-u8 non-ASCII"): Don't set
  %default-port-encoding before creating string ports.
  ("put-bytevector with UTF-16 string port", "put-bytevector with
  wrong-encoding string port"): Use 'set-port-encoding!' to set the
  string port encoding.

* test-suite/tests/print.test (tprint): Use 'set-port-encoding!' to set
  the string port encoding.
  ("truncated-print"): Use 'pass-if-equal'.

* test-suite/tests/ports.test ("encoding failure leads to exception",
  "%default-port-encoding is honored", "peek-char [latin-1]", "peek-char
  [utf-8]", "peek-char [utf-16]"): Remove tests.
  ("%default-port-encoding is ignored", "peek-char"): Add tests.
  ("suitable encoding [latin-1]", "suitable encoding [latin-3]",
  "wrong encoding, error", "wrong encoding, substitute",
  "wrong encoding, escape"): Use 'set-port-encoding!' to set the
  string port encoding.
  ("%default-port-encoding, wrong encoding"): Rewrite to use
  a file port instead of a string port.
2013-08-07 01:22:22 -04:00
..
peg Remove 'define-grammar-f' 2013-01-16 10:11:50 +01:00
and-let-star.scm
arrays.scm
binary-ports.scm Implement efficient 'scm_unget_bytes' and 'unget-bytevector'. 2013-04-07 10:14:44 -04:00
boot-9.scm String ports use UTF-8; ignore %default-port-encoding. 2013-08-07 01:22:22 -04:00
buffered-input.scm bugfixes and simplifications to ice-9 buffered-input. 2010-10-05 19:55:37 +02:00
calling.scm
ChangeLog-2008
channel.scm
command-line.scm Bump 'copyright-year' to 2013. 2013-04-06 15:52:08 -04:00
common-list.scm
compile-psyntax.scm Tree-il post-order rewriter no longer destructive 2013-06-10 22:46:08 +02:00
control.scm Add call/ec' and let/ec'. 2013-04-05 22:54:14 +02:00
curried-definitions.scm `define-public' is no a longer curried definition by default. 2012-09-06 13:08:33 +01:00
debug.scm gut ice-9 debug 2010-07-16 17:35:43 +02:00
deprecated.scm deprecate generalized vectors in favor of arrays 2013-02-18 16:57:15 +01:00
documentation.scm
eval-string.scm current-language is a parameter in boot-9 2013-01-22 15:38:04 +01:00
eval.scm Merge remote-tracking branch 'origin/stable-2.0' 2013-07-16 01:33:27 -04:00
expect.scm
format.scm String ports use UTF-8; ignore %default-port-encoding. 2013-08-07 01:22:22 -04:00
ftw.scm scandir: Use lstat' instead of stat'. 2012-11-01 00:48:59 +01:00
futures.scm Add call/ec' and let/ec'. 2013-04-05 22:54:14 +02:00
gap-buffer.scm
getopt-long.scm Fix record constructor in getopt-long. 2012-11-08 21:53:36 -05:00
hcons.scm
history.scm Use `define-module*' in (ice-9 history). 2010-11-20 00:47:12 +01:00
i18n.scm i18n: Provide default values for when Gnulib has no replacement. 2012-02-03 20:11:00 +01:00
iconv.scm add read-string and read-string! to (ice-9 rdelim) 2013-01-22 15:15:43 +01:00
lineio.scm
list.scm
local-eval.scm "fix" local-eval for introduced toplevels 2012-01-30 20:28:10 +01:00
ls.scm
mapping.scm deprecate (ice-9 mapping) 2013-02-24 15:11:14 +01:00
match.scm Update (ice-9 match) from Chibi-Scheme. 2012-06-08 12:42:08 +02:00
match.upstream.scm Update (ice-9 match) from Chibi-Scheme. 2012-06-08 12:42:08 +02:00
networking.scm
null.scm
occam-channel.scm
optargs.scm more define-syntax-rule usage 2011-09-02 11:36:14 +02:00
peg.scm Remove 'define-grammar-f' 2013-01-16 10:11:50 +01:00
poe.scm (ice-9 poe) does not get handles from weak hash tables 2011-05-01 23:01:13 +02:00
poll.scm ice-9/poll optimization 2012-02-19 13:30:30 +01:00
popen.scm slight open-pipe* / open-process refactor 2013-01-08 12:58:05 +01:00
posix.scm
pretty-print.scm String ports use UTF-8; ignore %default-port-encoding. 2013-08-07 01:22:22 -04:00
psyntax-pp.scm Remove with-fluids; replaced by with-fluid* and inlined push-fluid primops 2013-06-28 19:52:09 +02:00
psyntax.scm Remove with-fluids; replaced by with-fluid* and inlined push-fluid primops 2013-06-28 19:52:09 +02:00
q.scm
quasisyntax.scm
r5rs.scm
r6rs-libraries.scm R6RS srfi library names should ignore first identifier after the :n 2012-11-25 12:28:41 +00:00
rdelim.scm docstring in rdelim 2013-01-22 15:39:37 +01:00
README
receive.scm more define-syntax-rule usage 2011-09-02 11:36:14 +02:00
regex.scm In fold-matches, set regexp/notbol unless matching string start. 2012-09-26 23:46:05 +02:00
runq.scm
rw.scm
safe-r5rs.scm
safe.scm
save-stack.scm deprecate the-last-stack 2010-06-19 13:43:33 +02:00
scm-style-repl.scm remove evaluator-traps-interface 2010-09-24 18:44:21 +02:00
serialize.scm
session.scm better procedure-arguments for interpreted procs with opt, rest, kwargs 2012-07-06 12:19:12 +02:00
slib.scm fix ice-9/slib 2013-01-10 17:30:38 +01:00
stack-catch.scm deprecate save-stack, stack-saved? 2010-06-19 12:57:31 +02:00
streams.scm
string-fun.scm
syncase.scm
test.scm Placate a number of `syntax-check' verifications. 2012-01-05 23:38:10 +01:00
threads.scm Update `par-map' to use nested futures. 2012-11-21 23:33:30 +01:00
time.scm
top-repl.scm current-language is a parameter in boot-9 2013-01-22 15:38:04 +01:00
vlist.scm vlist: Remove Texinfo markup from docstrings. 2012-11-27 23:02:15 +01:00
weak-vector.scm remove weak pairs, rewrite weak vectors 2011-10-24 12:54:14 +02:00

This directory contains various bits of Guile Scheme code.
Most of these are packaged as modules, with foo.scm implementing
the module `(ice-9 foo)'.

The non-module files are:

boot-9.scm	-- loaded on guile startup
		   implements module system + lots of other stuff
arrays.scm	-- loaded by boot-9.scm
networking.scm	-- loaded by boot-9.scm
posix.scm	-- loaded by boot-9.scm
r4rs.scm	-- loaded by boot-9.scm