Commit 04a45e41 authored by Kevin Cozens's avatar Kevin Cozens

Minor changes to quiet the compiler.


	* plug-ins/script-fu/re/re.c: Minor changes to quiet the compiler.

	* plug-ins/script-fu/tinyscheme/CHANGES: Updated to version from
	the 1.38 version of TinyScheme.

	* plug-ins/script-fu/tinyscheme/scheme.c: Added some changes from the
	1.38 version of TinyScheme. Added fix for bug #1589701 (reported on
	SourceForge.net).

	* plug-ins/script-fu/tinyscheme/scheme.h: Added a prototype to quiet
	the compiler. Added one change from the 1.38 version of TinyScheme.
parent 6ded475a
2006-12-07 Kevin Cozens <kcozens@cvs.gnome.org>
* plug-ins/script-fu/re/re.c: Minor changes to quiet the compiler.
* plug-ins/script-fu/tinyscheme/CHANGES: Updated to version from
the 1.38 version of TinyScheme.
* plug-ins/script-fu/tinyscheme/scheme.c: Added some changes from the
1.38 version of TinyScheme. Added fix for bug #1589701 (reported on
SourceForge.net).
* plug-ins/script-fu/tinyscheme/scheme.h: Added a prototype to quiet
the compiler. Added one change from the 1.38 version of TinyScheme.
2006-12-07 Michael Natterer <mitch@gimp.org>
* app/core/gimpbrush.c (gimp_brush_class_init)
......
......@@ -14,6 +14,10 @@
/* Since not exported */
#define T_STRING 1
pointer foreign_re_match(scheme *sc, pointer args);
EXPORT void init_re(scheme *sc);
static void set_vector_elem(pointer vec, int ielem, pointer newel) {
int n=ielem/2;
if(ielem%2==0) {
......@@ -34,7 +38,7 @@ pointer foreign_re_match(scheme *sc, pointer args) {
int num=0;
if(!((args != sc->NIL) && sc->vptr->is_string((first_arg = sc->vptr->pair_car(args)))
&& (args=sc->vptr->pair_cdr(args))
&& (args=sc->vptr->pair_cdr(args))
&& sc->vptr->is_pair(args) && sc->vptr->is_string((second_arg = sc->vptr->pair_car(args))))) {
return sc->F;
}
......@@ -49,12 +53,12 @@ pointer foreign_re_match(scheme *sc, pointer args) {
num=third_arg->_object._number.value.ivalue;
}
}
if(regcomp(&rt,pattern,REG_EXTENDED)!=0) {
return sc->F;
}
}
if(num==0) {
retcode=regexec(&rt,string,0,0,0);
} else {
......@@ -62,14 +66,13 @@ pointer foreign_re_match(scheme *sc, pointer args) {
if(pmatch!=0) {
retcode=regexec(&rt,string,num+1,pmatch,0);
if(retcode==0) {
int i;
for(i=0; i<num; i++) {
#undef cons
set_vector_elem(third_arg, i,
sc->vptr->cons(sc, sc->vptr->mk_integer(sc, pmatch[i].rm_so),
sc->vptr->mk_integer(sc, pmatch[i].rm_eo)));
}
int i;
for(i=0; i<num; i++) {
#undef cons
set_vector_elem(third_arg, i,
sc->vptr->cons(sc, sc->vptr->mk_integer(sc, pmatch[i].rm_so),
sc->vptr->mk_integer(sc, pmatch[i].rm_eo)));
}
}
free(pmatch);
} else {
......@@ -77,19 +80,20 @@ pointer foreign_re_match(scheme *sc, pointer args) {
retcode=-1;
}
}
if(retcode==0) {
retval=sc->T;
}
regfree(&rt);
return(retval);
}
#if 0
static char* utilities=";; return the substring of STRING matched in MATCH-VECTOR, \n"
";; the Nth subexpression match (default 0).\n"
"(define (re-match-nth string match-vector . n)\n"
"(define (re-match-nth string match-vector . n)\n"
" (let ((n (if (pair? n) (car n) 0)))\n"
" (substring string (car (vector-ref match-vector n))\n"
" (cdr (vector-ref match-vector n)))))\n"
......@@ -100,8 +104,9 @@ static char* utilities=";; return the substring of STRING matched in MATCH-VECTO
" (let ((n (if (pair? n) (car n) 0)))\n"
" (substring string (cdr (vector-ref match-vector n))\n"
" (string-length string))))\n";
#endif
EXPORT void init_re(scheme *sc) {
void init_re(scheme *sc) {
sc->vptr->scheme_define(sc,sc->global_env,sc->vptr->mk_symbol(sc,"re-match"),sc->vptr->mk_foreign_func(sc, foreign_re_match));
/* sc->vptr->load_string(sc,utilities);*/
}
Change Log
----------
Version 1.38
Interim release until the rewrite, mostly incorporating modifications from
Kevin Cozens. Small addition for Cygwin in the makefile, and modifications
by Andrew Guenther for Apple platforms.
Version 1.37
Joe Buehler submitted reserve_cells.
Joe Buehler submitted reserve_cells.
Version 1.36
Joe Buehler fixed a patch in the allocator.
Alexander Shendi moved the comment handling in the scanner, which
fixed an obscure bug for which Mike E had provided a patch as well.
Kevin Kozens has submitted some fixes and modifications which have not
Kevin Cozens has submitted some fixes and modifications which have not
been incorporated yet in their entirety.
Version 1.35
Todd Showalter discovered that the number of free cells reported
......
......@@ -74,6 +74,9 @@
#include <string.h>
#include <stdlib.h>
#ifndef __APPLE__
# include <malloc.h>
#endif
#define stricmp utf8_stricmp
......@@ -1497,6 +1500,8 @@ static gunichar inchar(scheme *sc) {
file_pop(sc);
if(sc->nesting!=0) {
return EOF;
} else {
return '\n';
}
goto again;
}
......@@ -4687,7 +4692,7 @@ void scheme_call(scheme *sc, pointer func, pointer args) {
#if STANDALONE
#if defined(macintosh) && !defined (OSX)
#if defined(__APPLE__) && !defined (OSX)
int main(int argc, char **argv)
{
extern MacTS_main(int argc, char **argv);
......
......@@ -14,6 +14,9 @@
#endif
#ifndef _MSC_VER
# ifndef USE_STRLWR
# define USE_STRLWR 1
# endif
# define SCHEME_EXPORT
#else
# define USE_STRLWR 0
......@@ -138,7 +141,8 @@ pointer mk_string(scheme *sc, const char *str);
pointer mk_counted_string(scheme *sc, const char *str, int len);
pointer mk_character(scheme *sc, gunichar c);
pointer mk_foreign_func(scheme *sc, foreign_func f);
void putstr(scheme *sc, const char *s);
void putcharacter(scheme *sc, gunichar c);
void putstr(scheme *sc, const char *s);
void set_safe_foreign (scheme *sc, pointer data);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment