lloda pushed a change to branch lloda-squash0 in repository guile. discards ed383e9 New functions (array-for-each-cell, array-for-each-cell-in-order) discards a1e5722 New functions array-from, array-from*, array-amend! discards 475b365 Special case for array-map! with three arguments discards 068598c Speed up for multi-arg cases of scm_ramap functions discards a39ed77 Do not use array handles in scm_vector discards 82c3a8b Support typed arrays in some sort functions discards 3248c26 Remove deprecated array functions discards a2583cc Reuse SCM_BYTEVECTOR_TYPED_LENGTH in scm_array_get_handle discards 2d00cf1 Avoid unneeded internal use of array handles discards 56deb6a Remove scm_from_contiguous_array, array 'contiguous' flag discards e657d1f Fix compilation of rank 0 typed array literals adds 147ba05 build: Remove unneeded check for 'unsetenv'. adds abb0b54 Unconditionally include <time.h> from Gnulib. adds b505ad9 Add missing 'const' qualifier. adds a9e726e More robust setuid, setgid, etc detection adds a1cb59c Provide `kill' only if supported by the host adds 9222e05 getaffinity, setaffinity docstring cleanup adds f632d45 More specific status:exit-val et al compilation guards adds 10ae9cc Factor start_child out of open_process adds d32f37e Ignore meta/build-env adds b2d77c3 Rename win32-uname.[ch] to posix-w32.[ch] adds 3231d76 Add POSIX shims for MinGW adds 513344e Add popen feature adds ea223b0 Update NEWS adds a58bfb4 Fix MinGW build error adds da0ee4d Fix unused static variables in net_db.c adds d87915f Update uname implementation in posix-w32 adds e868fae doc: Do not gender the programmer. adds aae3561 Allow mkstemp! to have optional "mode" argument adds 62843d5 Improve process handling on MS-Windows adds 0cf155b Untabify posix-w32.c adds ad7e806 doc: Add unquote and unquote-splicing examples. adds 8868c85 Gnulib: Add dirname-lgpl. adds 1f14900 Use gnulib for basename / dirname adds 315acd5 Use non-deprecated HAVE_STRUCT_TM_TM_ZONE adds ca2d00a Reimplement null-threads as inline functions adds 4012143 Fix --without-threads against threaded BDW-GC adds d2684fe Avoid compilation warnings about alloca in read.c adds 8da33d9 Fix compilation of `continue' in `while'. adds 1a1c3bb Implement R6RS custom binary input/output ports adds e68dd5c Manual recommends against SRFI-10 adds 0f1b567 Fix typo about pattern variables adds 978229a Fix grammar in api-compound.texi adds bcc40bc Capture full path to GUILE_FOR_BUILD. adds 8ad6766 Recognize nios2 as compilation target adds 469970d Let assv/assoc shortcircuit to assq where feasible adds 96d3cb3 Documentation fixes adds 2450278 Fix typo about variable definitions adds b434ea3 Recognize alpha as compilation target adds 8f2f8db Fix typo about open-pipe adds aa86ae6 Fix exception when running ",help debug" adds af360e5 Tweak to conversion strategy access adds 57aff02 Add prebuilt alias for x86_64-pc-linux-gnu adds 342bd8d ETag list headers accept sloppy etags adds ebb8cb7 Remove SCM_I_MAX_PORT_TYPE_COUNT adds 4256e06 Remove duplicate documentation adds 2fa2e50 Add file descriptor finalizers adds ad4fe88 Move system* to posix.c, impl on open-process adds 40c6734 Correct section number for "Input Ports" tests. adds b9b2352 Add tests for make-custom-binary-input/output-port adds 9996695 Require C99 to build Guile. adds eeb23e7 Avoid flushing buffers for ftell adds f46cb25 Set rw_random correctly for all custom binary port types adds cc9e72b Fix example in make-custom-binary-input-port documentation adds b8a53b9 Only ptob->close() after read/write finish adds b733ca4 GC of non-blocking port does not block adds 49d77b1 Add unboxed logxor on u64 values adds 723efdf Fabricated expression tweak in CSE adds 0f2f594 Better unboxing adds 2dbb0e2 GOOPS caches created vtables adds 3b2cd09 Better char<? compilation adds b494bc1 Fix typo in Nil documentation adds cb421b6 Check for missing debug info in print-program adds 605a01b Clarify bootstrap docs adds 10423db Convert tc7 values to hex in tags.h and elsewhere adds 1bed032 Tweak value of tc7-smob. adds 7cdaf0e Reorder tc7 type codes adds 3425290 Add atomic boxes adds 73efa8f Fix fixnum min/max for assembler adds 32f309d Compiler support for atomics adds 5f4a2ac Fix cross-compilation of negative fixnums adds b914c51 Avoid deprecated statprof interface in test adds 0290b05 Avoid deprecated _IONBF in http tests adds 6745b9b Update NEWS. adds d0e6e3f Bump version to 2.1.4 adds f9620e0 Fix compile warning in posix.c new a3f4add Fix compilation of rank 0 typed array literals new f3901f9 Remove scm_from_contiguous_array, array 'contiguous' flag new 8748dc3 Avoid unneeded internal use of array handles new cc71845 Reuse SCM_BYTEVECTOR_TYPED_LENGTH in scm_array_get_handle new 201dfd0 Remove deprecated array functions new 91a583c Support typed arrays in some sort functions new a910a02 Do not use array handles in scm_vector new 612626c Speed up for multi-arg cases of scm_ramap functions new d9a7257 Special case for array-map! with three arguments new 62eff47 New functions array-from, array-from*, array-amend! new 0961c31 New functions (array-for-each-cell, array-for-each-cell-in-order)
This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (ed383e9) \ N -- N -- N refs/heads/lloda-squash0 (0961c31) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omits" are not gone; other references still refer to them. Any revisions marked "discards" are gone forever. The 11 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: .gitignore | 1 + GUILE-VERSION | 2 +- NEWS | 57 +- acinclude.m4 | 2 + configure.ac | 13 +- doc/ref/api-binding.texi | 4 +- doc/ref/api-compound.texi | 12 +- doc/ref/api-control.texi | 6 +- doc/ref/api-data.texi | 18 +- doc/ref/api-evaluation.texi | 4 +- doc/ref/api-foreign.texi | 2 +- doc/ref/api-io.texi | 25 +- doc/ref/api-languages.texi | 2 +- doc/ref/api-options.texi | 7 +- doc/ref/api-scheduling.texi | 67 ++ doc/ref/posix.texi | 82 +- doc/ref/r6rs.texi | 1 + doc/ref/srfi-modules.texi | 103 +-- doc/ref/sxml-match.texi | 2 +- doc/ref/sxml.texi | 2 +- doc/ref/vm.texi | 47 +- lib/Makefile.am | 14 +- lib/{mkstemp.c => mkostemp.c} | 12 +- libguile.h | 2 + libguile/Makefile.am | 15 +- libguile/alist.c | 21 + libguile/atomic.c | 128 +++ libguile/atomic.h | 56 ++ libguile/atomics-internal.h | 149 ++++ libguile/fdes-finalizers.c | 129 +++ libguile/{trees.h => fdes-finalizers.h} | 27 +- libguile/filesys.c | 134 +-- libguile/fports.c | 79 +- libguile/fports.h | 2 + libguile/gc.c | 8 +- libguile/goops.c | 8 +- libguile/init.c | 4 + libguile/ioext.c | 2 + libguile/net_db.c | 83 +- libguile/null-threads.h | 179 +++- libguile/ports-internal.h | 13 +- libguile/ports.c | 179 +++- libguile/ports.h | 22 +- libguile/posix-w32.c | 1226 ++++++++++++++++++++++++++ libguile/posix-w32.h | 98 ++ libguile/posix.c | 338 ++++--- libguile/posix.h | 1 + libguile/print.c | 3 + libguile/r6rs-ports.c | 89 ++ libguile/r6rs-ports.h | 2 + libguile/read.c | 1 + libguile/simpos.c | 130 +-- libguile/simpos.h | 1 - libguile/stime.c | 18 +- libguile/strings.c | 4 +- libguile/tags.h | 89 +- libguile/validate.h | 6 + libguile/vm-engine.c | 112 ++- libguile/vm.c | 30 +- libguile/win32-uname.c | 146 --- libguile/win32-uname.h | 52 -- m4/gnulib-cache.m4 | 5 +- m4/gnulib-comp.m4 | 64 +- m4/mkostemp.m4 | 23 + m4/mkstemp.m4 | 82 -- module/Makefile.am | 2 + module/ice-9/{weak-vector.scm => atomic.scm} | 39 +- module/ice-9/binary-ports.scm | 3 +- module/ice-9/{rw.scm => fdes-finalizers.scm} | 30 +- module/language/cps/compile-bytecode.scm | 15 +- module/language/cps/cse.scm | 3 +- module/language/cps/effects-analysis.scm | 9 +- module/language/cps/reify-primitives.scm | 4 + module/language/cps/rotate-loops.scm | 14 +- module/language/cps/slot-allocation.scm | 2 +- module/language/cps/specialize-numbers.scm | 280 ++++-- module/language/cps/types.scm | 10 +- module/language/tree-il/primitives.scm | 22 +- module/oop/goops.scm | 3 +- module/rnrs/io/ports.scm | 1 + module/system/base/compile.scm | 2 +- module/system/base/target.scm | 6 +- module/system/base/types.scm | 46 +- module/system/repl/command.scm | 2 +- module/system/vm/assembler.scm | 39 +- module/system/vm/program.scm | 2 +- module/web/http.scm | 52 +- prebuilt/x86_64-pc-linux-gnu | 1 + test-suite/Makefile.am | 1 + test-suite/tests/atomic.test | 60 ++ test-suite/tests/fdes-finalizers.test | 65 ++ test-suite/tests/goops.test | 12 +- test-suite/tests/ports.test | 8 +- test-suite/tests/r6rs-ports.test | 391 +++++++- test-suite/tests/statprof.test | 11 +- test-suite/tests/web-http.test | 10 +- 96 files changed, 4112 insertions(+), 1278 deletions(-) rename lib/{mkstemp.c => mkostemp.c} (80%) create mode 100644 libguile/atomic.c create mode 100644 libguile/atomic.h create mode 100644 libguile/atomics-internal.h create mode 100644 libguile/fdes-finalizers.c copy libguile/{trees.h => fdes-finalizers.h} (66%) create mode 100644 libguile/posix-w32.c create mode 100644 libguile/posix-w32.h delete mode 100644 libguile/win32-uname.c delete mode 100644 libguile/win32-uname.h create mode 100644 m4/mkostemp.m4 delete mode 100644 m4/mkstemp.m4 copy module/ice-9/{weak-vector.scm => atomic.scm} (51%) copy module/ice-9/{rw.scm => fdes-finalizers.scm} (51%) create mode 120000 prebuilt/x86_64-pc-linux-gnu create mode 100644 test-suite/tests/atomic.test create mode 100644 test-suite/tests/fdes-finalizers.test