--- a/LICENSE.markdown Wed Dec 26 23:04:51 2018 -0500
+++ b/LICENSE.markdown Mon Dec 23 15:35:28 2019 -0500
@@ -1,4 +1,4 @@
-Copyright (c) 2018 Steve Losh and contributors
+Copyright (c) 2019 Steve Losh and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
--- a/Makefile Wed Dec 26 23:04:51 2018 -0500
+++ b/Makefile Mon Dec 23 15:35:28 2019 -0500
@@ -34,7 +34,7 @@
# docs: docs/build/index.html
# pubdocs: docs
-# hg -R ~/src/sjl.bitbucket.org pull -u
-# rsync --delete -a ./docs/build/ ~/src/sjl.bitbucket.org/conserve
-# hg -R ~/src/sjl.bitbucket.org commit -Am 'conserve: Update site.'
-# hg -R ~/src/sjl.bitbucket.org push
+# hg -R ~/src/docs.stevelosh.com pull -u
+# rsync --delete -a ./docs/build/ ~/src/docs.stevelosh.com/conserve
+# hg -R ~/src/docs.stevelosh.com commit -Am 'conserve: Update site.'
+# hg -R ~/src/docs.stevelosh.com push
--- a/README.markdown Wed Dec 26 23:04:51 2018 -0500
+++ b/README.markdown Mon Dec 23 15:35:28 2019 -0500
@@ -7,6 +7,6 @@
18.04.
* **License:** MIT/X11
-* **Documentation:** <https://sjl.bitbucket.io/conserve/>
-* **Mercurial:** <https://bitbucket.org/sjl/conserve/>
+* **Documentation:** <https://docs.stevelosh.com/conserve/>
+* **Mercurial:** <https://hg.sr.ht/~sjl/conserve/>
* **Git:** <https://github.com/sjl/conserve/>
--- a/conserve.asd Wed Dec 26 23:04:51 2018 -0500
+++ b/conserve.asd Mon Dec 23 15:35:28 2019 -0500
@@ -2,7 +2,7 @@
:description "Yet Another CSV Library for Common Lisp."
:author "Steve Losh <steve@stevelosh.com>"
- :homepage "https://sjl.bitbucket.io/conserve/"
+ :homepage "https://docs.stevelosh.com/conserve/"
:license "MIT/X11"
:version "0.0.1"
@@ -11,9 +11,9 @@
:in-order-to ((asdf:test-op (asdf:test-op :conserve/test)))
:serial t
- :components ((:file "package")
- (:module "src" :serial t :components
- ((:file "main")))))
+ :components ((:module "src" :serial t :components
+ ((:file "package")
+ (:file "main")))))
(asdf:defsystem :conserve/test
:description
@@ -26,9 +26,10 @@
:depends-on (:conserve :1am :cl-csv :fare-csv)
:serial t
- :components ((:file "package.test")
- (:module "test" :serial t :components
- ((:file "tests"))))
+ :components ((:module "test" :serial t :components
+ ((:file "package.test")
+ (:file "tests"))))
+
:perform (asdf:test-op (op system)
(funcall (read-from-string "conserve/test:run-tests"))))
--- a/package.lisp Wed Dec 26 23:04:51 2018 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-(defpackage :conserve
- (:use :cl)
- (:export
- :*delimiter*
- :read-row
- :read-rows
- :write-row
- :write-rows))
--- a/package.test.lisp Wed Dec 26 23:04:51 2018 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-(defpackage :conserve/test
- (:use :cl :1am :conserve)
- (:export :run-tests))
--- a/src/main.lisp Wed Dec 26 23:04:51 2018 -0500
+++ b/src/main.lisp Mon Dec 23 15:35:28 2019 -0500
@@ -109,7 +109,7 @@
(&optional (stream-or-string *standard-input*) (eof-error-p t) eof-value)
"Read and return a row of fields from the CSV data in `stream-or-string`.
- The result will be completely fresh.
+ The result will be a fresh list.
If the end of file for the stream is encountered immediately, an error is
signaled unless `eof-error-p` is false, in which case `eof-value` is returned.
@@ -124,7 +124,7 @@
(defun read-rows (&optional (stream-or-string *standard-input*))
"Read and return all CSV rows from the CSV data in `stream-or-string`.
- The result will be completely fresh.
+ The result will be a completely fresh list of lists.
"
(check-delimiter)
@@ -160,6 +160,8 @@
(defun write-row (row &optional (stream *standard-output*))
"Write `row` to `stream` as CSV data.
+ `row` must be a list of strings.
+
If `stream` is `nil`, the data will be returned as a fresh string instead.
"
@@ -173,6 +175,9 @@
(defun write-rows (rows &optional (stream *standard-output*))
"Write `rows` to `stream` as CSV data.
+ `rows` must be a list of lists of strings. The consequences are undefined if
+ all the rows do not have the same number of fields.
+
If `stream` is `nil`, the data will be returned as a fresh string instead.
"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/package.lisp Mon Dec 23 15:35:28 2019 -0500
@@ -0,0 +1,8 @@
+(defpackage :conserve
+ (:use :cl)
+ (:export
+ :*delimiter*
+ :read-row
+ :read-rows
+ :write-row
+ :write-rows))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/package.lisp Mon Dec 23 15:35:28 2019 -0500
@@ -0,0 +1,3 @@
+(defpackage :conserve/test
+ (:use :cl :1am :conserve)
+ (:export :run-tests))