Commit Graph

121 Commits

Author SHA1 Message Date
6a3a7befcf Applied changes from CVS version 1.23 of official version of TinyScheme.
Fixed potential problem of arglist to foreign calls being wrongly GC'ed.
2009-08-18 10:09:12 -04:00
48c87c29fd Made nested calling thru C safer by save/restore old state.
Changes based on official version of TinyScheme (CVS commit dated
2008/05/25 03:27).
2009-08-18 10:09:12 -04:00
76155d79df Minor changes to minimize differences to official version of TinyScheme.
Fixed potential buffer overflow in readstr_upto().
2009-08-18 10:09:12 -04:00
7661513746 Updated TinyScheme version number to 1.39.
The TinyScheme component of Script-Fu is now in sync with the 1.39
release of the official version of TinyScheme from May 18, 2008.
Previous commit fixed bug #553377 and not #553337.
2009-08-09 16:01:30 -04:00
01e27e8d6f Commented call to file_pop() left in inchar() by mistake. Fixes bug #553337.
Several changes to reduce some formatting differences to official TinyScheme.
De-tabified init.scm file.
2009-08-09 15:20:43 -04:00
3db68e254a Applied changes based on official version of TinyScheme (CVS commit dated
2008/01/25 01:31). Put OP_T0LVL in charge of reacting to EOF.
2009-08-08 00:25:55 -04:00
21cebda8a9 Applied changes based on official version of TinyScheme (CVS commits dated
2008/01/22 04:18). Fix for the load bug.
2009-08-07 23:56:40 -04:00
9541fe0387 Applied changes from CVS version 1.15 of official version of TinyScheme.
Changed to always use snprintf (Patch due to Ramiro bsd1628).
2009-08-07 16:25:31 -04:00
28e7c3f612 Applied changes from CVS version 1.9 of official version of TinyScheme.
Fix for nasty gc bug. This change shifts the burden of protecting newly
allocated cells in foreign functions from the foreign functions to the
TinyScheme interpreter.
2009-08-07 15:14:45 -04:00
3d848b3917 Applied changes from CVS version 1.28 of scheme.c in official version of
TinyScheme. Peter Michaux cleaned up port_rep_from_file.
2009-08-07 15:14:45 -04:00
5e9907d68d Applied changes from CVS version 1.16 of official version of TinyScheme.
file_push checks array bounds (patch from Ray Lehtiniemi)
2009-08-04 18:39:31 -04:00
bf3d355fd7 Applied changes based on official version of TinyScheme (CVS commit dated
2007/12/22 10:48) which makes string output ports conform to SRFI-6.
NOTE: SRFI-6 compliance is incomplete in official version of TinyScheme.
      (See SourceForge bug #2832150)

Also included two minor additions/corrections to old ChangeLog files.
2009-08-04 14:23:55 -04:00
600274e85d Applied changes from official version of TinyScheme which adds tests for
2008-09-14  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c (mk_vector), (opexe_2):
	Applied changes from official version of TinyScheme which adds
	tests for when mk_vector is out of memory. Can't rely on sc->sink.

svn path=/trunk/; revision=26943
2008-09-14 22:59:06 +00:00
e5c73a05b4 plug-ins/script-fu/tinyscheme/scheme.c Applied changes froh official
2008-09-12  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c
	* plug-ins/script-fu/tinyscheme/scheme.h: Applied changes froh
	official version of TinyScheme which expose more of the internals.
	Part of making it more suitable for Scheme->C->Scheme calling.
	See SourceForge bug #1599947.

svn path=/trunk/; revision=26937
2008-09-12 17:30:28 +00:00
2f42209d7a Updating to match version in official version of TinyScheme.
2008-09-11  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/CHANGES: Updating to match version
	in official version of TinyScheme.

	* plug-ins/script-fu/tinyscheme/scheme.c: Applied changes from
	official version of TinyScheme which adds entry point for nested
	calling. Part of making it more suitable for Scheme->C->Scheme
	calling. See SourceForge bug #1599945. Updated usage information
	using text from Manual.txt.

svn path=/trunk/; revision=26930
2008-09-11 20:57:38 +00:00
f8ac996bbe Added extra check to stop "(let x 5)" syntax from causing seg fault in
2008-05-22  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c: Added extra check to stop
	"(let x 5)" syntax from causing seg fault in Linux. See bug #508020.
	Removed some excess whitespace.

svn path=/trunk/; revision=25770
2008-05-22 22:08:18 +00:00
bedb7e3163 Reverting previous change. I figured it would break something. It breaks
2008-05-18  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c: Reverting previous change.
	I figured it would break something. It breaks the 'while' macro by
	preventing use of a named let.

svn path=/trunk/; revision=25706
2008-05-18 21:20:12 +00:00
b742fa2bcb Commited patch from gymp that removes bogus FIXME (bug #533647).
2008-05-18  Martin Nordholts  <martinn@svn.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c: Commited patch from gymp
	that removes bogus FIXME (bug #533647).

svn path=/trunk/; revision=25697
2008-05-18 13:23:16 +00:00
8b619f37b2 Added extra checks to stop bad syntax in LET from causing a segmentation
2008-05-16  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c: Added extra checks to stop
	bad syntax in LET from causing a segmentation fault in Linux.
	See bug #508020.

svn path=/trunk/; revision=25677
2008-05-16 20:22:01 +00:00
6e476b9b4a Added extra checks to stop bad syntax in LET*, LET, and LETREC from
2007-12-17  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c: Added extra checks to stop
	bad syntax in LET*, LET, and LETREC from causing a segmentation fault
	in Linux. See SourceForge bug #1817986.

svn path=/trunk/; revision=24400
2007-12-18 20:12:11 +00:00
8d38858180 Only return true when numbers are of equal value AND of the same type (ie.
2007-12-14  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c (eqv): Only return true
	when numbers are of equal value AND of the same type (ie. both
	exact or inexact). R5RS compliance fix.

svn path=/trunk/; revision=24366
2007-12-14 19:20:50 +00:00
916e4d4f78 Fix to prevent reporting out of memory when there should be plenty of
2007-12-11  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c (get_consecutive_cells):
	Fix to prevent reporting out of memory when there should be plenty
	of cells still available. See SourceForge bug #1794369.

svn path=/trunk/; revision=24328
2007-12-12 03:11:16 +00:00
8a685dd322 Don't abort the top-level s-exp when loading a file. See SourceForge bug
2007-12-11  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c: Don't abort the top-level
	s-exp when loading a file. See SourceForge bug #1589711.

svn path=/trunk/; revision=24327
2007-12-12 01:56:49 +00:00
38fd9dad2c Applied changes from official version of TinyScheme which fix
2007-12-11  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c: Applied changes from
	official version of TinyScheme which fix is_integer(). See
	SourceForge bug #1593861.

svn path=/trunk/; revision=24325
2007-12-11 21:46:40 +00:00
37b875ccdc plug-ins/script-fu/tinyscheme/scheme-private.h Allow a maximum of two
2007-10-25  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme-private.h
	* plug-ins/script-fu/tinyscheme/scheme.c:
	Allow a maximum of two calls to backchar() needed by the "case '.'"
	part of the switch statement in token(). Fixes bug #490198.

svn path=/trunk/; revision=23952
2007-10-25 20:47:27 +00:00
19ba673b2f Allow one to three digits in octal coded characters.
2007-10-22  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c: Allow one to three
	digits in octal coded characters.

svn path=/trunk/; revision=23908
2007-10-22 16:12:49 +00:00
913d0d5f20 Fix off by one error. Stop on third digit after backslash when reading
2007-10-12  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c: Fix off by one error.
	Stop on third digit after backslash when reading octal character.
	Original cause of bug #485538.

svn path=/trunk/; revision=23806
2007-10-12 06:19:41 +00:00
24f9ed8446 further simplifications.
2007-09-22  Simon Budig  <simon@gimp.org>

	* plug-ins/script-fu/tinyscheme/scheme.c: further simplifications.


svn path=/trunk/; revision=23614
2007-09-22 18:03:39 +00:00
9a5e22bdf5 Applied modified patch from Simon Budig. Any bytes read from a file which
2007-09-21  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c (basic_inchar): Applied
	modified patch from Simon Budig. Any bytes read from a file which
	are not valid UTF-8 characters will be ignored. Fixes bug #476356.

svn path=/trunk/; revision=23613
2007-09-21 23:53:03 +00:00
8d42d089ca plug-ins/script-fu/tinyscheme/scheme.[ch] make it possible for foreign
2007-08-31  Simon Budig  <simon@gimp.org>

	* plug-ins/script-fu/tinyscheme/scheme.[ch]
	* plug-ins/script-fu/tinyscheme/scheme-private.h: make it possible
	for foreign functions to return an error.

	* plug-ins/script-fu/script-fu-scripts.c
	* plug-ins/script-fu/scheme-wrapper.c: Make use of this.
	Fixes bug #472026.


svn path=/trunk/; revision=23432
2007-08-31 19:35:26 +00:00
a333d6c660 plug-ins/script-fu/scheme-wrapper.c
2007-08-30  Simon Budig  <simon@gimp.org>

	* plug-ins/script-fu/scheme-wrapper.c
	* plug-ins/script-fu/tinyscheme/scheme.[ch]
	* plug-ins/script-fu/scheme-wrapper.h: Shuffeled some
	code around to have scheme.c not include scheme-wrapper.h.


svn path=/trunk/; revision=23411
2007-08-30 12:52:42 +00:00
667d6eac9b Applied the change suggested in SourceForge bug #1593861 that fixes the
2007-08-29  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c: Applied the change suggested
	in SourceForge bug #1593861 that fixes the case where integer? thinks
	non-numbers are sometimes integers.

svn path=/trunk/; revision=23402
2007-08-30 00:33:50 +00:00
0928a32a21 plug-ins/script-fu/tinyscheme/scheme.[ch] small changes to tinyscheme -
2007-08-30  Simon Budig  <simon@gimp.org>

	* plug-ins/script-fu/tinyscheme/scheme.[ch]
	* plug-ins/script-fu/tinyscheme/scheme-private.h: small changes
	to tinyscheme - mostly removing workarounds for message output.

	* plug-ins/script-fu/scheme-wrapper.[ch]: try to channel the
	output through a central function, have various output functions
	to handle the messages. Remove some hacks.

	* plug-ins/script-fu/script-fu-text-console.c
	* plug-ins/script-fu/script-fu-scripts.[ch]
	* plug-ins/script-fu/script-fu-interface.c
	* plug-ins/script-fu/script-fu.c
	* plug-ins/script-fu/script-fu-server.c
	* plug-ins/script-fu/script-fu-console.[ch]: use the new
	infrastructure. Remove more hacks.

	* plug-ins/script-fu/servertest.py: small script to test the
	communication with the script-fu-server.


svn path=/trunk/; revision=23400
2007-08-30 00:21:20 +00:00
2dfb1e5193 Use the string length in bytes passed in instead of recalculating it.
2007-08-13  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/scheme-wrapper.c (ts_output_string): Use the
	string length in bytes passed in instead of recalculating it.

	* plug-ins/script-fu/tinyscheme/scheme.c: Added comment.

svn path=/trunk/; revision=23239
2007-08-13 16:39:16 +00:00
ef3bce7b6b Commited patch from Sven Neumann that reverts the optimization patch which
2007-08-11  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c: Commited patch from
	Sven Neumann that reverts the optimization patch which stored
	collation keys. See bug #374854.

svn path=/trunk/; revision=23207
2007-08-11 14:51:04 +00:00
182b2e27f8 Update "cursor" after writing characters to a string buffer. Fixes bug
2007-06-13  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c (putchars): Update "cursor"
	after writing characters to a string buffer. Fixes bug #446884.

svn path=/trunk/; revision=22774
2007-06-13 15:47:01 +00:00
f67306c1d3 Added missing include.
2007-05-30  Mukund Sivaraman  <muks@mukund.org>

        * app/tools/gimpdrawtool.c: Added missing include.

        * app/tools/gimpbycolorselecttool.c: Removed unused variable.

        * app/plug-in/gimpenvirontable.c: Added cast for callback function.

        * plug-ins/script-fu/tinyscheme/scheme.c: Correctly cast pointer to
        an long integer type.


svn path=/trunk/; revision=22659
2007-05-30 11:49:14 +00:00
32259b03dc Missed commit of this file.
2007-05-25  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/Makefile.am: Missed commit of this file.

	* plug-ins/script-fu/scheme-wrapper.h:
	* plug-ins/script-fu/scheme-wrapper.c (ts_output_string): Updated
	to expect a 'const char *' and an int but no file pointer.

	* plug-ins/script-fu/tinyscheme/scheme.c:
	* plug-ins/script-fu/tinyscheme/scheme.h: Changes due to use of
	'const char *' for ts_output_routine.

svn path=/trunk/; revision=22620
2007-05-25 16:26:46 +00:00
c87485d1bf This is the first part of fixing bugs #438997 and #440674.
2007-05-25  Kevin Cozens  <kcozens@cvs.gnome.org>

	This is the first part of fixing bugs #438997 and #440674. 

	* plug-ins/script-fu/scheme-wrapper.c: Removed ts_output_routine
	declaration from here...

	* plug-ins/script-fu/tinyscheme/scheme.h: and added it here.

	* plug-ins/script-fu/tinyscheme/scheme.c (putchars): Updated to be
	smarter about where it's output needs to be sent.

svn path=/trunk/; revision=22619
2007-05-25 15:58:09 +00:00
a479f0da28 Applied patch from Eric Lamarque that optimizes backchar() use. See bug
2007-05-17  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c: Applied patch from
	Eric Lamarque that optimizes backchar() use. See bug #374854.

svn path=/trunk/; revision=22528
2007-05-17 20:24:49 +00:00
99f1d0e6dd use locale-independent function to convert a float value to a string.
2007-02-19  Sven Neumann  <sven@gimp.org>

	* plug-ins/script-fu/tinyscheme/scheme.c (atom2str): use
	locale-independent function to convert a float value to a 
string.


svn path=/trunk/; revision=21948
2007-02-19 11:05:21 +00:00
ab239c3d63 app/text/gimptext-parasite.c use g_strtod() instead of atof() because
2007-02-18  Michael Natterer  <mitch@gimp.org>

	* app/text/gimptext-parasite.c
	* plug-ins/flame/libifs.c: use g_strtod() instead of atof()
	because these files have to parse strings that never had a clearly
	specified format.

	* plug-ins/script-fu/tinyscheme/scheme.c
	* plug-ins/imagemap/imap_cern.l
	* plug-ins/imagemap/imap_csim.l
	* plug-ins/imagemap/imap_csim.y
	* plug-ins/imagemap/imap_ncsa.l: use g_ascii_strtod() instead of
	atof() because scheme code and imagemap files with wrong decimal
	separators are clearly broken and should be rejected.

	* plug-ins/imagemap/imap_cern_lex.c
	* plug-ins/imagemap/imap_csim_lex.c
	* plug-ins/imagemap/imap_csim_parse.c
	* plug-ins/imagemap/imap_ncsa_lex.c: regenerated.

	* plug-ins/common/sample_colorize.c: round numbers using sane code
	instead of sprintf() and atod().

	* plug-ins/Lighting/lighting_ui.c: removed some dead code.


svn path=/trunk/; revision=21942
2007-02-18 20:01:48 +00:00
4107f0faf8 Add define for symkey() to quiet the compiler.
2007-02-17  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme-private.h: Add define for
	symkey() to quiet the compiler.

	* plug-ins/script-fu/tinyscheme/scheme.c (basic_inchar): Return
	blank when invalid UTF-8 character is encountered while reading
	from memory. Point to start of next valid character on error.

svn path=/trunk/; revision=21934
2007-02-18 03:46:50 +00:00
b2ebab0b29 to make it compile with msvc redefine stricmp after including <string.h>
2007-01-14  Hans Breuer  <hans@breuer.org>

        * plug-ins/script-fu/tinyscheme/scheme.[ch] : to make it compile with
        msvc redefine stricmp after including <string.h> and protect gccism
        #warning with #ifdef __GNUC__, also some more exports
	* plug-ins/script-fu/scheme-wrapper.c : simple 'extern' does not work
	to get variables across modules boundaries for msvc, use SCHEME_EXPORT
	Together fixes bug #396268


svn path=/trunk/; revision=21707
2007-01-14 13:57:59 +00:00
478654039e Don't include malloc.h file. Fixes bug #391195.
2006-12-31  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c: Don't include malloc.h
	file. Fixes bug #391195.

svn path=/trunk/; revision=21617
2006-12-31 07:32:58 +00:00
14ddf98d14 plug-ins/script-fu/tinyscheme/scheme-private.h Optimizations for string
2006-12-13  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme-private.h
	* plug-ins/script-fu/tinyscheme/scheme.c: Optimizations for string
	comparisons. Time spent in oblist_find_by_name() reduced by ~50%
	during startup by use of stored collation keys. Fixes bug #374854.
2006-12-13 22:01:09 +00:00
04a45e41dc 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.
2006-12-07 18:57:10 +00:00
36c8bf2622 Fix revealed bug in TinyScheme initialization which results in a seg
2006-11-26  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c (is_integer): Fix revealed
	bug in TinyScheme initialization which results in a seg fault.
	Removing fix for now.
2006-11-26 21:06:33 +00:00
1dead8dfb2 Check cell type for T_NUMBER in addition to checking if it is an integer.
2006-11-26  Kevin Cozens  <kcozens@cvs.gnome.org>

	* plug-ins/script-fu/tinyscheme/scheme.c (is_integer): Check cell
	type for T_NUMBER in addition to checking if it is an integer.
	Fixes TinyScheme bug #1593861 reported on SourceForge. Fixed
	prototype for dump_mark_stack(). Quieted compiler warnings.

	* plug-ins/script-fu/scripts/script-fu-compat.init: Added delq,
	prin1, and print.
2006-11-26 19:50:21 +00:00
dce782a6b8 plug-ins/script-fu/tinyscheme/scheme-private.h Changed tinyscheme to
2006-11-23  Simon Budig  <simon@gimp.org>

	* plug-ins/script-fu/tinyscheme/scheme-private.h
	* plug-ins/script-fu/tinyscheme/scheme.[ch]: Changed tinyscheme
	to provide a safe spot to protect intermediate values from the
	garbage collector. Fixes some really ugly problems with arrays.

	Most likely not the best solution, we need to discuss this with
	the tinyscheme maintainers.

	* plug-ins/script-fu/scheme-wrapper.c: changed accordingly, plus
	reordering some stuff to protect it from the eager GC.
2006-11-23 21:14:01 +00:00