| |
@@ -0,0 +1,197 @@
|
| |
+ commit 69f29c68f737399c1b36018ac9783126eafeb92a
|
| |
+ Author: Tomas Korbar <tkorbar@redhat.com>
|
| |
+ Date: Tue Jun 23 12:21:21 2020 +0200
|
| |
+
|
| |
+ Make drgeo compatible with guile 2.0
|
| |
+
|
| |
+ diff --git a/drgenius_config.cc b/drgenius_config.cc
|
| |
+ index bf4943a..6aecdfe 100644
|
| |
+ --- a/drgenius_config.cc
|
| |
+ +++ b/drgenius_config.cc
|
| |
+ @@ -83,7 +83,7 @@ drgeoConfigGet (gchar *attr)
|
| |
+ #if SCM_MAJOR_VERSION < 2
|
| |
+ value = gh_scm2newstr (ret, NULL);
|
| |
+ #else
|
| |
+ - value = (gchar *) gh_scm2newstr ((const char *) ret, NULL);
|
| |
+ + value = (gchar *) gh_scm2newstr (ret, NULL);
|
| |
+ #endif
|
| |
+ return value;
|
| |
+ }
|
| |
+ diff --git a/drgenius_main.cc b/drgenius_main.cc
|
| |
+ index dfedd54..8a36f7d 100644
|
| |
+ --- a/drgenius_main.cc
|
| |
+ +++ b/drgenius_main.cc
|
| |
+ @@ -84,62 +84,62 @@ main_prog (int argc, char *argv[])
|
| |
+ loadUserPreferences ();
|
| |
+
|
| |
+ /* declare drgeo API in guile */
|
| |
+ - gh_new_procedure ("move", (SCM (*) ()) drgeo_scm_move, 2, 0, 0);
|
| |
+ - gh_new_procedure ("getAbscissa", (SCM (*) ()) drgeo_scm_getAbscissa, 1, 0, 0);
|
| |
+ - gh_new_procedure ("setAbscissa", (SCM (*) ()) drgeo_scm_setAbscissa, 2, 0, 0);
|
| |
+ - gh_new_procedure ("getCoordinates", (SCM (*) ()) drgeo_scm_getCoordinates, 1, 0, 0);
|
| |
+ - gh_new_procedure ("setCoordinates", (SCM (*) ()) drgeo_scm_setCoordinates, 2, 0, 0);
|
| |
+ - gh_new_procedure ("getUnit", (SCM (*) ()) drgeo_scm_getUnit, 1, 0, 0);
|
| |
+ - gh_new_procedure ("getNormal", (SCM (*) ()) drgeo_scm_getNormal, 1, 0, 0);
|
| |
+ - gh_new_procedure ("getSlope", (SCM (*) ()) drgeo_scm_getSlope, 1, 0, 0);
|
| |
+ - gh_new_procedure ("getNorm", (SCM (*) ()) drgeo_scm_getNorm, 1, 0, 0);
|
| |
+ - gh_new_procedure ("getLength", (SCM (*) ()) drgeo_scm_getLength, 1, 0, 0);
|
| |
+ - gh_new_procedure ("getCenter", (SCM (*) ()) drgeo_scm_getCenter, 1, 0, 0);
|
| |
+ - gh_new_procedure ("getRadius", (SCM (*) ()) drgeo_scm_getRadius, 1, 0, 0);
|
| |
+ - gh_new_procedure ("getValue", (SCM (*) ()) drgeo_scm_getValue, 1, 0, 0);
|
| |
+ - gh_new_procedure ("setValue", (SCM (*) ()) drgeo_scm_setValue, 2, 0, 0);
|
| |
+ - gh_new_procedure ("getAngle", (SCM (*) ()) drgeo_scm_getAngle, 1, 0, 0);
|
| |
+ + gh_new_procedure ("move", (void*) drgeo_scm_move, 2, 0, 0);
|
| |
+ + gh_new_procedure ("getAbscissa", (void*) drgeo_scm_getAbscissa, 1, 0, 0);
|
| |
+ + gh_new_procedure ("setAbscissa", (void*) drgeo_scm_setAbscissa, 2, 0, 0);
|
| |
+ + gh_new_procedure ("getCoordinates", (void*) drgeo_scm_getCoordinates, 1, 0, 0);
|
| |
+ + gh_new_procedure ("setCoordinates", (void*) drgeo_scm_setCoordinates, 2, 0, 0);
|
| |
+ + gh_new_procedure ("getUnit", (void*) drgeo_scm_getUnit, 1, 0, 0);
|
| |
+ + gh_new_procedure ("getNormal", (void*) drgeo_scm_getNormal, 1, 0, 0);
|
| |
+ + gh_new_procedure ("getSlope", (void*) drgeo_scm_getSlope, 1, 0, 0);
|
| |
+ + gh_new_procedure ("getNorm", (void*) drgeo_scm_getNorm, 1, 0, 0);
|
| |
+ + gh_new_procedure ("getLength", (void*) drgeo_scm_getLength, 1, 0, 0);
|
| |
+ + gh_new_procedure ("getCenter", (void*) drgeo_scm_getCenter, 1, 0, 0);
|
| |
+ + gh_new_procedure ("getRadius", (void*) drgeo_scm_getRadius, 1, 0, 0);
|
| |
+ + gh_new_procedure ("getValue", (void*) drgeo_scm_getValue, 1, 0, 0);
|
| |
+ + gh_new_procedure ("setValue", (void*) drgeo_scm_setValue, 2, 0, 0);
|
| |
+ + gh_new_procedure ("getAngle", (void*) drgeo_scm_getAngle, 1, 0, 0);
|
| |
+
|
| |
+ /* declare the drgeo interface in Guile */
|
| |
+ - gh_new_procedure ("drgeoMake-figure", (SCM (*) ()) drgeo_scm_make_figure, 1, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-freePoint", (SCM (*) ()) drgeo_scm_make_freePoint, 4, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-pointOnCurve", (SCM (*) ()) drgeo_scm_make_pointOnCurve, 4, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-middle2Points", (SCM (*) ()) drgeo_scm_make_middle2Points, 4, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-middleSegment", (SCM (*) ()) drgeo_scm_make_middleSegment, 3, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-intersection", (SCM (*) ()) drgeo_scm_make_intersection, 5, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-segmentExtremity", (SCM (*) ()) drgeo_scm_make_segmentExtremity, 4, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-line", (SCM (*) ()) drgeo_scm_make_line, 4, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-parallel", (SCM (*) ()) drgeo_scm_make_parallel, 4, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-orthogonal", (SCM (*) ()) drgeo_scm_make_orthogonal, 4, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-ray", (SCM (*) ()) drgeo_scm_make_ray, 4, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-vector", (SCM (*) ()) drgeo_scm_make_vector, 4, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-circle2Points", (SCM (*) ()) drgeo_scm_make_circle2Points, 4, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-circleRadius", (SCM (*) ()) drgeo_scm_make_circleRadius, 4, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-circleSegment", (SCM (*) ()) drgeo_scm_make_circleSegment, 4, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-arc", (SCM (*) ()) drgeo_scm_make_arc, 5, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-locus", (SCM (*) ()) drgeo_scm_make_locus, 4, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-polygon", (SCM (*) ()) drgeo_scm_make_polygon, 3, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-freeValue", (SCM (*) ()) drgeo_scm_make_freeValue, 5, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-segmentLength", (SCM (*) ()) drgeo_scm_make_segmentLength, 5, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-vectorNorm", (SCM (*) ()) drgeo_scm_make_vectorNorm, 5, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-distancePointCircle", (SCM (*) ()) drgeo_scm_make_distancePointCircle, 6, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-distancePointLine", (SCM (*) ()) drgeo_scm_make_distancePointLine, 6, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-distancePointPoint", (SCM (*) ()) drgeo_scm_make_distancePointPoint, 6, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-circleLength", (SCM (*) ()) drgeo_scm_make_circleLength, 5, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-lineSlope", (SCM (*) ()) drgeo_scm_make_lineSlope, 5, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-arcLength", (SCM (*) ()) drgeo_scm_make_arcLength, 5, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-geometricAngle", (SCM (*) ()) drgeo_scm_make_geometricAngle, 5, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-orientedAngle", (SCM (*) ()) drgeo_scm_make_orientedAngle, 6, 0, 0);
|
| |
+ -
|
| |
+ - gh_new_procedure ("drgeoMake-rotation", (SCM (*) ()) drgeo_scm_make_rotation, 5, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-scale", (SCM (*) ()) drgeo_scm_make_scale, 5, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-symmetry", (SCM (*) ()) drgeo_scm_make_symmetry, 4, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-reflexion", (SCM (*) ()) drgeo_scm_make_reflexion, 4, 0, 0);
|
| |
+ - gh_new_procedure ("drgeoMake-translation", (SCM (*) ()) drgeo_scm_make_translation, 4, 0, 0);
|
| |
+ - gh_new_procedure ("change-color", (SCM (*) ()) drgeo_scm_change_color, 3, 0, 0);
|
| |
+ - gh_new_procedure ("change-thickness", (SCM (*) ()) drgeo_scm_change_thickness, 3, 0, 0);
|
| |
+ - gh_new_procedure ("change-pointShape", (SCM (*) ()) drgeo_scm_change_pointShape, 3, 0, 0);
|
| |
+ - gh_new_procedure ("change-masked", (SCM (*) ()) drgeo_scm_change_masked, 2, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-figure", (void*) drgeo_scm_make_figure, 1, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-freePoint", (void*) drgeo_scm_make_freePoint, 4, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-pointOnCurve", (void*) drgeo_scm_make_pointOnCurve, 4, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-middle2Points", (void*) drgeo_scm_make_middle2Points, 4, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-middleSegment", (void*) drgeo_scm_make_middleSegment, 3, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-intersection", (void*) drgeo_scm_make_intersection, 5, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-segmentExtremity", (void*) drgeo_scm_make_segmentExtremity, 4, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-line", (void*) drgeo_scm_make_line, 4, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-parallel", (void*) drgeo_scm_make_parallel, 4, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-orthogonal", (void*) drgeo_scm_make_orthogonal, 4, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-ray", (void*) drgeo_scm_make_ray, 4, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-vector", (void*) drgeo_scm_make_vector, 4, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-circle2Points", (void*) drgeo_scm_make_circle2Points, 4, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-circleRadius", (void*) drgeo_scm_make_circleRadius, 4, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-circleSegment", (void*) drgeo_scm_make_circleSegment, 4, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-arc", (void*) drgeo_scm_make_arc, 5, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-locus", (void*) drgeo_scm_make_locus, 4, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-polygon", (void*) drgeo_scm_make_polygon, 3, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-freeValue", (void*) drgeo_scm_make_freeValue, 5, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-segmentLength", (void*) drgeo_scm_make_segmentLength, 5, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-vectorNorm", (void*) drgeo_scm_make_vectorNorm, 5, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-distancePointCircle", (void*) drgeo_scm_make_distancePointCircle, 6, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-distancePointLine", (void*) drgeo_scm_make_distancePointLine, 6, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-distancePointPoint", (void*) drgeo_scm_make_distancePointPoint, 6, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-circleLength", (void*) drgeo_scm_make_circleLength, 5, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-lineSlope", (void*) drgeo_scm_make_lineSlope, 5, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-arcLength", (void*) drgeo_scm_make_arcLength, 5, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-geometricAngle", (void*) drgeo_scm_make_geometricAngle, 5, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-orientedAngle", (void*) drgeo_scm_make_orientedAngle, 6, 0, 0);
|
| |
+ +
|
| |
+ + gh_new_procedure ("drgeoMake-rotation", (void*) drgeo_scm_make_rotation, 5, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-scale", (void*) drgeo_scm_make_scale, 5, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-symmetry", (void*) drgeo_scm_make_symmetry, 4, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-reflexion", (void*) drgeo_scm_make_reflexion, 4, 0, 0);
|
| |
+ + gh_new_procedure ("drgeoMake-translation", (void*) drgeo_scm_make_translation, 4, 0, 0);
|
| |
+ + gh_new_procedure ("change-color", (void*) drgeo_scm_change_color, 3, 0, 0);
|
| |
+ + gh_new_procedure ("change-thickness", (void*) drgeo_scm_change_thickness, 3, 0, 0);
|
| |
+ + gh_new_procedure ("change-pointShape", (void*) drgeo_scm_change_pointShape, 3, 0, 0);
|
| |
+ + gh_new_procedure ("change-masked", (void*) drgeo_scm_change_masked, 2, 0, 0);
|
| |
+
|
| |
+ /* not in texmacs mode by default */
|
| |
+ texmacsMode = false;
|
| |
+ diff --git a/geo/drgeo_scm_interface.cc b/geo/drgeo_scm_interface.cc
|
| |
+ index dade441..c2efa5c 100644
|
| |
+ --- a/geo/drgeo_scm_interface.cc
|
| |
+ +++ b/geo/drgeo_scm_interface.cc
|
| |
+ @@ -792,7 +792,7 @@ ScmInterface::setObjectName (SCM name, geometricObject *item)
|
| |
+ #if SCM_MAJOR_VERSION < 2
|
| |
+ str = gh_scm2newstr (name, NULL);
|
| |
+ #else
|
| |
+ - str = (gchar *) gh_scm2newstr ((const char *) name, NULL);
|
| |
+ + str = (gchar *) gh_scm2newstr (name, NULL);
|
| |
+ #endif
|
| |
+ item->setName (str);
|
| |
+ g_free (str);
|
| |
+ @@ -814,7 +814,7 @@ drgeo_scm_make_figure (SCM name)
|
| |
+ #if SCM_MAJOR_VERSION < 2
|
| |
+ str = gh_scm2newstr (name, NULL);
|
| |
+ #else
|
| |
+ - str = (gchar *) gh_scm2newstr ((const char *) name, NULL);
|
| |
+ + str = (gchar *) gh_scm2newstr (name, NULL);
|
| |
+ #endif
|
| |
+ mdi->renameView (((drgeoGtkDrawable *) figure->getDrawable())->getGeoView (), str);
|
| |
+ g_free (str);
|
| |
+ diff --git a/geo/drgeo_script.cc b/geo/drgeo_script.cc
|
| |
+ index 8a783a7..b9a8bc6 100644
|
| |
+ --- a/geo/drgeo_script.cc
|
| |
+ +++ b/geo/drgeo_script.cc
|
| |
+ @@ -156,7 +156,7 @@ script::update (drgeoDrawable & area)
|
| |
+ #if SCM_MAJOR_VERSION < 2
|
| |
+ setString (gh_scm2newstr (ret, NULL));
|
| |
+ #else
|
| |
+ - setString ((char *) gh_scm2newstr ((const char *) ret, NULL));
|
| |
+ + setString ((char *) gh_scm2newstr (ret, NULL));
|
| |
+ #endif
|
| |
+ else
|
| |
+ setString (g_strdup (_("Unprintable result")));
|
| |
+ diff --git a/guile_fixups.h b/guile_fixups.h
|
| |
+ index 8aabcb9..7ec5ee8 100644
|
| |
+ --- a/guile_fixups.h
|
| |
+ +++ b/guile_fixups.h
|
| |
+ @@ -12,7 +12,7 @@
|
| |
+ #define gh_scm2int scm_to_int
|
| |
+ #define gh_scm2double scm_to_double
|
| |
+ #define gh_string_p scm_is_string
|
| |
+ -#define gh_scm2newstr(a, b) scm_str2string((a))
|
| |
+ +#define gh_scm2newstr(a, b) scm_to_locale_string((a))
|
| |
+ #define gh_scm2ulong scm_to_ulong
|
| |
+ #define gh_car scm_car
|
| |
+ #define gh_cdr scm_cdr
|
| |
+ @@ -21,7 +21,7 @@
|
| |
+ #define gh_ulong2scm scm_from_ulong
|
| |
+ #define gh_double2scm scm_from_double
|
| |
+ #define gh_list scm_list_n
|
| |
+ -#define gh_new_procedure(p, f, nr, no, v) scm_c_define_gsubr((p), (size_t)(f), (nr), (no), (v))
|
| |
+ +#define gh_new_procedure(p, f, nr, no, v) scm_c_define_gsubr((p), (nr), (no), (v), (f))
|
| |
+ #define gh_load(fname) gh_eval_file(fname)
|
| |
+ #define gh_eval_str scm_c_eval_string
|
| |
+ #define gh_catch scm_internal_catch
|
| |
Hi,
I'm maintainer of guile in Fedora and i'm currently trying to update
packages which depend on its old versions. Please consider merging this pull request
so i can remove compat-guile18 package.