unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* Guile 1.7.1 has been released.
@ 2004-08-26 23:02 Marius Vollmer
  2004-08-27 22:57 ` Jonathan Bartlett
  2004-08-28 21:35 ` Michael Tuexen
  0 siblings, 2 replies; 5+ messages in thread
From: Marius Vollmer @ 2004-08-26 23:02 UTC (permalink / raw)


We are pleased to announce the release of Guile 1.7.1.  This is a
'technology preview' for the upcoming Guile 1.8.  It can be found
here:

    ftp://alpha.gnu.org/gnu/guile/guile-1.7.1.tar.gz

Its MD5 checksum is

    21c9f4061166900d2926955ade0ef5cc  guile-1.7.1.tar.gz

This version is guaranteed to contain serious bugs, and the publically
visible interfaces will almost certainly change before 1.8 is
released.  The 1.7 releases might be termed "selected snapshots".

We are releasing it anyway to start testing the new features, and to
get feedback about how difficult or tedious it is to switch from Guile
1.6 to this series.

Ideally, you should be able to just link your program with Guile 1.7.1
instead of with Guile 1.6.x.  You will get many warnings about
deprecated features, but your program should nevertheless run
correctly.  If you find that this is not the case (which is quite
likely) please do not change your program yet.  Instead, report the
problem to <bug-guile@gnu.org>.

The shared library major versions have been bumped compared to the 1.6
series, but they will not be bumped on binary incompatible changes
within the 1.7 series.


The NEWS file is quite long.  Here are the most spectacular entries in
a condensed form:

  Changes since the 1.6.x series:

  - Guile is now licensed with the GNU Lesser General Public License.

  - The manual is now licensed with the GNU Free Documentation License.

  - We now use GNU MP for bignums.

  - We now use native POSIX threads for real concurrent threads.

  - There is now support for copy-on-write substrings and
    mutation-sharing substrings.

  - We now have exact rationals, such as 1/3.

  - A new family of functions for converting between C values and
    Scheme values has been added that is future-proof and thread-safe.

  - The INUM macros like SCM_MAKINUM have been deprecated.

  - The macros SCM_STRINGP, SCM_STRING_CHARS, SCM_STRING_LENGTH,
    SCM_SYMBOL_CHARS, and SCM_SYMBOL_LENGTH have been deprecated.

  - There is a new way to deal with non-local exits and re-entries in
    C code, which is nicer than scm_internal_dynamic_wind.

  - There are new malloc-like functions that work better than
    scm_must_malloc, etc.

and most importantly

  - call-with-current-continuation is now also available under the name
    call/cc.

See NEWS and the manual for more details.

-- 
GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3  331E FAF8 226A D5D4 E405


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Guile 1.7.1 has been released.
  2004-08-26 23:02 Guile 1.7.1 has been released Marius Vollmer
@ 2004-08-27 22:57 ` Jonathan Bartlett
  2004-08-28 21:35 ` Michael Tuexen
  1 sibling, 0 replies; 5+ messages in thread
From: Jonathan Bartlett @ 2004-08-27 22:57 UTC (permalink / raw)
  Cc: guile-devel

A few questions:

I haven't hacked on guile in a while, so forgive me.  I am going to get a
little bit of time soon, and was wondering:

 * Has anyone worked on dump/undump for GUILE?  I received some
guile-unexec code from someone a while back, and just wanted to make sure
noone else implemented it before I got started.

 * Have you all abandoned your ideal for having GUILE be a "universal
interpretter" and having numerous sublanguages parse into scheme?  If not,
do you have a link to the API/command-line switches for this?

I figure if you are working on releasing a new development branch, now is
as good a time as any to put some work in.

Thanks!

Jonathan Bartlett



