[parrot/parrot] b12a90: First writeup of the proposed new IO subsystem arc...

GitHub noreply at github.com
Mon Aug 27 22:42:49 UTC 2012


  Branch: refs/heads/master
  Home:   https://github.com/parrot/parrot
  Commit: b12a90b8ed17fd830f63fe4bae89d202d070f6f0
      https://github.com/parrot/parrot/commit/b12a90b8ed17fd830f63fe4bae89d202d070f6f0
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-19 (Sat, 19 May 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/io_private.h
    M src/pmc/filehandle.pmc
    M src/pmc/handle.pmc

  Log Message:
  -----------
  First writeup of the proposed new IO subsystem architecture.

Operations for specific IO types (file, socket, pipe, etc) are broken into separate vtables for easy non-switch dispatch. Buffering will be encapsulated as a separate structure and will take function pointers to the relevant vtable routines for data pass-through. We are going to decrease the number of PARROT_EXPORT routines from this subsystem and make a cleaner API.


  Commit: 032855ba561b9ddd80930cb3e46fcd4fe77dabed
      https://github.com/parrot/parrot/commit/032855ba561b9ddd80930cb3e46fcd4fe77dabed
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-22 (Tue, 22 May 2012)

  Changed paths:
    M ChangeLog
    M MANIFEST
    M api.yaml
    M config/gen/makefiles/root.in
    M docs/embed_new.pod
    M include/parrot/api.h
    M include/parrot/io.h
    M include/parrot/misc.h
    M include/parrot/string_funcs.h
    M lib/Parrot/Headerizer.pm
    M src/embed/api.c
    M src/io/api.c
    M src/io/socket_api.c
    R src/misc.c
    M src/pmc/filehandle.pmc
    M src/pmc/handle.pmc
    R src/spf_render.c
    R src/spf_vtable.c
    A src/string/spf_private.h
    A src/string/spf_render.c
    A src/string/spf_vtable.c
    A src/string/sprintf.c
    M t/codingstd/c_function_docs.t
    M t/op/sprintf.t
    M t/pmc/filehandle.t

  Log Message:
  -----------
  Merge branch 'master' into whiteknight/io_cleanup1


  Commit: b1efdd4461e20c733a10e6f792f95325ed0b594c
      https://github.com/parrot/parrot/commit/b1efdd4461e20c733a10e6f792f95325ed0b594c
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-22 (Tue, 22 May 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/io_private.h

  Log Message:
  -----------
  Fix a few details. Buffer will keep track of encoding. This is (probably) where we will enforce standard encodings on throughput. Move the io_vtable declaration to include/parrot/io.h, so multiple subsystems (notably PMCs can be aware of it). src/io/core.c will be repurposed for utility functions. The io_vtables array will be dynamic so we can add more on the fly.


  Commit: 0e1fb432baade6faa31ee1d283049268e3dfabe6
      https://github.com/parrot/parrot/commit/0e1fb432baade6faa31ee1d283049268e3dfabe6
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-22 (Tue, 22 May 2012)

  Changed paths:
    M include/parrot/io.h

  Log Message:
  -----------
  Add in at least two isomorphic buffer structures which we can use for regular in-memory buffering or mmap-based buffering.


  Commit: 4438708c96f812eba4a43b9014ddc9f7a8d0421f
      https://github.com/parrot/parrot/commit/4438708c96f812eba4a43b9014ddc9f7a8d0421f
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-23 (Wed, 23 May 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/buffer.c

  Log Message:
  -----------
  Remove buffer parameters from the io_vtable routines. Buffering will be handled transparently, and the buffer will call the vtables (not the other way around). Implement a rough draft of some of the new buffering routines. These prototypes use a circular buffer algorithm instead of a memcpy-based floating queue.


  Commit: de2cb8dd1db6ed1d73435570372ec112a14f2fce
      https://github.com/parrot/parrot/commit/de2cb8dd1db6ed1d73435570372ec112a14f2fce
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-23 (Wed, 23 May 2012)

  Changed paths:
    M src/io/buffer.c

  Log Message:
  -----------
  Remove some old cruft which isn't worth saving in buffer.c. The rest of the stuff is kept mostly for reference, and will be up-converted


  Commit: 5b0c2c6e657279f314b84c49974a143669ca302f
      https://github.com/parrot/parrot/commit/5b0c2c6e657279f314b84c49974a143669ca302f
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-23 (Wed, 23 May 2012)

  Changed paths:
    M src/io/api.c
    M src/io/core.c

  Log Message:
  -----------
  Move API functions out of core.c into api.c where they belong. If the function is public and IO-general-purpose, it belongs in api.c


  Commit: fd1ab977b6a815fd38d67c2c67fdec32d363800b
      https://github.com/parrot/parrot/commit/fd1ab977b6a815fd38d67c2c67fdec32d363800b
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-23 (Wed, 23 May 2012)

  Changed paths:
    R src/io/core.c
    M src/io/filehandle.c
    A src/io/socket.c
    R src/io/socket_api.c
    A src/io/stringhandle.c
    A src/io/utilities.c

  Log Message:
  -----------
  Rename a few files. Add a new file for the StringHandle vtables. Start tweaking some stuff


  Commit: 257784b58c0afa9980c29ebf7eee0330a0125e60
      https://github.com/parrot/parrot/commit/257784b58c0afa9980c29ebf7eee0330a0125e60
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-24 (Thu, 24 May 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/filehandle.c
    M src/io/io_private.h
    A src/io/pipe.c
    M src/io/socket.c
    M src/io/stringhandle.c
    A src/io/userhandle.c
    M src/io/utilities.c

  Log Message:
  -----------
  Start implementing per-type vtables. Add two new files, one for pipes and one for user-defined types. Start cannibalizing existing IO api routines to fill in the vtables.


  Commit: d3d94e29ef91308b0d69f0583d2a7ddd91e1f4a8
      https://github.com/parrot/parrot/commit/d3d94e29ef91308b0d69f0583d2a7ddd91e1f4a8
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-25 (Fri, 25 May 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/buffer.c
    M src/io/filehandle.c
    M src/io/pipe.c
    M src/io/socket.c
    M src/io/stringhandle.c
    M src/io/utilities.c

  Log Message:
  -----------
  Complete a first pass through src/io/api.c. Convert most functions to use the new architecture. Move some functions and some bare logic to other files where they belong. Leave several TODO notes with C++ // comments so they will be caught by codetest long before we try to merge anything


  Commit: 5895ab704aeed4a0c122109efddb6fca33f320a4
      https://github.com/parrot/parrot/commit/5895ab704aeed4a0c122109efddb6fca33f320a4
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-25 (Fri, 25 May 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/buffer.c
    M src/io/filehandle.c
    M src/io/io_private.h
    M src/io/pipe.c
    M src/platform/generic/io.c
    M src/platform/win32/io.c

  Log Message:
  -----------
  Rename io-related routines in src/platform/X/io.c to Parrot_io_internal_. Implement most of the FileHandle vtable. Severa other fixes, cleanups, additions and removals. Flitting around like a mosquito.


  Commit: dde2f96d6e8a7e18608a491217bff7ef70cf0be9
      https://github.com/parrot/parrot/commit/dde2f96d6e8a7e18608a491217bff7ef70cf0be9
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-26 (Sat, 26 May 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/buffer.c
    M src/io/filehandle.c
    M src/io/io_private.h
    M src/io/socket.c
    M src/io/stringhandle.c
    M src/io/utilities.c

  Log Message:
  -----------
  Change the buffering logic to use a more linear approach instead of a circular buffer. The added code complexity wasn't worth it. Several cleanups to the buffering code and elsewhere.


  Commit: 09cefd4cfb4fbc62f57d88aebf5fe205c010cdfa
      https://github.com/parrot/parrot/commit/09cefd4cfb4fbc62f57d88aebf5fe205c010cdfa
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-26 (Sat, 26 May 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/filehandle.c
    M src/io/io_private.h

  Log Message:
  -----------
  Sketch out how we're going to initialize the IO vtables, and how we are going to store them in the interp.


  Commit: ad30bec8c2f6a6517c91e717161f363a006697c2
      https://github.com/parrot/parrot/commit/ad30bec8c2f6a6517c91e717161f363a006697c2
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-26 (Sat, 26 May 2012)

  Changed paths:
    M src/io/api.c
    M src/io/buffer.c
    M src/io/utilities.c

  Log Message:
  -----------
  Start refactoring readline logic. Sketch out the new algorithm, which is going to be more neatly broken down into encapsulation-preserving subroutines. Add a routine to add a new vtable to the list, for user-defined types. Several other cleanups, changes and refactors.


  Commit: 294f056011054686a0b3cfade2427bcae5d45c5b
      https://github.com/parrot/parrot/commit/294f056011054686a0b3cfade2427bcae5d45c5b
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-27 (Sun, 27 May 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/buffer.c
    M src/io/filehandle.c
    M src/io/io_private.h
    M src/io/pipe.c
    M src/io/utilities.c

  Log Message:
  -----------
  Finally get the read-STRING logic under control.

Add some buffer-related helpers to read characters out of the buffer, and refuse to return incomplete codepoints. This simplifies read logic at the higher levels substantially. Use these and some other new features to (re-)implement Parrot_io_read_s and Parrot_io_readline_s. As always, a few other miscellaneous cleanups peppered throughout


  Commit: 9ce3625724c453f0ef1b78f04b371e0839feab5d
      https://github.com/parrot/parrot/commit/9ce3625724c453f0ef1b78f04b371e0839feab5d
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-27 (Sun, 27 May 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/buffer.c
    M src/io/filehandle.c
    M src/io/pipe.c
    M src/io/utilities.c
    M src/pmc/filehandle.pmc

  Log Message:
  -----------
  Several cleanups and codestd. Remove a few unnecessary entries from the io vtable. Improved implementations of readline, peek and a few other things.


  Commit: 8ec293c09328dd69f8ceaf5b2702ea8c791b1fa0
      https://github.com/parrot/parrot/commit/8ec293c09328dd69f8ceaf5b2702ea8c791b1fa0
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-27 (Sun, 27 May 2012)

  Changed paths:
    M src/io/api.c
    M src/io/filehandle.c
    M src/io/pipe.c
    M src/io/socket.c
    M src/io/stringhandle.c
    M src/io/utilities.c
    M src/platform/generic/socket.c
    M src/pmc/filehandle.pmc
    M src/pmc/handle.pmc
    M src/pmc/socket.pmc
    M src/pmc/stringhandle.pmc

  Log Message:
  -----------
  Start cleaning up sockets. Move API routines from src/io/socket.c to src/io/api.c. Rename them. Implement most socket IO_VTABLE routines. Rename functions in src/platform/xxx/socket.c to Parrot_io_internal_ to match conventions. Implement the new get_pointer_keyed_int and set_pointer_keyed_int vtables for most handle types


  Commit: 2dbddd848f452b6c7c932cecdb52dc2f72a89049
      https://github.com/parrot/parrot/commit/2dbddd848f452b6c7c932cecdb52dc2f72a89049
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-28 (Mon, 28 May 2012)

  Changed paths:
    M src/io/buffer.c
    M src/io/stringhandle.c
    M src/io/utilities.c
    M src/pmc/filehandle.pmc
    M src/pmc/socket.pmc
    M src/pmc/stringhandle.pmc

  Log Message:
  -----------
  Add a mark routine for buffers, since they may hold a PMC reference. Start updating PMCs to use the new API calls in a standard way instead of implementing things themselves. Fill in the StringHandle vtable with existing logic and new never-before-supported operations.


  Commit: 171d85d7387d7ee64288fdad08ba4aab060f7942
      https://github.com/parrot/parrot/commit/171d85d7387d7ee64288fdad08ba4aab060f7942
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-28 (Mon, 28 May 2012)

  Changed paths:
    M MANIFEST
    M config/gen/makefiles/root.in
    M include/parrot/io.h
    M include/parrot/platform_interface.h
    M src/io/api.c
    M src/io/filehandle.c
    M src/io/io_private.h
    M src/io/pipe.c
    M src/io/socket.c
    M src/io/stringhandle.c
    M src/io/userhandle.c
    M src/io/utilities.c
    M src/packfile/api.c
    M src/platform/generic/io.c
    M src/platform/generic/socket.c

  Log Message:
  -----------
  Update Makefile, MANIFEST. Several fixes so that we can run headerizer, then I ran it.


  Commit: 2599900ac47861a2c78c7ff1c4a49af75caed7fb
      https://github.com/parrot/parrot/commit/2599900ac47861a2c78c7ff1c4a49af75caed7fb
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-28 (Mon, 28 May 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/buffer.c
    M src/io/io_private.h
    M src/io/utilities.c

  Log Message:
  -----------
  fix headerization. Headerizer behaves very badly in the presence of C++-style comments so remove some of those and replace them with the much more verbose and padded Parrot-style comments.


  Commit: b22b7d78e29d7f1ec7743cd94525352cd9239014
      https://github.com/parrot/parrot/commit/b22b7d78e29d7f1ec7743cd94525352cd9239014
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-28 (Mon, 28 May 2012)

  Changed paths:
    M include/parrot/io.h
    M src/gc/mark_sweep.c
    M src/interp/api.c
    M src/io/buffer.c
    M src/io/io_private.h
    M src/pmc/handle.pmc
    M src/runcore/cores.c

  Log Message:
  -----------
  Several fixes. Add a new API method to easily set up buffering on an existing handle.


  Commit: c729b291a23f787471fa0228ba586734e94301fa
      https://github.com/parrot/parrot/commit/c729b291a23f787471fa0228ba586734e94301fa
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-28 (Mon, 28 May 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/filehandle.c
    M src/io/io_private.h
    M src/io/pipe.c
    M src/io/socket.c
    M src/io/stringhandle.c
    M src/platform/generic/io.c

  Log Message:
  -----------
  A random assortment of build fixes.


  Commit: 13d945ef920db062fefcc274e9564a82b565408a
      https://github.com/parrot/parrot/commit/13d945ef920db062fefcc274e9564a82b565408a
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-29 (Tue, 29 May 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/buffer.c
    M src/io/filehandle.c
    M src/io/io_private.h
    M src/io/pipe.c
    M src/io/socket.c
    M src/io/stringhandle.c
    M src/io/userhandle.c
    M src/io/utilities.c
    M src/platform/generic/io.c
    M src/pmc/socket.pmc

  Log Message:
  -----------
  Several more build fixes, to expose the rest of the problems that I need to fix


  Commit: 2d6ffa6fd792ec64ab975ebe7aa1823372d3f46c
      https://github.com/parrot/parrot/commit/2d6ffa6fd792ec64ab975ebe7aa1823372d3f46c
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-30 (Wed, 30 May 2012)

  Changed paths:
    M compilers/imcc/debug.c
    M compilers/imcc/imcc.l
    M compilers/imcc/imclexer.c
    M include/parrot/io.h
    M src/io/api.c
    M src/io/buffer.c
    M src/io/filehandle.c
    M src/io/io_private.h
    M src/io/pipe.c
    M src/io/stringhandle.c
    M src/io/userhandle.c
    M src/io/utilities.c
    M src/pmc/filehandle.pmc
    M src/pmc/handle.pmc
    M src/pmc/sockaddr.pmc
    M src/pmc/socket.pmc
    M src/pmc/stringhandle.pmc

  Log Message:
  -----------
  Several fixes so the code compiles and miniparrot builds. miniparrot fails spectacularly, but at least it builds


  Commit: 49cd1368d77144c85a610b9c9b010516f6038011
      https://github.com/parrot/parrot/commit/49cd1368d77144c85a610b9c9b010516f6038011
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-30 (Wed, 30 May 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/buffer.c
    M src/io/io_private.h
    M src/io/utilities.c

  Log Message:
  -----------
  Some build fixes so miniparrot runs, at least some of the necessary steps.


  Commit: ad758830dc81f125ae0bc71b46821a5466e58d69
      https://github.com/parrot/parrot/commit/ad758830dc81f125ae0bc71b46821a5466e58d69
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-31 (Thu, 31 May 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/buffer.c
    M src/io/filehandle.c
    M src/io/io_private.h
    M src/io/utilities.c
    M src/pmc/filehandle.pmc

  Log Message:
  -----------
  Several build fixes. Miniparrot now runs without issue. parrot builds. The build progresses much further until we run into a packfile-related error on a later stage


  Commit: d70e3d99092c32cade359c63a5ce9ec1bb987daf
      https://github.com/parrot/parrot/commit/d70e3d99092c32cade359c63a5ce9ec1bb987daf
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-31 (Thu, 31 May 2012)

  Changed paths:
    M CREDITS
    M frontend/parrot2/prt0.pir
    M t/pmc/bignum.t

  Log Message:
  -----------
  Merge branch 'master' into whiteknight/io_cleanup1


  Commit: efdbe2576394529798c413cb953c8659386bd0d5
      https://github.com/parrot/parrot/commit/efdbe2576394529798c413cb953c8659386bd0d5
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-31 (Thu, 31 May 2012)

  Changed paths:
    M src/io/api.c
    M src/io/filehandle.c
    M src/io/io_private.h
    M src/io/utilities.c

  Log Message:
  -----------
  Fixes so FileHandle.readall works as expected. Use an existing helper method to read bytes into a string. Fall back to the platform encoding if one isn't set on the filehandle. Fix some parameter assertions


  Commit: 05df5a6cb05846021e7d041a0ee941ad80085bbd
      https://github.com/parrot/parrot/commit/05df5a6cb05846021e7d041a0ee941ad80085bbd
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-31 (Thu, 31 May 2012)

  Changed paths:
    M src/io/api.c
    M src/io/filehandle.c
    M src/io/utilities.c

  Log Message:
  -----------
  Fix a few things that were causing build problems. The build actually has regressed. Figuring out how the system used to handle all the encoding nonsense is hard.


  Commit: f9db03643cdee24b7ab758fe5acd810052ddeb50
      https://github.com/parrot/parrot/commit/f9db03643cdee24b7ab758fe5acd810052ddeb50
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-01 (Fri, 01 Jun 2012)

  Changed paths:
    M src/io/api.c
    M src/io/filehandle.c
    M src/io/io_private.h
    M src/io/pipe.c
    M src/io/stringhandle.c
    M src/io/userhandle.c
    M src/io/utilities.c

  Log Message:
  -----------
  Fix the way we do encodings. For read if the FileHandle doesn't have one specified, fall back to the platform default encoding. For writes we fall back to the binary encoding. This fixes some of the build errors I saw earlier, is much closer to the weird way it used to work, and gets us much further in the build


  Commit: f77b2816da0c9e506351726b20f05def052e7556
      https://github.com/parrot/parrot/commit/f77b2816da0c9e506351726b20f05def052e7556
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-01 (Fri, 01 Jun 2012)

  Changed paths:
    M src/io/utilities.c

  Log Message:
  -----------
  Make sure to pass the correct flags to re-refix the build


  Commit: de4b0429d3b452c1718009e8ea60c16581cbdbdb
      https://github.com/parrot/parrot/commit/de4b0429d3b452c1718009e8ea60c16581cbdbdb
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-01 (Fri, 01 Jun 2012)

  Changed paths:
    M src/io/api.c
    M src/io/io_private.h
    M src/io/utilities.c

  Log Message:
  -----------
  Fix a few more small issues with encodings and assertions. Build gets significantly further


  Commit: 2037433553cdb010efbc730a640d37bcd6aea4e6
      https://github.com/parrot/parrot/commit/2037433553cdb010efbc730a640d37bcd6aea4e6
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-02 (Sat, 02 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/dynext.c
    M src/io/api.c
    M src/io/buffer.c

  Log Message:
  -----------
  Add in linebuffering logic, stolen in all it's hacky glory from the old system. Set up block buffering on stdin and line buffering on stdout. Make sure to flush stdout on io finish so we don't lose any data if we exit without having written a final newline.


  Commit: 9bbf96d8af555011ef5d6566f93a6605272ad003
      https://github.com/parrot/parrot/commit/9bbf96d8af555011ef5d6566f93a6605272ad003
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-02 (Sat, 02 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/buffer.c
    M src/io/io_private.h
    M src/io/utilities.c
    M src/pmc/stringhandle.pmc

  Log Message:
  -----------
  Cleanup some buffer-related stuff. Rename the buffer flags to PIO_BF_ to separate them from the normal handle flags.


  Commit: d59461ad7e63a5f0aae8790cd74d4ae66929b4c3
      https://github.com/parrot/parrot/commit/d59461ad7e63a5f0aae8790cd74d4ae66929b4c3
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-02 (Sat, 02 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/buffer.c
    M src/io/filehandle.c
    M src/io/io_private.h
    M src/io/pipe.c
    M src/io/socket.c
    M src/io/stringhandle.c
    M src/io/utilities.c
    M src/platform/generic/io.c

  Log Message:
  -----------
  Many assorted fixes so src/io/*.c source files build without warnings (or, without known warnings). Found a few bugs in the process. Also, fixed and infinite recursion bug that showed up when I fixed some warnings.


  Commit: d8932cbd00362a274a8cec17d6f66c1f091c4810
      https://github.com/parrot/parrot/commit/d8932cbd00362a274a8cec17d6f66c1f091c4810
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-03 (Sun, 03 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/io_private.h
    M src/io/pipe.c
    M src/io/stringhandle.c
    M src/pmc/handle.pmc
    M src/pmc/stringhandle.pmc

  Log Message:
  -----------
  Rework Parrot_io_readall_s so it can work with types that can't read size ahead of time. Fix an issue with stringhandle, that is not supposed to clear/flush itself when it closes, so it can be read back later. This fixes the opsc problems blocking the build. Re-add a few exported APIs necessary to build the io dynops. The build now completes 100%.


  Commit: a54a224c65a3229dabe381cd7824078e9b44e60e
      https://github.com/parrot/parrot/commit/a54a224c65a3229dabe381cd7824078e9b44e60e
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-03 (Sun, 03 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/filehandle.c
    M src/io/pipe.c
    M src/io/socket.c
    M src/io/stringhandle.c

  Log Message:
  -----------
  Add in vtable-level flags to specify some per-type default behaviors. For types that need it, set up buffers automatically.


  Commit: 74baebfd13c0bd2b37c07d27e89981894ddbdfb1
      https://github.com/parrot/parrot/commit/74baebfd13c0bd2b37c07d27e89981894ddbdfb1
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-03 (Sun, 03 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/buffer.c

  Log Message:
  -----------
  Parrot_io_buffer_flush now flushes the buffer only, not the handle. Always flush the buffer when we we close a handle, but don't necessarily flush the handle too.


  Commit: 3d0aed91ad3975b324dbe17a1b3c272adbb83fd3
      https://github.com/parrot/parrot/commit/3d0aed91ad3975b324dbe17a1b3c272adbb83fd3
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-03 (Sun, 03 Jun 2012)

  Changed paths:
    M src/io/api.c
    M src/io/stringhandle.c
    M src/pmc/stringhandle.pmc
    M t/op/exceptions.t

  Log Message:
  -----------
  Start fixing some tests, starting with StringHandle tests.

The StringHandle PMC has some semantics that are 'interesting'. I'm trying to duplicate what happens in master, even though I think some of these things need to change. Several StringHandle-related tests are still failing, some spectacularly.


  Commit: e0011ca53199a6cda7ae92a74199f90c9b313842
      https://github.com/parrot/parrot/commit/e0011ca53199a6cda7ae92a74199f90c9b313842
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-03 (Sun, 03 Jun 2012)

  Changed paths:
    M src/io/stringhandle.c
    M src/io/utilities.c

  Log Message:
  -----------
  StringHandle defaults to ASCII encoding if not otherwise specified. The total_size of the stringhandle is bufused, not _buflen. Don't bother allocating extra room in the string buffer for partial multi-byte characters, because the buffering logic ensures they don't exist.


  Commit: f38818e29a2827205d54eadf2e6e9f14de1afbdd
      https://github.com/parrot/parrot/commit/f38818e29a2827205d54eadf2e6e9f14de1afbdd
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-03 (Sun, 03 Jun 2012)

  Changed paths:
    M src/io/api.c

  Log Message:
  -----------
  In Parrot_io_readline_s, make sure to actually update the buffer if we've added it. This reclaims several more tests where the null buffer was causing failed assertions.


  Commit: 0c26862085db5e1d97c5ad21a380dfd9fcae1a29
      https://github.com/parrot/parrot/commit/0c26862085db5e1d97c5ad21a380dfd9fcae1a29
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-03 (Sun, 03 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/stringhandle.c

  Log Message:
  -----------
  Add a new PIO_VF_PATH_NOT_REQUIRED to flag types that can be opened without an explicit path provided. Use this flag to reclaim two more StringHandle tests.


  Commit: df032cc38b22393e4c1a5c12dd5b42b2d72d6865
      https://github.com/parrot/parrot/commit/df032cc38b22393e4c1a5c12dd5b42b2d72d6865
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-04 (Mon, 04 Jun 2012)

  Changed paths:
    M src/io/api.c
    M src/io/pipe.c
    M src/io/stringhandle.c
    M t/pmc/stringhandle.t

  Log Message:
  -----------
  Fix the remaining stringhandle.t failures. Most fixes come from better handling of encodings. One test was absolutely wrong and needed to be updated. Also, fix two uses of the UNUSED macro, pointed out by NotFound++


  Commit: 853122508a7d52b6ff70b47e92ba548776510254
      https://github.com/parrot/parrot/commit/853122508a7d52b6ff70b47e92ba548776510254
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-04 (Mon, 04 Jun 2012)

  Changed paths:
    M src/io/api.c
    M src/io/buffer.c
    M src/io/io_private.h

  Log Message:
  -----------
  Rearrange some buffer macros. Implement Parrot_io_tell to match the old behavior (which I don't think is right, but whatever)


  Commit: 909bec255ab0300076903e90632c0fac4c49af14
      https://github.com/parrot/parrot/commit/909bec255ab0300076903e90632c0fac4c49af14
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-04 (Mon, 04 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/buffer.c
    M src/io/filehandle.c
    M src/io/stringhandle.c

  Log Message:
  -----------
  Implement seek. Right now, bypass buffers and always seek directly to disk. This is brain-dead but we can fix it later. Also, fix some codestd problems noticed by NotFound++


  Commit: 019216122723719457b7726589e882d83905eac9
      https://github.com/parrot/parrot/commit/019216122723719457b7726589e882d83905eac9
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-04 (Mon, 04 Jun 2012)

  Changed paths:
    M src/io/api.c
    M src/io/buffer.c
    M src/io/filehandle.c
    M src/pmc/filehandle.pmc

  Log Message:
  -----------
  Don't buffer r/w handles, for now. When doing seek on a buffered handle, account for the data in the buffer. Make sure to return the correct thing from seek.


  Commit: 1f03c5b2ddfcabec46a4488e4a96597c3d8e3cdf
      https://github.com/parrot/parrot/commit/1f03c5b2ddfcabec46a4488e4a96597c3d8e3cdf
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-09 (Sat, 09 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/buffer.c
    M src/io/filehandle.c
    M src/io/io_private.h
    M src/io/pipe.c
    M src/io/socket.c
    M src/io/stringhandle.c
    M src/io/userhandle.c
    M src/io/utilities.c

  Log Message:
  -----------
  Add new IO vtables to set, get and advance the current in-memory cursor position. Update file position on read and write operations. For read/write handles, make sure to sync buffers so position stays consistent. Several codestd fixes. Add comments. Several tests still failing


  Commit: 1e41ce0375df35927734f1db10034f3c3265df8e
      https://github.com/parrot/parrot/commit/1e41ce0375df35927734f1db10034f3c3265df8e
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-09 (Sat, 09 Jun 2012)

  Changed paths:
    M src/io/api.c
    M src/io/utilities.c

  Log Message:
  -----------
  Fix several issues related to positioning and seek. When we're reading a number of characters from the buffer, make sure to count the ones we've already read. Use ->get_position to get the current cursor position instead of ->tell to get the file descriptor on-disk position when calculating SEEK_CUR offsets.


  Commit: 0124c074c0b7635c3318fe02c49d5962696b7c83
      https://github.com/parrot/parrot/commit/0124c074c0b7635c3318fe02c49d5962696b7c83
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-09 (Sat, 09 Jun 2012)

  Changed paths:
    M src/io/buffer.c
    M src/io/utilities.c
    M src/pmc/handle.pmc

  Log Message:
  -----------
  Handle BUFFER_SIZE_ANY correctly, so we don't attempt a multi-terabyte allocation. Make sure to use the record_separator character when using the readline method. Reclaims almost all of the filehandle tests


  Commit: 21d786930a68930a94007cfa5d3db6f46d53b990
      https://github.com/parrot/parrot/commit/21d786930a68930a94007cfa5d3db6f46d53b990
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-09 (Sat, 09 Jun 2012)

  Changed paths:
    M src/io/api.c
    M src/pmc/filehandle.pmc

  Log Message:
  -----------
  Some simplifications to FileHandle.readall()


  Commit: 42a24e9c2f97de323aa0dd248ba42318713db75c
      https://github.com/parrot/parrot/commit/42a24e9c2f97de323aa0dd248ba42318713db75c
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-09 (Sat, 09 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/buffer.c
    M src/pmc/filehandle.pmc

  Log Message:
  -----------
  Re-implement the lousy string-based interface for querying and configuring buffers on FileHandles. Leave large notes about how this is a temporary hack to maintain compatibility with an old and sub-optimal interface.


  Commit: 2c17e654b6769a199d0a8c9ae9bb8580e33b60a3
      https://github.com/parrot/parrot/commit/2c17e654b6769a199d0a8c9ae9bb8580e33b60a3
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-10 (Sun, 10 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/filehandle.c
    M src/io/io_private.h
    M src/io/stringhandle.c
    M src/io/utilities.c

  Log Message:
  -----------
  Add a new IO_VTABLE flag to show when a type is always readable. StringHandles are always readable, even when closed or opened in 'w' mode. I suggest in the future it should not be, but these are the current expected semantics. Fix FileHandle.readall when trying to read from stdin when stdin is in pipe mode. Several more tests are reclaimed


  Commit: a840cc560b42b3e001ce1d63b4e68c798b9ae724
      https://github.com/parrot/parrot/commit/a840cc560b42b3e001ce1d63b4e68c798b9ae724
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-10 (Sun, 10 Jun 2012)

  Changed paths:
    M config/gen/makefiles/root.in

  Log Message:
  -----------
  Add a line to the Makefile to make checkdepend.t happy


  Commit: b3dfb6282644c896b191aa271a19a37cb80d8ad6
      https://github.com/parrot/parrot/commit/b3dfb6282644c896b191aa271a19a37cb80d8ad6
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-10 (Sun, 10 Jun 2012)

  Changed paths:
    M src/pmc/stringhandle.pmc

  Log Message:
  -----------
  Make sure to set the record_separator of StringHandle. This fixes some tests


  Commit: e57f51a712f3c266f713441688403aefcc5503a2
      https://github.com/parrot/parrot/commit/e57f51a712f3c266f713441688403aefcc5503a2
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-10 (Sun, 10 Jun 2012)

  Changed paths:
    M src/io/api.c
    M src/pmc/stringhandle.pmc

  Log Message:
  -----------
  Fake the StringHandle.buffer_size method for now to get tests passing.


  Commit: 81003fdf6bd54120f6b237eb0b66118d7b9a6eae
      https://github.com/parrot/parrot/commit/81003fdf6bd54120f6b237eb0b66118d7b9a6eae
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-10 (Sun, 10 Jun 2012)

  Changed paths:
    M src/io/buffer.c
    M src/io/utilities.c
    M src/pmc/stringhandle.pmc
    M t/pmc/stringhandle.t

  Log Message:
  -----------
  Fix the way we pretend to set buffers on StringHandle. A few other small fixes. t/pmc/stringhandle.t now passes.


  Commit: 3d5c787e6039e4d111078ca03d919ebd92fde4b2
      https://github.com/parrot/parrot/commit/3d5c787e6039e4d111078ca03d919ebd92fde4b2
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-10 (Sun, 10 Jun 2012)

  Changed paths:
    M src/io/buffer.c

  Log Message:
  -----------
  Fix small issue reading multi-byte characters out of the buffer


  Commit: c71ec0c57c73173f14446991dc04365913643ec8
      https://github.com/parrot/parrot/commit/c71ec0c57c73173f14446991dc04365913643ec8
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-10 (Sun, 10 Jun 2012)

  Changed paths:
    M src/io/buffer.c

  Log Message:
  -----------
  Start peppering a few assertions through the buffering code to start trying to track down a memory corruption error I'm seeing in rare circumstances. Untested (might not even compile in this state)


  Commit: 03ff546a3f8dc20f126ce59f2ca9f55f1d51e0c7
      https://github.com/parrot/parrot/commit/03ff546a3f8dc20f126ce59f2ca9f55f1d51e0c7
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-12 (Tue, 12 Jun 2012)

  Changed paths:
    M src/io/buffer.c
    M src/io/io_private.h

  Log Message:
  -----------
  Fix several of the asserts I added last time


  Commit: aea16cf24aa2a1577fe76181fa0bbdd602ba26db
      https://github.com/parrot/parrot/commit/aea16cf24aa2a1577fe76181fa0bbdd602ba26db
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-12 (Tue, 12 Jun 2012)

  Changed paths:
    M src/io/api.c
    M src/io/buffer.c
    M src/io/io_private.h
    M src/io/utilities.c

  Log Message:
  -----------
  Various cleanups. Add TODO notes. Codestd fixes. Add several assertions. These assertions have found at least one problemwith buffer writes, which I haven't fixed.


  Commit: a651df2b481855ab0347b5d0d4e452d988ad1f28
      https://github.com/parrot/parrot/commit/a651df2b481855ab0347b5d0d4e452d988ad1f28
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-13 (Wed, 13 Jun 2012)

  Changed paths:
    M src/io/buffer.c
    M src/io/io_private.h

  Log Message:
  -----------
  Fix my broken calculation for the amount of space in the buffer available for writing. This fixes at least one segfault (maybe more) and at least one broken test.


  Commit: eca5d483a8db6696e1234454ae0806a58b47c135
      https://github.com/parrot/parrot/commit/eca5d483a8db6696e1234454ae0806a58b47c135
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-14 (Thu, 14 Jun 2012)

  Changed paths:
    M src/pmc/socket.pmc
    M t/pmc/socket.t

  Log Message:
  -----------
  Fix Socket.get_bool. Remove a readline test from t/pmc/socket.t which was absolutely not doing the right thing.


  Commit: 9aeede64c6a2343e21bd8424f008dd3b1752b26f
      https://github.com/parrot/parrot/commit/9aeede64c6a2343e21bd8424f008dd3b1752b26f
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-14 (Thu, 14 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/socket.c
    M src/pmc/socket.pmc

  Log Message:
  -----------
  Fix Parrot_io_socket semantics to return 1 on success. Add in a Parrot_io_socket_handle legacy wrapper with the old behavior. Re-implement Socket.socket. Some TODO notes.


  Commit: 82035c271fa7cb734ea28910eff9122661b18699
      https://github.com/parrot/parrot/commit/82035c271fa7cb734ea28910eff9122661b18699
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-14 (Thu, 14 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/filehandle.c
    M src/io/pipe.c
    M src/io/socket.c
    M src/pmc/socket.pmc

  Log Message:
  -----------
  Use separate flags for adding read/write buffers to handles by default. Remove the ad hoc buffer STRING nonsense from socket.pmc, replaced by actual buffer logic.


  Commit: 7ee35303bfc5815cfa205fd589785059a472bf84
      https://github.com/parrot/parrot/commit/7ee35303bfc5815cfa205fd589785059a472bf84
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-16 (Sat, 16 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/buffer.c
    M src/io/filehandle.c
    M src/io/pipe.c
    M src/io/stringhandle.c
    M src/io/utilities.c

  Log Message:
  -----------
  Fix socket tests, though I'm not happy with this fix.

If we do a recv for X bytes but only receive Y (Y < X), we shouldn't try to recv again to get more because recv can hang if there's no data incoming. Notice that this 'fix' fails for very large reads where we fill the buffer and could legitimately recv more bytes but do not.


  Commit: ef77aa2899e9cc80f82e3ca54c09f00f74cf832a
      https://github.com/parrot/parrot/commit/ef77aa2899e9cc80f82e3ca54c09f00f74cf832a
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-16 (Sat, 16 Jun 2012)

  Changed paths:
    M t/pmc/io.t

  Log Message:
  -----------
  Fix a test in t/pmc/io.t. The test was asking to read 7 characters, but then testing that we only received 6. The new (correct) behavior is to ask for 6 characters and get 6 characters.


  Commit: 94edbda13aa3f440cce4a92bbd44ea54529b03ec
      https://github.com/parrot/parrot/commit/94edbda13aa3f440cce4a92bbd44ea54529b03ec
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-16 (Sat, 16 Jun 2012)

  Changed paths:
    M t/pmc/io.t

  Log Message:
  -----------
  Fix a UTF16 IO test in the same way. The test was doing .read(9) and expecting to only get back 5 characters. The expectation, I think, is that the 9 is a number of bytes and the internal read routines will automatically round up to get the next full multi-byte character. This is nonsensical. In the new system, when you ask for 9 characters, you get 9 characters with no magic.


  Commit: 90411267d95b1a58c0966af8bf3374b7567fad30
      https://github.com/parrot/parrot/commit/90411267d95b1a58c0966af8bf3374b7567fad30
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-16 (Sat, 16 Jun 2012)

  Changed paths:
    M src/dynoplibs/io.ops
    M src/pmc/stringhandle.pmc

  Log Message:
  -----------
  Update a few of the IO dynops


  Commit: 75e2d717e0f47d9f8e706133eff82ea781513f18
      https://github.com/parrot/parrot/commit/75e2d717e0f47d9f8e706133eff82ea781513f18
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-16 (Sat, 16 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/io_private.h

  Log Message:
  -----------
  Change most instances of IO_VTABLE* to const IO_VTABLE*. Add function-level documentation to src/io/api.c


  Commit: 9b419fc09e1679b5ee21127b629d4f7729b35556
      https://github.com/parrot/parrot/commit/9b419fc09e1679b5ee21127b629d4f7729b35556
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-16 (Sat, 16 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/buffer.c

  Log Message:
  -----------
  Add function-level documentation to src/io/buffer.c. A few small fixes along the way


  Commit: 55621feed69f2c95c008c27515f74057dc617308
      https://github.com/parrot/parrot/commit/55621feed69f2c95c008c27515f74057dc617308
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-16 (Sat, 16 Jun 2012)

  Changed paths:
    M src/io/io_private.h
    M src/io/utilities.c

  Log Message:
  -----------
  Function-level documentation and a few small fixes to src/io/utilities.c


  Commit: d48b17a299b5f5cc931b3ce297cb675e97a36f34
      https://github.com/parrot/parrot/commit/d48b17a299b5f5cc931b3ce297cb675e97a36f34
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-16 (Sat, 16 Jun 2012)

  Changed paths:
    M src/io/filehandle.c
    M src/io/io_private.h

  Log Message:
  -----------
  Function-level documentation and some fixes for src/io/filehandle.c


  Commit: c189cb2193c3878312ca24b67defa68ef27b2697
      https://github.com/parrot/parrot/commit/c189cb2193c3878312ca24b67defa68ef27b2697
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-17 (Sun, 17 Jun 2012)

  Changed paths:
    M src/io/filehandle.c

  Log Message:
  -----------
  document one more function in filehandle.c


  Commit: e5f2b26bb704e55da966e73b5bb7d5c7d7b1df65
      https://github.com/parrot/parrot/commit/e5f2b26bb704e55da966e73b5bb7d5c7d7b1df65
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-17 (Sun, 17 Jun 2012)

  Changed paths:
    M src/io/filehandle.c
    M src/io/socket.c

  Log Message:
  -----------
  Add function-level documentation and a few cleanups to src/io/socket.c


  Commit: 8ddbb90fe905dacf39a1c0966671bbc4de6c3f0b
      https://github.com/parrot/parrot/commit/8ddbb90fe905dacf39a1c0966671bbc4de6c3f0b
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-17 (Sun, 17 Jun 2012)

  Changed paths:
    M src/io/filehandle.c
    M src/io/stringhandle.c

  Log Message:
  -----------
  Add function-level documentation, TODO notes and some cleanups to src/io/stringhandle.c. Also, fix some docs in src/io/filehandle.c


  Commit: 8c6639d305b07903ffa63234d790fe1530271303
      https://github.com/parrot/parrot/commit/8c6639d305b07903ffa63234d790fe1530271303
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-17 (Sun, 17 Jun 2012)

  Changed paths:
    M src/io/api.c

  Log Message:
  -----------
  Fix some documentation typos


  Commit: 5d38b54d8144df76e0ddf54f0147b94f0c5b1f2a
      https://github.com/parrot/parrot/commit/5d38b54d8144df76e0ddf54f0147b94f0c5b1f2a
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-17 (Sun, 17 Jun 2012)

  Changed paths:
    M src/io/api.c
    M src/io/filehandle.c
    M src/io/pipe.c
    M src/io/stringhandle.c

  Log Message:
  -----------
  Function-level documentation and some cleanups for src/io/pipe.c


  Commit: c5d25988333ee195be742420faf349551565dee9
      https://github.com/parrot/parrot/commit/c5d25988333ee195be742420faf349551565dee9
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-19 (Tue, 19 Jun 2012)

  Changed paths:
    M src/io/userhandle.c

  Log Message:
  -----------
  Some boilerplate for userhandle.c


  Commit: a08def96b921444cd7ed3c360f8c32729598d457
      https://github.com/parrot/parrot/commit/a08def96b921444cd7ed3c360f8c32729598d457
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-19 (Tue, 19 Jun 2012)

  Changed paths:
    M .gitignore
    M CREDITS
    M ChangeLog
    M DONORS.pod
    M MANIFEST
    M MANIFEST.SKIP
    M MANIFEST.generated
    M README.pod
    M README_cygwin.pod
    M VERSION
    M compilers/data_json/JSON_README.pod
    M compilers/data_json/data_json.pir
    M compilers/imcc/imcc.y
    M compilers/imcc/imcparser.c
    M compilers/pct/README.pod
    M compilers/pge/PGE.pir
    M compilers/pge/PGE/Exp.pir
    M compilers/pge/PGE/OPTable.pir
    M compilers/pge/PGE/Perl6Regex.pir
    M compilers/pge/README.pod
    M compilers/tge/TGE/Compiler.pir
    M compilers/tge/TGE/Grammar.pir
    M compilers/tge/tgc.pir
    M config/auto/icu.pm
    M config/auto/llvm/hello.c
    M config/auto/memalign.pm
    M config/auto/pmc.pm
    M config/auto/sizes.pm
    M config/auto/sizes/test_c.in
    M config/auto/va_ptr.pm
    M config/gen/config_h/config_h.in
    M config/gen/makefiles/root.in
    M docs/binaries/ops2c.pod
    M docs/binaries/parrot-nqp.pod
    M docs/binaries/parrot-prove.pod
    M docs/binaries/parrot_nci_thunk_gen.pod
    M docs/binaries/parrotbug.pod
    M docs/binaries/pbc_to_exe.pod
    M docs/binaries/plumage.pod
    M docs/binaries/winxed.pod
    M docs/compiler_faq.pod
    M docs/debug.pod
    M docs/deprecations/deprecations.pod
    M docs/deprecations/deprecations_2_6.pod
    M docs/deprecations/deprecations_2_9.pod
    M docs/deprecations/deprecations_3_0.pod
    M docs/deprecations/deprecations_3_3.pod
    M docs/deprecations/deprecations_3_6.pod
    M docs/deprecations/how_to_deprecate.pod
    M docs/dev/byteorder.pod
    M docs/dev/c_functions.pod
    M docs/dev/coverage.pod
    M docs/dev/debugging_with_msvc.pod
    M docs/dev/headerizer.pod
    M docs/dev/infant.pod
    M docs/dev/longopt.pod
    M docs/dev/parrot_api.pod
    M docs/dev/pcc_methods.pod
    M docs/dev/pcc_state.pod
    M docs/dev/pmc_freeze.pod
    M docs/dev/pmc_obj_design_meeting_notes.pod
    M docs/extend.pod
    M docs/faq.pod
    M docs/gettingstarted.pod
    M docs/glossary.pod
    M docs/imcc/imcfaq.pod
    M docs/intro.pod
    M docs/memory_internals.pod
    M docs/overview.pod
    M docs/parrot.pod
    M docs/parrotbyte.pod
    M docs/parrothist.pod
    M docs/pmc.pod
    M docs/pmc/array.pod
    M docs/pmc/documentation.pod
    M docs/pmc2c.pod
    M docs/porting_intro.pod
    M docs/project/cage_cleaners_guide.pod
    M docs/project/committer_guide.pod
    M docs/project/core_inclusion.pod
    M docs/project/debian_packaging_guide.pod
    M docs/project/metacommitter_guide.pod
    M docs/project/release_manager_guide.pod
    M docs/project/roles_responsibilities.pod
    M docs/project/support_policy.pod
    M docs/project/ubuntu_packaging_guide.pod
    M docs/req/model_users.pod
    M docs/running.pod
    M docs/submissions.pod
    M docs/tests.pod
    M docs/user/pir/exceptions.pod
    M docs/user/pir/intro.pod
    M docs/user/pir/objects.pod
    M docs/user/pir/pmcs.pod
    M docs/vtables.pod
    M editor/README.pod
    M examples/README.pod
    M examples/languages/abc/abc.pir
    M examples/languages/abc/src/builtins/all.pir
    M examples/languages/squaak/doc/tutorial_episode_1.pod
    M examples/languages/squaak/doc/tutorial_episode_2.pod
    M examples/languages/squaak/doc/tutorial_episode_3.pod
    M examples/languages/squaak/doc/tutorial_episode_4.pod
    M examples/languages/squaak/doc/tutorial_episode_5.pod
    M examples/languages/squaak/doc/tutorial_episode_6.pod
    M examples/languages/squaak/doc/tutorial_episode_7.pod
    M examples/languages/squaak/doc/tutorial_episode_8.pod
    M examples/languages/squaak/doc/tutorial_episode_9.pod
    M examples/languages/squaak/squaak.pir
    M examples/languages/squaak/src/squaak.pir
    M examples/mops/mops.p6
    M examples/mops/mops.rb
    M examples/nci/Xlib.pir
    M examples/nci/Xlibconstants.pir
    M examples/nci/xlibtest.nqp
    M examples/nci/xlibtest.p6
    M examples/nci/xlibtest.pir
    M examples/past/01-sub.pir
    M examples/past/four_plus_one.pir
    M examples/pir/coop_threads.pir
    M examples/sdl/anim_image.pir
    M examples/sdl/anim_image_dblbuf.pir
    M examples/sdl/blue_font.pir
    M examples/sdl/blue_rect.pir
    M examples/sdl/blue_rect.pl
    M examples/sdl/bounce_parrot_logo.pir
    M examples/sdl/mandel.pir
    M examples/sdl/minesweeper/eventhandler.pir
    M examples/sdl/minesweeper/mines.pir
    M examples/sdl/move_parrot_logo.pir
    M examples/sdl/raw_pixels.pir
    M examples/sdl/tetris/app.pir
    M examples/sdl/tetris/block.pir
    M examples/sdl/tetris/blockdata.pir
    M examples/sdl/tetris/blocks.pir
    M examples/sdl/tetris/board.pir
    M examples/sdl/tetris/boarddata.pir
    M examples/sdl/tetris/eventhandler.pir
    M examples/sdl/tetris/tetris.pir
    M examples/streams/Bytes.pir
    M examples/streams/Combiner.pir
    M examples/streams/Coroutine.pir
    M examples/streams/FileLines.pir
    M examples/streams/Filter.pir
    M examples/streams/Include.pir
    M examples/streams/Lines.pir
    M examples/streams/ParrotIO.pir
    M examples/streams/SubCounter.pir
    M examples/streams/SubHello.pir
    M examples/streams/Writer.pir
    M examples/tge/branch/lib/Branch.pir
    M examples/tge/branch/lib/Leaf.pir
    M examples/tutorial/00_README.pod
    M examples/tutorial/01_temp_var.pir
    M examples/tutorial/02_local_var.pir
    M examples/tutorial/03_temp_var_basic_pmcs.pir
    M examples/tutorial/04_pod_comments.pir
    M examples/tutorial/10_math_ops.pir
    M examples/tutorial/11_math_ops_self_mod.pir
    M examples/tutorial/12_math_ops_pasm.pir
    M examples/tutorial/13_logical_ops.pir
    M examples/tutorial/20_string_ops.pir
    M examples/tutorial/21_string_ops_repeat.pir
    M examples/tutorial/22_string_ops_length.pir
    M examples/tutorial/23_string_ops_substr.pir
    M examples/tutorial/24_string_ops_clone.pir
    M examples/tutorial/30_arrays_basic.pir
    M examples/tutorial/31_array_ops_split.pir
    M examples/tutorial/32_array_ops_sprintf.pir
    M examples/tutorial/33_hashes.pir
    M examples/tutorial/34_multikey.pir
    M examples/tutorial/40_file_ops.pir
    M examples/tutorial/50_goto.pir
    M examples/tutorial/51_if_unless.pir
    M examples/tutorial/52_if_compare.pir
    M examples/tutorial/53_loop.pir
    M examples/tutorial/55_iterator.pir
    M examples/tutorial/56_defined.pir
    M examples/tutorial/57_exists.pir
    M examples/tutorial/60_subroutines.pir
    M examples/tutorial/61_namespaces.pir
    M examples/tutorial/62_namespaces.pir
    M examples/tutorial/70_class_object.pir
    M examples/tutorial/81_continuation.pir
    M examples/tutorial/82_coroutine.pir
    M examples/tutorial/83_external_libraries.pir
    M examples/tutorial/90_writing_tests.pir
    M ext/winxed/compiler.pir
    M ext/winxed/driver.pir
    M frontend/parrot2/prt0.pir
    M frontend/parrot2/prt0.winxed
    M include/parrot/gc_api.h
    M include/parrot/interpreter.h
    M include/parrot/oplib/core_ops.h
    M include/parrot/platform_interface.h
    M include/parrot/pointer_array.h
    R lib/Parrot/Pmc2c/Attribute.pm
    M lib/Parrot/Pmc2c/Emitter.pm
    R lib/Parrot/Pmc2c/MULTI.pm
    M lib/Parrot/Pmc2c/Method.pm
    R lib/Parrot/Pmc2c/Object.pm
    M lib/Parrot/Pmc2c/PCCMETHOD.pm
    M lib/Parrot/Pmc2c/PMC.pm
    M lib/Parrot/Pmc2c/Parser.pm
    M lib/Parrot/Pmc2c/Pmc2cMain.pm
    M lib/Parrot/Test/Pod.pm
    M runtime/parrot/include/green_threads.pir
    M runtime/parrot/include/hllmacros.pir
    M runtime/parrot/include/test_more.pir
    M runtime/parrot/languages/parrot/parrot.pir
    M runtime/parrot/library/CGI/QueryHash.pir
    M runtime/parrot/library/Config/JSON.pir
    M runtime/parrot/library/HTTP/Daemon.pir
    M runtime/parrot/library/HTTP/Message.pir
    M runtime/parrot/library/JSON.pir
    M runtime/parrot/library/LWP/Protocol.pir
    M runtime/parrot/library/LWP/UserAgent.pir
    M runtime/parrot/library/PGE/Dumper.pir
    M runtime/parrot/library/Range.pir
    M runtime/parrot/library/Stream/Writer.pir
    M runtime/parrot/library/String/Utils.pir
    M runtime/parrot/library/TAP/Formatter.pir
    M runtime/parrot/library/TAP/Harness.pir
    M runtime/parrot/library/TAP/Parser.pir
    M runtime/parrot/library/Test/Builder/Test.pir
    M runtime/parrot/library/URI.pir
    M runtime/parrot/library/distutils.pir
    M runtime/parrot/library/dumper.pir
    M runtime/parrot/library/parrotlib.pir
    M src/alarm.c
    M src/dynoplibs/sys.ops
    M src/dynpmc/README.pod
    M src/embed/api.c
    M src/exit.c
    M src/gc/gc_ms2.c
    M src/gc/string_gc.c
    M src/gc/system.c
    M src/interp/api.c
    M src/interp/inter_cb.c
    M src/ops/core.ops
    M src/ops/core_ops.c
    M src/platform/generic/misc.c
    M src/platform/generic/socket.c
    M src/platform/win32/misc.c
    M src/pmc/addrregistry.pmc
    M src/pmc/callback.pmc
    M src/pmc/default.pmc
    M src/pmc/key.pmc
    M src/pmc/resizablepmcarray.pmc
    M src/pmc/stringbuilder.pmc
    M src/pointer_array.c
    M src/runcore/subprof.c
    M src/string/api.c
    M src/string/encoding/shared.c
    M t/TESTS_STATUS.pod
    M t/codingstd/pccmethod_deps.t
    M t/codingstd/pod_description.t
    M t/dynoplibs/sysinfo.t
    M t/dynoplibs/time.t
    M t/examples/streams.t
    M t/harness
    M t/op/time.t
    M t/pmc/opcode.t
    M t/pmc/oplib.t
    M t/pmc/task_primes.t
    M t/run/options.t
    M t/steps/auto/icu-01.t
    M t/steps/auto/memalign-01.t
    M t/steps/auto/sizes-01.t
    M t/tools/dump_pbc.t
    M tools/dev/merge_pull_request.pl
    M tools/dev/mk_inno_language.pl
    R tools/dev/pbc_to_exe.pir
    A tools/dev/pbc_to_exe.winxed
    M tools/release/cut.pl
    M tools/release/parrot_github_release.pl
    M tools/release/release.json

  Log Message:
  -----------
  Merge branch 'master' into whiteknight/io_cleanup1


  Commit: dd76985ff44525db5714bd0314842d10c69a0d42
      https://github.com/parrot/parrot/commit/dd76985ff44525db5714bd0314842d10c69a0d42
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-19 (Tue, 19 Jun 2012)

  Changed paths:
    M ext/winxed/compiler.pir

  Log Message:
  -----------
  The Winxed compiler relies on StringHandle.read(0) being equivalent to StringHandle.readall(). This semantic was unique to StringHandle and is not carried over into the new system. As a temporary fix update the winxed compiler generated .pir code to use the correct method. All coretests (at least) pass


  Commit: a14184d8fd920726ae75b42a9e52987d21220e81
      https://github.com/parrot/parrot/commit/a14184d8fd920726ae75b42a9e52987d21220e81
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-19 (Tue, 19 Jun 2012)

  Changed paths:
    M include/parrot/exit.h
    M include/parrot/io.h
    M src/dynoplibs/io.ops
    M src/io/api.c
    M src/io/buffer.c

  Log Message:
  -----------
  Fix Parrot_io_tell to account for read-ahead in the readbuffer. Headerize. make test now passes 100%


  Commit: fcb320b980614f7804bfbce3e26363cdf3e32323
      https://github.com/parrot/parrot/commit/fcb320b980614f7804bfbce3e26363cdf3e32323
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-19 (Tue, 19 Jun 2012)

  Changed paths:
    M src/io/buffer.c

  Log Message:
  -----------
  +a missing ASSERT_ARGS


  Commit: 4ffcbd5b1aa43aaae6ef0136a2dc46d13be6a07e
      https://github.com/parrot/parrot/commit/4ffcbd5b1aa43aaae6ef0136a2dc46d13be6a07e
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-20 (Wed, 20 Jun 2012)

  Changed paths:
    M src/io/api.c
    M src/io/buffer.c
    M src/io/filehandle.c
    M src/io/pipe.c

  Log Message:
  -----------
  several POD fixes to make the test happy


  Commit: 9b4a229e0f2b9ff6dc11c5e3a4e4e92085872379
      https://github.com/parrot/parrot/commit/9b4a229e0f2b9ff6dc11c5e3a4e4e92085872379
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-20 (Wed, 20 Jun 2012)

  Changed paths:
    M src/io/api.c
    M src/io/filehandle.c
    M src/io/pipe.c
    M src/io/stringhandle.c
    M src/io/userhandle.c
    M src/pmc/filehandle.pmc
    M src/pmc/socket.pmc
    M src/runcore/cores.c

  Log Message:
  -----------
  Fixes to line-length.


  Commit: 6313ab454df77c1dfc4d27633f99c19601b2f106
      https://github.com/parrot/parrot/commit/6313ab454df77c1dfc4d27633f99c19601b2f106
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-20 (Wed, 20 Jun 2012)

  Changed paths:
    M src/io/buffer.c
    M src/io/io_private.h

  Log Message:
  -----------
  Add space between keyword and parens


  Commit: a6f2d9307ba150b3ae5eecadef9e3ae8c27c9cc3
      https://github.com/parrot/parrot/commit/a6f2d9307ba150b3ae5eecadef9e3ae8c27c9cc3
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-20 (Wed, 20 Jun 2012)

  Changed paths:
    M src/io/api.c

  Log Message:
  -----------
  Fix cuddled else


  Commit: 57417eadc46e21b7fec6aa11811aeab7160eea66
      https://github.com/parrot/parrot/commit/57417eadc46e21b7fec6aa11811aeab7160eea66
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-20 (Wed, 20 Jun 2012)

  Changed paths:
    M src/io/io_private.h

  Log Message:
  -----------
  Add necessary params in #define macro defs


  Commit: e938e70f9e6b33677ff3a8f83e242e0726f70cf6
      https://github.com/parrot/parrot/commit/e938e70f9e6b33677ff3a8f83e242e0726f70cf6
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-20 (Wed, 20 Jun 2012)

  Changed paths:
    M src/io/api.c
    M src/io/buffer.c

  Log Message:
  -----------
  Fixes to ASSERT_ARGS


  Commit: 5e00f2fd9e3a5f35a34237a916776a538bdb2566
      https://github.com/parrot/parrot/commit/5e00f2fd9e3a5f35a34237a916776a538bdb2566
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-20 (Wed, 20 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/pmc/filehandle.pmc
    M src/pmc/socket.pmc

  Log Message:
  -----------
  Remove some C++ comments. Some of these are TODO notes that still need to be addressed


  Commit: 80a0c23c83a6f061b5ca8bfbe3eed3c063f2912c
      https://github.com/parrot/parrot/commit/80a0c23c83a6f061b5ca8bfbe3eed3c063f2912c
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-24 (Sun, 24 Jun 2012)

  Changed paths:
    M docs/pdds/draft/pdd01_overview.pod
    M docs/pdds/draft/pdd05_opfunc.pod
    M docs/pdds/draft/pdd06_pasm.pod
    M docs/pdds/draft/pdd08_keys.pod
    M docs/pdds/draft/pdd13_bytecode.pod
    M docs/pdds/draft/pdd14_numbers.pod
    M docs/pdds/draft/pdd16_native_call.pod
    M docs/pdds/draft/pdd29_compiler_tools.pod
    M docs/pdds/pdd00_pdd.pod
    M docs/pdds/pdd03_calling_conventions.pod
    M docs/pdds/pdd07_codingstd.pod
    M docs/pdds/pdd09_gc.pod
    M docs/pdds/pdd10_embedding.pod
    M docs/pdds/pdd15_objects.pod
    M docs/pdds/pdd17_pmc.pod
    M docs/pdds/pdd18_security.pod
    M docs/pdds/pdd19_pir.pod
    M docs/pdds/pdd20_lexical_vars.pod
    M docs/pdds/pdd21_namespaces.pod
    M docs/pdds/pdd22_io.pod
    M docs/pdds/pdd23_exceptions.pod
    M docs/pdds/pdd24_events.pod
    M docs/pdds/pdd25_concurrency.pod
    M docs/pdds/pdd26_ast.pod
    M docs/pdds/pdd27_multiple_dispatch.pod
    M docs/pdds/pdd28_strings.pod
    M docs/pdds/pdd30_install.pod
    M docs/pdds/pdd_template.pod
    M include/parrot/parrot.h
    M src/runcore/subprof.c

  Log Message:
  -----------
  Merge branch 'master' into whiteknight/io_cleanup1


  Commit: f28a4ef6d0a917a06ccd2428de3dedc75cad46be
      https://github.com/parrot/parrot/commit/f28a4ef6d0a917a06ccd2428de3dedc75cad46be
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-24 (Sun, 24 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/buffer.c
    M src/io/filehandle.c
    M src/io/pipe.c
    M src/io/socket.c
    M src/io/stringhandle.c
    M src/io/utilities.c

  Log Message:
  -----------
  Add in a new ->set_eof function to the io_vtable. Use that to set the EOF flag at a much higher level, ignoring low-level buffer-initiated reads that pass EOF on the file descriptor.


  Commit: 9f92b2d83c95df83f9287a2146d659455b0188b5
      https://github.com/parrot/parrot/commit/9f92b2d83c95df83f9287a2146d659455b0188b5
  Author: jkeenan <jkeenan at cpan.org>
  Date:   2012-06-24 (Sun, 24 Jun 2012)

  Changed paths:
    M src/io/pipe.c
    M src/io/socket.c
    M src/io/stringhandle.c

  Log Message:
  -----------
  [codingstd] No semicolons after ASSERT_ARGS().  Add one macro; re-run headerizer. Six files still failing c_function_docs.t.


  Commit: 413ae84c91f6d560a8e7c2163653d9e1fab2cced
      https://github.com/parrot/parrot/commit/413ae84c91f6d560a8e7c2163653d9e1fab2cced
  Author: Jimmy Zhuo <zhuomingliang at yahoo.com.cn>
  Date:   2012-06-25 (Mon, 25 Jun 2012)

  Changed paths:
    M src/io/socket.c
    M src/io/stringhandle.c
    M src/pmc/handle.pmc

  Log Message:
  -----------
  fixed builds


  Commit: b4b92b9892c26af4c83ce954c8718691aa982d01
      https://github.com/parrot/parrot/commit/b4b92b9892c26af4c83ce954c8718691aa982d01
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-25 (Mon, 25 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/packfile/api.c

  Log Message:
  -----------
  Add in a function Parrot_io_get_standard_piohandle to replace the older Parrot_io_get_std_handle


  Commit: 5eee9bac9d2e99add7449e7ee7f59bdcb6a05d21
      https://github.com/parrot/parrot/commit/5eee9bac9d2e99add7449e7ee7f59bdcb6a05d21
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-25 (Mon, 25 Jun 2012)

  Changed paths:
    M src/io/api.c
    M src/io/buffer.c
    M src/io/filehandle.c
    M src/io/pipe.c
    M src/io/stringhandle.c
    M src/io/userhandle.c
    M src/pmc/filehandle.pmc
    M src/pmc/handle.pmc
    M src/pmc/socket.pmc
    M src/pmc/stringhandle.pmc

  Log Message:
  -----------
  Several build fixes for g++. kid51++ for the error report


  Commit: dc11d0d1b59c200a71ab2006cb7039f1bcbc171f
      https://github.com/parrot/parrot/commit/dc11d0d1b59c200a71ab2006cb7039f1bcbc171f
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-25 (Mon, 25 Jun 2012)

  Changed paths:
    M src/io/pipe.c
    M src/io/socket.c
    M src/io/stringhandle.c
    M src/pmc/handle.pmc

  Log Message:
  -----------
  Merge branch 'whiteknight/io_cleanup1' of github.com:parrot/parrot into whiteknight/io_cleanup1


  Commit: e85091ea0a3a8bcb9d51d96371b1695261d6098f
      https://github.com/parrot/parrot/commit/e85091ea0a3a8bcb9d51d96371b1695261d6098f
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-25 (Mon, 25 Jun 2012)

  Changed paths:
    M src/platform/generic/io.c
    M src/platform/win32/io.c

  Log Message:
  -----------
  Re-format some function-level docs so that the test recognizes that they exist


  Commit: d06de9b423a107e43925472198dad2e58fb0f08a
      https://github.com/parrot/parrot/commit/d06de9b423a107e43925472198dad2e58fb0f08a
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-25 (Mon, 25 Jun 2012)

  Changed paths:
    M src/io/userhandle.c

  Log Message:
  -----------
  Small doc fix for userhandle.c


  Commit: 2c2a61b083f2c0af372b2d18d486bf81b2ba18dc
      https://github.com/parrot/parrot/commit/2c2a61b083f2c0af372b2d18d486bf81b2ba18dc
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-25 (Mon, 25 Jun 2012)

  Changed paths:
    M src/io/api.c
    M src/io/pipe.c
    M src/io/socket.c
    M src/io/userhandle.c

  Log Message:
  -----------
  Add in the missing function-level docs. Codetest now passes


  Commit: 4408cbb7b50dd7c58f2b42ee5460b7189d312f86
      https://github.com/parrot/parrot/commit/4408cbb7b50dd7c58f2b42ee5460b7189d312f86
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-26 (Tue, 26 Jun 2012)

  Changed paths:
    M src/io/socket.c
    M src/pmc/filehandle.pmc
    M src/pmc/handle.pmc
    M src/pmc/socket.pmc
    M src/pmc/stringhandle.pmc

  Log Message:
  -----------
  Make sure Socket defaults to use the Parrot_default_encoding_ptr, like it does in master. Refactor some of the encoding logic into Handle to avoid duplication. Socket now has settable encodings. I'm still not happy with the way we store the encoding name as a string and look it up for every IO request.


  Commit: c8417326797d13a58f5c9b2f3b315e761da85e63
      https://github.com/parrot/parrot/commit/c8417326797d13a58f5c9b2f3b315e761da85e63
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-06-27 (Wed, 27 Jun 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/buffer.c
    M src/io/io_private.h
    M src/io/socket.c
    M src/io/utilities.c
    M src/pmc/handle.pmc
    M src/pmc/socket.pmc

  Log Message:
  -----------
  Introduce a new PIO_READ_SIZE_ANY flag that instructs the read path to grab a large chunk of data (CHUNK_SIZE or however much the buffer can hold).


  Commit: 9c08d450fe678ec695e58a054480811731c6ca95
      https://github.com/parrot/parrot/commit/9c08d450fe678ec695e58a054480811731c6ca95
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-07-07 (Sat, 07 Jul 2012)

  Changed paths:
    M src/io/api.c

  Log Message:
  -----------
  sun cc detected: "src/io/api.c", line 1923: void function cannot return value


  Commit: 065b5a2ee02286ae81798f2bf45725757917dabd
      https://github.com/parrot/parrot/commit/065b5a2ee02286ae81798f2bf45725757917dabd
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-07-07 (Sat, 07 Jul 2012)

  Changed paths:
    M t/codingstd/c_arg_assert.t

  Log Message:
  -----------
  skip yet unused io_userhandle vtable functions [GH #796]


  Commit: 05ee209c96d8aa21bc6ae7338e0867829dac4169
      https://github.com/parrot/parrot/commit/05ee209c96d8aa21bc6ae7338e0867829dac4169
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-07-09 (Mon, 09 Jul 2012)

  Changed paths:
    M t/pmc/filehandle.t

  Log Message:
  -----------
  [GH #797] TODO: solaris fails to set buffer_size() in branch io_cleanup1

TODO t/pmc/filehandle.t test 14 on solaris


  Commit: 96d2ffd335899a08ae2aff35d6ee5b7d870c216e
      https://github.com/parrot/parrot/commit/96d2ffd335899a08ae2aff35d6ee5b7d870c216e
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-07-09 (Mon, 09 Jul 2012)

  Changed paths:
    M src/io/api.c

  Log Message:
  -----------
  Fix typo in Parrot_io_read_byte_buffer_pmc. This typo was causing a failure found by moritz++


  Commit: e8586015f1e4583bf7cb00328954b6c5ebcab20a
      https://github.com/parrot/parrot/commit/e8586015f1e4583bf7cb00328954b6c5ebcab20a
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-07-12 (Thu, 12 Jul 2012)

  Changed paths:
    M src/io/api.c
    M src/io/buffer.c
    M src/io/utilities.c

  Log Message:
  -----------
  Some initial changes to make readline use a STRING delimiter. Not finished


  Commit: 4ab077f3c8aa7d81a885c93e1fdec0311c3b3903
      https://github.com/parrot/parrot/commit/4ab077f3c8aa7d81a885c93e1fdec0311c3b3903
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-07-18 (Wed, 18 Jul 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/buffer.c
    M src/io/io_private.h
    M src/io/utilities.c
    M src/pmc/filehandle.pmc
    M src/pmc/handle.pmc

  Log Message:
  -----------
  Start re-doing the readline logic using an arbitrary STRING delimiter. Parrot builds but fails some readline-related tests.


  Commit: 9c9daf459cbda4d06cc30d16656ffe3bc80d1af5
      https://github.com/parrot/parrot/commit/9c9daf459cbda4d06cc30d16656ffe3bc80d1af5
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-07-19 (Thu, 19 Jul 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/io/buffer.c
    M src/io/io_private.h
    M src/io/utilities.c

  Log Message:
  -----------
  readline is supposed to return the content and the delimiter, if the delimiter is found. This fixes a hanging test in t/pmc/io.t


  Commit: 6c44a3a9a8296ca34b60fafaf2d313b83ab6fddd
      https://github.com/parrot/parrot/commit/6c44a3a9a8296ca34b60fafaf2d313b83ab6fddd
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-07-20 (Fri, 20 Jul 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/buffer.c
    M src/io/utilities.c
    M src/pmc/handle.pmc
    M src/pmc/stringhandle.pmc

  Log Message:
  -----------
  Change to the readline logic, in pursuit of a permanent fix. A few other small changes


  Commit: 2a953cac16e3a42197c7114f51fc3a7d0beeb2a7
      https://github.com/parrot/parrot/commit/2a953cac16e3a42197c7114f51fc3a7d0beeb2a7
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-07-20 (Fri, 20 Jul 2012)

  Changed paths:
    M src/io/api.c
    M src/io/buffer.c
    M src/pmc/handle.pmc

  Log Message:
  -----------
  several misc build fixes. Several fixes to readline, though it's still not 100%. Now, in some tests, the last readline of a file without a trailing newline cuts off the last character. Also, some failing tests look like they're complaining about bad string encodings (which might be the same issue)


  Commit: 655a88057557a7a13176c4e4a9fb62648bcef969
      https://github.com/parrot/parrot/commit/655a88057557a7a13176c4e4a9fb62648bcef969
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-07-21 (Sat, 21 Jul 2012)

  Changed paths:
    M src/io/buffer.c

  Log Message:
  -----------
  Fix a major mistake I added in readline.

When reading from the buffer, we have to return the number of bytes up to the delimiter, not the number of characters. For multi-byte characters, readline was omitting some bytes. This fixes most remaining test failures.


  Commit: 8a10dbed83fe1d8cec78ba8820179ccc7337d34d
      https://github.com/parrot/parrot/commit/8a10dbed83fe1d8cec78ba8820179ccc7337d34d
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-07-21 (Sat, 21 Jul 2012)

  Changed paths:
    M src/io/api.c
    M src/io/buffer.c
    M src/pmc/handle.pmc

  Log Message:
  -----------
  Final fixes for readline. coretest now passes 100% again.

Fix Handle.encoding() to update the encoding of the record_separator STRING ATTR too. This prevents, for example, cases where we are trying to readline '\n' on a UTF-16 string and getting an odd number of bytes back from the buffer.


  Commit: 2f3714761f7040c3200e259356e829407f77e8a7
      https://github.com/parrot/parrot/commit/2f3714761f7040c3200e259356e829407f77e8a7
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-07-21 (Sat, 21 Jul 2012)

  Changed paths:
    M src/io/api.c

  Log Message:
  -----------
  Small codestd line-length fix


  Commit: 5105eecb38e03afb3f20668e30557a8df19ce123
      https://github.com/parrot/parrot/commit/5105eecb38e03afb3f20668e30557a8df19ce123
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-07-21 (Sat, 21 Jul 2012)

  Changed paths:
    M src/io/userhandle.c

  Log Message:
  -----------
  small codestd fix to the pod in src/io/userhandle.c. All codestd tests pass


  Commit: 7bfbee2077ad859aeaa43b71cf15f07c7a60defb
      https://github.com/parrot/parrot/commit/7bfbee2077ad859aeaa43b71cf15f07c7a60defb
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-07-22 (Sun, 22 Jul 2012)

  Changed paths:
    M src/io/api.c

  Log Message:
  -----------
  Fix so the build works again.


  Commit: bc286722d36ad05d424540c9712fe6e26fafc81a
      https://github.com/parrot/parrot/commit/bc286722d36ad05d424540c9712fe6e26fafc81a
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-07-22 (Sun, 22 Jul 2012)

  Changed paths:
    M src/pmc/handle.pmc

  Log Message:
  -----------
  Update the Handle.readline method to take an optional STRING parameter for a custom record separator, like what Socket.readline does in master (but now all Handle-derived types have it).


  Commit: 6cc0855834dc1f34c4878af5df0955774dbd2a9a
      https://github.com/parrot/parrot/commit/6cc0855834dc1f34c4878af5df0955774dbd2a9a
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-07-22 (Sun, 22 Jul 2012)

  Changed paths:
    M src/io/buffer.c

  Log Message:
  -----------
  Add a check for a non-full buffer, which might indicate no more data to be read.

This fixes the case of multiple-character readline delimiters for every ad hoc test I've been able to throw at it.


  Commit: cf8250ed9304e89a729e06d19e94cdb3d499d836
      https://github.com/parrot/parrot/commit/cf8250ed9304e89a729e06d19e94cdb3d499d836
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-07-22 (Sun, 22 Jul 2012)

  Changed paths:
    M src/io/buffer.c

  Log Message:
  -----------
  Don't prematurely determine there's not enough data to read.

If we don't have enough data to contain a full delimiter, we probably still have something to return (data after the last delimiter). This fixes one more small issue I've found in ad hoc testing.


  Commit: ff2dba3a5da0f2bc767cef648d2ebeb7a3132ea4
      https://github.com/parrot/parrot/commit/ff2dba3a5da0f2bc767cef648d2ebeb7a3132ea4
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-07-22 (Sun, 22 Jul 2012)

  Changed paths:
    M t/pmc/io.t

  Log Message:
  -----------
  Add a test for FileHandle.readline(s) with multi-character delimiter.


  Commit: 1ed29450d05b7adccb297a004f77bf7d39373d69
      https://github.com/parrot/parrot/commit/1ed29450d05b7adccb297a004f77bf7d39373d69
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-07-22 (Sun, 22 Jul 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/pmc/handle.pmc

  Log Message:
  -----------
  Verify that the record_separator is the right encoding, even if it is set after the encoding is.

Factor out some re-encoding logic into a new helper function. fix the .record_separator() method to accept strings of sizes other than 1 character


  Commit: dd4ce1b7d4ed5c8c7be149a5a4d55007bdbd1dc3
      https://github.com/parrot/parrot/commit/dd4ce1b7d4ed5c8c7be149a5a4d55007bdbd1dc3
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-02 (Thu, 02 Aug 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c
    M src/pmc/filehandle.pmc

  Log Message:
  -----------
  Add in a new Parrot_io_buffer_size legacy routine to provide a fake, backwards-compatible behavior for the FileHandle.buffer_size method, which is worthless in the new system but which does appear in some ill-conceived tests.


  Commit: 1705fc460916b65351d2d155de2eeada07f652e8
      https://github.com/parrot/parrot/commit/1705fc460916b65351d2d155de2eeada07f652e8
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-02 (Thu, 02 Aug 2012)

  Changed paths:
    M src/pmc/socket.pmc

  Log Message:
  -----------
  fix a readline-related build failure on g++. kid51++ for the catch


  Commit: 6ea7fc17841f6eb7bcdf5c805fe56b81926bc3a3
      https://github.com/parrot/parrot/commit/6ea7fc17841f6eb7bcdf5c805fe56b81926bc3a3
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-11 (Sat, 11 Aug 2012)

  Changed paths:
    M src/platform/win32/io.c

  Log Message:
  -----------
  Fix macro name for windows build


  Commit: 494ae0d2c8099d378e3da6026d3bae4c36bfd07b
      https://github.com/parrot/parrot/commit/494ae0d2c8099d378e3da6026d3bae4c36bfd07b
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-11 (Sat, 11 Aug 2012)

  Changed paths:
    M src/platform/win32/io.c

  Log Message:
  -----------
  On second thought, remove this dang macro all together.


  Commit: eabb35997fcb1aca89e4844dd5002c0ae20d7456
      https://github.com/parrot/parrot/commit/eabb35997fcb1aca89e4844dd5002c0ae20d7456
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-11 (Sat, 11 Aug 2012)

  Changed paths:
    M src/pmc/socket.pmc

  Log Message:
  -----------
  Don't mix declarations and code to fix c++ build


  Commit: a124e415d2ce26dca26e64ba10d39931a1dd3d0f
      https://github.com/parrot/parrot/commit/a124e415d2ce26dca26e64ba10d39931a1dd3d0f
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-08-14 (Tue, 14 Aug 2012)

  Changed paths:
    M t/pmc/filehandle.t

  Log Message:
  -----------
  Revert "[GH #797] TODO: solaris fails to set buffer_size() in branch io_cleanup1"

This reverts commit 05ee209c96d8aa21bc6ae7338e0867829dac4169.
Fixed with dd4ce1b7d4ed5c8c7be149a5a4d55007bdbd1dc3


  Commit: df17e9a2180121bb0bca5cbf639f076e5f329617
      https://github.com/parrot/parrot/commit/df17e9a2180121bb0bca5cbf639f076e5f329617
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-08-14 (Tue, 14 Aug 2012)

  Changed paths:
    M t/pmc/filehandle.t

  Log Message:
  -----------
  TODO t/pmc/filehandle_28.pir GH #811 Write error

Write error: No space left on device is specific to swap filesystem, which
we dont want to test here. Fails on solaris and certain macs


  Commit: 4671258915b293878a36cdab59cd19cdbe3a07cb
      https://github.com/parrot/parrot/commit/4671258915b293878a36cdab59cd19cdbe3a07cb
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-15 (Wed, 15 Aug 2012)

  Changed paths:
    M CREDITS
    M ChangeLog
    M MANIFEST
    M MANIFEST.generated
    M README.pod
    M RESPONSIBLE_PARTIES
    M VERSION
    M compilers/imcc/pbc.c
    M config/auto/platform.pm
    M config/gen/makefiles/root.in
    R docs/index/book.json
    M docs/index/index.json
    M docs/parrothist.pod
    M docs/pdds/draft/pdd13_bytecode.pod
    M docs/project/release_manager_guide.pod
    M docs/project/release_parrot_github_guide.pod
    M examples/sdl/anim_image.pir
    M examples/sdl/anim_image_dblbuf.pir
    M examples/sdl/blue_font.pir
    M examples/sdl/blue_rect.pir
    M examples/sdl/bounce_parrot_logo.pir
    M examples/sdl/minesweeper/eventhandler.pir
    M examples/sdl/minesweeper/mines.pir
    M include/parrot/compiler.h
    M include/parrot/oplib/core_ops.h
    M include/parrot/packfile.h
    M lib/Parrot/Install.pm
    M src/nci/libffi.c
    M src/ops/core_ops.c
    M src/packfile/api.c
    A src/platform/generic/cpu_type.c
    M src/platform/generic/misc.c
    A src/platform/win32/cpu_type.c
    M src/platform/win32/misc.c
    M src/pmc/packfile.pmc
    M src/pmc/packfileview.pmc
    M src/pmc/structview.pmc
    M t/codingstd/copyright.t
    M t/dynpmc/os.t
    M t/pmc/alarm.t
    M t/pmc/task.t
    M t/src/checkdepend.t
    M tools/release/parrot_github_release.pl
    M tools/release/release.json

  Log Message:
  -----------
  Merge branch 'master' into whiteknight/io_cleanup1


  Commit: 0fb668d5d06224451cd35cdf100b74ae23d9124c
      https://github.com/parrot/parrot/commit/0fb668d5d06224451cd35cdf100b74ae23d9124c
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-08-15 (Wed, 15 Aug 2012)

  Changed paths:
    M t/pmc/filehandle.t

  Log Message:
  -----------
  fix t/pmc/filehandle_12.pir: open the filehandle

multiple chars record_separator should work IMHO, but do not yet.


  Commit: 34e880a0f1804a38f2c7c2dece82ba9384859237
      https://github.com/parrot/parrot/commit/34e880a0f1804a38f2c7c2dece82ba9384859237
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-08-15 (Wed, 15 Aug 2012)

  Changed paths:
    M t/pmc/filehandle.t

  Log Message:
  -----------
  [GH #812] Test to support io multi-char record_seperator


  Commit: b6944414e015d2c04bbc1a12ce4421a52b58747d
      https://github.com/parrot/parrot/commit/b6944414e015d2c04bbc1a12ce4421a52b58747d
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-08-15 (Wed, 15 Aug 2012)

  Changed paths:
    M t/pmc/filehandle.t

  Log Message:
  -----------
  [GH #812] fix t/pmc/filehandle_12.pir


  Commit: 8812d14a0bcc135414aad79115559798a2313589
      https://github.com/parrot/parrot/commit/8812d14a0bcc135414aad79115559798a2313589
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-08-15 (Wed, 15 Aug 2012)

  Changed paths:
    M src/io/api.c

  Log Message:
  -----------
  [GH #812] use record_separator in fallback io.ops readline method also


  Commit: b1171e65414e5cca05e643c26285c62dc073c5d6
      https://github.com/parrot/parrot/commit/b1171e65414e5cca05e643c26285c62dc073c5d6
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2012-08-15 (Wed, 15 Aug 2012)

  Changed paths:
    M config/gen/makefiles/root.in

  Log Message:
  -----------
  [GH #812] Makefile add pmc/pmc_handle.h dependency to src/io/api.o

[CAGE] fixes t/src/checkdepends.t


  Commit: 6d12b98fddb26334bb63f81d3585c2835297d121
      https://github.com/parrot/parrot/commit/6d12b98fddb26334bb63f81d3585c2835297d121
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-15 (Wed, 15 Aug 2012)

  Changed paths:
    M src/pmc/stringhandle.pmc

  Log Message:
  -----------
  CONST_STRING expects a string literal, not a char literal. Whoopsies. kid51++ for the catch


  Commit: d10ef8922b9104fd974eb0193bc9424c33d9d27f
      https://github.com/parrot/parrot/commit/d10ef8922b9104fd974eb0193bc9424c33d9d27f
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-18 (Sat, 18 Aug 2012)

  Changed paths:
    M src/io/buffer.c
    M src/io/io_private.h
    M src/io/pipe.c
    M src/io/socket.c
    M src/io/stringhandle.c
    M src/io/utilities.c

  Log Message:
  -----------
  Fix several build warnings in src/io/*. Several comparisons with older datatypes expect to be non-negative so cast things to size_t explicitly. Mark a few parameters unused


  Commit: c9c0625e022aaf282e675d7e9076fcc929b3cdac
      https://github.com/parrot/parrot/commit/c9c0625e022aaf282e675d7e9076fcc929b3cdac
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-18 (Sat, 18 Aug 2012)

  Changed paths:
    M src/io/api.c
    M src/io/buffer.c
    M src/io/filehandle.c
    M src/io/io_private.h
    M src/io/pipe.c
    M src/io/socket.c
    M src/io/stringhandle.c
    M src/io/userhandle.c

  Log Message:
  -----------
  silence several errors received with g++, mostly involving IO_VTABLE initialization where we play a little bit loose with const qualifiers.


  Commit: cdd13f86a41095d0589687e05e108bcfdb559f97
      https://github.com/parrot/parrot/commit/cdd13f86a41095d0589687e05e108bcfdb559f97
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-22 (Wed, 22 Aug 2012)

  Changed paths:
    M src/pmc/handle.pmc

  Log Message:
  -----------
  Clean up some docs for Handle PMC


  Commit: a767d76c12661d449df8667ce3b4c754ab8509c8
      https://github.com/parrot/parrot/commit/a767d76c12661d449df8667ce3b4c754ab8509c8
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-22 (Wed, 22 Aug 2012)

  Changed paths:
    M CREDITS
    M ChangeLog
    M MANIFEST.generated
    M README.pod
    M VERSION
    M config/auto/warnings.pm
    M docs/parrothist.pod
    M docs/project/release_manager_guide.pod
    M include/parrot/oplib/core_ops.h
    M src/ops/core_ops.c
    M tools/release/release.json

  Log Message:
  -----------
  Merge branch 'master' into whiteknight/io_cleanup1


  Commit: 53282f3e77a18fdcb81454c1d5ffdb8c7b4a94b6
      https://github.com/parrot/parrot/commit/53282f3e77a18fdcb81454c1d5ffdb8c7b4a94b6
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-22 (Wed, 22 Aug 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/api.c

  Log Message:
  -----------
  Allow null strings in Parrot_io_reencode_string_for_handle, since we may be attempting to reencode a record_separator which hasn't been initialized yet. This fixes an issue exposed by Rosella


  Commit: e43de96fc91d01ca57f5211a951574ca40dcad22
      https://github.com/parrot/parrot/commit/e43de96fc91d01ca57f5211a951574ca40dcad22
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-25 (Sat, 25 Aug 2012)

  Changed paths:
    M src/io/buffer.c
    M src/io/utilities.c
    M src/pmc/socket.pmc

  Log Message:
  -----------
  Try to change around fill logic so that socket.readline won't hang by trying to recv too often.


  Commit: d6882a953d7e4e28db7f14bf9df73ca9d3b63ded
      https://github.com/parrot/parrot/commit/d6882a953d7e4e28db7f14bf9df73ca9d3b63ded
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-25 (Sat, 25 Aug 2012)

  Changed paths:
    M src/io/utilities.c

  Log Message:
  -----------
  When doing a read ith PIO_READ_SIZE_ANY, just dump the current contents of the buffer. Only fill the buffer if it's empty or contains less than a single codepoint.


  Commit: f0f61e4b6ee62ccf65bacf2b0154ea4f791f30d3
      https://github.com/parrot/parrot/commit/f0f61e4b6ee62ccf65bacf2b0154ea4f791f30d3
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-26 (Sun, 26 Aug 2012)

  Changed paths:
    M MANIFEST
    M compilers/imcc/debug.c
    M compilers/imcc/imcc.l
    M compilers/imcc/imclexer.c
    M config/gen/makefiles/root.in
    M ext/winxed/compiler.pir
    M include/parrot/io.h
    M include/parrot/platform_interface.h
    M src/dynext.c
    M src/dynoplibs/io.ops
    M src/gc/mark_sweep.c
    M src/interp/api.c
    M src/io/api.c
    M src/io/buffer.c
    R src/io/core.c
    M src/io/filehandle.c
    M src/io/io_private.h
    A src/io/pipe.c
    A src/io/socket.c
    R src/io/socket_api.c
    A src/io/stringhandle.c
    A src/io/userhandle.c
    A src/io/utilities.c
    M src/packfile/api.c
    M src/platform/generic/io.c
    M src/platform/generic/socket.c
    M src/platform/win32/io.c
    M src/pmc/filehandle.pmc
    M src/pmc/handle.pmc
    M src/pmc/sockaddr.pmc
    M src/pmc/socket.pmc
    M src/pmc/stringhandle.pmc
    M src/runcore/cores.c
    M t/codingstd/c_arg_assert.t
    M t/op/exceptions.t
    M t/pmc/filehandle.t
    M t/pmc/io.t
    M t/pmc/socket.t
    M t/pmc/stringhandle.t

  Log Message:
  -----------
  Merge branch 'whiteknight/io_cleanup1'


  Commit: 1cf4aa981855efcb4aea636427ed0e6184fa30bd
      https://github.com/parrot/parrot/commit/1cf4aa981855efcb4aea636427ed0e6184fa30bd
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-26 (Sun, 26 Aug 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/io_private.h

  Log Message:
  -----------
  Comments and small cleanups to .h files. No functional changes


  Commit: fe64ca27730414df56d597033ebb858c1e80ae35
      https://github.com/parrot/parrot/commit/fe64ca27730414df56d597033ebb858c1e80ae35
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-26 (Sun, 26 Aug 2012)

  Changed paths:
    M include/parrot/io.h
    M src/io/io_private.h

  Log Message:
  -----------
  Merge branch 'whiteknight/io_cleanup1'


  Commit: e493faeb70f8f407eed561fcb5c4998ccbd04a94
      https://github.com/parrot/parrot/commit/e493faeb70f8f407eed561fcb5c4998ccbd04a94
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-26 (Sun, 26 Aug 2012)

  Changed paths:
    M src/io/utilities.c

  Log Message:
  -----------
  As far as the readline engine is concerned, the buffer is effectively empty if (1) there are zero bytes in the buffer, (2) there are fewer bytes in the buffer than are in the delimiter string or (3) there are fewer bytes in the buffer than the maximum number of bytes per codepoint for the given encoding. In any of these three cases (#3 was missing), we need to make sure we fill the buffer to avoid missing characters spread across buffers. rurban++ for pointing out the issue, which has recently been exposed)


  Commit: e429be703916e514286fcff54140213ca4e2d571
      https://github.com/parrot/parrot/commit/e429be703916e514286fcff54140213ca4e2d571
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-27 (Mon, 27 Aug 2012)

  Changed paths:
    M src/io/utilities.c

  Log Message:
  -----------
  Merge branch 'whiteknight/io_cleanup1'


  Commit: 9e5cc1a279f32b2cedba56243e6ca3ac8052c0bb
      https://github.com/parrot/parrot/commit/9e5cc1a279f32b2cedba56243e6ca3ac8052c0bb
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-08-27 (Mon, 27 Aug 2012)

  Changed paths:
    M ChangeLog

  Log Message:
  -----------
  Update ChangeLog for the io_cleanup1 merge


Compare: https://github.com/parrot/parrot/compare/5b4a188ea200...9e5cc1a279f3


More information about the parrot-commits mailing list