guile-user
[Top][All Lists]
Advanced

[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

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]