Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Jan 15, 2015
  1. @bobbysmith007

    added bug18 test file

    bobbysmith007 authored
Commits on Jan 14, 2015
  1. @bobbysmith007

    fix bugs in csv parser related to empty lines in the input.

    bobbysmith007 authored
    The solution was to account for the empty lines in handle-char instead
    of reinserting the same character and never advancing.  Unfortunately
    I needed to add a block in order to make the return value correct,
    which makes the relatively simple diff hard to read.
    
    Readline if needed changed from `(= i llen)` to `(>= i llen)` which
    prevents heap overflows if our logic is otherwise wrong.
    
    I added this cond to handle-character to prevent it from reinserting the
    previous character in the case of empty lines of input.
    
    ;; read an empty line, next iteration
    `((and
       (member state '(:collecting :collecting-quoted))
       (= i llen 0))
     nil)`
    
    re AccelerationNet/cl-csv#18
Commits on Jul 22, 2014
  1. @bobbysmith007

    added missing test file

    bobbysmith007 authored
  2. @bobbysmith007

    Added `*escape-mode*` to control how the escaping process works

    bobbysmith007 authored
    the options are:
       :quote which replaces the entire escape sequence with a quote.
       :following reads the character after the escape sequence verbatim
    
    fix AccelerationNet/cl-csv#17
Commits on Feb 4, 2014
  1. @bobbysmith007
  2. @bobbysmith007
Commits on Feb 3, 2014
  1. @bobbysmith007
  2. @bobbysmith007
  3. @bobbysmith007

    Use read-line if we can, otherwise use read-into-buffer-until

    bobbysmith007 authored
     * Handle newlines that span buffers
     * removed sbcl specific fast-read-until (too complex and used private
       stuff)
Commits on Jan 31, 2014
  1. @bobbysmith007

    merged master changes

    bobbysmith007 authored
Commits on Jan 29, 2014
  1. @bobbysmith007

    Better handling of early EOF signals

    bobbysmith007 authored
     * dont handle it if the parser has not started (eg: EOF on first read)
     * if its a parse error signal such correctly with a finish-item restart
    
    github issue: Fix #14
Commits on Jan 16, 2014
  1. @bobbysmith007

    tried copying SBCLs "fast" implentation of readline (which is a branch

    bobbysmith007 authored
    inside of READLINE)
    
    This seems to be using rewindable streams and buffers to make readline
    faster than read until, I was hoping that by using this implementation
    I could see the same performance, but for whatever reason this seems
    twice as slow :/
    
    re #13
    
    Programming:#310 (1.25)
  2. @bobbysmith007
  3. @bobbysmith007

    optimized read-into-buffer-until, added test to check its speed

    bobbysmith007 authored
    against: read-line & read-sequence
    
    Its currently twice as slow as read-line and 3 times slower than
    read-sequence.
    
    re #13
    
    Time on yesterdays commit didnt go through because I fumbled the
    ticket number
    re Programming:#310 (4)
Commits on Jan 15, 2014
  1. @bobbysmith007

    tried a read-into-buffer-until parsing strategy, but it seems slower …

    bobbysmith007 authored
    …than read-until :/
    
    re #13
    re Programming:#1201 (3)
  2. @bobbysmith007

    Replaced read-line with a read-until implementation to allow arbitrary

    bobbysmith007 authored
    row-separators
    
    Thanks Dimitri Fontaine, dimitri@github
Commits on Jan 7, 2014
  1. @bobbysmith007
Commits on Jan 6, 2014
  1. @bobbysmith007
  2. @bobbysmith007

    further work on whitespace trimming and nilling to allow maximal

    bobbysmith007 authored
    control
    
    AcclerationNet/cl-csv#12
Commits on Jan 1, 2014
  1. @bobbysmith007

    Added :empty-string-is-nil / *empty-string-is-nil* to control whether

    bobbysmith007 authored
    or not empty strings are returned as empty string or nil
    
    This was suggested by #lisp/dim (thanks dimitri)
    
    I am not sure why this couldnt be done as a pass after the fact, but
    its pretty unobtrusive, so I added it.
    
    fix AcclerationNet/cl-csv#12
Commits on Dec 27, 2013
  1. @bobbysmith007
  2. @bobbysmith007
Commits on Mar 19, 2013
  1. @bobbysmith007
Commits on Mar 18, 2013
  1. @bobbysmith007
Commits on Jan 3, 2013
  1. @ryepup

    add an in-csv iterate driver clause for reading CSV contents

    ryepup authored
    Can now read a CSV using a syntax like:
    
    {{{#!lisp
    
    (iter
      (for (col1 col2 col3) in-csv #P"file.csv"
           ;; optional settings to configure the read
           SKIPPING-HEADER T SEPARATOR #\| QUOTE #\" ESCAPED-QUOTE "\"\"")
      (break "look at my columns" col1 col2 col3))
    
    }}}
    
    Had to reproduce the logic from `with-csv-input-stream` inside the
    iterate clause to get the expansion to work right, using `iterate`'s
    `finally-protected` clause to be sure we clean up after ourselves.
    
    Might be able to simplify a lot of this lib by using that as the main
    driver.
    
    refs Programming:#310 (1.5)
Commits on Sep 28, 2012
  1. @bobbysmith007
Commits on Jul 30, 2012
  1. @bobbysmith007

    new-lines in data should always be quoted

    bobbysmith007 authored
     * wrote tests showing where they were not
     * new code to make these now failing tests pass
Commits on Feb 2, 2012
  1. @bobbysmith007

    added a speed test file I had sitting around. Not including in an asd…

    bobbysmith007 authored
    …, but is probably worth playing with when making comparisons
Commits on Jan 27, 2012
  1. @felideon
Commits on Oct 24, 2011
  1. @bobbysmith007

    added *always-quote* (default nil) to determine whether when writing

    bobbysmith007 authored
    csv-rows we should ALWAYS quote, or only when necessary
    
    Also adjusted key-param definitions to match read-csv (rebinding
    *vars* instead of local vars)
    
    Changed tests to test new feature and account for the new var
Commits on Sep 7, 2011
  1. @bobbysmith007

    added multiline test

    bobbysmith007 authored
Commits on Aug 26, 2011
  1. @bobbysmith007
Commits on Jul 8, 2011
  1. @bobbysmith007
  2. @bobbysmith007
Commits on Jul 6, 2011
  1. @bobbysmith007
Something went wrong with that request. Please try again.