_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Guile 1.7.1 has been released.
  2004-08-26 23:02 Guile 1.7.1 has been released Marius Vollmer
  2004-08-27 22:57 ` Jonathan Bartlett
@ 2004-08-28 21:35 ` Michael Tuexen
  2004-08-29  9:23   ` Andreas Vögele
  1 sibling, 1 reply; 5+ messages in thread
From: Michael Tuexen @ 2004-08-28 21:35 UTC (permalink / raw)
  Cc: guile-user, guile-devel

Hi Marius,

I tried to compile it on Mac OS X, but the following comes up:

if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. 
-I.. -I.. -I../libguile-ltdl    -g -O2 -Wall -Wmissing-prototypes 
-Werror -MT srfi-13.lo -MD -MP -MF ".deps/srfi-13.Tpo" -c -o srfi-13.lo 
srfi-13.c; \
then mv -f ".deps/srfi-13.Tpo" ".deps/srfi-13.Plo"; else rm -f 
".deps/srfi-13.Tpo"; exit 1; fi
  gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I.. -I../libguile-ltdl -g -O2 
-Wall -Wmissing-prototypes -Werror -MT srfi-13.lo -MD -MP -MF 
.deps/srfi-13.Tpo -c srfi-13.c  -fno-common -DPIC -o .libs/srfi-13.o
srfi-13.c: In function `scm_string_trim_right':
srfi-13.c:771: warning: passing arg 3 of `scm_i_get_substring_spec' 
from incompatible pointer type
srfi-13.c:771: warning: passing arg 5 of `scm_i_get_substring_spec' 
from incompatible pointer type
srfi-13.c: In function `scm_string_xcopy_x':
srfi-13.c:3067: warning: passing arg 5 of `scm_i_get_substring_spec' 
from incompatible pointer type
make[2]: *** [srfi-13.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Best regards
Michael

On 27. Aug 2004, at 1:02 Uhr, Marius Vollmer wrote:

> We are pleased to announce the release of Guile 1.7.1.  This is a
> 'technology preview' for the upcoming Guile 1.8.  It can be found
> here:
>
>     ftp://alpha.gnu.org/gnu/guile/guile-1.7.1.tar.gz
>
> Its MD5 checksum is
>
>     21c9f4061166900d2926955ade0ef5cc  guile-1.7.1.tar.gz
>
> This version is guaranteed to contain serious bugs, and the publically
> visible interfaces will almost certainly change before 1.8 is
> released.  The 1.7 releases might be termed "selected snapshots".
>
> We are releasing it anyway to start testing the new features, and to
> get feedback about how difficult or tedious it is to switch from Guile
> 1.6 to this series.
>
> Ideally, you should be able to just link your program with Guile 1.7.1
> instead of with Guile 1.6.x.  You will get many warnings about
> deprecated features, but your program should nevertheless run
> correctly.  If you find that this is not the case (which is quite
> likely) please do not change your program yet.  Instead, report the
> problem to <bug-guile@gnu.org>.
>
> The shared library major versions have been bumped compared to the 1.6
> series, but they will not be bumped on binary incompatible changes
> within the 1.7 series.
>
>
> The NEWS file is quite long.  Here are the most spectacular entries in
> a condensed form:
>
>   Changes since the 1.6.x series:
>
>   - Guile is now licensed with the GNU Lesser General Public License.
>
>   - The manual is now licensed with the GNU Free Documentation License.
>
>   - We now use GNU MP for bignums.
>
>   - We now use native POSIX threads for real concurrent threads.
>
>   - There is now support for copy-on-write substrings and
>     mutation-sharing substrings.
>
>   - We now have exact rationals, such as 1/3.
>
>   - A new family of functions for converting between C values and
>     Scheme values has been added that is future-proof and thread-safe.
>
>   - The INUM macros like SCM_MAKINUM have been deprecated.
>
>   - The macros SCM_STRINGP, SCM_STRING_CHARS, SCM_STRING_LENGTH,
>     SCM_SYMBOL_CHARS, and SCM_SYMBOL_LENGTH have been deprecated.
>
>   - There is a new way to deal with non-local exits and re-entries in
>     C code, which is nicer than scm_internal_dynamic_wind.
>
>   - There are new malloc-like functions that work better than
>     scm_must_malloc, etc.
>
> and most importantly
>
>   - call-with-current-continuation is now also available under the name
>     call/cc.
>
> See NEWS and the manual for more details.
>
> -- 
> GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3  331E FAF8 226A D5D4 E405
>
>
> _______________________________________________
> Guile-devel mailing list
> Guile-devel@gnu.org
> http://lists.gnu.org/mailman/listinfo/guile-devel
>



_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Guile 1.7.1 has been released.
  2004-08-28 21:35 ` Michael Tuexen
@ 2004-08-29  9:23   ` Andreas Vögele
  2004-09-20 22:53     ` Marius Vollmer
  0 siblings, 1 reply; 5+ messages in thread
From: Andreas Vögele @ 2004-08-29  9:23 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 887 bytes --]

Michael Tuexen writes:

> Hi Marius,
>
> I tried to compile it on Mac OS X, but the following comes up: [...]
>
> srfi-13.c: In function `scm_string_trim_right':
> srfi-13.c:771: warning: passing arg 3 of `scm_i_get_substring_spec'
> from incompatible pointer type

I've attached a patch that replaces the remaining occurrences of int in 
srfi-13.c with size_t. In addition to these replacements, the function 
string_reverse_x() makes sure that the variable cend is only 
decremented if it's value is greater than zero.

One thing that I noted is that the variable cfrom in scm_xsubstring() 
and the variable csfrom in scm_string_xcopy_x() are of type size_t but 
that they are checked for negative values:

int t = ((cfrom < 0) ? -cfrom : cfrom) % (cend - cstart);
if (cfrom < 0)
....

I've tested this patch on Mac OS X and OpenBSD.

BTW, do you prefer included or attached patches?


[-- Attachment #2: srfi-13.c.diff --]
[-- Type: application/octet-stream, Size: 3832 bytes --]

Index: libguile/srfi-13.c
===================================================================
RCS file: /cvsroot/guile/guile/guile-core/libguile/srfi-13.c,v
retrieving revision 1.3
diff -u -r1.3 srfi-13.c
--- libguile/srfi-13.c	25 Aug 2004 16:04:09 -0000	1.3
+++ libguile/srfi-13.c	29 Aug 2004 09:12:07 -0000
@@ -106,7 +106,7 @@
     }
   else if (SCM_CHARSETP (char_pred))
     {
-      int i;
+      size_t i;
       for (i = cstart; i < cend; i++)
         if (SCM_CHARSET_GET (char_pred, cstr[i]))
 	  {
@@ -163,7 +163,7 @@
   if (SCM_CHARP (char_pred))
     {
       char cchr = SCM_CHAR (char_pred);
-      int i;
+      size_t i;
       for (i = cstart; i < cend; i++)
         if (cstr[i] != cchr)
 	  {
@@ -173,7 +173,7 @@
     }
   else if (SCM_CHARSETP (char_pred))
     {
-      int i;
+      size_t i;
       for (i = cstart; i < cend; i++)
         if (!SCM_CHARSET_GET (char_pred, cstr[i]))
 	  {
@@ -225,7 +225,7 @@
       /* The RES string remains untouched since nobody knows about it
 	 yet. No need to refetch P.
       */
-      ch = scm_call_1 (proc, scm_from_int (i));
+      ch = scm_call_1 (proc, scm_from_size_t (i));
       if (!SCM_CHARP (ch))
 	SCM_MISC_ERROR ("procedure ~S returned non-char", scm_list_1 (proc));
       *p++ = SCM_CHAR (ch);
@@ -764,7 +764,7 @@
 #define FUNC_NAME s_scm_string_trim_right
 {
   const char *cstr;
-  int cstart, cend;
+  size_t cstart, cend;
 
   MY_VALIDATE_SUBSTRING_SPEC_COPY (1, s, cstr,
 				   3, start, cstart,
@@ -2326,7 +2326,7 @@
 /* Helper function for the string uppercase conversion functions.
  * No argument checking is performed.  */
 static SCM
-string_upcase_x (SCM v, int start, int end)
+string_upcase_x (SCM v, size_t start, size_t end)
 {
   size_t k;
   char *dst;
@@ -2392,7 +2392,7 @@
 /* Helper function for the string lowercase conversion functions.
  * No argument checking is performed.  */
 static SCM
-string_downcase_x (SCM v, int start, int end)
+string_downcase_x (SCM v, size_t start, size_t end)
 {
   size_t k;
   char *dst;
@@ -2460,7 +2460,7 @@
 /* Helper function for the string capitalization functions.
  * No argument checking is performed.  */
 static SCM
-string_titlecase_x (SCM str, int start, int end)
+string_titlecase_x (SCM str, size_t start, size_t end)
 {
   unsigned char *sz;
   size_t i;
@@ -2555,18 +2555,21 @@
 /* Reverse the portion of @var{str} between str[cstart] (including)
    and str[cend] excluding.  */
 static void
-string_reverse_x (char * str, int cstart, int cend)
+string_reverse_x (char * str, size_t cstart, size_t cend)
 {
   char tmp;
 
-  cend--;
-  while (cstart < cend)
+  if (cend > 0)
     {
-      tmp = str[cstart];
-      str[cstart] = str[cend];
-      str[cend] = tmp;
-      cstart++;
       cend--;
+      while (cstart < cend)
+	{
+	  tmp = str[cstart];
+	  str[cstart] = str[cend];
+	  str[cend] = tmp;
+	  cstart++;
+	  cend--;
+	}
     }
 }
 
@@ -3032,7 +3035,7 @@
   cs = scm_i_string_chars (s);
   while (cfrom < cto)
     {
-      int t = ((cfrom < 0) ? -cfrom : cfrom) % (cend - cstart);
+      size_t t = ((cfrom < 0) ? -cfrom : cfrom) % (cend - cstart);
       if (cfrom < 0)
 	*p = cs[(cend - cstart) - t];
       else
@@ -3060,7 +3063,7 @@
   const char *cs;
   size_t ctstart, csfrom, csto, cstart, cend;
   SCM dummy = SCM_UNDEFINED;
-  int cdummy;
+  size_t cdummy;
 
   MY_VALIDATE_SUBSTRING_SPEC (1, target,
 			      2, tstart, ctstart,
@@ -3082,7 +3085,7 @@
   cs = scm_i_string_chars (s);
   while (csfrom < csto)
     {
-      int t = ((csfrom < 0) ? -csfrom : csfrom) % (cend - cstart);
+      size_t t = ((csfrom < 0) ? -csfrom : csfrom) % (cend - cstart);
       if (csfrom < 0)
 	*p = cs[(cend - cstart) - t];
       else
@@ -3155,7 +3158,7 @@
 
   if (SCM_CHARSETP (token_set))
     {
-      int idx;
+      size_t idx;
 
       while (cstart < cend)
 	{

[-- Attachment #3: Type: text/plain, Size: 140 bytes --]

_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Guile 1.7.1 has been released.
  2004-08-29  9:23   ` Andreas Vögele
@ 2004-09-20 22:53     ` Marius Vollmer
  0 siblings, 0 replies; 5+ messages in thread
From: Marius Vollmer @ 2004-09-20 22:53 UTC (permalink / raw)
  Cc: guile-user, guile-devel

Andreas Vögele <voegelas@gmx.net> writes:

> I've attached a patch that replaces the remaining occurrences of int
> in srfi-13.c with size_t. In addition to these replacements, the
> function string_reverse_x() makes sure that the variable cend is only
> decremented if it's value is greater than zero.

Thanks, applied!

> One thing that I noted is that the variable cfrom in scm_xsubstring()
> and the variable csfrom in scm_string_xcopy_x() are of type size_t but
> that they are checked for negative values:

Yes, I changed them to be ints.  The 'extended' indices can be
negative.  Of course, the could also be bignums...

> BTW, do you prefer included or attached patches?

Either way is fine with me.  For attached patches, using text/plain or
text/x-patch as the content-type makes it simpler to view it.

Also, and more importantly, inculding a ChangeLog entry is very
helpful.

-- 
GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3  331E FAF8 226A D5D4 E405


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2004-09-20 22:53 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-08-26 23:02 Guile 1.7.1 has been released Marius Vollmer
2004-08-27 22:57 ` Jonathan Bartlett
2004-08-28 21:35 ` Michael Tuexen
2004-08-29  9:23   ` Andreas Vögele
2004-09-20 22:53     ` Marius Vollmer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).