1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 20:00:19 +02:00
guile/module/ice-9
Andy Wingo fd17cf9f72 Speed up port position access from Scheme
* libguile/ports-internal.h (scm_port_buffer_position):
  (scm_port_position_line, scm_port_position_set_line):
  (scm_port_position_column, scm_port_position_set_column): New
  helpers.
  (scm_t_port): Ports now hold position as a pair, so that Scheme can
  access it easily.
  (SCM_LINUM, SCM_COL, SCM_INCLINE, SCM_ZEROCOL, SCM_INCCOL)
  (SCM_DECCOL, SCM_TABCOL): Remove.
* libguile/ports.c (make_port_buffer): Rename from
  scm_c_make_port_buffer, make static, and take port as an argument so
  we can initialize the position field.
  (initialize_port_buffers): Adapt make_port_buffer change.
  (scm_c_make_port_with_encoding): Initialize position.
  (update_port_position): Rename from update_port_lf, and operate on
  port position objects.
  (scm_ungetc): Operate on port position objects.
  (scm_setvbuf, scm_expand_port_read_buffer_x): Adapt to
  make_port_buffer change.
  (scm_lfwrite): Adapt to call update_port_position.
  (scm_port_line, scm_set_port_line_x, scm_port_column)
  (scm_set_port_column_x): Adapt to use port positions.
* libguile/ports.h (scm_c_make_port_buffer): Remove internal decl.
* libguile/read.c: Adapt to use scm_port_line / scm_port_column instead
  of SCM_LINUM et al.
* module/ice-9/ports.scm (port-buffer-position, port-position-line)
  (port-position-column, set-port-position-line!)
  (set-port-position-column!): New accessors for the internals module.
* module/ice-9/sports.scm (advance-port-position!): Rename from
  port-advance-position! and use the new accessors.
  (read-char, port-fold-chars/iso-8859-1): Adapt to use
  advance-port-position!.
2016-05-22 18:16:19 +02:00
..
peg Remove 'define-grammar-f' 2013-01-16 10:11:50 +01:00
and-let-star.scm Minor stylistic improvement to 'and-let*' macro. 2013-09-09 22:20:09 -04:00
arrays.scm
binary-ports.scm Implement efficient 'scm_unget_bytes' and 'unget-bytevector'. 2013-04-07 10:14:44 -04:00
boot-9.scm Load port bindings in separate (ice-9 ports) module 2016-04-15 14:07:02 +02: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 deprecate arity access via (procedure-properties proc 'arity) 2010-04-17 16:28:52 +02:00
command-line.scm Merge commit 'ed72201a79' 2015-01-22 14:53:06 +01: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 Provide curried version of define*-public. 2014-07-31 16:05:58 +01:00
debug.scm gut ice-9 debug 2010-07-16 17:35:43 +02:00
deprecated.scm Use symbols instead of _IONBF values as args to setvbuf 2016-04-04 16:30:56 +02:00
documentation.scm remove program-name, program-documentation 2010-04-17 15:21:08 +02:00
eval-string.scm Rename "RTL" to "bytecode" 2013-12-02 21:31:47 +01:00
eval.scm Eval speedup for lexical-ref 2015-11-11 14:51:19 +01:00
expect.scm
format.scm String ports use UTF-8; ignore %default-port-encoding. 2013-08-07 01:22:22 -04:00
ftw.scm Make sure 'ftw' allows directory traversal when running as root. 2014-02-20 22:57:26 +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
hash-table.scm Add procedures to convert alists into hash tables. 2013-11-18 23:03:38 -05:00
hcons.scm
history.scm Use `define-module*' in (ice-9 history). 2010-11-20 00:47:12 +01:00
i18n.scm Improve correctness and consistency of 'eval-when' usage. 2014-01-23 10:41:22 -05:00
iconv.scm add read-string and read-string! to (ice-9 rdelim) 2013-01-22 15:15:43 +01:00
lineio.scm remove (ice-9 lineio)'s dependency on (ice-9 readline) 2009-08-18 17:52:46 +02:00
list.scm
local-eval.scm Merge branch 'stable-2.0' 2014-01-14 01:30:56 -05:00
ls.scm nested module fixen to (ice-9 ls) 2010-04-24 17:42:00 +02:00
mapping.scm deprecate (ice-9 mapping) 2013-02-24 15:11:14 +01:00
match.scm Improve run-time error reporting in (ice-9 match). 2013-08-15 04:07:55 -04:00
match.upstream.scm Match and srfi-9 expose their bailouts to the CSE pass 2014-04-05 11:56:44 +02:00
networking.scm Add `getaddrinfo' and related procedures. 2010-02-14 20:56:47 +01:00
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 Merge commit 'f6ddf827f8' 2014-02-07 14:51:42 +01:00
popen.scm Improve correctness and consistency of 'eval-when' usage. 2014-01-23 10:41:22 -05:00
ports.scm Speed up port position access from Scheme 2016-05-22 18:16:19 +02:00
posix.scm nanosecond timestamp support in stat and utime 2010-01-17 16:56:34 +01:00
pretty-print.scm Merge commit '2f3b7e9a41' 2014-02-08 14:44:11 +01:00
psyntax-pp.scm Load port bindings in separate (ice-9 ports) module 2016-04-15 14:07:02 +02:00
psyntax.scm Load port bindings in separate (ice-9 ports) module 2016-04-15 14:07:02 +02:00
q.scm
quasisyntax.scm add quasisyntax 2009-11-14 17:25:12 +01:00
r5rs.scm fix some uses of %module-public-interface 2010-04-24 17:43:52 +02:00
r6rs-libraries.scm Fix R6RS imports of interfaces that use interfaces 2016-04-14 12:35:55 +02:00
rdelim.scm rdelim: Speed up 'read-string' (aka. 'get-string-all'.) 2014-05-28 23:00:20 +02: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 Remove unused top-level variables. 2010-01-11 01:21:14 +01:00
rw.scm
safe-r5rs.scm fix some uses of %module-public-interface 2010-04-24 17:43:52 +02:00
safe.scm
save-stack.scm Update old-style REPL code for deprecation 2014-04-02 12:08:48 +02:00
scm-style-repl.scm Update old-style REPL code for deprecation 2014-04-02 12:08:48 +02:00
serialize.scm
session.scm rtl-program? -> program? 2013-11-19 19:11:40 +01:00
slib.scm fix ice-9/slib 2013-01-10 17:30:38 +01:00
sports.scm Speed up port position access from Scheme 2016-05-22 18:16:19 +02:00
stack-catch.scm deprecate save-stack, stack-saved? 2010-06-19 12:57:31 +02:00
streams.scm Re-implement (ice-9 streams) in terms of (srfi srfi-41) 2015-03-09 13:48:38 +01:00
string-fun.scm
syncase.scm deprecated sc-expand in deprecated (ice-9 syncase) 2010-04-07 00:05:34 +02:00
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
unicode.scm Add (ice-9 unicode) module 2014-09-29 21:54:14 -04:00
vlist.scm vlist: Remove Texinfo markup from docstrings. 2012-11-27 23:02:15 +01:00
weak-vector.scm Add weak-vector-length, weak-vector-ref, weak-vector-set! 2014-02-07 13:00:41 +01: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