Index: genprops.awk =================================================================== RCS file: /cvs/octave/src/genprops.awk,v retrieving revision 1.3 diff -c -r1.3 genprops.awk *** genprops.awk 10 Sep 2007 20:15:17 -0000 1.3 --- genprops.awk 14 Sep 2007 19:06:09 -0000 *************** *** 53,58 **** --- 53,67 ---- ## O: There is a custom extern definition for the octave_value version ## of the set function, so we emit only the declaration. ## + ## a: The octave_value version of the set function will use assignment: + ## void + ## set_NAME (const octave_value& val) + ## { + ## TYPE tmpNAME (NAME); + ## tmpNAME = val; + ## set_NAME (tmpNAME); + ## } + ## ## m: Add the line ## ## set_NAMEmode ("manual"); *************** *** 113,118 **** --- 122,132 ---- if (emit_ov_set[i] == "defn") printf (" { set_%s (%s (val)); }\n\n", name[i], type[i]); + else if (emit_ov_set[i] == "asign") + { + printf ("\n {\n %s tmp%s (%s);\n", type[i], name[i], name[i]); + printf(" tmp%s = val;\n set_%s (tmp%s);\n };\n\n", name[i], name[i] , name[i]); + } else printf (";\n"); } *************** *** 194,199 **** --- 208,217 ---- if (index (quals, "S")) emit_set[idx] = "decl"; + ## emmit an asignment set function + if (index (quals, "a")) + emit_ov_set[idx] = "asign"; + if (type[idx] != "octave_value") { ## The 'o' and 'O' qualifiers are only useful when the