1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-09 21:40:33 +02:00
guile/libguile
Andy Wingo 8399e7af51 Generic port facility provides buffering uniformly
* libguile/ports.h (struct scm_t_port_buffer): New data type.
  (struct scm_t_port): Refactor to use port buffers instead of
  implementation-managed read and write pointers.  Add "read_buffering"
  member.
  (SCM_INITIAL_PUTBACK_BUF_SIZE, SCM_READ_BUFFER_EMPTY_P): Remove.
  (scm_t_ptob_descriptor): Rename "fill_input" function to "read", and
  take a port buffer, returning void.  Likewise "write" takes a port
  buffer and returns void.  Remove "end_input"; instead if there is
  buffered input and rw_random is true, then there must be a seek
  function, so just seek back if needed.  Remove "flush"; instead all
  calls to the "write" function implicitly include a "flush", since the
  buffering happens in the generic port code now.  Remove "setvbuf", but
  add "get_natural_buffer_sizes"; instead the generic port code can
  buffer any port.
  (scm_make_port_type): Adapt to read and write prototype changes.
  (scm_set_port_flush, scm_set_port_end_input, scm_set_port_setvbuf):
  Remove.
  (scm_slow_get_byte_or_eof_unlocked)
  (scm_slow_get_peek_or_eof_unlocked): Remove; the slow path is to call
  scm_fill_input.
  (scm_set_port_get_natural_buffer_sizes): New function.
  (scm_c_make_port_buffer): New internal function.
  (scm_port_non_buffer): Remove.  This was a function for
  implementations that is no longer needed.  Instead open with BUF0 or
  use (setvbuf port 'none).
  (scm_fill_input, scm_fill_input_unlocked): Return the filled port
  buffer.
  (scm_get_byte_or_eof_unlocked, scm_peek_byte_or_eof_unlocked): Adapt
  to changes in buffering and EOF management.
* libguile/ports.c: Adapt to port interface changes.
  (initialize_port_buffers): New function, using the port mode flags to
  set up appropriate initial buffering for all ports.
  (scm_c_make_port_with_encoding): Create port buffers here instead of
  delegating to implementations.
  (scm_close_port): Flush the port if needed instead of delegating to
  the implementation.
* libguile/filesys.c (set_element): Adapt to buffering changes.
* libguile/fports.c (fport_get_natural_buffer_sizes): New function,
  replacing scm_fport_buffer_add.
  (fport_write, fport_read): Update to let the generic ports code do the
  buffering.
  (fport_flush, fport_end_input): Remove.
  (fport_close): Don't flush in a dynwind; that's the core ports' job.
  (scm_make_fptob): Adapt.
* libguile/ioext.c (scm_redirect_port): Adapt to buffering changes.
* libguile/poll.c (scm_primitive_poll): Adapt to buffering changes.
* libguile/ports-internal.h (struct scm_port_internal): Remove
  pending_eof flag; this is now set on the read buffer.
* libguile/r6rs-ports.c (struct bytevector_input_port): New type.  The
  new buffering arrangement means that there's now an intermediate
  buffer between the bytevector and the user of the port; this could
  lead to a perf degradation, but on the other hand there are some other
  speedups enabled by the buffering refactor, so probably the memcpy
  cost is dwarfed by the cost of the other parts of the ports
  machinery.
  (make_bytevector_input_port, bytevector_input_port_read):
  (bytevector_input_port_seek, initialize_bytevector_input_ports): Adapt
  to new buffering arrangement.
  (struct custom_binary_port): Remove read buffer, as Guile handles that
  now.
  (custom_binary_input_port_setvbuf): Remove; now handled by Guile.
  (make_custom_binary_input_port, custom_binary_input_port_read)
  (initialize_custom_binary_input_ports): Adapt.
  (scm_get_bytevector_some): Adapt to new EOF management.
  (scm_t_bytevector_output_port_buffer): Hold on to the underlying port,
  so we can flush it if it's open.
  (make_bytevector_output_port, bytevector_output_port_write):
  (bytevector_output_port_seek): Adapt.
  (bytevector_output_port_procedure): Flush the port as appropriate, so
  that we get all the bytes.
  (make_custom_binary_output_port, custom_binary_output_port_write):
  Adapt.
  (make_transcoded_port): Don't muck with buffering.
  (transcoded_port_write): Simply forward the write to the underlying
  port.
  (transcoded_port_read): Likewise.
  (transcoded_port_close): No need to flush.
  (initialize_transcoded_ports): Adapt.
* libguile/read.c (scm_i_scan_for_encoding): Adapt to buffering
  changes.
* libguile/rw.c (scm_write_string_partial): Adapt to buffering changes.
* libguile/strports.c: Adapt to the fact that we don't manage the
  buffer.  Probably room for speed improvements here...
* libguile/vports.c (soft_port_get_natural_buffer_sizes): New function.
  Adapt the rest of the file for the new buffering regime.
* test-suite/tests/r6rs-ports.test ("8.2.10 Output ports"): Custom
  binary output ports need to be flushed before you can rely on the
  write! procedure having been called.  Add necessary flush-port
  invocations.
  ("8.2.6  Input and output ports"): Transcoded ports now have an
  internal buffer by default.  This test checks that the characters are
  transcoded one at a time, so to do that, call setvbuf on the
  transcoded port to remove the buffer.
* test-suite/tests/web-client.test (run-with-http-transcript): Fix for
  different flushing regime on soft ports.  (The vestigial flush
  procedure is now called after each write, which is not what the test
  was expecting.)
* test-suite/standalone/test-scm-c-read.c: Update for changes to the C
  interface for defining port types.
* doc/ref/api-io.texi (Ports): Update to discuss buffering in a generic
  way, and to remove a hand-wavey paragraph describing string ports as
  "interesting and powerful".
  (Reading, Writing): Remove placeholder comments.  Document
  `scm_lfwrite'.
  (Buffering): New section.
  (File Ports): Link to buffering.
  (I/O Extensions): Join subnodes into parent and describe new API,
  including buffering API.
* doc/ref/posix.texi (Ports and File Descriptors): Link to buffering.
  Remove unread-char etc, as they are documented elsewhere.
  (Pipes, Network Sockets and Communication): Link to buffering.
2016-04-06 19:21:44 +02:00
..
.gitignore libguile gitignore 2010-09-12 23:39:52 +02:00
__scm.h Merge commit '750ac8c592' 2013-11-28 14:53:03 +01:00
_scm.h Bump bytecode version 2015-11-11 10:25:23 +01:00
alist.c Merge remote-tracking branch 'origin/stable-2.0' 2012-02-08 11:48:08 +01:00
alist.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
arbiters.c locking for putc, puts 2011-11-08 00:55:05 +01:00
arbiters.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
array-handle.c Simplify scm_array_get_handle for tc7-arrays 2014-02-09 20:58:16 +01:00
array-handle.h Remove array impl. registry; instead, hard-code array handle creation 2014-02-09 12:48:21 +01:00
array-map.c Pack array dimensions in array object 2014-09-30 11:35:08 +02:00
array-map.h Deprecate scm_array_fill_int() 2013-04-05 22:54:14 +02:00
arrays.c Non-vector 1D arrays print as #1() 2015-02-18 09:32:30 +01:00
arrays.h Pack array dimensions in array object 2014-09-30 11:35:08 +02:00
async.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
async.h Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
backtrace.c display-{application,-backtrace} delegate to Scheme 2016-04-04 16:30:56 +02:00
backtrace.h display-{application,-backtrace} delegate to Scheme 2016-04-04 16:30:56 +02:00
bdw-gc.h Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
bitvectors.c Fix bit-count* bug 2014-07-04 16:52:29 +02:00
bitvectors.h Remove array impl. registry; instead, hard-code array handle creation 2014-02-09 12:48:21 +01:00
boolean.c add `nil?' primitive 2012-02-03 18:53:38 -05:00
boolean.h Declare scm_nil_p 2013-11-27 19:30:18 +01:00
bytevectors.c Merge commit '8cf2a7ba74' 2015-01-22 13:24:30 +01:00
bytevectors.h refactor tc7 and tc16 checks 2011-10-24 18:54:01 +02:00
c-tokenize.lex build: Don't include <config.h> in native programs when cross-compiling. 2014-03-12 14:35:07 +01:00
ChangeLog-1996-1999
ChangeLog-2000
ChangeLog-2008 Rename ChangeLog' files to ChangeLog-2008'. 2008-09-12 21:49:58 +02:00
ChangeLog-scm
ChangeLog-srfi move srfi-1 and srfi-60 C impl to libguile, without public C api 2010-09-12 23:29:11 +02:00
ChangeLog-threads
chars.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
chars.h Support for Unicode general categories 2009-12-24 11:55:47 -05:00
continuations.c Remove sp from scm_vm_cont 2015-10-21 11:49:20 +02:00
continuations.h Optimize make-stack 2014-04-14 16:31:02 +02:00
control.c Rename union scm_vm_stack_element members 2015-10-21 11:49:20 +02:00
control.h VM stack grows downward 2015-10-21 11:49:20 +02:00
conv-integer.i.c * numbers.c (scm_i_range_error): New. 2004-10-19 15:59:56 +00:00
conv-uinteger.i.c Remove references to undefined macros. 2009-11-17 23:42:22 +01:00
cpp-E.syms Update cpp-E.syms' and cpp-SIG.syms'. 2010-10-15 15:56:03 +02:00
cpp-SIG.syms Update cpp-E.syms' and cpp-SIG.syms'. 2010-10-15 15:56:03 +02:00
debug-malloc.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
debug-malloc.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
debug.c Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
debug.h Remove unused union scm_t_debug_info 2015-01-23 16:16:01 +01:00
deprecated.c GOOPS: Deprecate "using-class" procs like slot-ref-using-class 2015-01-23 16:16:03 +01:00
deprecated.h GOOPS: Deprecate "using-class" procs like slot-ref-using-class 2015-01-23 16:16:03 +01:00
deprecation.c Merge remote-tracking branch 'origin/stable-2.0' 2012-07-06 16:52:54 +02:00
deprecation.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
dynl.c Merge remote-tracking branch 'origin/stable-2.0' 2013-01-07 17:23:26 -05:00
dynl.h Simplify the (system foreign) API. 2010-07-26 19:38:52 +02:00
dynstack.c VM stack grows downward 2015-10-21 11:49:20 +02:00
dynstack.h VM stack grows downward 2015-10-21 11:49:20 +02:00
dynwind.c remove out-of-date comment 2012-03-03 21:06:49 +01:00
dynwind.h the dynamic stack is really a stack now, instead of a list 2012-03-03 17:06:02 +01:00
elf.h add ELF loader 2012-06-22 13:40:50 +02:00
eq.c Merge remote-tracking branch 'origin/stable-2.0' 2012-01-10 00:41:42 +01:00
eq.h remove "discouraged" infrastructure 2010-08-08 14:15:47 +02:00
error.c Merge commit 'fdd319e9bd' 2015-01-22 13:04:34 +01:00
error.h Out-of-memory situations raise exceptions instead of aborting 2014-03-22 15:49:31 +01:00
eval.c Fix boot closure wrong-num-args error 2015-10-21 11:49:20 +02:00
eval.h deprecate lookup closures 2012-05-23 12:00:23 +02:00
evalext.c Keywords have a tc7 2015-01-22 13:03:11 +01:00
evalext.h remove all deprecated code 2011-05-12 14:01:26 +02:00
expand.c Simplify variable resolution in the evaluator 2014-12-07 15:52:34 +01:00
expand.h Assignment conversion in the interpreter 2014-12-05 11:45:36 +01:00
extensions.c fix --disable-modules build 2011-06-30 12:26:31 +02:00
extensions.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
feature.c Merge remote-tracking branch 'origin/stable-2.0' 2013-01-15 10:45:39 +01:00
feature.h Arrange to convert command-line arguments from the right encoding. 2011-12-15 01:31:23 +01:00
filesys.c Generic port facility provides buffering uniformly 2016-04-06 19:21:44 +02:00
filesys.h Merge remote-tracking branch 'origin/stable-2.0' 2013-03-28 05:09:53 -04:00
finalizers.c Add interface to disable automatic finalization 2014-04-26 14:46:45 +02:00
finalizers.h Add interface to disable automatic finalization 2014-04-26 14:46:45 +02:00
fluids.c Tune initial heap size 2013-11-28 11:32:08 +01:00
fluids.h Simplify dynstack API to only wind one fluid at a time 2013-06-28 20:01:35 +02:00
foreign-object.c Add more foreign object interfaces 2014-04-28 13:03:58 +02:00
foreign-object.h Add more foreign object interfaces 2014-04-28 13:03:58 +02:00
foreign.c Rename union scm_vm_stack_element members 2015-10-21 11:49:20 +02:00
foreign.h VM stack grows downward 2015-10-21 11:49:20 +02:00
fports.c Generic port facility provides buffering uniformly 2016-04-06 19:21:44 +02:00
fports.h Move setvbuf impl to ports.[ch] 2016-04-04 16:30:56 +02:00
frames.c Remove frame-local-ref, frame-local-set! 2016-01-31 10:45:02 +01:00
frames.h Remove frame-local-ref, frame-local-set! 2016-01-31 10:45:02 +01:00
gc-inline.h Add thread-local lock-free, TLS-free freelists. 2014-02-02 16:17:54 +01:00
gc-malloc.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
gc.c Use the right GC version macros. 2014-06-09 19:26:55 +02:00
gc.h Out-of-memory situations raise exceptions instead of aborting 2014-03-22 15:49:31 +01:00
gen-scmconfig.c Include <config.h> in gen-scmconfig even when cross-compiling. 2014-03-13 23:27:16 -04:00
gen-scmconfig.h.in check for iconveh values at configure-time 2011-04-28 22:39:20 +02:00
generalized-arrays.c Inline scm_i_array_implementation_for_obj in scm_i_array 2014-02-08 21:46:06 +01:00
generalized-arrays.h Merge commit 'fb7dd00169' 2014-02-08 15:31:37 +01:00
generalized-vectors.c Fix bad uses of base and lbnd on rank 1 arrays 2014-02-07 10:36:55 +01:00
generalized-vectors.h Fix bad uses of base and lbnd on rank 1 arrays 2014-02-07 10:36:55 +01:00
gettext.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
gettext.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
goops.c Add #:static-slot-allocation? 2015-02-06 13:25:17 +01:00
goops.h Add #:static-slot-allocation? 2015-02-06 13:25:17 +01:00
gsubr.c Remove primitive?, add primitive-code? 2015-12-01 11:30:54 +01:00
gsubr.h Remove primitive?, add primitive-code? 2015-12-01 11:30:54 +01:00
guardians.c Merge remote-tracking branch 'origin/stable-2.0' 2013-11-28 16:24:38 +01:00
guardians.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
guile-func-name-check Revert "[build] Rewrite guile-func-name-check in Scheme, adding features." 2010-08-27 13:05:23 -07:00
guile-snarf-docs.in Revert "[build] Rewrite guile-func-name-check in Scheme, adding features." 2010-08-27 13:05:23 -07:00
guile-snarf.awk.in Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
guile-snarf.in Make snarfing tools more robust to varied C preprocessor behavior. 2014-03-06 17:25:55 -05:00
guile.c Remove nonfunctional gdb interface 2013-11-27 22:31:00 +01:00
hash.c Merge commit '01a301d1b6' 2015-01-22 14:49:36 +01:00
hash.h Merge commit '894d0b894d' 2015-01-22 14:48:40 +01:00
hashtab.c Test for deleted weak pairs in hash-for-each. 2014-03-12 02:36:35 -04:00
hashtab.h Merge remote-tracking branch 'origin/stable-2.0' 2013-02-18 17:59:38 +01:00
hooks.c locking for putc, puts 2011-11-08 00:55:05 +01:00
hooks.h add scm_call_n, scm_c_run_hookn 2009-12-21 21:06:27 +01:00
i18n.c i18n: Add HAVE_USELOCALE as a requirement for USE_GNU_LOCALE_API. 2014-10-14 20:36:19 -04:00
i18n.h Improved support for Unicode title case in Guile's string and character APIs. 2009-12-22 00:19:56 -05:00
init.c Merge commit 'a7bbba0583' 2015-01-22 13:04:11 +01:00
init.h threading / with_guile refactor to use more GC_stack_base 2011-03-25 13:01:51 +01:00
inline.c Merge remote-tracking branch 'origin/stable-2.0' 2013-02-18 17:59:38 +01:00
inline.h Rename 'scm_i_get_byte_or_eof' et al; mark them as SCM_API. 2013-04-02 19:35:43 -04:00
instructions.c Untag values and indexes for all bytevector instructions 2015-12-01 15:42:24 +01:00
instructions.h Move RTL unpack macros to vm-engine.c 2013-11-19 21:12:21 +01:00
ioext.c Generic port facility provides buffering uniformly 2016-04-06 19:21:44 +02:00
ioext.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
iselect.h Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
keywords.c Keywords have a tc7 2015-01-22 13:03:11 +01:00
keywords.h Keywords have a tc7 2015-01-22 13:03:11 +01:00
libgettext.h Added missing files for `(ice-9 i18n)'. 2006-11-18 18:18:23 +00:00
libguile-2.2-gdb.scm Adapt GDB integration to newest patches 2015-03-09 13:48:38 +01:00
libguile.map Use a linker version script for libguile. 2009-08-09 23:40:11 +02:00
list.c Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
list.h factor copy-tree and cons-source out of eval.[ch] 2009-12-01 21:00:26 +01:00
load.c load-path will skip over stale .go files and keep going 2015-11-11 15:38:45 +01:00
load.h Fix problems with Windows file names that use backslashes. 2014-07-03 20:58:19 +03:00
loader.c VM support for raw slots 2015-10-28 16:40:53 +00:00
loader.h VM support for raw slots 2015-10-28 16:40:53 +00:00
locale-categories.h i18n: Ignore LC_MESSAGES on MinGW. 2014-06-11 14:54:21 +02:00
macros.c Merge remote-tracking branch 'origin/stable-2.0' 2012-05-23 12:38:56 +02:00
macros.h clean up macros.[ch] 2010-01-05 15:33:46 +01:00
Makefile.am Fix distcheck issues 2015-10-25 14:25:56 +00:00
mallocs.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
mallocs.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
memmove.c
memoize.c Remove unused "nargs" field of memoized call expressions 2015-03-12 08:37:04 +01:00
memoize.h Simplify variable resolution in the evaluator 2014-12-07 15:52:34 +01:00
mkstemp.c Rely on Gnulib for <unistd.h>. 2014-02-27 22:38:48 -05:00
modules.c Merge remote-tracking branch 'origin/stable-2.0' 2012-05-23 12:38:56 +02:00
modules.h finish deprecating eval closures 2012-05-23 12:29:15 +02:00
net_db.c getaddrinfo: Document the missing errno value for EAI_SYSTEM. 2013-03-25 22:46:53 +01:00
net_db.h Add `getaddrinfo' and related procedures. 2010-02-14 20:56:47 +01:00
null-threads.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
null-threads.h Revert "add pthread_atfork helpers to our threading shims" 2012-02-23 14:18:57 +01:00
numbers.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
numbers.h Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
objprop.c check for pairs with scm_is_pair, not scm_nimp 2011-10-24 17:22:47 +02:00
objprop.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
options.c remove object protection from options.c 2011-11-24 11:47:35 +01:00
options.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
pairs.c Merge branch 'stable-2.0' 2013-12-12 23:44:46 -05:00
pairs.h inline scm_cons, scm_car, scm_cdr 2012-05-17 11:25:58 +02:00
poll.c Generic port facility provides buffering uniformly 2016-04-06 19:21:44 +02:00
poll.h add (ice-9 poll), a poll wrapper 2010-12-03 15:16:37 +01:00
ports-internal.h Generic port facility provides buffering uniformly 2016-04-06 19:21:44 +02:00
ports.c Generic port facility provides buffering uniformly 2016-04-06 19:21:44 +02:00
ports.h Generic port facility provides buffering uniformly 2016-04-06 19:21:44 +02:00
posix.c Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
posix.h Move {total,current}-processor-count' outside of posix.c'. 2011-04-25 22:41:58 +02:00
print.c Merge commit '5943a62042' 2015-01-22 14:38:00 +01:00
print.h Merge remote-tracking branch 'origin/stable-2.0' 2012-10-30 23:46:31 -04:00
private-options.h print: Support R7RS |...| symbol notation. 2014-01-14 20:30:24 -05:00
procprop.c Block system asyncs while 'overrides_lock' is held. 2013-11-23 14:48:00 -05:00
procprop.h procedure-documentation works on RTL procedures 2013-06-09 23:59:01 +02:00
procs.c Generics with setters have <applicable-struct-with-setter> layout 2015-01-23 16:16:00 +01:00
procs.h procedure-documentation works on RTL procedures 2013-06-09 23:59:01 +02:00
programs.c Remove primitive?, add primitive-code? 2015-12-01 11:30:54 +01:00
programs.h Remove primitive?, add primitive-code? 2015-12-01 11:30:54 +01:00
promises.c Merge remote-tracking branch 'origin/stable-2.0' 2012-02-08 11:48:08 +01:00
promises.h promises are in their own file now 2009-12-01 21:00:26 +01:00
pthread-threads.h Revert "add pthread_atfork helpers to our threading shims" 2012-02-23 14:18:57 +01:00
quicksort.i.c remove uses of trampolines within guile itself 2009-12-01 21:00:25 +01:00
r6rs-ports.c Generic port facility provides buffering uniformly 2016-04-06 19:21:44 +02:00
r6rs-ports.h Declare r6rs-ports functions 2013-11-27 21:13:20 +01:00
random.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
random.h Add random-state-from-platform' and scm_i_random_bytes_from_platform' 2012-01-21 03:22:57 -05:00
rdelim.c locking on unget_byte, ungetc, ungets 2011-11-08 00:54:58 +01:00
rdelim.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
read.c Generic port facility provides buffering uniformly 2016-04-06 19:21:44 +02:00
read.h Remove prototype for scm_read_token, which does not exist. 2012-10-17 04:48:43 -04:00
regex-posix.c Use Gnulib's `regex' module. 2012-02-03 10:51:46 +01:00
regex-posix.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
remaining-docs-needed
root.c the dynamic stack is really a stack now, instead of a list 2012-03-03 17:06:02 +01:00
root.h decruftify scm_sys_protects 2009-12-05 12:38:43 +01:00
run-test
rw.c Generic port facility provides buffering uniformly 2016-04-06 19:21:44 +02:00
rw.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
scmconfig.h.top Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
scmsigs.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
scmsigs.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
script.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
script.h Arrange to convert command-line arguments from the right encoding. 2011-12-15 01:31:23 +01:00
simpos.c Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
simpos.h Remove private-gc.h 2013-11-28 11:53:57 +01:00
smob.c Add `scm_smob_type_class()'. 2015-02-10 14:35:35 +01:00
smob.h Add `scm_smob_type_class()'. 2015-02-10 14:35:35 +01:00
snarf.h Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
socket.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
socket.h Deprecate htons, htonl, ntohs, ntohl 2014-02-08 14:28:07 +01:00
sort.c Change uses of scm_is_simple_vector to scm_is_vector 2014-02-08 18:26:49 +01:00
sort.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srcprop.c tune default hash table sizes 2012-02-19 20:46:14 +01:00
srcprop.h Add 'supports-source-properties?' predicate 2012-02-15 11:23:27 -05:00
srfi-1.c Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
srfi-1.h fix take-right and drop-right for improper lists 2011-08-12 23:26:15 +02:00
srfi-4.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
srfi-4.h Remove array impl. registry; instead, hard-code array handle creation 2014-02-09 12:48:21 +01:00
srfi-13.c Fix 'string-copy!' to work properly with overlapping src/dest. 2014-01-08 21:42:24 -05:00
srfi-13.h In string-split, add support for character sets and predicates. 2012-10-12 08:15:08 -04:00
srfi-14.c Merge remote-tracking branch 'origin/stable-2.0' 2012-02-08 11:48:08 +01:00
srfi-14.h refactor tc7 and tc16 checks 2011-10-24 18:54:01 +02:00
srfi-14.i.c Update predefined character sets to Unicode 6.2 2013-02-21 06:44:42 -08:00
srfi-60.c SRFI-60: Reimplement 'rotate-bit-field' on inums to be more portable. 2014-03-11 21:39:26 -04:00
srfi-60.h move srfi-1 and srfi-60 C impl to libguile, without public C api 2010-09-12 23:29:11 +02:00
stackchk.c Fix compile warnings 2014-03-22 16:06:39 +01:00
stackchk.h Unwind-only stack overflow exceptions 2014-02-20 09:45:01 +01:00
stacks.c Identify boot continuations by code, not closure 2015-12-01 10:57:20 +01:00
stacks.h replace frame implementation with VM frames 2009-12-03 14:42:51 +01:00
stime.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
stime.h scm_c_get_internal_run_time is more precise 2011-05-04 20:19:11 +02:00
strerror.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
strings.c Allow decoding of UTF-8 containing U+FFFD, the replacement character. 2015-08-13 01:31:36 -04:00
strings.h Add stringbuf printer 2013-10-26 13:13:17 +02:00
strorder.c provide missing prototypes 2010-01-07 23:49:15 +01:00
strorder.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
strports.c Generic port facility provides buffering uniformly 2016-04-06 19:21:44 +02:00
strports.h refactor tc7 and tc16 checks 2011-10-24 18:54:01 +02:00
struct.c Move <class> initialization to Scheme 2015-01-23 16:16:01 +01:00
struct.h Move <class> initialization to Scheme 2015-01-23 16:16:01 +01:00
symbols.c Allow decoding of UTF-8 containing U+FFFD, the replacement character. 2015-08-13 01:31:36 -04:00
symbols.h symbols.h reindent 2011-10-26 00:07:29 +02:00
tags.h Keywords have a tc7 2015-01-22 13:03:11 +01:00
texi-fragments-to-docstrings Build guile-procedures.txt' using (texinfo) instead of makeinfo'. 2013-03-21 23:24:47 +01:00
threads.c Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
threads.h Add thread-local lock-free, TLS-free freelists. 2014-02-02 16:17:54 +01:00
throw.c VM stack grows downward 2015-10-21 11:49:20 +02:00
throw.h Out-of-memory situations raise exceptions instead of aborting 2014-03-22 15:49:31 +01:00
trees.c Change uses of scm_is_simple_vector to scm_is_vector 2014-02-08 18:26:49 +01:00
trees.h factor copy-tree and cons-source out of eval.[ch] 2009-12-01 21:00:26 +01:00
unicode.c Add (ice-9 unicode) module 2014-09-29 21:54:14 -04:00
unicode.h Add (ice-9 unicode) module 2014-09-29 21:54:14 -04:00
unidata_to_charset.pl copyright dates 2010-04-03 06:46:23 -07:00
uniform.c Merge commit 'fb7dd00169' 2014-02-08 15:31:37 +01:00
uniform.h Merge commit 'fb7dd00169' 2014-02-08 15:31:37 +01:00
validate.h Merge commit 'fdd319e9bd' 2015-01-22 13:04:34 +01:00
values.c Merge remote-tracking branch 'origin/stable-2.0' 2013-01-07 17:23:26 -05:00
values.h add scm_c_nvalues with docs; also, docs for scm_c_values 2012-07-04 17:49:37 +02:00
variable.c locking for putc, puts 2011-11-08 00:55:05 +01:00
variable.h refactor tc7 and tc16 checks 2011-10-24 18:54:01 +02:00
vectors.c Remove array impl. registry; instead, hard-code array handle creation 2014-02-09 12:48:21 +01:00
vectors.h SCM_I_IS_VECTOR only true for tc7_vector, not weak vectors 2014-02-08 17:19:52 +01:00
version.c version.h has SCM_EFFECTIVE_VERSION; effective-version uses that 2010-03-16 21:20:29 +01:00
version.h.in [build] Create libguile/version.h using the configure script. 2010-08-18 19:48:12 +02:00
vm-builtins.h Small comment fix. 2013-11-19 20:02:49 +01:00
vm-engine.c Add support for comparing u64 values with SCM values 2015-12-03 09:01:24 +01:00
vm-expand.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
vm.c Unbox indexes of vectors, strings, and structs 2015-12-01 15:42:24 +01:00
vm.h Identify boot continuations by code, not closure 2015-12-01 10:57:20 +01:00
vports.c Generic port facility provides buffering uniformly 2016-04-06 19:21:44 +02:00
vports.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
weak-set.c consolidate scm_i_register_weak_gc_callback, update weak-set to fit 2013-01-20 12:37:00 +01:00
weak-set.h Revert "with a threaded guile, lock weak sets and tables during a fork" 2012-02-23 14:18:56 +01:00
weak-table.c Merge commit 'b86069c130' 2014-02-08 14:46:31 +01:00
weak-table.h hash-set! on weak tables returns the value 2012-03-02 18:26:56 +01:00
weak-vector.c Merge commit '495cea0c93' 2014-02-08 14:48:48 +01:00
weak-vector.h Add weak-vector-length, weak-vector-ref, weak-vector-set! 2014-02-07 13:00:41 +01:00
win32-uname.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
win32-uname.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00