Grip version 0.2.0 is released.
Here is a summary of the changes since version 0.1.2. See
Grip git summary and git log for a complete description:
Installation location changes
The default and --prefix installation locations
for source modules and compiled files has been changed, and, in the
absence of the new configure option described below, are now:
In the above, $(datadir) is substituted to the
default /usr/local/share or /your/prefix/share and $(libdir) is substituted to /usr/local/lib or /your/prefix/lib, when/if --prefix was passed.
$(GUILE_EFFECTIVE_VERSION) is substituted to the
stable version number with which Grip is being compile, for example, 2.2
This change makes Grip compatible with the GNU
Coding Standards, but it also implies that, unless you use the new
configure option describe below, you will have to augment both Guile's
variables %load-path and %load-compiled-path, respectively, with
the two (substituted) paths described above, so that Guile finds Grip's
installed source modules and compiled files (see Grip's installation 'Notes' for more on this).
New configure option
The configure option --with-guile-site has been added, used
to explicitly ask Grip's source modules and compiled files to be
installed using Guile's global site and site-ccache directories
respectively (see Grip's installation 'Notes' for more on this).
It will only be honored if (and only if) it is passed as:
- [ in this case, there is obviously no need to augment Guile's
- [ variables %load-path and %load-compiled-path
Module name changes
A few modules were having their name using plural, such as dates,
strings, ... I decided to rename these using singular. A few have been
renamed, such as fs-ops -> file. Here is list of these module name
changes, the name on the left is the new module name:
- (grip module) <- (grip reexport)
- (grip optargs) <- (grip keywords)
- (grip date) <- (grip dates)
- (grip file) <- (grip fs-ops)
- (grip list) <- (grip lists)
- (grip regex) <- (grip regexp)
- (grip string) <- (grip strings)
- (grip latex) <- (grip tex-utils)
- (grip queue) <- (grip push)
- (grip iter) <- (grip do)
- (grip angle) <- (grip nbs pi)
- (grip float <- (grip nbs fp)
- (grip gnome color) <- (grip gnome colours)
- (grip gnome mdialog) <- (grip gnome mdialogs)
- (grip clutter color) <- (grip clutter colours)
- (grip db filter) <- (grip db filters)
- (grip number hex) <- (grip nbs hex)
- (grip number nb2str) <- (grip nbs nb2str)
- (grip number str2nb) <- (grip nbs str2nb)
- (grip number) <- (grip nbs)
The following procedures have been renamed, and their
interface has sometimes also changed (see the reference manual, also
available online). The name on the left is the new interface name:
both the two arguments and the two returned values have
been inverted: the first returned value is now the list of keyword
arguments listed in KEYWORDS (which is now the first argument of the
procedure), followed by the list of all other arguments.
- list-replace-all <- list-replace
- string-replace-all <- str/replace-all
- string-escape-sql <- str/prep-str-for-sql
- string-escape-filename <- str/prep-str-for-fs
- string-tokens <- str/get-tokens
- string-contains-ixs <- str/contains?
- string-span <- str/span
- string-read <- str/read
- float-zero? <- fp/zero?
- float=? <- fp/=?
- float<? <- fp/<?
- float>? <- fp/>?
- float-round <- fp/round
Till now, Grip documentation was just a mock-up. There
still is quite a lot to do - along with reviewing/rewriting grip's
modules) - but the good news are I started to work on it.
The following modules are now fully documented:
- (grip module)
- (grip goops)
- (grip optargs)
- (grip list)
- (grip string)
- (grip queue)
- (grip store)
- (grip iter)
- (grip angle)
- (grip float)
- (grip xft)
- (grip utils)
The reference manual is now available online.
- There was a bug in str/replace-all, that would produce
wrong results if the str argument would contain valid regexp
characters. This has been fixed in string-replace-all.