[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ANN] Guile-DSV 0.2.1 released
From: |
Artyom Poptsov |
Subject: |
[ANN] Guile-DSV 0.2.1 released |
Date: |
Sat, 25 Nov 2017 03:44:22 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Hello Guilers,
I'm pleased to announce Guile-DSV 0.2.1:
https://github.com/artyom-poptsov/guile-dsv/releases/tag/v0.2.1
Please find the package signed with my GPG key[1] here:
- ftp://memory-heap.org/software/guile-dsv/guile-dsv-0.2.1.tar.gz
- ftp://memory-heap.org/software/guile-dsv/guile-dsv-0.2.1.tar.gz.sig
This is mainly a bugfix release: Guile-DSV now correctly handles quoted
final fields in CRLF context when RFC4180 format is parsed.
In addition, this release adds a GNU Guix recipe that allows to use the
package with Guix package manager. [2]
Thanks for all the contributions, they where very helpful. Contributors
listed in the documentation, 'AUTHORS' and 'THANKS' files included in
the distribution.
* What is Guile-SSH?
Guile-DSV is a GNU Guile module for working with the delimiter-separated
values (DSV) data format. [3]
Guile-DSV supports the classic Unix-style DSV format [4] (e.g. Unix
'/etc/passwd' uses it) and RFC 4180 [5] format (e.g. LibreOffice Calc
allows to export tables into plain text using CSV, comma separated
values format, which is a subclass of DSV.)
Guile-DSV usage examples:
(use-modules (dsv))
(car (dsv->scm (open-input-file "/etc/passwd")))
=> '("root" "x" "0" "0" "root" "/root" "/bin/bash")
(scm->dsv '(("Then I" " said:" "Hello, " "Guile " "World!")))
=> "Then I: said\::Hello, :Guile :World!"
(scm->dsv '(("Then I" " said:" "Hello, " "Guile " "World!"))
#:format 'rfc4180)
=> "Then I, said:,\"Hello, \",Guile ,World!"
* The list of user-visible changes
Here's the list of user-visible changes (an excerpt from NEWS file):
--8<---------------cut here---------------start------------->8---
* Changes in version 0.2.1 (2017-11-25)
** Add Guix package recipe
Guile-DSV now has GNU Guix <https://www.gnu.org/software/guix/> package
recipe that allows to use the package with Guix package manager.
Thanks to Alex Sassmannshausen <address@hidden> for writing the recipe.
** Bugfixes
*** RFC4180 now correctly handles quoted final fields in CRLF context
The RFC4180 parser would always fail to parse strings such as:
"test,hello,\"blah\"\r\n"
"test,hello,\"blah\"\r\nincorrect,field,parsing"
due to implementation defects. Now the parser works correctly in such
cases.
Thanks to Alex Sassmannshausen for the patches!
Reported by Alex Sassmannshausen <address@hidden> in
<https://github.com/artyom-poptsov/guile-dsv/issues/3>
--8<---------------cut here---------------end--------------->8---
Happy hacking!
- Artyom
[1] https://pgp.mit.edu/pks/lookup?search=0x0898A02F&op=index
[2] https://www.gnu.org/software/guix/
[3] https://en.wikipedia.org/wiki/Delimiter-separated_values
[4] http://www.catb.org/~esr/writings/taoup/html/ch05s02.html#id2901882
[5] https://tools.ietf.org/html/rfc4180
--
Artyom V. Poptsov <address@hidden>
Home page: http://poptsov-artyom.narod.ru/
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F
signature.asc
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [ANN] Guile-DSV 0.2.1 released,
Artyom Poptsov <=