Ludovic Courtès
ab4d62adbf
Update Gnulib to v0.0-4544-gce083ca.
2010-12-20 22:51:46 +01:00
Andy Wingo
b90b4b2bf2
format handles ~@c better
...
* module/ice-9/format.scm (format): Fix ascii-ism in ~@c. Pull
flush-output? into the let*.
2010-12-18 13:13:16 +01:00
Andy Wingo
79f124ac87
more format tweaks
...
* module/ice-9/format.scm (format): Strip format: prefix from port and
output-col.
2010-12-18 13:02:07 +01:00
Andy Wingo
8390dac023
more format tweaks
...
* module/ice-9/format.scm (format): Move the port and output-col to let*
vars, again removing a set!. We will probably move more state vars to
the let*, to let the procedures exist in a more fixed-point style.
2010-12-18 12:57:29 +01:00
Andy Wingo
0e9306801a
take advantage of letrec* in format
...
* module/ice-9/format.scm (format): Take advantage of letrec* internal
expansion, and so have fewer set! invocations.
2010-12-18 12:50:00 +01:00
Andy Wingo
d55066ddc3
inline format:out into format
...
* module/ice-9/format.scm (format): Inline format:out into the body.
2010-12-18 12:42:50 +01:00
Andy Wingo
098e6fc63f
more format cleanups
...
* module/ice-9/format.scm (format): Remove the need to save a copy of
the incoming arguments, because they are available as local
variables. Do the check early for the format-string actually being a
string.
2010-12-18 12:32:14 +01:00
Andy Wingo
f02f8a6174
format's first arg is "destination"
...
* module/ice-9/format.scm: The argument to format is "destination", not
"port". Fix this newly reintroduced buglet.
2010-12-18 12:20:26 +01:00
Andy Wingo
3d56118c50
inline format:format into format
...
* module/ice-9/format.scm (format): Inline format:format body.
2010-12-18 12:17:46 +01:00
Andy Wingo
2ce77e6cf6
deprecate omission of port to ice-9 format
...
* module/ice-9/format.scm (format): Add port and format-string as formal
arguments. Seems also to have triggered a reindent. Formally
deprecate omitting the port, as it's usually an error.
* test-suite/tests/format.test ("format basic output")
("format basic output", "~{ iteration"): Fix up tests that omitted the
destination port.
2010-12-18 12:06:53 +01:00
Andy Wingo
29d096c8e6
letrec -> internal definitions in format.scm
...
* module/ice-9/format.scm (format): Change from letrec to internal
definitions, and use the define (foo ...) .. shorthand. No semantic
change.
2010-12-18 11:44:57 +01:00
Andy Wingo
9ebf1af3c1
format.scm cleanups
...
* module/ice-9/format.scm (format:symbol-case-conv)
(format:iobj-case-conv): Remove these exports, they were not used.
(format:expch): Remove this one, though it was used.
(format:floats, format:complex-numbers, format:radix-pref): Inline
these "configuration variables" into the format body.
2010-12-18 11:27:19 +01:00
Andy Wingo
e3e3394374
ice-9 format license update
...
* module/ice-9/format.scm: A more standard copyright header, with
LGPLv3+ instead of public domain. Update define-module block.
2010-12-18 11:21:29 +01:00
Ludovic Courtès
7bc8b4afa2
Bump version number for 1.9.14.
...
* GUILE-VERSION (GUILE_MICRO_VERSION): Increment.
2010-12-17 21:57:19 +01:00
Ludovic Courtès
831ed60ddb
Tweak `NEWS'.
...
* NEWS: Update.
2010-12-17 21:55:56 +01:00
Ludovic Courtès
90b2c69c97
futures: Store pending futures in a queue.
...
* module/ice-9/futures.scm (%futures): Change from a list to a queue.
(register-future!, process-futures, touch): Adjust accordingly.
(unregister-future!): Remove.
2010-12-17 21:55:56 +01:00
Ludovic Courtès
3e0e4f1d87
Clarify doc regarding threading of par-map' and
par-for-each'.
...
* doc/ref/api-scheduling.texi (Parallel Forms): Refine wording for
`par-map' and `par-for-each'.
2010-12-17 21:55:56 +01:00
Andy Wingo
863f11969d
add www-commit rule in doc/ref
...
* doc/ref/Makefile.am (www-commit): Add rule to update docs on web site.
2010-12-17 16:41:58 +01:00
Ludovic Courtès
6bf623ca34
Remove conflicting `scm_is_string' declaration.
...
* libguile/strings.h: Move `scm_is_string' declaration...
* libguile/inline.h: ... here.
Reported by Noah Lavine <noah.b.lavine@gmail.com>.
2010-12-17 14:34:22 +01:00
Andy Wingo
133ef660af
fix unbound fluid tests
...
* test-suite/tests/fluids.test: Fix tests.
2010-12-17 13:53:29 +01:00
Andy Wingo
27e346064e
update NEWS
...
* NEWS: Update.
2010-12-17 13:33:29 +01:00
Andy Wingo
7cf64a0af1
guile-user has no filename
...
* module/ice-9/boot-9.scm (guile-user): Set #:filename to #f for
guile-user module, as guile-user isn't really associated with any
file.
2010-12-17 13:30:07 +01:00
Andy Wingo
cdab9fc625
add ,reload meta-command and document it and reload-module
...
* module/ice-9/boot-9.scm (reload-module): Add docstring.
* module/system/repl/command.scm (reload): New meta-command.
* doc/ref/scheme-using.texi (Module Commands): Document the ,reload
meta-command.
* doc/ref/api-modules.texi (Module System Reflection): Document
reload-module.
2010-12-17 13:27:43 +01:00
Andy Wingo
626e36e5cb
document variable-unset!
...
* doc/ref/api-modules.texi (Variables): Document variable-unset!.
* NEWS: Update.
2010-12-17 13:16:36 +01:00
Andy Wingo
d09c07fb10
document make-unbound-fluid et al
...
* doc/ref/api-scheduling.texi (Fluids and Dynamic States): Document the
new fluid routines.
* NEWS: Update.
2010-12-17 13:14:13 +01:00
Andy Wingo
e01163b5f1
rename make-undefined-fluid to make-unbound-fluid
...
* libguile/fluids.c (scm_make_unbound_fluid): Rename from
scm_make_undefined_fluid.
* libguile/fluids.h:
* module/language/elisp/runtime.scm: Update referrers.
2010-12-17 13:10:03 +01:00
Andy Wingo
60905b80d4
multicast manual updates
...
* doc/ref/posix.texi (Network Sockets and Communication): Add
IP_MULTICAST_TTL and IP_MULTICAST_IF docs, from the docstring.
* NEWS: Update.
2010-12-17 13:04:23 +01:00
Andy Wingo
5cdab8b8f6
more web.texi "hacking"
...
* doc/ref/web.texi (Web Server, Web Examples): Finish these sections.
2010-12-17 12:58:43 +01:00
Andy Wingo
e2d4bfea00
build-response validates headers
...
* module/web/response.scm (build-response): Add some validation, like
for build-request.
2010-12-17 12:01:34 +01:00
Ludovic Courtès
c21a5ddcaf
Implement `(ice-9 threads)' high-level constructs in terms of futures.
...
* module/ice-9/threads.scm (parallel, par-mapper): Rewrite in terms of
`future' and `touch'.
* test-suite/tests/threads.test ("par-map", "par-for-each"): New test
prefixes.
* doc/ref/api-scheduling.texi (Parallel Forms): Add cross-ref to
futures. Recommend against the `n-' variants.
2010-12-16 23:45:24 +01:00
Ludovic Courtès
6c17f7bd71
futures: Support multiple-value returns.
...
* module/ice-9/futures.scm (process-future!): Use `call-with-values'
when invoking `(future-thunk future)'.
* test-suite/tests/future.test ("futures")["multiple values"]: New test.
2010-12-16 23:45:24 +01:00
Ludovic Courtès
691a1c3c06
futures: Fix potential deadlock.
...
* module/ice-9/futures.scm (process-futures): Fix potential deadlock,
whereby %FUTURES-MUTEX would be acquired *after* FUTURE's mutex.
2010-12-16 23:45:24 +01:00
Ludovic Courtès
70249b9857
Rehash weak hash tables less frequently.
...
* libguile/hashtab.c (weak_bucket_assoc): Call `scm_i_rehash' only when
REMAINING is below `SCM_HASHTABLE_LOWER (table)'.
2010-12-16 23:45:23 +01:00
Ludovic Courtès
3854d5fd23
Fix `hash' for pointer objects.
...
Previously all pointer objects would hash to the same value.
* libguile/hash.c (scm_hasher): Add case for `scm_tc7_pointer'.
2010-12-16 23:45:23 +01:00
Ludovic Courtès
183f784947
Inline `scm_is_string'.
...
* libguile/strings.c (scm_is_string): Move to...
* libguile/inline.h (scm_is_string): ... here. Inline.
2010-12-16 23:45:23 +01:00
Ludovic Courtès
18f06db925
Add compose',
negate', and `const'.
...
* module/ice-9/boot-9.scm (compose, negate, const): New procedures.
* doc/ref/api-procedures.texi (Higher-Order Functions): New node.
* test-suite/Makefile.am (SCM_TESTS): Add `tests/procs.test'.
* test-suite/tests/procs.test: New file.
2010-12-16 23:45:23 +01:00
Andy Wingo
0bfba83a03
update web-response tests for http header parsing change
...
* test-suite/tests/web-response.test ("example-1"): Update for change in
parsing Vary header.
2010-12-16 19:38:48 +01:00
Andy Wingo
92022c447d
update NEWS
...
* NEWS: Update for Web documentation.
2010-12-16 19:33:16 +01:00
Andy Wingo
e471a3ee2f
more web.texi work
...
* doc/ref/web.texi (Requests, Responses): Flesh out.
(Web Examples): New section, replacing "Web Handlers". The only one
that's not really written yet.
2010-12-16 19:31:50 +01:00
Andy Wingo
1148d02973
add section on format of parsed http headers
...
* doc/ref/web.texi (HTTP Headers): New section. Needs some examples,
though.
2010-12-16 19:06:41 +01:00
Andy Wingo
adc91e41bf
http: lists of header names parse better
...
* module/web/http.scm (list-of-strings?, write-list-of-strings): Move
definitions up.
(split-header-names, list-of-header-names?, write-header-list): New
helpers.
(declare-header-list-header): New helper.
(cache-control): Use split-header-names for private and no-cache.
(trailer): Use declare-header-list-header to parse known headers to
symbols.
(vary): Likewise, use split-header-names et al.
* test-suite/tests/web-http.test ("general headers"): Add a test.
2010-12-16 18:12:14 +01:00
Andy Wingo
25731543d4
better cache-control: private, no-cache parsing
...
* module/web/http.scm (cache-control): Parse private and no-cache
better.
* test-suite/tests/web-http.test ("general headers"): Update.
2010-12-16 17:56:03 +01:00
Andy Wingo
ac7f17e3ca
fix web.texi
...
* doc/ref/web.texi: Texinfo syntax fixen!
2010-12-16 16:44:44 +01:00
Andy Wingo
299cd1a229
update web.texi
...
* doc/ref/web.texi (URIs, HTTP): Update these sections.
2010-12-16 16:43:01 +01:00
Andy Wingo
8db7e0947d
add web.texi to manual
...
* 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.
2010-12-16 14:52:25 +01:00
Andy Wingo
43d6659ae2
(web server) docstrings
...
* module/web/server.scm: Docstrings in the house.
2010-12-16 14:48:35 +01:00
Andy Wingo
cc1e26c2cd
docstrings in (web request) and (web response)
...
* module/web/request.scm:
* module/web/response.scm: Add docstrings.
2010-12-16 14:48:34 +01:00
Andy Wingo
92c5c0b67c
(web http) docstrings
...
* module/web/http.scm: Add docstrings all around.
2010-12-16 14:48:34 +01:00
Andy Wingo
277bbe9624
document (web uri), and simplify uri-encode
...
* module/web/uri.scm: Add docstrings.
(uri-encode): Simplify. Not sure what I was thinking before.
2010-12-16 14:48:34 +01:00
Andy Wingo
76ebf23fce
update NEWS
...
* NEWS: Update.
2010-12-13 23:35:34 +01:00