aboutsummaryrefslogtreecommitdiff
path: root/devel/SWIG-devel/files/patch-Source::Modules1.1::guile.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'devel/SWIG-devel/files/patch-Source::Modules1.1::guile.cxx')
-rw-r--r--devel/SWIG-devel/files/patch-Source::Modules1.1::guile.cxx284
1 files changed, 0 insertions, 284 deletions
diff --git a/devel/SWIG-devel/files/patch-Source::Modules1.1::guile.cxx b/devel/SWIG-devel/files/patch-Source::Modules1.1::guile.cxx
deleted file mode 100644
index 873ebe3a7735..000000000000
--- a/devel/SWIG-devel/files/patch-Source::Modules1.1::guile.cxx
+++ /dev/null
@@ -1,284 +0,0 @@
-Index: SWIG/Source/Modules1.1/guile.cxx
-diff -u SWIG/Source/Modules1.1/guile.cxx:1.68 SWIG/Source/Modules1.1/guile.cxx:1.68.2.6
---- Source/Modules1.1/guile.cxx:1.68 Wed Sep 20 09:00:56 2000
-+++ Source/Modules1.1/guile.cxx Fri Mar 2 07:53:02 2001
-@@ -32,8 +32,10 @@
- -prefix name - Use NAME as prefix [default \"gswig_\"]\n\
- -package name - Set the path of the module [default NULL]\n\
- -Linkage lstyle - Use linkage protocol LSTYLE [default `ltdlmod']\n\
-- -procdoc file - Output procedure documentation to file\n\
-+ -procdoc file - Output procedure documentation to FILE\n\
- \n\
-+ -procdocformat format - Output procedure documentation in FORMAT;\n\
-+ one of `guile-1.4', `plain', `texinfo'\n\
- The module option does not create a guile module with a separate name\n\
- space. It specifies the name of the initialization function and is\n\
- called a module here so that it is compadible with the rest of SWIG.\n\
-@@ -59,8 +61,10 @@
- package = NULL;
- linkage = GUILE_LSTYLE_SIMPLE;
- procdoc = NULL;
-+ docformat = GUILE_1_4;
- emit_setters = 0;
- struct_member = 0;
-+ before_return = NULL;
- }
-
- // ---------------------------------------------------------------------
-@@ -143,6 +147,18 @@
- Swig_arg_error();
- }
- }
-+ else if (strcmp (argv[i], "-procdocformat") == 0) {
-+ if (strcmp(argv[i+1], "guile-1.4") == 0)
-+ docformat = GUILE_1_4;
-+ else if (strcmp(argv[i+1], "plain") == 0)
-+ docformat = PLAIN;
-+ else if (strcmp(argv[i+1], "texinfo") == 0)
-+ docformat = TEXINFO;
-+ else Swig_arg_error();
-+ Swig_mark_arg(i);
-+ Swig_mark_arg(i+1);
-+ i++;
-+ }
- else if (strcmp (argv[i], "-emit-setters") == 0) {
- emit_setters = 1;
- Swig_mark_arg (i);
-@@ -252,6 +268,9 @@
- void
- GUILE::initialize (void)
- {
-+ if (CPlusPlus) {
-+ Printf(f_runtime, "extern \"C\" {\n\n");
-+ }
- switch (linkage) {
- case GUILE_LSTYLE_SIMPLE:
- /* Simple linkage; we have to export the SWIG_init function. The user can
-@@ -328,7 +347,7 @@
- {
- SwigType_emit_type_table (f_runtime, f_wrappers);
-
-- Printf (f_init, "SWIG_Guile_RegisterTypes(swig_types);\n");
-+ Printf (f_init, "SWIG_Guile_RegisterTypes(swig_types, swig_types_initial);\n");
- Printf (f_init, "}\n\n");
- char module_name[256];
-
-@@ -341,7 +360,10 @@
- strcpy(module_name,module);
- }
- emit_linkage (module_name);
--
-+ if (CPlusPlus) {
-+ Printf(f_init, "\n}\n");
-+ }
-+
- if (procdoc) {
- Delete(procdoc);
- procdoc = NULL;
-@@ -460,6 +482,35 @@
- error_count++;
- }
-
-+
-+/* Write out procedure documentation */
-+
-+void
-+GUILE::write_doc(const String *proc_name,
-+ const String *signature,
-+ const String *doc)
-+{
-+ switch (docformat) {
-+ case GUILE_1_4:
-+ Printv(procdoc, "\f\n", 0);
-+ Printv(procdoc, "(", signature, ")\n", 0);
-+ Printv(procdoc, doc, "\n", 0);
-+ break;
-+ case PLAIN:
-+ Printv(procdoc, "\f", proc_name, "\n\n", 0);
-+ Printv(procdoc, "(", signature, ")\n", 0);
-+ Printv(procdoc, doc, "\n\n", 0);
-+ break;
-+ case TEXINFO:
-+ Printv(procdoc, "\f", proc_name, "\n", 0);
-+ Printv(procdoc, "@deffn primitive ", signature, "\n", 0);
-+ Printv(procdoc, doc, "\n", 0);
-+ Printv(procdoc, "@end deffn\n\n", 0);
-+ break;
-+ }
-+}
-+
-+
- // ----------------------------------------------------------------------
- // GUILE::create_function(char *name, char *iname, SwigType *d,
- // ParmList *l)
-@@ -498,6 +549,7 @@
- /* Declare return variable */
-
- Wrapper_add_local (f,"gswig_result", "SCM gswig_result");
-+ Wrapper_add_local (f,"gswig_list_p", "SCM gswig_list_p = 0");
-
- if (procdoc)
- guile_do_doc_typemap(returns, "outdoc", d, NULL,
-@@ -506,7 +558,7 @@
- /* Open prototype and signature */
-
- Printv(f->def, "static SCM\n", wname," (", 0);
-- Printv(signature, "(", proc_name, 0);
-+ Printv(signature, proc_name, 0);
-
- /* Now write code to extract the parameters */
-
-@@ -583,9 +635,8 @@
- source, target, numargs, proc_name, f, 0);
- }
-
-- /* Close prototype and signature */
-+ /* Close prototype */
-
-- Printv(signature, ")\n", 0);
- Printf(f->def, ")\n{\n");
-
- /* Define the scheme name in C. This define is used by several Guile
-@@ -637,6 +688,8 @@
-
- // Wrap things up (in a manner of speaking)
-
-+ if (before_return)
-+ Printv(f->code, before_return, "\n", 0);
- Printv(f->code, "return gswig_result;\n", 0);
-
- // Undefine the scheme name
-@@ -662,7 +715,7 @@
- Printv(f_wrappers, ");\n", 0);
- Printv(f_wrappers, "}\n", 0);
- /* Register it */
-- Printf (f_init, "gh_new_procedure(\"%s\", %s_rest, 0, 0, 1);\n",
-+ Printf (f_init, "gh_new_procedure(\"%s\", (SCM (*) ()) %s_rest, 0, 0, 1);\n",
- proc_name, wname, numargs-numopt, numopt);
- }
- else if (emit_setters && struct_member && strlen(Char(proc_name))>3) {
-@@ -675,7 +728,7 @@
- struct_member = 2; /* have a setter */
- }
- else Printf(f_init, "SCM getter = ");
-- Printf (f_init, "gh_new_procedure(\"%s\", %s, %d, %d, 0);\n",
-+ Printf (f_init, "gh_new_procedure(\"%s\", (SCM (*) ()) %s, %d, %d, 0);\n",
- proc_name, wname, numargs-numopt, numopt);
- if (!is_setter) {
- /* Strip off "-get" */
-@@ -698,17 +751,17 @@
- }
- else {
- /* Register the function */
-- Printf (f_init, "gh_new_procedure(\"%s\", %s, %d, %d, 0);\n",
-+ Printf (f_init, "gh_new_procedure(\"%s\", (SCM (*) ()) %s, %d, %d, 0);\n",
- proc_name, wname, numargs-numopt, numopt);
- }
- if (procdoc) {
-- /* Write out procedure documentation */
-- Printv(signature, "Returns ", 0);
-- if (Len(returns)==0) Printv(signature, "unspecified", 0);
-- else if (returns_list) Printv(signature, "list (", returns, ")", 0);
-- else Printv(signature, returns, 0);
-- Printv(signature, "\n", 0);
-- Printv(procdoc, "\f\n", signature, 0);
-+ String *returns_text = NewString("");
-+ Printv(returns_text, "Returns ", 0);
-+ if (Len(returns)==0) Printv(returns_text, "unspecified", 0);
-+ else if (returns_list) Printv(returns_text, "list (", returns, ")", 0);
-+ else Printv(returns_text, returns, 0);
-+ write_doc(proc_name, signature, returns_text);
-+ Delete(returns_text);
- }
-
- Delete(proc_name);
-@@ -751,7 +804,7 @@
-
- if ((SwigType_type(t) != T_USER) || (is_a_pointer(t))) {
-
-- Printf (f_wrappers, "SCM %s(SCM s_0) {\n", var_name);
-+ Printf (f_wrappers, "static SCM %s(SCM s_0)\n{\n", var_name);
-
- if (!(Status & STAT_READONLY) && SwigType_type(t) == T_STRING) {
- Printf (f_wrappers, "\t char *_temp;\n");
-@@ -821,7 +874,7 @@
- throw_unhandled_guile_type_error (t);
- }
- Printf (f_wrappers, "\t return gswig_result;\n");
-- Printf (f_wrappers, "}\n");
-+ Printf (f_wrappers, "}\n\n");
-
- // Now add symbol to the Guile interpreter
-
-@@ -829,12 +882,12 @@
- || Status & STAT_READONLY) {
- /* Read-only variables become a simple procedure returning the
- value. */
-- Printf (f_init, "\t gh_new_procedure(\"%s\", %s, 0, 1, 0);\n",
-+ Printf (f_init, "\t gh_new_procedure(\"%s\", (SCM (*) ()) %s, 0, 1, 0);\n",
- proc_name, var_name);
- }
- else {
- /* Read/write variables become a procedure with setter. */
-- Printf (f_init, "\t{ SCM p = gh_new_procedure(\"%s\", %s, 0, 1, 0);\n",
-+ Printf (f_init, "\t{ SCM p = gh_new_procedure(\"%s\", (SCM (*) ()) %s, 0, 1, 0);\n",
- proc_name, var_name);
- Printf (f_init, "\t gh_define(\"%s\", "
- "scm_make_procedure_with_setter(p, p)); }\n",
-@@ -844,29 +897,28 @@
- if (procdoc) {
- /* Compute documentation */
- String *signature = NewString("");
-+ String *doc = NewString("");
-
- if (Status & STAT_READONLY) {
-- Printv(signature, "(", proc_name, ")\n", 0);
-- Printv(signature, "Returns constant ", 0);
-- guile_do_doc_typemap(signature, "varoutdoc", t, NULL,
-+ Printv(signature, proc_name, 0);
-+ Printv(doc, "Returns constant ", 0);
-+ guile_do_doc_typemap(doc, "varoutdoc", t, NULL,
- 0, proc_name, f);
-- Printv(signature, "\n", 0);
- }
- else {
-- Printv(signature, "(", proc_name,
-+ Printv(signature, proc_name,
- " #:optional ", 0);
- guile_do_doc_typemap(signature, "varindoc", t, "new-value",
- 1, proc_name, f);
-- Printv(signature, ")\n", 0);
-- Printv(signature, "If NEW-VALUE is provided, "
-+ Printv(doc, "If NEW-VALUE is provided, "
- "set C variable to this value.\n", 0);
-- Printv(signature, "Returns variable value ", 0);
-- guile_do_doc_typemap(signature, "varoutdoc", t, NULL,
-+ Printv(doc, "Returns variable value ", 0);
-+ guile_do_doc_typemap(doc, "varoutdoc", t, NULL,
- 0, proc_name, f);
-- Printv(signature, "\n", 0);
- }
-- Printv(procdoc, "\f\n", signature, 0);
-+ write_doc(proc_name, signature, doc);
- Delete(signature);
-+ Delete(doc);
- }
-
- } else {
-@@ -957,5 +1009,16 @@
- else {
- /* Only emit traditional VAR-get and VAR-set procedures */
- Language::cpp_variable(name, iname, t);
-+ }
-+}
-+
-+void GUILE::pragma(char *lang, char *cmd, char *value)
-+{
-+ if (strcmp(lang,(char*)"guile") == 0) {
-+ if (strcmp(cmd, (char*)"beforereturn")==0) {
-+ if (before_return)
-+ Delete(before_return);
-+ before_return = NewString(value);
-+ }
- }
- }