diff --git a/Singular-doc-hang.patch b/Singular-doc-hang.patch new file mode 100644 index 0000000..0d1da3e --- /dev/null +++ b/Singular-doc-hang.patch @@ -0,0 +1,148 @@ +--- singular-4.3.1/doc/general.doc.orig 2022-07-06 03:32:37.000000000 -0600 ++++ singular-4.3.1/doc/general.doc 2023-01-14 10:06:48.967336259 -0700 +@@ -3100,7 +3100,7 @@ programs or for parallel computations (s + + @strong{Example:} + @smallexample +-@c example ++@c example no_comp + ring r; + link l = "ssi:tcp localhost:"+system("Singular"); // declare a link explicitly + open(l); // needs an open, launches another SINGULAR as a server +--- singular-4.3.1/doc/pl2doc.pl.orig 2022-07-06 03:32:37.000000000 -0600 ++++ singular-4.3.1/doc/pl2doc.pl 2023-01-14 20:44:58.342822717 -0700 +@@ -117,10 +117,10 @@ unless ($no_fun) + } + # print example + if ($example{$procs[$i]} && +- ($ex = &CleanUpExample($lib, $example{$procs[$i]}))) ++ (($ex, $exec) = &CleanUpExample($lib, $example{$procs[$i]}))) + { + print LDOC "\@strong{Example:}\n"; +- print LDOC "\@smallexample\n\@c example$tag\n"; ++ print LDOC "\@smallexample\n\@c example$tag$exec\n"; + print LDOC $ex; + print LDOC "\n\@c example\n\@end smallexample\n"; + } +@@ -495,17 +495,18 @@ sub OutKeywords + sub CleanUpExample + { + local($lib, $example) = @_; ++ my $exec; + + # find portion in {} + $example =~ s/^[^{]*{(.*)}[^}]*$/$1/s; + + if ($example =~ /EXAMPLE: \(not executed\)/) + { +- # erase first three lines +- $example =~ s/^.*\n.*\n.*\n/\n/; +- # erase enclosing " " in every line +- $example =~ s/\n\s*"/\n/g; +- $example =~ s/";\n/\n/g; ++ $exec = " no_comp"; ++ } ++ else ++ { ++ $exec = ""; + } + # erase EXAMPLE, echo and pause statements + $example =~ s/"EXAMPLE.*"[^;]*;//g; +@@ -535,7 +536,7 @@ sub CleanUpExample + # erase spaces from beginning of lines + $example =~ s/\n\s*/\n/g; + $example =~ s/\s*$//g; +- return $example; ++ return ($example, $exec); + } + + sub print_doc_header +--- singular-4.3.1/Singular/LIB/ffmodstd.lib.orig 2022-07-06 03:32:37.000000000 -0600 ++++ singular-4.3.1/Singular/LIB/ffmodstd.lib 2023-01-14 21:31:27.896097910 -0700 +@@ -1958,7 +1958,7 @@ EXAMPLE: example ffmodStd; shows an exam + } + } + example +-{ "EXAMPLE:"; echo = 2; ++{ "EXAMPLE: (not executed)"; echo = 2; + ring Ra=(0,a),(x,y,z),dp; + ideal I = (a^2+2)*x^2*y+a*y*z^2, x*z^2+(a+1)*x^2-a*y^2; + ffmodStd(I); +--- singular-4.3.1/Singular/LIB/moddiq.lib.orig 2022-07-06 03:32:37.000000000 -0600 ++++ singular-4.3.1/Singular/LIB/moddiq.lib 2023-01-14 21:34:17.397946953 -0700 +@@ -170,7 +170,7 @@ EXAMPLE: example modSat; shows an examp + } + example + { +- "EXAMPLE:"; ++ "EXAMPLE: (not executed)"; + echo=2; + ring r=0,x(1..6),dp; + ideal i=cyclic(6); +--- singular-4.3.1/Singular/LIB/parallel.lib.orig 2022-07-06 03:32:37.000000000 -0600 ++++ singular-4.3.1/Singular/LIB/parallel.lib 2023-01-14 20:53:17.070588749 -0700 +@@ -142,7 +142,7 @@ EXAMPLE: example parallelWaitFirst; sho + } + example + { +- "EXAMPLE:"; ++ "EXAMPLE: (not executed)"; + echo = 2; + ring R = 0, (x,y,z), lp; + ideal I = 3x3y+x3+xy3+y2z2, 2x3z-xy-xz3-y4-z2, 2x2yz-2xy2+xz2-y4; +@@ -182,7 +182,7 @@ EXAMPLE: example parallelWaitAll; shows + } + example + { +- "EXAMPLE:"; ++ "EXAMPLE: (not executed)"; + echo = 2; + ring R = 0, (x,y,z), dp; + ideal I1 = z8+z6+4z5+4z3+4z2+4, -z2+y; +@@ -232,7 +232,7 @@ EXAMPLE: example parallelTestAND; shows + } + example + { +- "EXAMPLE:"; ++ "EXAMPLE: (not executed)"; + echo = 2; + ring R = 0, (x,y,z), dp; + ideal I = x, y, z; +@@ -287,7 +287,7 @@ EXAMPLE: example parallelTestAND; shows + } + example + { +- "EXAMPLE:"; ++ "EXAMPLE: (not executed)"; + echo = 2; + ring R = 0, (x,y,z), dp; + ideal I; +--- singular-4.3.1/Singular/LIB/tasks.lib.orig 2022-07-06 03:32:37.000000000 -0600 ++++ singular-4.3.1/Singular/LIB/tasks.lib 2023-01-14 21:12:17.103467631 -0700 +@@ -241,7 +241,7 @@ EXAMPLE: example killTask; shows an exa + } + example + { +- "EXAMPLE:"; ++ "EXAMPLE: (not executed)"; + echo = 2; + ring R = 0, (x,y), dp; + ideal I = x9y2+x10, x2y7-y8; +@@ -282,7 +282,7 @@ EXAMPLE: example copyTask; shows an exa + } + example + { +- "EXAMPLE:"; ++ "EXAMPLE: (not executed)"; + echo = 2; + ring R = 0, (x,y), dp; + ideal I = x9y2+x10, x2y7-y8; +@@ -1078,7 +1078,7 @@ EXAMPLE: example waitTasks; shows an ex + } + example + { +- "EXAMPLE:"; ++ "EXAMPLE: (not executed)"; + echo = 2; + ring R = 0, (x,y), dp; + ideal I = x9y2+x10, x2y7-y8; diff --git a/Singular-emacs.patch b/Singular-emacs.patch index 4b573bd..e0f322d 100644 --- a/Singular-emacs.patch +++ b/Singular-emacs.patch @@ -1,5 +1,5 @@ ---- Singular-Release-4-2-1p3/emacs/.emacs-singular.orig 2021-12-17 11:35:18.000000000 -0700 -+++ Singular-Release-4-2-1p3/emacs/.emacs-singular 2022-03-03 15:36:50.506016980 -0700 +--- singular-4.3.1/emacs/.emacs-singular.orig 2022-07-06 03:32:37.000000000 -0600 ++++ singular-4.3.1/emacs/.emacs-singular 2022-09-20 17:41:04.430333595 -0600 @@ -185,7 +185,7 @@ "" "/"))) @@ -18,8 +18,8 @@ (add-submenu nil '("Singular" ["Start default" singular t] ---- Singular-Release-4-2-1p3/resources/feResource.cc.orig 2022-03-03 15:36:50.506016980 -0700 -+++ Singular-Release-4-2-1p3/resources/feResource.cc 2022-03-03 15:37:33.897043556 -0700 +--- singular-4.3.1/resources/feResource.cc.orig 2022-07-06 03:32:37.000000000 -0600 ++++ singular-4.3.1/resources/feResource.cc 2022-09-20 17:41:04.430333595 -0600 @@ -76,7 +76,7 @@ VAR feResourceConfig_s feResourceConfigs {"RootDir", 'r', feResDir, "SINGULAR_ROOT_DIR", "%b/..", (char *)""}, {"DataDir", 'D', feResDir, "SINGULAR_DATA_DIR", "%b/../share/", (char *)""}, @@ -27,5 +27,5 @@ - {"InfoFile", 'i', feResFile, "SINGULAR_INFO_FILE", "%D/info/singular.info", (char *)""}, + {"InfoFile", 'i', feResFile, "SINGULAR_INFO_FILE", "%D/info/singular.info.gz", (char *)""}, {"IdxFile", 'x', feResFile, "SINGULAR_IDX_FILE", "%D/singular/singular.idx", (char *)""}, - {"HtmlDir", 'h', feResDir, "SINGULAR_HTML_DIR", "%D/singular/html", (char *)""}, + {"HtmlDir", 'h', feResDir, "SINGULAR_HTML_DIR", DATA_TO_HTML_DIR, (char *)""}, {"ManualUrl", 'u', feResUrl, "SINGULAR_URL", "https://www.singular.uni-kl.de/Manual/", (char *)""}, diff --git a/Singular-format-specifier.patch b/Singular-format-specifier.patch deleted file mode 100644 index f7c946a..0000000 --- a/Singular-format-specifier.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- Singular-Release-4-2-1p3/kernel/oswrapper/vspace.cc.orig 2022-03-03 16:09:04.971209163 -0700 -+++ Singular-Release-4-2-1p3/kernel/oswrapper/vspace.cc 2022-07-25 13:13:02.041950315 -0600 -@@ -725,10 +725,10 @@ static void print_freelists() { - for (int i = 0; i <= LOG2_SEGMENT_SIZE; i++) { - vaddr_t vaddr = vmem.freelist[i]; - if (vaddr != VADDR_NULL) { -- std::printf("%2d: %ld", i, vaddr); -+ std::printf("%2d: %zu", i, vaddr); - vaddr_t prev = block_ptr(vaddr)->prev; - if (prev != VADDR_NULL) { -- std::printf("(%ld)", prev); -+ std::printf("(%zu)", prev); - } - assert(block_ptr(vaddr)->prev == VADDR_NULL); - for (;;) { -@@ -737,10 +737,10 @@ static void print_freelists() { - vaddr = block->next; - if (vaddr == VADDR_NULL) - break; -- std::printf(" -> %ld", vaddr); -+ std::printf(" -> %zu", vaddr); - vaddr_t prev = block_ptr(vaddr)->prev; - if (prev != last_vaddr) { -- std::printf("(%ld)", prev); -+ std::printf("(%zu)", prev); - } - } - std::printf("\n"); diff --git a/Singular-gcc12.patch b/Singular-gcc12.patch deleted file mode 100644 index dc7f9be..0000000 --- a/Singular-gcc12.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- Singular-Release-4-2-1p3/kernel/oswrapper/vspace.cc.orig 2021-12-17 11:35:18.000000000 -0700 -+++ Singular-Release-4-2-1p3/kernel/oswrapper/vspace.cc 2022-03-03 16:09:04.971209163 -0700 -@@ -555,6 +555,7 @@ int EventSet::wait() { - - } // namespace vspace - #else -+#include - #include - #include - #include diff --git a/Singular-javac.patch b/Singular-javac.patch deleted file mode 100644 index 27e6628..0000000 --- a/Singular-javac.patch +++ /dev/null @@ -1,2511 +0,0 @@ ---- singular-4.1.1/Singular/LIB/surfex/AboutFrame.java.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/AboutFrame.java 2020-07-22 21:28:36.500381090 -0600 -@@ -94,8 +94,8 @@ public class AboutFrame extends JFrame { - JPanel panel3 = new JPanel(); - panel3.setLayout(new GridLayout(13, 1)); - panel3.add(new JLabel("")); -- panel3.add(new JLabel("Surfex v" + surfex_.strVersion + " " -- + surfex_.strDate)); -+ panel3.add(new JLabel("Surfex v" + surfex.strVersion + " " -+ + surfex.strDate)); - panel3.add(new JLabel("")); - panel3.add(new JLabel("http://www.surfex.AlgebraicSurface.net")); - panel3.add(new JLabel("")); ---- singular-4.1.1/Singular/LIB/surfex/AppearanceScheme.java.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/AppearanceScheme.java 2020-07-22 21:43:53.578403593 -0600 -@@ -86,22 +86,22 @@ public class AppearanceScheme { - public Color getEquationColorInside(int no) { - return (brighter(baseSurfaceColors[(no - 1) - % (baseSurfaceColors.length)], surfaceIntensityFactor, -- ((int) (no / (baseSurfaceColors.length))) * 3 + 2)); -+ (no / baseSurfaceColors.length) * 3 + 2)); - } - - public Color getEquationColorOutside(int no) { - return (brighter(baseSurfaceColors[(no - 1) - % (baseSurfaceColors.length)], surfaceIntensityFactor, -- ((int) (no / (baseSurfaceColors.length))) * 3 + 1)); -+ (no / baseSurfaceColors.length) * 3 + 1)); - } - - public Color getCurveColor(int no) { - if (no % 2 == 1) { - return (brighter(baseCurveColors[(no - 1) % 2], -- curveIntensityFactor, ((int) ((no) / 2)) + 1)); -+ curveIntensityFactor, (no / 2) + 1)); - } else { - return (darker(baseCurveColors[(no - 1) % 2], curveIntensityFactor, -- ((int) ((no - 1) / 2)) + 1)); -+ ((no - 1) / 2) + 1)); - } - } - } // end class AppearanceScheme ---- singular-4.1.1/Singular/LIB/surfex/ConfigFrame.java.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/ConfigFrame.java 2020-07-22 21:39:47.756145873 -0600 -@@ -101,7 +101,7 @@ public class ConfigFrame extends JFrame - } - if (!rayImme.isSelected() && last[4]) { - last[4] = false; -- surfex_.updateRayframeImmediatlyThread.stop(); -+ surfex_.updateRayframeImmediatlyThread.stopThread(); - } - } - -@@ -378,7 +378,7 @@ public class ConfigFrame extends JFrame - Runtime r = Runtime.getRuntime(); - Process p; - p = r.exec(iviewPath.getText() + " i_view32_test.jpg /convert=" -- + surfex_.tmpDir + "i_view32_test.jpg"); -+ + surfex.tmpDir + "i_view32_test.jpg"); - iviewPath.setBackground(Color.white); - return true; - } catch (Exception e1) { ---- singular-4.1.1/Singular/LIB/surfex/CurveAdmin.java.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/CurveAdmin.java 2020-07-22 20:32:26.887446361 -0600 -@@ -57,7 +57,7 @@ public class CurveAdmin extends JPanel i - private surfex surfex_; - - // this Project -- Vector cunList = new Vector(); -+ Vector cunList = new Vector(); - - int cuncounter = 0; - -@@ -81,15 +81,15 @@ public class CurveAdmin extends JPanel i - } - - public void equationListChanged_add(String EqName) { -- ListIterator li = cunList.listIterator(); -+ ListIterator li = cunList.listIterator(); - Curve cu; - int i; - while (li.hasNext()) { - // System.out.println("update pla oe" ); -- cu = (Curve) li.next(); -+ cu = li.next(); - for (i = 0; i <= 9; i++) { - // System.out.println(i); -- cu.C[i].addItem(EqName); -+ cu.C.get(i).addItem(EqName); - } - } - } -@@ -106,11 +106,11 @@ public class CurveAdmin extends JPanel i - - - -- public Vector getEqNrs() { -- Vector temp = new Vector(); -- ListIterator li = cunList.listIterator(); -+ public Vector getEqNrs() { -+ Vector temp = new Vector(); -+ ListIterator li = cunList.listIterator(); - while (li.hasNext()) { -- temp.add(new Integer(((Curve) li.next()).cunr)); -+ temp.add(Integer.valueOf(li.next().cunr)); - } - return temp; - } -@@ -252,11 +252,10 @@ public class CurveAdmin extends JPanel i - cuPanel.removeAll(); - cuPanel.setLayout(new GridLayout(20, 0)); - // System.out.println("updatepanel"); -- ListIterator li = cunList.listIterator(); -- Curve cu; -+ ListIterator li = cunList.listIterator(); - int internalCunr = 1; - while (li.hasNext()) { -- cu = (Curve) li.next(); -+ Curve cu = li.next(); - cu.updateActionCommands(internalCunr++); - cuPanel.add(cu); - } -@@ -309,7 +308,7 @@ public class CurveAdmin extends JPanel i - || (strline.equals("showcbox:"))) { - // System.out.println("strline:"+strline); - if (strline.equals("curveno:")) { -- ((Curve) cunList.lastElement()) -+ cunList.lastElement() - .setCurveNo(Integer.parseInt(bs - .readLine())); - } -@@ -317,7 +316,7 @@ public class CurveAdmin extends JPanel i - for (j = 0; j <= 9; j++) { - try { - bs.mark(255); -- ((Curve) cunList.lastElement()).C[j] -+ cunList.lastElement().C.get(j) - .setSelectedIndex(Integer - .parseInt(bs.readLine())); - } catch (Exception nex) { -@@ -326,14 +325,14 @@ public class CurveAdmin extends JPanel i - } - } - if (strline.equals("color:")) { -- ((Curve) cunList.lastElement()).colorButton_i -+ cunList.lastElement().colorButton_i - .setBackground(new Color( - Integer.parseInt(bs.readLine()), - Integer.parseInt(bs.readLine()), - Integer.parseInt(bs.readLine()))); - } - if (strline.equals("showcbox:")) { -- ((Curve) cunList.lastElement()).cbox -+ cunList.lastElement().cbox - .setSelected((Boolean.valueOf(bs - .readLine())).booleanValue()); - } -@@ -347,12 +346,12 @@ public class CurveAdmin extends JPanel i - } - if (datatype.equals("complete") || datatype.equals("onlyeqns") - || datatype.equals("eqnsvis")) { -- ((Curve) cunList.lastElement()).setCurveNo(Integer -+ cunList.lastElement().setCurveNo(Integer - .parseInt(bs.readLine())); - for (j = 0; j <= 9; j++) { - try { - bs.mark(255); -- ((Curve) cunList.lastElement()).C[j] -+ cunList.lastElement().C.get(j) - .setSelectedIndex(Integer.parseInt(bs - .readLine())); - } catch (Exception nex) { -@@ -362,7 +361,7 @@ public class CurveAdmin extends JPanel i - } - } - if (datatype.equals("complete") || datatype.equals("onlystyle")) { -- ((Curve) cunList.lastElement()).colorButton_i -+ cunList.lastElement().colorButton_i - .setBackground(new Color(Integer.parseInt(bs - .readLine()), Integer.parseInt(bs - .readLine()), Integer.parseInt(bs -@@ -370,7 +369,7 @@ public class CurveAdmin extends JPanel i - } - if (datatype.equals("complete") || datatype.equals("onlystyle") - || datatype.equals("eqnsvis")) { -- ((Curve) cunList.lastElement()).cbox.setSelected((Boolean -+ cunList.lastElement().cbox.setSelected((Boolean - .valueOf(bs.readLine())).booleanValue()); - } - } -@@ -383,11 +382,11 @@ public class CurveAdmin extends JPanel i - String str = ""; - // System.out.println("save cu" ); - //pw.println("String"); -- ListIterator li = cunList.listIterator(); -+ ListIterator li = cunList.listIterator(); - str += "////////////////// CURVES: /////////////////////////" + "\n"; - str += cunList.size() + "\n"; - while (li.hasNext()) { -- str += ((Curve) li.next()).saveYourself(); -+ str += li.next().saveYourself(); - } - return (str); - } ---- singular-4.1.1/Singular/LIB/surfex/Curve.java.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/Curve.java 2020-07-22 20:35:07.654411706 -0600 -@@ -36,6 +36,7 @@ import java.awt.GridLayout; - import java.awt.event.ActionEvent; - import java.awt.event.ActionListener; - import java.io.PrintWriter; -+import java.util.ArrayList; - - import javax.swing.JButton; - import javax.swing.JCheckBox; -@@ -55,10 +56,7 @@ public class Curve extends JPanel { - - // GUI - -- public JComboBox C[] = { new JComboBox(), new JComboBox(), new JComboBox(), -- new JComboBox(), new JComboBox(), new JComboBox(), new JComboBox(), -- new JComboBox(), new JComboBox(), new JComboBox() };//new -- // JComboBox[10]; -+ public ArrayList> C = new ArrayList>(10); - - //JPanel configPanel = new JPanel(); - -@@ -92,6 +90,9 @@ public class Curve extends JPanel { - Curve(int internalCunr, int cunr, CurveAdmin ca, Project pro) { - //System.out.println("testpl" ); - -+ for (int i = 0; i < 10; i++) -+ C.add(new JComboBox()); -+ - // polyCalc.doPrint = false; - cuAdm = ca; - this.project = pro; -@@ -138,8 +139,8 @@ public class Curve extends JPanel { - * C[i].addItem(cunrT);//=(new JComboBox(eqNrs)); centerPanel.add(C[i]); } } - */ - for (i = 0; i <= 9; i++) { -- C[i] = new JComboBox(project.eqAdm.getEqNrs()); -- centerPanel.add(C[i]); -+ C.set(i, new JComboBox(project.eqAdm.getEqNrs())); -+ centerPanel.add(C.get(i)); - } - - setLayout(new BorderLayout()); -@@ -211,11 +212,11 @@ public class Curve extends JPanel { - str += "curve_width = 2.5;\n"; - - for (i = 1; i <= 8; i++) { -- if (((C[i].getSelectedItem()).toString()).equals("-")) { -+ if (((C.get(i).getSelectedItem()).toString()).equals("-")) { - str += "cutsurface" + (i) + " = 0;"; - } else { - str += "cutsurface" + (i) + " = f" -- + ((C[i].getSelectedItem()).toString()) + ";"; -+ + ((C.get(i).getSelectedItem()).toString()) + ";"; - str += "cutsurface" + (i) + "=rotate(cutsurface" + (i) + "," - + ang[0] + ",yAxis);\n"; - str += "cutsurface" + (i) + "=rotate(cutsurface" + (i) + "," -@@ -244,7 +245,7 @@ public class Curve extends JPanel { - int i; - pw.println("" + eindeutigeCuNr + "\n"); - for (i = 0; i <= 9; i++) { -- pw.println(C[i].getSelectedIndex()); -+ pw.println(C.get(i).getSelectedIndex()); - } - pw.println(colorButton_i.getBackground().getRed()); - pw.println(colorButton_i.getBackground().getGreen()); -@@ -259,7 +260,7 @@ public class Curve extends JPanel { - int i; - str += ("" + cunr + "\n"); - for (i = 0; i <= 9; i++) { -- str += C[i].getSelectedIndex() + "\n"; -+ str += C.get(i).getSelectedIndex() + "\n"; - } - str += colorButton_i.getBackground().getRed() + "\n"; - str += colorButton_i.getBackground().getGreen() + "\n"; ---- singular-4.1.1/Singular/LIB/surfex/EquationAdmin.java.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/EquationAdmin.java 2020-07-22 21:52:46.602885333 -0600 -@@ -82,7 +82,7 @@ public class EquationAdmin extends JPane - private double[] scale = new double[3]; - - // this Project -- Vector eqnList = new Vector(); -+ Vector eqnList = new Vector(); - - int eqncounter = 0; - -@@ -108,7 +108,7 @@ public class EquationAdmin extends JPane - EquationAdmin(jv4surfex jv4sx, RayFrame ray, surfex su, Project myp) { - project = myp; - surfex_ = su; -- img_filename = surfex_.tmpDir + "test.png"; -+ img_filename = surfex.tmpDir + "test.png"; - this.jv4sx = jv4sx; - rayFrame = ray; - projectName = "Project 1"; -@@ -136,21 +136,20 @@ public class EquationAdmin extends JPane - eqnpanel.removeAll(); - } - -- public Vector getEqNrs() { -- Vector temp = new Vector(); -+ public Vector getEqNrs() { -+ Vector temp = new Vector(); - temp.add("-"); -- ListIterator li = eqnList.listIterator(); -+ ListIterator li = eqnList.listIterator(); - while (li.hasNext()) { -- temp.add(new Integer(((Equation) li.next()).eqnr)); -+ temp.add(Integer.valueOf(li.next().eqnr)); - } - return temp; - } - - public Equation getEqnFromNo(int no) { -- ListIterator li = eqnList.listIterator(); -- Equation tmpEq; -+ ListIterator li = eqnList.listIterator(); - while (li.hasNext()) { -- tmpEq = (Equation) li.next(); -+ Equation tmpEq = li.next(); - if (tmpEq.eqnr == no) { - return (tmpEq); - } -@@ -169,7 +168,7 @@ public class EquationAdmin extends JPane - ProjectNumber = i; - projectName = "Project" + i; - this.surfex_ = su; -- img_filename = surfex_.tmpDir + "test.png"; -+ img_filename = surfex.tmpDir + "test.png"; - - //savePicDialog = new SavePicDialog(projectName, rayFrame, this, surfex_); - // es muss vorher der Projectname da sein -@@ -192,9 +191,9 @@ public class EquationAdmin extends JPane - eqnpanel.setLayout(new GridLayout(20, 0)); - newEquation(); - -- oldeq = (Equation) eqnList.firstElement(); -+ oldeq = eqnList.firstElement(); - // ((Equation) eqnList.firstElement()).setBasePlane(true, jv4sx, scale); -- ((Equation) eqnList.firstElement()).setBasePlaneDefault(); -+ eqnList.firstElement().setBasePlaneDefault(); - this.add(eqnpanel); - } - -@@ -209,11 +208,10 @@ public class EquationAdmin extends JPane - // normalen Vergleich will er aus irgendeinem Grund nicht, desshalb muss es halt ueber den hashcode gehen ... - // klar: basePlaneButton - // System.out.println("plan"); -- ListIterator li = eqnList.listIterator(); -- Equation eq; -+ ListIterator li = eqnList.listIterator(); - oldeq.setBasePlane(false); - while (li.hasNext()) { -- eq = ((Equation) li.next()); -+ Equation eq = li.next(); - if (eq.basePlaneButton.getActionCommand() == command) { - // fertig - oldeq = eq; -@@ -230,16 +228,16 @@ public class EquationAdmin extends JPane - // klar: deletePlaneButton - int internalEqnr = (new Integer(command.substring(17, command - .length()))).intValue(); -- if (((Equation) eqnList.elementAt(internalEqnr - 1)).isBasePlane()) { -+ if (eqnList.elementAt(internalEqnr - 1).isBasePlane()) { - // dann muss ne andere die BasePlane werden - updateScale(); - if (internalEqnr != 1) { -- ((Equation) eqnList.elementAt(internalEqnr - 2)) -+ eqnList.elementAt(internalEqnr - 2) - .setBasePlane(true, jv4sx, scale); - } else { - if (eqnList.size() >= 2) { - // wurde die erste geloescht, setze die naechste als Baseplane -- ((Equation) eqnList.elementAt(internalEqnr)) -+ eqnList.elementAt(internalEqnr) - .setBasePlane(true, jv4sx, scale); - } - // else sind keine Planes mehr da! -@@ -451,7 +449,7 @@ public class EquationAdmin extends JPane - // define some constants: - strSurf += "double PI = 2*arcsin(1);"; - -- ListIterator li; -+ ListIterator li; - - // copy the parameters here: - strSurf += "\n" + "// the parameters:\n"; -@@ -463,7 +461,7 @@ public class EquationAdmin extends JPane - String thisSurfCode; - while (li.hasNext()) { - // System.out.println("no:"+cp); -- thisop = (OneParameter) li.next(); -+ thisop = li.next(); - // if (thisop.isSelected()) { - thisSurfCode=thisop.getSurfCode(); - //System.out.println("was rauskomt:"+thisSurfCode); -@@ -485,25 +483,25 @@ public class EquationAdmin extends JPane - - // get the equations of the surfaces used: - strSurf += "\n" + "// the equations:\n"; -- li = eqnList.listIterator(); -+ ListIterator li2 = eqnList.listIterator(); - Equation thisEqn; - int lc = 0; - int ec = 1; -- while (li.hasNext()) { -- thisEqn = (Equation) li.next(); -+ while (li2.hasNext()) { -+ thisEqn = li2.next(); - strSurf += thisEqn.getPolyCode("f" + ec)+"\n"; - ec++; - } - - // the surfaces which will be shown: -- while (li.hasPrevious()) { -- li.previous(); -+ while (li2.hasPrevious()) { -+ li2.previous(); - } - lc = 0; - ec = 1; - // System.out.println("getSurfCode"); -- while (li.hasNext()) { -- thisEqn = (Equation) li.next(); -+ while (li2.hasNext()) { -+ thisEqn = li2.next(); - thisEqn.surf_no = -1; - if (thisEqn.isSelected() && !(thisEqn.visType.getSelectedIndex()==2)) { - if (lc <= 9) { -@@ -518,14 +516,14 @@ public class EquationAdmin extends JPane - } - - // the clip surfaces: -- while (li.hasPrevious()) { -- li.previous(); -+ while (li2.hasPrevious()) { -+ li2.previous(); - } - int lcc = 0; - int ecc = 1; - String strSurfNo = ""; -- while (li.hasNext()) { -- thisEqn = (Equation) li.next(); -+ while (li2.hasNext()) { -+ thisEqn = li2.next(); - // thisEqn.surf_no = -1; - if (thisEqn.isSelected() && thisEqn.visType.getSelectedIndex()==2) { - if (lcc <= 9) { -@@ -546,15 +544,15 @@ public class EquationAdmin extends JPane - // get the coordinates of the isolated points - // and draw the small spheres: - strSurf += "\n" + "// the solitary points (shown as spheres):\n"; -- li = project.solPtsAdm.solPtsList.listIterator(); -+ ListIterator li3 = project.solPtsAdm.solPtsList.listIterator(); - SolitaryPoint thisPt; - int ptc = 0; - String strSurface = ""; - Equation tmpEq; - String strTmp; - int usedEqNo = lc; -- while (li.hasNext()) { -- thisPt = (SolitaryPoint) li.next(); -+ while (li3.hasNext()) { -+ thisPt = li3.next(); - // System.out.println("rad:"); - if (!(((thisPt.radiusLabel).getText()).equals("0.0"))) { - strSurf += thisPt.getSurfCode(); -@@ -659,25 +657,24 @@ public class EquationAdmin extends JPane - - // draw the curves given by intersections of some of the equations above: - strSurf += "\n" + "// the curves:\n"; -- li = project.cuAdm.cunList.listIterator(); -+ ListIterator li4 = project.cuAdm.cunList.listIterator(); - Curve thisCun; - lc = 0; - int cc = 1; - String tmpSurfNo = "-"; - int iTmpSurfNo = -1; - // System.out.println("curves..."); -- while (li.hasNext()) { -- thisCun = (Curve) li.next(); -+ while (li4.hasNext()) { -+ thisCun = li4.next(); - // System.out.println("next..."); - if (thisCun.isSelected()) { - // System.out.println("selected..."); - // if (lc <= 9) { - // System.out.println("cu:"+thisCun.C[0].getSelectedItem().toString()); -- tmpSurfNo = (thisCun.C[0].getSelectedItem().toString()); -+ tmpSurfNo = (thisCun.C.get(0).getSelectedItem().toString()); - if (!tmpSurfNo.equals("-")) { -- iTmpSurfNo = ((Equation) -- (eqnList.elementAt( -- Integer.parseInt(tmpSurfNo) - 1))).surf_no; -+ iTmpSurfNo = (eqnList.elementAt( -+ Integer.parseInt(tmpSurfNo) - 1)).surf_no; - // System.out.println("surf_no:"+iTmpSurfNo); - if (!(iTmpSurfNo == -1)) { - strSurf += thisCun.getSurfCode( -@@ -754,13 +751,12 @@ public class EquationAdmin extends JPane - + (project.bgColorButton.getBackground().getBlue()) - + ";\n"); - // Polynome aus der Liste uebergebn -- ListIterator li = eqnList.listIterator(); -- Equation thisEqn; -+ ListIterator li = eqnList.listIterator(); - int lc = 0; - int ec = 1; - // System.out.println("saveSurfCode"); - while (li.hasNext()) { -- thisEqn = (Equation) li.next(); -+ Equation thisEqn = li.next(); - if (thisEqn.isSelected()) { - if (lc <= 9) { - thisEqn.savesurfCode(pw, -@@ -791,11 +787,10 @@ public class EquationAdmin extends JPane - eqnpanel.removeAll(); - eqnpanel.setLayout(new GridLayout(20, 0)); - // System.out.println("updatepanel"); -- ListIterator li = eqnList.listIterator(); -- Equation eq; -+ ListIterator li = eqnList.listIterator(); - int internalEqnr = 1; - while (li.hasNext()) { -- eq = (Equation) li.next(); -+ Equation eq = li.next(); - eq.updateActionCommands(internalEqnr++); - eqnpanel.add(eq); - } -@@ -999,23 +994,23 @@ public class EquationAdmin extends JPane - || (strline.equals("transparency:"))) { - // System.out.println("strline:"+strline); - if (strline.equals("eqno:")) { -- ((Equation) eqnList.lastElement()) -+ eqnList.lastElement() - .setEquationNo(Integer.parseInt(bs - .readLine())); - } - if (strline.equals("equation:")) { -- ((Equation) eqnList.lastElement()).text -+ eqnList.lastElement().text - .setText(bs.readLine()); - } - if (strline.equals("insidecolor:")) { -- ((Equation) eqnList.lastElement()).colorButton_i -+ eqnList.lastElement().colorButton_i - .setBackground(new Color( - Integer.parseInt(bs.readLine()), - Integer.parseInt(bs.readLine()), - Integer.parseInt(bs.readLine()))); - } - if (strline.equals("outsidecolor:")) { -- ((Equation) eqnList.lastElement()).colorButton_o -+ eqnList.lastElement().colorButton_o - .setBackground(new Color( - Integer.parseInt(bs.readLine()), - Integer.parseInt(bs.readLine()), -@@ -1024,30 +1019,30 @@ public class EquationAdmin extends JPane - if (strline.equals("basecolor:")) { - int i = Integer.parseInt(bs.readLine()); - if (i != 255) { -- ((Equation) eqnList.lastElement()).basePlaneButton -+ eqnList.lastElement().basePlaneButton - .setBackground(new Color(0, 255, 0)); - } else { -- ((Equation) eqnList.lastElement()).basePlaneButton -+ eqnList.lastElement().basePlaneButton - .setBackground(new Color(255, 255, - 255)); - } - } - if (strline.equals("showcbox:")) { -- ((Equation) eqnList.lastElement()).cbox -+ eqnList.lastElement().cbox - .setSelected((Boolean.valueOf(bs - .readLine())).booleanValue()); - } - if (strline.equals("clipping:")) { -- ((Equation) eqnList.lastElement()).optionButtonPane.bt2 -+ eqnList.lastElement().optionButtonPane.bt2 - .setSelected(!(Boolean.valueOf(bs - .readLine()).booleanValue())); - } - if (strline.equals("clipradius:")) { -- ((Equation) eqnList.lastElement()).optionButtonPane.clipingRadiusTextField -+ eqnList.lastElement().optionButtonPane.clipingRadiusTextField - .setText(bs.readLine()); - } - if (strline.equals("transparency:")) { -- ((Equation) eqnList.lastElement()).optionButtonPane.slider1 -+ eqnList.lastElement().optionButtonPane.slider1 - .setValue(Integer.parseInt(bs - .readLine())); - } -@@ -1064,31 +1059,31 @@ public class EquationAdmin extends JPane - || datatype.equals("onlyeqns") - || datatype.equals("eqnsvis")) { - // System.out.println("eqno, equations..."); -- ((Equation) eqnList.lastElement()) -+ eqnList.lastElement() - .setEquationNo(Integer.parseInt(bs.readLine())); -- ((Equation) eqnList.lastElement()).text.setText(bs.readLine()); -+ eqnList.lastElement().text.setText(bs.readLine()); - // System.out.println("end eqno, equations."); - } - if (datatype.equals("complete") - || datatype.equals("onlystyle")) { - // System.out.println("colors..."); -- ((Equation) eqnList.lastElement()).colorButton_i -+ eqnList.lastElement().colorButton_i - .setBackground(new Color( - Integer.parseInt(bs.readLine()), - Integer.parseInt(bs.readLine()), - Integer.parseInt(bs.readLine()))); -- ((Equation) eqnList.lastElement()).colorButton_o -+ eqnList.lastElement().colorButton_o - .setBackground(new Color(Integer.parseInt(bs.readLine()), - Integer.parseInt(bs.readLine()), - Integer.parseInt(bs.readLine()))); - int i = Integer.parseInt(bs.readLine()); - if (i != 255) { - // System.out.println("green"); -- ((Equation) eqnList.lastElement()).basePlaneButton -+ eqnList.lastElement().basePlaneButton - .setBackground(new Color(0, 255, 0)); - } else { - // System.out.println("white"); -- ((Equation) eqnList.lastElement()).basePlaneButton -+ eqnList.lastElement().basePlaneButton - .setBackground(new Color(255, 255, 255)); - } - } -@@ -1097,20 +1092,20 @@ public class EquationAdmin extends JPane - || datatype.equals("onlystyle") - || datatype.equals("eqnsvis")) { - // System.out.println("cbox..."); -- ((Equation) eqnList.lastElement()).cbox -+ eqnList.lastElement().cbox - .setSelected((Boolean.valueOf(bs.readLine())) - .booleanValue()); - if(iVersion>=8907) { -- ((Equation) eqnList.lastElement()).visType -+ eqnList.lastElement().visType - .setSelectedIndex(Integer.parseInt(bs.readLine())); - } - } - if (datatype.equals("complete") - || datatype.equals("onlystyle")) { -- ((Equation) eqnList.lastElement()).optionButtonPane.bt2 -+ eqnList.lastElement().optionButtonPane.bt2 - .setSelected(!(Boolean.valueOf(bs.readLine()) - .booleanValue())); -- ((Equation) eqnList.lastElement()).optionButtonPane -+ eqnList.lastElement().optionButtonPane - .clipingRadiusTextField - .setText(bs.readLine()); - } -@@ -1118,7 +1113,7 @@ public class EquationAdmin extends JPane - || datatype.equals("onlystyle") - || datatype.equals("eqnsvis")) { - // System.out.println("slider1..."); -- ((Equation) eqnList.lastElement()).optionButtonPane.slider1 -+ eqnList.lastElement().optionButtonPane.slider1 - .setValue(Integer.parseInt(bs.readLine())); - } - } -@@ -1131,22 +1126,22 @@ public class EquationAdmin extends JPane - - public void save(PrintWriter pw) { - // System.out.println("save Eq" ); -- ListIterator li = eqnList.listIterator(); -+ ListIterator li = eqnList.listIterator(); - pw.println("////////////////// EQUATIONS: /////////////////////////"); - pw.println(eqnList.size()); - while (li.hasNext()) { -- ((Equation) li.next()).saveYourself(pw); -+ li.next().saveYourself(pw); - } - } - - public String save() { - String str = ""; - // System.out.println("save Eq" ); -- ListIterator li = eqnList.listIterator(); -+ ListIterator li = eqnList.listIterator(); - str += "////////////////// EQUATIONS: /////////////////////////" + "\n"; - str += eqnList.size() + "\n"; - while (li.hasNext()) { -- str += ((Equation) li.next()).saveYourself(); -+ str += li.next().saveYourself(); - } - return (str); - } -@@ -1156,10 +1151,9 @@ public class EquationAdmin extends JPane - /// muss noch gefuellt werden ... - // wird aufgeufen, wenn das Projekt gewechselt wurde - // um das Bildchen in javaview upzudaten -- ListIterator li = eqnList.listIterator(); -- Equation eq; -+ ListIterator li = eqnList.listIterator(); - while (li.hasNext()) { -- eq = (Equation) li.next(); -+ Equation eq = li.next(); - if (eq.isBasePlane()) { - eq.updateJV4SX(); - break; -@@ -1172,10 +1166,9 @@ public class EquationAdmin extends JPane - - public void updateJV4SXandReconstructLastView() { - // System.out.println("updateJV4SXandRec..."); -- ListIterator li = eqnList.listIterator(); -- Equation eq; -+ ListIterator li = eqnList.listIterator(); - while (li.hasNext()) { -- eq = (Equation) li.next(); -+ Equation eq = li.next(); - // System.out.println("is base?"+eq.getEqNo()); - if (eq.isBasePlane()) { - eq.updateJV4SX(); ---- singular-4.1.1/Singular/LIB/surfex/Equation.java.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/Equation.java 2020-07-22 20:41:34.391350249 -0600 -@@ -90,7 +90,7 @@ public class Equation extends JPanel { - jv4surfex jv4sx; - - JCheckBox cbox = new JCheckBox(); -- JComboBox visType = new JComboBox(); -+ JComboBox visType = new JComboBox(); - - EquationAdmin eqAdm; - -@@ -102,13 +102,17 @@ public class Equation extends JPanel { - // Ende Variablen - - public String getImpsurfCode(String strPoly, double[] scale) { -- String strRichMor = "DEF=" + URLEncoder.encode(strPoly + "=0;") -- + "&XMIN=-" + (9.0 / scale[0]) + "&XMAX=" + (9.3 / scale[0]) -- + "&YMIN=-" + (9.1 / scale[1]) + "&YMAX=" + (9.1 / scale[1]) -- + "&ZMIN=-" + (9.2 / scale[2]) + "&ZMAX=" + (9.3 / scale[2]) -- + "" + "&COARSE=8&FINE=64&FACE=512&EDGE=4096" -- + "&TIMEOUT=1000&VERSION=3"; -- return (strRichMor); -+ try { -+ String strRichMor = "DEF=" + URLEncoder.encode(strPoly + "=0;", "UTF-8") -+ + "&XMIN=-" + (9.0 / scale[0]) + "&XMAX=" + (9.3 / scale[0]) -+ + "&YMIN=-" + (9.1 / scale[1]) + "&YMAX=" + (9.1 / scale[1]) -+ + "&ZMIN=-" + (9.2 / scale[2]) + "&ZMAX=" + (9.3 / scale[2]) -+ + "" + "&COARSE=8&FINE=64&FACE=512&EDGE=4096" -+ + "&TIMEOUT=1000&VERSION=3"; -+ return (strRichMor); -+ } catch (java.io.UnsupportedEncodingException ex) { -+ return ""; -+ } - } - - public boolean triangulate(String strPoly, double[] scale, -@@ -131,12 +135,12 @@ public class Equation extends JPanel { - .print("prefix=surfex_tmp" - + "&filelocation=" - + URLEncoder.encode("./" + eindeutigeEqnNr -- + ".jvx") -+ + ".jvx", "UTF-8") - + "&tmpsubdir=" - + URLEncoder -- .encode(surfex_.getCurrentProject().old_tmpsubdir) -+ .encode(surfex_.getCurrentProject().old_tmpsubdir, "UTF-8") - + "&prg=impsurf" + "&prg_code_part1=" -- + URLEncoder.encode(strRichMor) -+ + URLEncoder.encode(strRichMor, "UTF-8") - + "&prg_code_part2="); - out.close(); - // read the file names ---- singular-4.1.1/Singular/LIB/surfex/ExtensionFileFilter.java.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/ExtensionFileFilter.java 2020-07-22 21:49:06.073710798 -0600 -@@ -60,7 +60,7 @@ public class ExtensionFileFilter extends - this.description = description; - } - -- this.extensions = (String[]) extensions.clone(); -+ this.extensions = extensions.clone(); - // Convert array to lowercase - // Don't alter original entries - toLower(this.extensions); ---- singular-4.1.1/Singular/LIB/surfex/jv4surfex.java.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/jv4surfex.java 2020-07-22 21:40:49.226210318 -0600 -@@ -77,7 +77,7 @@ public class jv4surfex { - - double lastScale,factor; - -- Vector lamps=new Vector(); -+ Vector lamps=new Vector(); - - double scale = 1.0; - public double scaleMin = 0.0; -@@ -366,7 +366,7 @@ public class jv4surfex { - frame.setVisible(false); - } - -- public void setLamps(Vector lamps){ -+ public void setLamps(Vector lamps){ - this.lamps=lamps; - // System.out.println("222joahr----"+((Lamp)lamps.firstElement()).getXpos()); - -@@ -393,13 +393,12 @@ public class jv4surfex { - disp.removeGeometries(); - - -- int i=lamps.size()-1; -- Lamp l; -+ int i; - // System.out.println("lampsize:"+lamps.size()); - for(i=0;i lampList = new Vector(); -+ public Vector parList = new Vector(); - - // updateJV4SX(); - double lastScale = 1.0; -@@ -322,7 +323,7 @@ public class LampAdmin extends JFrame im - - public Lamp getSelectedLamp(){ - //System.out.println("sdgdfgfdgfdg"); -- return ((Lamp)lampList.elementAt(selectedLamp)); -+ return lampList.elementAt(selectedLamp); - } - - public Lamp getCameraLamp(){ -@@ -332,8 +333,8 @@ public class LampAdmin extends JFrame im - return getSelectedLamp().previewLamp(0.0,0.0,100.0); - } - -- public Vector getModifiedLampList(){ -- Vector lamps=new Vector(); -+ public Vector getModifiedLampList(){ -+ Vector lamps=new Vector(); - lamps.add(getCameraLamp()); - - // switch off other lamps -@@ -389,14 +390,13 @@ public class LampAdmin extends JFrame im - - } - -- public Vector getLampsForJv4sx(){ -+ public Vector getLampsForJv4sx(){ - // returned alle Lampen die angeschaltet sind. - -- Vector list=new Vector(); -- ListIterator li=lampList.listIterator(); -- Lamp tmp; -+ Vector list=new Vector(); -+ ListIterator li=lampList.listIterator(); - while(li.hasNext()){ -- tmp=((Lamp)li.next()); -+ Lamp tmp = li.next(); - if((tmp.isShining()) && (tmp.lampNo-1 != selectedLamp)){ - list.add(tmp); - // System.out.println(tmp.lampNo+" "+selectedLamp); -@@ -417,7 +417,7 @@ public class LampAdmin extends JFrame im - - if(lampIsSelected()){ - if(updateRayframeImmediatlyThread!=null){ -- updateRayframeImmediatlyThread.stop(); -+ updateRayframeImmediatlyThread.stopThread(); - } - getSelectedLamp().setSelected(false); - selectedLamp=no; -@@ -454,14 +454,13 @@ public class LampAdmin extends JFrame im - jv4sx.updateDisp(); - } - -- public Vector getAllLamps(){ -+ public Vector getAllLamps(){ - // returned alle Lampen die angeschaltet sind. - -- Vector list=new Vector(); -- ListIterator li=lampList.listIterator(); -- Lamp tmp; -+ Vector list=new Vector(); -+ ListIterator li=lampList.listIterator(); - while(li.hasNext()){ -- tmp=((Lamp)li.next()); -+ Lamp tmp = li.next(); - if(tmp.isShining()){ - list.add(tmp); - } -@@ -479,7 +478,7 @@ public class LampAdmin extends JFrame im - int i, - boolean shines){ - newLamp(); -- Lamp lamp=(Lamp)lampList.lastElement(); -+ Lamp lamp=lampList.lastElement(); - lamp.setKoords(x,y,z); - lamp.setIntensity( i); - lamp.setColor(r,g,b); -@@ -576,9 +575,10 @@ public class LampAdmin extends JFrame im - - // find a non-used parameter number: - int n = lampList.size() + 1; -- ListIterator li = lampList.listIterator(); -+ ListIterator li = lampList.listIterator(); - while (li.hasNext()) { -- if (n == ((Lamp) (li.next())).lampNo) { -+ Lamp temp = li.next(); -+ if (n == temp.lampNo) { - // if the parameter number n is already in use - n = n + 1; // try the next number - // reset the list iterator to the first element in the list: -@@ -608,11 +608,12 @@ public class LampAdmin extends JFrame im - - public String save() { - String str = ""; -- ListIterator li = lampList.listIterator(); -+ ListIterator li = lampList.listIterator(); - str += "////////////////// LAMPS: /////////////////////////" + "\n"; - str += lampList.size() + "\n"; - while (li.hasNext()) { -- str += ((Lamp) li.next()).saveYourself(); -+ Lamp temp = li.next(); -+ str += temp.saveYourself(); - } - return (str); - } -@@ -636,25 +637,25 @@ public class LampAdmin extends JFrame im - || (strline.equals("fromtoval:"))) { - // System.out.println("strline:"+strline); - if (strline.equals("parno:")) { -- ((OneParameter) lampList.lastElement()) -+ parList.lastElement() - .setParNo(Integer.parseInt(bs - .readLine())); - } - if (strline.equals("fromtoval:")) { -- ((OneParameter) lampList.lastElement()).oldFrom = Double -+ parList.lastElement().oldFrom = Double - .parseDouble(bs.readLine()); -- ((OneParameter) lampList.lastElement()).newFrom = ((OneParameter) lampList -- .lastElement()).oldFrom; -+ parList.lastElement().newFrom = parList -+ .lastElement().oldFrom; - -- ((OneParameter) lampList.lastElement()).oldTo = Double -+ parList.lastElement().oldTo = Double - .parseDouble(bs.readLine()); -- ((OneParameter) lampList.lastElement()).newTo = ((OneParameter) lampList -- .lastElement()).oldTo; -+ parList.lastElement().newTo = parList -+ .lastElement().oldTo; - -- ((OneParameter) lampList.lastElement()).parSlider -+ parList.lastElement().parSlider - .setValue(Integer.parseInt(bs - .readLine())); -- ((OneParameter) lampList.lastElement()) -+ parList.lastElement() - .updateparSliderAndLabel(); - } - bs.mark(255); -@@ -667,25 +668,25 @@ public class LampAdmin extends JFrame im - } - if (datatype.equals("complete") || datatype.equals("onlyeqns") - || datatype.equals("eqnsvis")) { -- ((OneParameter) lampList.lastElement()).setParNo(Integer -+ parList.lastElement().setParNo(Integer - .parseInt(bs.readLine())); -- ((OneParameter) lampList.lastElement()).oldFrom = Double -+ parList.lastElement().oldFrom = Double - .parseDouble(bs.readLine()); -- ((OneParameter) lampList.lastElement()).newFrom = ((OneParameter) lampList -- .lastElement()).oldFrom; -- ((OneParameter) lampList.lastElement()).oldTo = Double -+ parList.lastElement().newFrom = parList -+ .lastElement().oldFrom; -+ parList.lastElement().oldTo = Double - .parseDouble(bs.readLine()); -- ((OneParameter) lampList.lastElement()).newTo = ((OneParameter) lampList -- .lastElement()).oldTo; -- ((OneParameter) lampList.lastElement()).parSlider -+ parList.lastElement().newTo = parList -+ .lastElement().oldTo; -+ parList.lastElement().parSlider - .setValue(Integer.parseInt(bs.readLine())); -- ((OneParameter) lampList.lastElement()).from.setText("" -- + ((OneParameter) lampList.lastElement()).newFrom); -- ((OneParameter) lampList.lastElement()).to.setText("" -- + ((OneParameter) lampList.lastElement()).newTo); -- ((OneParameter) lampList.lastElement()) -+ parList.lastElement().from.setText("" -+ + parList.lastElement().newFrom); -+ parList.lastElement().to.setText("" -+ + parList.lastElement().newTo); -+ parList.lastElement() - .updateparSliderAndLabel(); -- ((OneParameter) lampList.lastElement()).repaint(); -+ parList.lastElement().repaint(); - } - if (datatype.equals("complete") || datatype.equals("onlystyle")) { - // ((OneParameter) lampList.lastElement()).cbox.setSelected((Boolean.valueOf(bs.readLine())).booleanValue()); -@@ -708,10 +709,9 @@ public class LampAdmin extends JFrame im - }*/ - - public OneParameter getParameter(String s) { -- ListIterator li = lampList.listIterator(); -- OneParameter tmpParameter; -+ ListIterator li = parList.listIterator(); - while (li.hasNext()) { -- tmpParameter = ((OneParameter) li.next()); -+ OneParameter tmpParameter = li.next(); - if (tmpParameter.nameLabel.getText().compareTo(s) == 0) { - return tmpParameter; - } ---- singular-4.1.1/Singular/LIB/surfex/make_surfex.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/make_surfex 2020-07-22 21:53:58.194941992 -0600 -@@ -5,7 +5,7 @@ - # - # compile: - # --javac *.java -+javac -source 1.8 -target 1.8 *.java - - #javac surfex.java - #javac Project.java ---- singular-4.1.1/Singular/LIB/surfex/OptionButtonPane.java.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/OptionButtonPane.java 2020-07-22 21:48:38.898689292 -0600 -@@ -106,7 +106,7 @@ public class OptionButtonPane extends JF - group.add(bt2); - panel3.add(bt2); - panel3.add(new JLabel(" cliping radius")); -- clipingRadiusTextField = new JTextField((String) Double -+ clipingRadiusTextField = new JTextField(Double - .toString(presettedClipingRadius)); - clipingRadiusTextField.setEnabled(false); - panel3.add(clipingRadiusTextField); -@@ -118,9 +118,9 @@ public class OptionButtonPane extends JF - slider1.setMajorTickSpacing(10); - slider1.setPaintTicks(true); - // Bei 50 und 100 einen Text setzen -- Hashtable labelTable = new Hashtable(); -- labelTable.put(new Integer(50), new JLabel("50%")); -- labelTable.put(new Integer(100), new JLabel("100%")); -+ Hashtable labelTable = new Hashtable(); -+ labelTable.put(Integer.valueOf(50), new JLabel("50%")); -+ labelTable.put(Integer.valueOf(100), new JLabel("100%")); - slider1.setLabelTable(labelTable); - panel3.add(slider1); - ---- singular-4.1.1/Singular/LIB/surfex/ParameterAdmin.java.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/ParameterAdmin.java 2020-07-22 21:48:14.669670111 -0600 -@@ -52,9 +52,9 @@ public class ParameterAdmin extends JPan - - JPanel parPanel; - -- JComboBox paramComboBox; // wird fuer den SaveMovieDialog gebraucht -+ JComboBox paramComboBox; // wird fuer den SaveMovieDialog gebraucht - -- public Vector parList = new Vector(); -+ public Vector parList = new Vector(); - - Project project; - -@@ -64,7 +64,7 @@ public class ParameterAdmin extends JPan - surfex_ = su; - project = pro; - -- paramComboBox=new JComboBox(); -+ paramComboBox=new JComboBox(); - - setLayout(new BorderLayout()); - parPanel = new JPanel(new GridLayout(20, 0)); -@@ -82,12 +82,11 @@ public class ParameterAdmin extends JPan - - public String[] getAllParams(){ - String[] s=new String[this.parList.size()]; -- ListIterator li = parList.listIterator(); -- OneParameter tmpParameter; -+ ListIterator li = parList.listIterator(); - int i=0; - - while (li.hasNext()) { -- tmpParameter=((OneParameter)li.next()); -+ OneParameter tmpParameter=li.next(); - s[i]=tmpParameter.nameLabel.getText(); - - -@@ -98,12 +97,11 @@ public class ParameterAdmin extends JPan - - public double[] getAllParamValues(){ - double[] s=new double[this.parList.size()]; -- ListIterator li = parList.listIterator(); -- OneParameter tmpParameter; -+ ListIterator li = parList.listIterator(); - int i=0; - - while (li.hasNext()) { -- tmpParameter=((OneParameter)li.next()); -+ OneParameter tmpParameter=li.next(); - s[i]=tmpParameter.getValue()/1000.0; - - i++; -@@ -120,9 +118,9 @@ public class ParameterAdmin extends JPan - - // find a non-used parameter number: - int n = parList.size() + 1; -- ListIterator li = parList.listIterator(); -+ ListIterator li = parList.listIterator(); - while (li.hasNext()) { -- if (n == ((OneParameter) (li.next())).parNo) { -+ if (n == li.next().parNo) { - // if the parameter number n is already in use - n = n + 1; // try the next number - // reset the list iterator to the first element in the list: -@@ -144,7 +142,7 @@ public class ParameterAdmin extends JPan - int i=0; - //System.out.; - for(i=0;i=0){ -+ if(paramComboBox.getItemAt(i).compareTo(par.nameLabel.getText())>=0){ - // i--; - break; - } -@@ -162,12 +160,12 @@ public class ParameterAdmin extends JPan - - public String save() { - String str = ""; -- ListIterator li = parList.listIterator(); -+ ListIterator li = parList.listIterator(); - str += "////////////////// PARAMETERS: /////////////////////////" - + "\n"; - str += parList.size() + "\n"; - while (li.hasNext()) { -- str += ((OneParameter) li.next()).saveYourself(); -+ str += li.next().saveYourself(); - } - return (str); - } -@@ -193,35 +191,32 @@ public class ParameterAdmin extends JPan - || (strline.equals("function:"))) { - // System.out.println("strline:"+strline); - if (strline.equals("parno:")) { -- ((OneParameter) parList.lastElement()) -+ parList.lastElement() - .setParNo(Integer.parseInt(bs - .readLine())); - } - if (strline.equals("function:")) { -- ((OneParameter) parList.lastElement()) -+ parList.lastElement() - .fct.setText(bs.readLine()); - } - if (strline.equals("fromtoval:")) { -- ((OneParameter) parList.lastElement()).oldFrom = Double -+ parList.lastElement().oldFrom = Double - .parseDouble(bs.readLine()); -- ((OneParameter) parList.lastElement()).newFrom = ((OneParameter) parList -- .lastElement()).oldFrom; -+ parList.lastElement().newFrom = parList.lastElement().oldFrom; - -- ((OneParameter) parList.lastElement()).oldTo = Double -+ parList.lastElement().oldTo = Double - .parseDouble(bs.readLine()); -- ((OneParameter) parList.lastElement()).newTo = ((OneParameter) parList -- .lastElement()).oldTo; -+ parList.lastElement().newTo = parList.lastElement().oldTo; - -- ((OneParameter) parList.lastElement()).parSlider -- .setMinimum((int)(((OneParameter) parList.lastElement()).newFrom*1000.0)); -- ((OneParameter) parList.lastElement()).parSlider -- .setMaximum((int)(((OneParameter) parList.lastElement()).newTo*1000.0)); -+ parList.lastElement().parSlider -+ .setMinimum((int)(parList.lastElement().newFrom*1000.0)); -+ parList.lastElement().parSlider -+ .setMaximum((int)(parList.lastElement().newTo*1000.0)); - -- ((OneParameter) parList.lastElement()).parSlider -+ parList.lastElement().parSlider - .setValue(Integer.parseInt(bs - .readLine())); -- ((OneParameter) parList.lastElement()) -- .updateparSliderAndLabel(); -+ parList.lastElement().updateparSliderAndLabel(); - } - bs.mark(255); - strline = bs.readLine(); -@@ -233,38 +228,34 @@ public class ParameterAdmin extends JPan - } - if (datatype.equals("complete") || datatype.equals("onlyeqns") - || datatype.equals("eqnsvis")) { -- ((OneParameter) parList.lastElement()) -+ parList.lastElement() - .setParNo(Integer.parseInt(bs.readLine())); -- ((OneParameter) parList.lastElement()).oldFrom = Double -+ parList.lastElement().oldFrom = Double - .parseDouble(bs.readLine()); -- ((OneParameter) parList.lastElement()) -- .newFrom = ((OneParameter) parList.lastElement()).oldFrom; -- ((OneParameter) parList.lastElement()).oldTo = Double -+ parList.lastElement() -+ .newFrom = parList.lastElement().oldFrom; -+ parList.lastElement().oldTo = Double - .parseDouble(bs.readLine()); -- ((OneParameter) parList.lastElement()).newTo = -- ((OneParameter) parList.lastElement()).oldTo; -- ((OneParameter) parList.lastElement()).parSlider -- .setMinimum((int)(((OneParameter) parList -- .lastElement()).newFrom*1000.0)); -- ((OneParameter) parList.lastElement()).parSlider -- .setMaximum((int)(((OneParameter) parList -- .lastElement()).newTo*1000.0)); -- ((OneParameter) parList.lastElement()).parSlider -+ parList.lastElement().newTo = parList.lastElement().oldTo; -+ parList.lastElement().parSlider -+ .setMinimum((int)(parList -+ .lastElement().newFrom*1000.0)); -+ parList.lastElement().parSlider -+ .setMaximum((int)(parList -+ .lastElement().newTo*1000.0)); -+ parList.lastElement().parSlider - .setValue(Integer.parseInt(bs.readLine())); -- ((OneParameter) parList.lastElement()).from -- .setText("" + ((OneParameter) -- parList.lastElement()).newFrom); -- ((OneParameter) parList.lastElement()).to -- .setText("" + ((OneParameter) parList.lastElement()).newTo); -- ((OneParameter) parList.lastElement()) -- .updateparSliderAndLabel(); -+ parList.lastElement().from -+ .setText("" + parList.lastElement().newFrom); -+ parList.lastElement().to -+ .setText("" + parList.lastElement().newTo); -+ parList.lastElement().updateparSliderAndLabel(); - - if(iVersion>=8906) { -- ((OneParameter) parList.lastElement()).fct -- .setText(bs.readLine()); -+ parList.lastElement().fct.setText(bs.readLine()); - } - -- ((OneParameter) parList.lastElement()).repaint(); -+ parList.lastElement().repaint(); - } - if (datatype.equals("complete") || datatype.equals("onlystyle")) { - // ((OneParameter) parList.lastElement()).cbox.setSelected((Boolean.valueOf(bs.readLine())).booleanValue()); -@@ -286,16 +277,15 @@ public class ParameterAdmin extends JPan - return l; - }*/ - -- public JComboBox getParamComboBox(){ -+ public JComboBox getParamComboBox(){ - return paramComboBox; - - } - - public OneParameter getParameter(String s){ -- ListIterator li = parList.listIterator(); -- OneParameter tmpParameter; -+ ListIterator li = parList.listIterator(); - while (li.hasNext()) { -- tmpParameter=((OneParameter)li.next()); -+ OneParameter tmpParameter=li.next(); - if(tmpParameter.nameLabel.getText().compareTo(s)==0){ - return tmpParameter; - } ---- singular-4.1.1/Singular/LIB/surfex/Project.java.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/Project.java 2020-07-22 21:39:27.066124182 -0600 -@@ -105,7 +105,7 @@ public class Project extends JPanel impl - - RayFrame rayFrame; - -- Vector tbuttons = new Vector(); -+ // Vector tbuttons = new Vector(); - - JButton bt1 = new JButton(); - -@@ -129,7 +129,7 @@ public class Project extends JPanel impl - - JButton bgColorButton = null; - -- JComboBox clipMode = new JComboBox(); -+ JComboBox clipMode = new JComboBox(); - - JTextField clipRadius = new JTextField("9.0"); - -@@ -139,7 +139,7 @@ public class Project extends JPanel impl - String epsilon = "0.00000000000001"; - - int interpolConst = 2; -- JComboBox interpolConstBox = null; -+ JComboBox interpolConstBox = null; - - // JSlider scaleSlider = null; - -@@ -176,7 +176,7 @@ public class Project extends JPanel impl - // int i, String filename, RayFrame ray, surfex su, - // jv4surfex jv4sx - eqAdm = new EquationAdmin(proNr, "", surfex_.rayFrame, surfex_, -- surfex_.jv4sx, this); -+ surfex.jv4sx, this); - cuAdm = new CurveAdmin(proNr, "", surfex_, this); - - setLayout(new BorderLayout());//new GridLayout(3,1)); -@@ -420,12 +420,12 @@ public class Project extends JPanel impl - // a checkbox for activating antialiasing - globalConfigPanel.add(antialiasing); - -- Vector temp = new Vector(); -- temp.add(new Integer(1)); -- temp.add(new Integer(2)); -- temp.add(new Integer(4)); -- temp.add(new Integer(8)); -- interpolConstBox = new JComboBox(temp); -+ Vector temp = new Vector(); -+ temp.add(Integer.valueOf(1)); -+ temp.add(Integer.valueOf(2)); -+ temp.add(Integer.valueOf(4)); -+ temp.add(Integer.valueOf(8)); -+ interpolConstBox = new JComboBox(temp); - interpolConstBox.setSelectedIndex(1); - interpolConstBox.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent evt) { -@@ -565,7 +565,7 @@ public class Project extends JPanel impl - return(interpolConst); - } - -- public Vector getAllLamps(){ -+ public Vector getAllLamps(){ - return lampAdmin.getAllLamps(); - } - -@@ -575,10 +575,10 @@ public class Project extends JPanel impl - - public void newEquation() { - eqAdm.newEquation(); -- cuAdm.equationListChanged_add(new Integer(((Equation) eqAdm.eqnList -- .lastElement()).eqnr).toString()); -- solPtsAdm.equationListChanged_add(new Integer(((Equation) eqAdm.eqnList -- .lastElement()).eqnr).toString()); -+ cuAdm.equationListChanged_add(Integer.valueOf(eqAdm.eqnList -+ .lastElement().eqnr).toString()); -+ solPtsAdm.equationListChanged_add(Integer.valueOf(eqAdm.eqnList -+ .lastElement().eqnr).toString()); - } - - public void bt6ActionPerformed(ActionEvent evt) { -@@ -606,11 +606,11 @@ public class Project extends JPanel impl - - public void bt2ActionPerformed(ActionEvent evt) { - // raytracen -- String fn = surfex_.tmpDir + "test.png"; -+ String fn = surfex.tmpDir + "test.png"; - if (surfex_.configFrame.surf.isSelected()) { -- fn = surfex_.tmpDir + tmp_surfex_file; -+ fn = surfex.tmpDir + tmp_surfex_file; - } else { -- fn = surfex_.tmpDir + "test.png"; -+ fn = surfex.tmpDir + "test.png"; - } - SavePic saveThread = new SavePic(fn, false, antialiasing.isSelected(), - rayFrame.getContentPane().getSize().height -@@ -632,18 +632,18 @@ public class Project extends JPanel impl - if (getInterpolConst() != 1) { - // System.out.println("resample"); - p = r.exec(surfex_.configFrame.iviewPath.getText() + " " -- + surfex_.tmpDir + "test.png /resample=(0," -+ + surfex.tmpDir + "test.png /resample=(0," - + rayFrame.getContentPane().getSize().height -- + ") /convert=" + surfex_.tmpDir + "test.png"); -+ + ") /convert=" + surfex.tmpDir + "test.png"); - } else { - -- p = r.exec("iview\\i_view32.exe " + surfex_.tmpDir -- + "test.png /convert=" + surfex_.tmpDir -+ p = r.exec("iview\\i_view32.exe " + surfex.tmpDir -+ + "test.png /convert=" + surfex.tmpDir - + "test.png"); - - } - p.waitFor(); -- eqAdm.img_filename = surfex_.tmpDir + "test.png"; -+ eqAdm.img_filename = surfex.tmpDir + "test.png"; - } catch (Exception er) { - System.out.println(er); - } -@@ -687,7 +687,7 @@ public class Project extends JPanel impl - } - if (!raytraceAlways.isSelected() && surfex_.configFrame.last[4]) { - surfex_.configFrame.last[4] = false; -- surfex_.updateRayframeImmediatlyThread.stop(); -+ surfex_.updateRayframeImmediatlyThread.stopThread(); - } - } // end of bt4ActionPerformed() - -@@ -803,7 +803,7 @@ public class Project extends JPanel impl - - public String getSuxFile() { - String str = ""; -- str += "this is surfex v" + surfex_.strVersion + "\n"; -+ str += "this is surfex v" + surfex.strVersion + "\n"; - str += "///////// TYPE: //////" + "\n"; - str += "complete\n"; - str += "///////// GENERAL DATA: //////" + "\n"; -@@ -852,11 +852,11 @@ public class Project extends JPanel impl - out - .print("tmpsubdir=" - + URLEncoder -- .encode(this.old_tmpsubdir) -+ .encode(this.old_tmpsubdir, "UTF-8") - + "&prg=save" + "&filelocation=" -- + URLEncoder.encode(filelocation) -+ + URLEncoder.encode(filelocation, "UTF-8") - + "&prg_code_part1=" -- + URLEncoder.encode(getSuxFile())); -+ + URLEncoder.encode(getSuxFile(), "UTF-8")); - out.close(); - - BufferedReader in = new BufferedReader(new InputStreamReader( ---- singular-4.1.1/Singular/LIB/surfex/SaveMovieDialog.java.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/SaveMovieDialog.java 2020-07-22 18:09:45.243640687 -0600 -@@ -99,13 +99,13 @@ public class SaveMovieDialog extends JFr - RayFrame rayFrame; - //JComboBox outputFormat; - -- JComboBox colorType; -+ JComboBox colorType; - -- JComboBox omitType; -+ JComboBox omitType; - -- JComboBox antialiasingQuality; -+ JComboBox antialiasingQuality; - -- JComboBox standardDim; -+ JComboBox standardDim; - - - JSpinner XrotSpinner =new JSpinner(new SpinnerNumberModel(1,0,5,1)); -@@ -115,20 +115,20 @@ public class SaveMovieDialog extends JFr - - JScrollPane listScrollPane; - -- private JList parameterList; -- private DefaultListModel listModel; -+ private JList parameterList; -+ private DefaultListModel listModel; - - private static final String addString = "add"; - private static final String removeString = "remove from list"; - private JLabel addLabel; - private JButton removeButton; -- private JComboBox paramName; -+ private JComboBox paramName; - - - JRadioButton ROTATE = new JRadioButton("ROTATE_Y_AXIS"); - - -- JComboBox measure; -+ JComboBox measure; - - JPanel panel = new JPanel();/* - -@@ -478,7 +478,7 @@ public class SaveMovieDialog extends JFr - panel.add(new JLabel("")); - */ - -- colorType=new JComboBox(); -+ colorType=new JComboBox(); - colorType.insertItemAt("color",0); - colorType.insertItemAt("dithered - black/white",1); - // colorType.insertItemAt("stereo - red/green",2); -@@ -487,14 +487,14 @@ public class SaveMovieDialog extends JFr - panel.add(new JLabel("color type:")); - colorTypePanel.add(colorType); - -- omitType=new JComboBox(); -+ omitType=new JComboBox(); - omitType.insertItemAt("omit no frame",0); - omitType.insertItemAt("omit first frame",1); - omitType.insertItemAt("omit last frame",2); - omitType.setSelectedIndex(0); - omitTypePanel.add(omitType); - -- antialiasingQuality=new JComboBox(); -+ antialiasingQuality=new JComboBox(); - antialiasingQuality.insertItemAt("1",0); - antialiasingQuality.insertItemAt("2",1); - antialiasingQuality.insertItemAt("3",2); -@@ -510,10 +510,10 @@ public class SaveMovieDialog extends JFr - // p6N.add(new JLabel()); - - // p6C.add(new JLabel()); -- listModel = new DefaultListModel(); -+ listModel = new DefaultListModel(); - - //Create the list and put it in a scroll pane. -- parameterList = new JList(listModel); -+ parameterList = new JList(listModel); - parameterList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - parameterList.setSelectedIndex(0); - -@@ -653,7 +653,7 @@ public class SaveMovieDialog extends JFr - }); - // p3.add(dpi); - -- measure=new JComboBox(); -+ measure=new JComboBox(); - - measure.insertItemAt("pixel",0); - measure.insertItemAt("cm",1); -@@ -737,7 +737,7 @@ public class SaveMovieDialog extends JFr - }); - - -- standardDim=new JComboBox(); -+ standardDim=new JComboBox(); - standardDim.insertItemAt("choose a size (in pixels)",0); - standardDim.insertItemAt("for presentation (600x600)",1); - standardDim.insertItemAt("for web (300x300)",2); -@@ -923,10 +923,10 @@ rb[8] = new JRadioButton("Best fit to de - tmpPanel.setLayout(new FlowLayout()); - if (colorType.getSelectedIndex()==1) { - String strFormats[] = { "tif" }; -- tmpPanel.add(new JComboBox(strFormats)); -+ tmpPanel.add(new JComboBox(strFormats)); - } else { - String strFormats[] = { "jpg" }; -- tmpPanel.add(new JComboBox(strFormats)); -+ tmpPanel.add(new JComboBox(strFormats)); - } - JButton jbsave = new JButton("create and save as"); - jbsave.addActionListener(aL); -@@ -1197,7 +1197,7 @@ rb[8] = new JRadioButton("Best fit to de - int i=0; - //System.out.; - for(i=0;i=0){ -+ if(paramName.getItemAt(i).compareTo(parameterList.getSelectedValue())>=0){ - // i--; - break; - } -@@ -1261,7 +1261,7 @@ rb[8] = new JRadioButton("Best fit to de - int i; - String Item =(String)paramName.getSelectedItem(); - for(i=0;i=0){ -+ if(parameterList.getModel().getElementAt(i).compareTo(Item)>=0){ - // i--; - break; - } -@@ -1337,7 +1337,7 @@ rb[8] = new JRadioButton("Best fit to de - String[] l=new String[parameterList.getModel().getSize()]; - int i; - for(i=0;i getRotStrings(int rotType) { - switch (rotType) { - //case ROTATE_X_AXIS: - // return StandardRot(Xrot, Yrot, Zrot); -@@ -172,8 +172,8 @@ public class SaveMovie extends Thread { - - } - -- private LinkedList StandardRot(int Xrot, int Yrot, int Zrot) { -- LinkedList rotStrings = new LinkedList(); -+ private LinkedList StandardRot(int Xrot, int Yrot, int Zrot) { -+ LinkedList rotStrings = new LinkedList(); - double tmp; - for (int i = 0; i < N; i++) { - tmp = ((double) i) / N * 2 * Math.PI; -@@ -183,7 +183,7 @@ public class SaveMovie extends Thread { - return rotStrings; - } - -- private void MakeMovie(LinkedList rotateStrings){//double[] camPos, double[] -+ private void MakeMovie(LinkedList rotateStrings){//double[] camPos, double[] - // viewDir,double[] - // upVector,double[] - // rightVector){ -@@ -197,7 +197,7 @@ public class SaveMovie extends Thread { - - NumberFormat nf=NumberFormat.getNumberInstance(); - nf.setMinimumIntegerDigits(3); // ggf. mit fuehrenden Nullen ausgeben -- ListIterator rotateStringsIterator=rotateStrings.listIterator(); -+ ListIterator rotateStringsIterator=rotateStrings.listIterator(); - OneParameter tmpParam; - - while(rotateStringsIterator.hasNext() && -@@ -220,20 +220,20 @@ public class SaveMovie extends Thread { - if(omitType==0 || - (omitType==1 && i+1>1) || - (omitType==2 && i+1 outputFormat; - -- JComboBox colorType; -+ JComboBox colorType; - -- JComboBox antialiasingQuality; -+ JComboBox antialiasingQuality; - -- JComboBox standardDim; -+ JComboBox standardDim; - -- JComboBox measure; -+ JComboBox measure; - int oldMeasure; - - JPanel panel = new JPanel();/* -@@ -206,7 +206,7 @@ public class SavePicDialog extends JFram - contentPane9.add(sizePanel, BorderLayout.NORTH); - *///contentPane6.add(contentPane2,BorderLayout.CENTER); - -- outputFormat=new JComboBox(); -+ outputFormat=new JComboBox(); - - outputFormat.insertItemAt("raytraced picture",0); - -@@ -401,7 +401,7 @@ public class SavePicDialog extends JFram - panel.add(new JLabel("")); - */ - -- colorType=new JComboBox(); -+ colorType=new JComboBox(); - colorType.insertItemAt("color",0); - colorType.insertItemAt("dithered - black/white",1); - // colorType.insertItemAt("stereo - red/green",2); -@@ -410,7 +410,7 @@ public class SavePicDialog extends JFram - panel.add(new JLabel("color type:")); - colorTypePanel.add(colorType); - -- antialiasingQuality=new JComboBox(); -+ antialiasingQuality=new JComboBox(); - antialiasingQuality.insertItemAt("1",0); - antialiasingQuality.insertItemAt("2",1); - antialiasingQuality.insertItemAt("3",2); -@@ -513,7 +513,7 @@ public class SavePicDialog extends JFram - }); - p3.add(dpi); - -- measure=new JComboBox(); -+ measure=new JComboBox(); - - measure.insertItemAt("pixel",0); - measure.insertItemAt("cm",1); -@@ -641,7 +641,7 @@ public class SavePicDialog extends JFram - // panel.add(new JLabel("(raytraced preview)")); - - -- standardDim=new JComboBox(); -+ standardDim=new JComboBox(); - standardDim.insertItemAt("choose a size",0); - standardDim.insertItemAt("for presentation (600x600)",1); - standardDim.insertItemAt("for web (300x300)",2); -@@ -766,7 +766,7 @@ panel2.add(new JLabel()); - ,heightvalue, - widthvalue, - Integer.parseInt(dpi -- .getText()),surfex_.jv4sx); -+ .getText()),surfex.jv4sx); - } else { - if (outputFormat.getSelectedIndex()==1) { // surfcode - project.saveFile(filelocation, 2, -@@ -776,14 +776,14 @@ panel2.add(new JLabel()); - heightvalue, - widthvalue, - Integer.parseInt(dpi -- .getText()),surfex_.jv4sx); -+ .getText()),surfex.jv4sx); - } else { - // raytraced pic - project.saveFile(filelocation, 3, - (colorType.getSelectedIndex()==1),//dithered? - (antialiasingQuality.getSelectedIndex()!=0), - heightvalue,widthvalue, -- Integer.parseInt(dpi.getText()),surfex_.jv4sx); -+ Integer.parseInt(dpi.getText()),surfex.jv4sx); - } - } - // saveFile(filelocation); -@@ -808,10 +808,10 @@ panel2.add(new JLabel()); - tmpPanel.setLayout(new FlowLayout()); - if ((colorType.getSelectedIndex()==1)) { // dithered! - String strFormats[] = { "tif" }; -- tmpPanel.add(new JComboBox(strFormats)); -+ tmpPanel.add(new JComboBox(strFormats)); - } else { - String strFormats[] = { "jpg" }; -- tmpPanel.add(new JComboBox(strFormats)); -+ tmpPanel.add(new JComboBox(strFormats)); - } - JButton jbsave = new JButton("create and save as"); - jbsave.addActionListener(aL); -@@ -871,7 +871,7 @@ panel2.add(new JLabel()); - , - heightvalue,widthvalue, - Integer.parseInt(dpi -- .getText()),surfex_.jv4sx); -+ .getText()),surfex.jv4sx); - } else { - if (outputFormat.getSelectedIndex()==1) { - //surfcode -@@ -880,7 +880,7 @@ panel2.add(new JLabel()); - , - heightvalue,widthvalue, - Integer.parseInt(dpi -- .getText()),surfex_.jv4sx); -+ .getText()),surfex.jv4sx); - } else { - // System.out.println("saveFile..."); - project.saveFile(filelocation, 3,(colorType.getSelectedIndex()==1),//dithered? -@@ -888,7 +888,7 @@ panel2.add(new JLabel()); - , - heightvalue,widthvalue, - Integer.parseInt(dpi -- .getText()),surfex_.jv4sx); -+ .getText()),surfex.jv4sx); - } - } - // saveFile(filelocation); -@@ -913,7 +913,7 @@ panel2.add(new JLabel()); - File lastFile = new File(project.filename); - String theName = lastFile.getName(); - fileChooser.setSelectedFile( -- new File(surfex_.changeFilenameExtension(theName,".pov"))); -+ new File(surfex.changeFilenameExtension(theName,".pov"))); - // System.out.println("name:"+theName); - } catch(Exception fileEx) { - System.out.println("fileEx:"+fileEx.toString()); -@@ -934,7 +934,7 @@ panel2.add(new JLabel()); - File lastFile = new File(project.filename); - String theName = lastFile.getName(); - fileChooser.setSelectedFile( -- new File(surfex_.changeFilenameExtension(theName,".pic"))); -+ new File(surfex.changeFilenameExtension(theName,".pic"))); - // System.out.println("name:"+theName); - } catch(Exception fileEx) { - System.out.println("fileEx:"+fileEx.toString()); -@@ -978,7 +978,7 @@ panel2.add(new JLabel()); - File lastFile = new File(project.filename); - String theName = lastFile.getName(); - fileChooser.setSelectedFile( -- new File(surfex_.changeFilenameExtension(theName,".eps"))); -+ new File(surfex.changeFilenameExtension(theName,".eps"))); - // System.out.println("name:"+theName); - } catch(Exception fileEx) { - System.out.println("fileEx:"+fileEx.toString()); -@@ -1034,7 +1034,7 @@ panel2.add(new JLabel()); - File lastFile = new File(project.filename); - String theName = lastFile.getName(); - fileChooser.setSelectedFile( -- new File(surfex_.changeFilenameExtension(theName,".jpg"))); -+ new File(surfex.changeFilenameExtension(theName,".jpg"))); - // System.out.println("name:"+theName); - } catch(Exception fileEx) { - System.out.println("fileEx:"+fileEx.toString()); ---- singular-4.1.1/Singular/LIB/surfex/SavePic.java.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/SavePic.java 2020-07-22 21:42:04.988289747 -0600 -@@ -82,7 +82,7 @@ public class SavePic extends Thread { - - double[] runningParamsValue; - -- Vector Lamps; -+ Vector Lamps; - - boolean _3d=false; - boolean stereo_redGreen=true; -@@ -91,7 +91,7 @@ public class SavePic extends Thread { - int height, int width, int dpi, surfex su, Project pro, - double[] CamPos, double[] viewDir, double[] upVector, - double[] rightVector, String[] runningParams, -- double[] runningParamsValue, jv4surfex jv4sx, Vector Lamps) { -+ double[] runningParamsValue, jv4surfex jv4sx, Vector Lamps) { - this.filelocation = filelocation; - this.dithered = dithered; - this.antialiasing = antialiasing; -@@ -117,7 +117,7 @@ public class SavePic extends Thread { - int height, int width, int dpi, surfex su, Project pro, - double[] CamPos, double[] viewDir, double[] upVector, - double[] rightVector, String[] runningParams, -- double[] runningParamsValue, jv4surfex jv4sx, Vector Lamps, jv4surfex jv4sx_project) { -+ double[] runningParamsValue, jv4surfex jv4sx, Vector Lamps, jv4surfex jv4sx_project) { - this.filelocation = filelocation; - this.dithered = dithered; - this.antialiasing = antialiasing; -@@ -212,13 +212,12 @@ public class SavePic extends Thread { - return str; - } - -- public String getLampCode_surf(Vector Lamps){ -+ public String getLampCode_surf(Vector Lamps){ - String str=""; -- Lamp tempLamp; - int i=0; -- ListIterator li=Lamps.listIterator(); -+ ListIterator li=Lamps.listIterator(); - while(li.hasNext()){ -- tempLamp=(Lamp)li.next(); -+ Lamp tempLamp=li.next(); - i++; - str+=tempLamp.getSurfCode(i, runningParams,runningParamsValue); - } -@@ -228,7 +227,7 @@ public class SavePic extends Thread { - - } - -- public String getLampCode_pov(Vector Lamps){ -+ public String getLampCode_pov(Vector Lamps){ - System.out.println("ERROR: Methode muss noch geschrieben werden:getLampCode_pov(Vector Lamps)"); - return null; - } -@@ -253,14 +252,14 @@ public class SavePic extends Thread { - - } - -- if (filelocation != surfex_.tmpDir + "test.png") { -+ if (filelocation != surfex.tmpDir + "test.png") { - if (surfex_.configFrame.pov.isSelected() - && surfex_.OS == surfex_.osWINDOWS) { - // musste test.png nach filelocation hin kopieren ... - try { - Runtime r = Runtime.getRuntime(); - Process p; -- p = r.exec("iview\\i_view32.exe " + surfex_.tmpDir -+ p = r.exec("iview\\i_view32.exe " + surfex.tmpDir - + "test.png /convert=" + filelocation); - p.waitFor(); - } catch (Exception er) { -@@ -335,12 +334,12 @@ public class SavePic extends Thread { - // System.out.println("old - // subdir:"+surfex_.getCurrentProject().old_tmpsubdir); - out.print("prefix=surfex_tmp" + "&filelocation=" -- + URLEncoder.encode(filelocation) + "&tmpsubdir=" -- + URLEncoder.encode(project.old_tmpsubdir) -+ + URLEncoder.encode(filelocation, "UTF-8") + "&tmpsubdir=" -+ + URLEncoder.encode(project.old_tmpsubdir, "UTF-8") - + "&prg=surf" + "&img_width=" + width + "&img_height=" - + height + "&prg_code_part1=" -- + URLEncoder.encode(surfCodePart1) + "&prg_code_part2=" -- + URLEncoder.encode(surfCodePart2)); -+ + URLEncoder.encode(surfCodePart1, "UTF-8") + "&prg_code_part2=" -+ + URLEncoder.encode(surfCodePart2, "UTF-8")); - out.close(); - - // read the file names -@@ -513,7 +512,7 @@ public class SavePic extends Thread { - // System.out.println("file1a:"+filelocation+".pic"); - // System.out.println("file1b:"+toWindows(filelocation+".pic")); - FileOutputStream fo; -- if(surfex_.cygwin==1) { -+ if(surfex.cygwin==1) { - fo = new FileOutputStream(surfex.toWindows(filelocation + ".pic")); - } else { - fo = new FileOutputStream(filelocation + ".pic"); -@@ -555,7 +554,7 @@ public class SavePic extends Thread { - // System.out.println("sh -exec \""+surfex_.configFrame.surfPath.getText() + " " - // + surfex.toLinux(filelocation + ".pic")+"\""); - -- if(surfex_.cygwin==1) { -+ if(surfex.cygwin==1) { - p = r.exec("sh -exec \""+surfex_.configFrame.surfPath.getText() + " " - + "\\\""+surfex.toLinux(filelocation + ".pic")+"\\\"\""); - } else { -@@ -612,7 +611,7 @@ public class SavePic extends Thread { - * //System.out.println("2,8" ); - */ - if (dithered) { -- project.eqAdm.img_filename = surfex_.tmpDir -+ project.eqAdm.img_filename = surfex.tmpDir - + project.tmp_surfex_file; - } else { - project.eqAdm.img_filename = filelocation; -@@ -625,7 +624,7 @@ public class SavePic extends Thread { - } // end else - - -- public void updateLamps(Vector la){ -+ public void updateLamps(Vector la){ - Lamps=la; - } - -@@ -654,8 +653,8 @@ public class SavePic extends Thread { - // /etc/povray.ini"; }; - - if (surfex_.OS == surfex_.osLINUX) { -- p = r.exec("povray +H240 +W240 +O" + surfex_.tmpDir -- + "test.png +I" + surfex_.tmpDir -+ p = r.exec("povray +H240 +W240 +O" + surfex.tmpDir -+ + "test.png +I" + surfex.tmpDir - + "tmp_surfex.pov povray.ini"); - } else { - //if(surfex_.OS==surfex_.osWINDOWS){ -@@ -664,7 +663,7 @@ public class SavePic extends Thread { - // tmp_surfex.pov povray.ini /EXIT"); - p = r.exec(surfex_.configFrame.povPath.getText() + " /NR +H" - + height + " +W" + width + " +O" + filelocation -- + " -D /RENDER " + surfex_.tmpDir -+ + " -D /RENDER " + surfex.tmpDir - + "tmp_surfex.pov /EXIT"); - p.waitFor(); - } ---- singular-4.1.1/Singular/LIB/surfex/SolitaryPoint.java.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/SolitaryPoint.java 2020-07-22 18:05:26.804547206 -0600 -@@ -105,7 +105,7 @@ public class SolitaryPoint extends JPane - - public JLabel radiusLabel = new JLabel("" + radius); - -- public JComboBox surfaces; -+ public JComboBox surfaces; - - // Ende Variablen - -@@ -116,7 +116,7 @@ public class SolitaryPoint extends JPane - setLayout(new BorderLayout()); - JPanel flowPanel = new JPanel(new FlowLayout()); - -- surfaces = new JComboBox(project.eqAdm.getEqNrs()); -+ surfaces = new JComboBox(project.eqAdm.getEqNrs()); - - // flowPanel.add(cbox); - ---- singular-4.1.1/Singular/LIB/surfex/SolitaryPointsAdmin.java.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/SolitaryPointsAdmin.java 2020-07-22 17:43:26.051042702 -0600 -@@ -52,7 +52,7 @@ public class SolitaryPointsAdmin extends - - JPanel solPtsPanel; - -- public Vector solPtsList = new Vector(); -+ public Vector solPtsList = new Vector(); - - Project project; - -@@ -82,9 +82,9 @@ public class SolitaryPointsAdmin extends - - // find a non-used parameter number: - int n = solPtsList.size() + 1; -- ListIterator li = solPtsList.listIterator(); -+ ListIterator li = solPtsList.listIterator(); - while (li.hasNext()) { -- if (n == ((SolitaryPoint) (li.next())).solPtNo) { -+ if (n == li.next().solPtNo) { - // if the parameter number n is already in use - n = n + 1; // try the next number - // reset the list iterator to the first element in the list: -@@ -104,50 +104,44 @@ public class SolitaryPointsAdmin extends - } - - public void equationListChanged_add(String EqName) { -- ListIterator li = solPtsList.listIterator(); -- SolitaryPoint pt; -- int i; -+ ListIterator li = solPtsList.listIterator(); - while (li.hasNext()) { - // System.out.println("update pla oe" ); -- pt = (SolitaryPoint) li.next(); -+ SolitaryPoint pt = li.next(); - pt.surfaces.addItem(EqName); - } - } - - public String save() { - String str = ""; -- ListIterator li = solPtsList.listIterator(); -+ ListIterator li = solPtsList.listIterator(); - str += "////////////////// SOLITARY POINTS: /////////////////////////" - + "\n"; - str += solPtsList.size() + "\n"; - while (li.hasNext()) { -- str += ((SolitaryPoint) li.next()).saveYourself(); -+ str += li.next().saveYourself(); - } - return (str); - } - - public void copyRadiusToAll(double from, double to, double rad) { - int i; -- SolitaryPoint tmp; - for (i = 0; i < solPtsList.size(); i++) { - try { - // System.out.println("i:"+i); -- tmp = ((SolitaryPoint) (solPtsList.elementAt(i))); -- ((SolitaryPoint) (solPtsList.elementAt(i))).newFrom = from; -- ((SolitaryPoint) (solPtsList.elementAt(i))).oldFrom = from; -- ((SolitaryPoint) (solPtsList.elementAt(i))).newTo = to; -- ((SolitaryPoint) (solPtsList.elementAt(i))).oldTo = to; -- ((SolitaryPoint) (solPtsList.elementAt(i))).radiusSlider -- .setValue((int) (rad / (to - from) * 1000.0)); -- ((SolitaryPoint) (solPtsList.elementAt(i))).radiusSlider -- .repaint(); -+ SolitaryPoint tmp = solPtsList.elementAt(i); -+ tmp.newFrom = from; -+ tmp.oldFrom = from; -+ tmp.newTo = to; -+ tmp.oldTo = to; -+ tmp.radiusSlider.setValue((int) (rad / (to - from) * 1000.0)); -+ tmp.radiusSlider.repaint(); - String str = "" + rad; - int end = 6; - if (str.length() <= 6) { - end = str.length(); - } -- ((SolitaryPoint) (solPtsList.elementAt(i))).radiusLabel -- .setText(str.substring(0, end)); -+ tmp.radiusLabel.setText(str.substring(0, end)); - } catch (Exception ex) { - System.out.println("error:" + ex.toString()); - } -@@ -177,7 +171,7 @@ public class SolitaryPointsAdmin extends - || (strline.equals("coords:"))) { - // System.out.println("strline:"+strline); - if (strline.equals("solPtNo:")) { -- ((SolitaryPoint) solPtsList.lastElement()) -+ solPtsList.lastElement() - .setSolPtNo(Integer.parseInt(bs - .readLine())); - } -@@ -185,56 +179,56 @@ public class SolitaryPointsAdmin extends - // System.out.println("set surface..."); - tmpline = bs.readLine(); - if (tmpline.equals("-")) { -- ((SolitaryPoint) solPtsList.lastElement()) -+ solPtsList.lastElement() - .setSurfNo(0); - } else { - // System.out.println("set surface:"+(Integer.parseInt(tmpline))); -- ((SolitaryPoint) solPtsList.lastElement()) -+ solPtsList.lastElement() - .setSurfNo(Integer - .parseInt(tmpline)); - } - } - if (strline.equals("coords:")) { -- ((SolitaryPoint) solPtsList.lastElement()).x -+ solPtsList.lastElement().x - .setText(bs.readLine()); -- ((SolitaryPoint) solPtsList.lastElement()).newX = Double -- .parseDouble(((SolitaryPoint) solPtsList -- .lastElement()).x.getText()); -- ((SolitaryPoint) solPtsList.lastElement()).oldX = Double -- .parseDouble(((SolitaryPoint) solPtsList -- .lastElement()).x.getText()); -- ((SolitaryPoint) solPtsList.lastElement()).y -+ solPtsList.lastElement().newX = Double -+ .parseDouble(solPtsList -+ .lastElement().x.getText()); -+ solPtsList.lastElement().oldX = Double -+ .parseDouble(solPtsList -+ .lastElement().x.getText()); -+ solPtsList.lastElement().y - .setText(bs.readLine()); -- ((SolitaryPoint) solPtsList.lastElement()).newY = Double -- .parseDouble(((SolitaryPoint) solPtsList -- .lastElement()).y.getText()); -- ((SolitaryPoint) solPtsList.lastElement()).oldY = Double -- .parseDouble(((SolitaryPoint) solPtsList -- .lastElement()).y.getText()); -- ((SolitaryPoint) solPtsList.lastElement()).z -+ solPtsList.lastElement().newY = Double -+ .parseDouble(solPtsList -+ .lastElement().y.getText()); -+ solPtsList.lastElement().oldY = Double -+ .parseDouble(solPtsList -+ .lastElement().y.getText()); -+ solPtsList.lastElement().z - .setText(bs.readLine()); -- ((SolitaryPoint) solPtsList.lastElement()).newZ = Double -- .parseDouble(((SolitaryPoint) solPtsList -- .lastElement()).z.getText()); -- ((SolitaryPoint) solPtsList.lastElement()).oldZ = Double -- .parseDouble(((SolitaryPoint) solPtsList -- .lastElement()).z.getText()); -+ solPtsList.lastElement().newZ = Double -+ .parseDouble(solPtsList -+ .lastElement().z.getText()); -+ solPtsList.lastElement().oldZ = Double -+ .parseDouble(solPtsList -+ .lastElement().z.getText()); - } - if (strline.equals("fromtoval:")) { -- ((SolitaryPoint) solPtsList.lastElement()).oldFrom = Double -+ solPtsList.lastElement().oldFrom = Double - .parseDouble(bs.readLine()); -- ((SolitaryPoint) solPtsList.lastElement()).newFrom = ((SolitaryPoint) solPtsList -- .lastElement()).oldFrom; -+ solPtsList.lastElement().newFrom = solPtsList -+ .lastElement().oldFrom; - -- ((SolitaryPoint) solPtsList.lastElement()).oldTo = Double -+ solPtsList.lastElement().oldTo = Double - .parseDouble(bs.readLine()); -- ((SolitaryPoint) solPtsList.lastElement()).newTo = ((SolitaryPoint) solPtsList -- .lastElement()).oldTo; -+ solPtsList.lastElement().newTo = solPtsList -+ .lastElement().oldTo; - -- ((SolitaryPoint) solPtsList.lastElement()).radiusSlider -+ solPtsList.lastElement().radiusSlider - .setValue(Integer.parseInt(bs - .readLine())); -- ((SolitaryPoint) solPtsList.lastElement()) -+ solPtsList.lastElement() - .updateradiusSliderLabel(); - } - bs.mark(255); -@@ -247,47 +241,47 @@ public class SolitaryPointsAdmin extends - } - if (datatype.equals("complete") || datatype.equals("onlyeqns") - || datatype.equals("eqnsvis")) { -- ((SolitaryPoint) solPtsList.lastElement()) -+ solPtsList.lastElement() - .setSolPtNo(Integer.parseInt(bs.readLine())); -- ((SolitaryPoint) solPtsList.lastElement()) -+ solPtsList.lastElement() - .setSurfNo(Integer.parseInt(bs.readLine())); -- ((SolitaryPoint) solPtsList.lastElement()).x.setText(bs -+ solPtsList.lastElement().x.setText(bs - .readLine()); -- ((SolitaryPoint) solPtsList.lastElement()).newX = Double -- .parseDouble(((SolitaryPoint) solPtsList -- .lastElement()).x.getText()); -- ((SolitaryPoint) solPtsList.lastElement()).oldX = Double -- .parseDouble(((SolitaryPoint) solPtsList -- .lastElement()).x.getText()); -- ((SolitaryPoint) solPtsList.lastElement()).y.setText(bs -+ solPtsList.lastElement().newX = Double -+ .parseDouble(solPtsList -+ .lastElement().x.getText()); -+ solPtsList.lastElement().oldX = Double -+ .parseDouble(solPtsList -+ .lastElement().x.getText()); -+ solPtsList.lastElement().y.setText(bs - .readLine()); -- ((SolitaryPoint) solPtsList.lastElement()).newY = Double -- .parseDouble(((SolitaryPoint) solPtsList -- .lastElement()).y.getText()); -- ((SolitaryPoint) solPtsList.lastElement()).oldY = Double -- .parseDouble(((SolitaryPoint) solPtsList -- .lastElement()).y.getText()); -- ((SolitaryPoint) solPtsList.lastElement()).z.setText(bs -+ solPtsList.lastElement().newY = Double -+ .parseDouble(solPtsList -+ .lastElement().y.getText()); -+ solPtsList.lastElement().oldY = Double -+ .parseDouble(solPtsList -+ .lastElement().y.getText()); -+ solPtsList.lastElement().z.setText(bs - .readLine()); -- ((SolitaryPoint) solPtsList.lastElement()).newZ = Double -- .parseDouble(((SolitaryPoint) solPtsList -- .lastElement()).z.getText()); -- ((SolitaryPoint) solPtsList.lastElement()).oldZ = Double -- .parseDouble(((SolitaryPoint) solPtsList -- .lastElement()).z.getText()); -- ((SolitaryPoint) solPtsList.lastElement()).oldFrom = Double -+ solPtsList.lastElement().newZ = Double -+ .parseDouble(solPtsList -+ .lastElement().z.getText()); -+ solPtsList.lastElement().oldZ = Double -+ .parseDouble(solPtsList -+ .lastElement().z.getText()); -+ solPtsList.lastElement().oldFrom = Double - .parseDouble(bs.readLine()); -- ((SolitaryPoint) solPtsList.lastElement()).newFrom = ((SolitaryPoint) solPtsList -- .lastElement()).oldFrom; -- ((SolitaryPoint) solPtsList.lastElement()).oldTo = Double -+ solPtsList.lastElement().newFrom = solPtsList -+ .lastElement().oldFrom; -+ solPtsList.lastElement().oldTo = Double - .parseDouble(bs.readLine()); -- ((SolitaryPoint) solPtsList.lastElement()).newTo = ((SolitaryPoint) solPtsList -- .lastElement()).oldTo; -- ((SolitaryPoint) solPtsList.lastElement()).radiusSlider -+ solPtsList.lastElement().newTo = solPtsList -+ .lastElement().oldTo; -+ solPtsList.lastElement().radiusSlider - .setValue(Integer.parseInt(bs.readLine())); -- ((SolitaryPoint) solPtsList.lastElement()) -+ solPtsList.lastElement() - .updateradiusSliderLabel(); -- ((SolitaryPoint) solPtsList.lastElement()).repaint(); -+ solPtsList.lastElement().repaint(); - } - if (datatype.equals("complete") || datatype.equals("onlystyle")) { - // ((SolitaryPoint) solPtsList.lastElement()).cbox.setSelected((Boolean.valueOf(bs.readLine())).booleanValue()); ---- singular-4.1.1/Singular/LIB/surfex/surfex.java.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/surfex.java 2020-07-22 21:31:49.416596085 -0600 -@@ -180,7 +180,7 @@ class surfex extends JFrame implements A - RayFrame rayFrame; - - // Projects -- Vector openProjects = new Vector(); -+ Vector openProjects = new Vector(); - - int projectCounter = 0; - -@@ -281,7 +281,7 @@ class surfex extends JFrame implements A - try { - Runtime r = Runtime.getRuntime(); - Process p; -- if(surfex_.cygwin==1) { -+ if(surfex.cygwin==1) { - p = r.exec(defaultBrowser + " " + surfexDirectory + File.separator + - "doc" + File.separator + "surfex_doc_linux.pdf"); - } else { -@@ -307,7 +307,7 @@ class surfex extends JFrame implements A - try { - Runtime r = Runtime.getRuntime(); - Process p; -- if(surfex_.cygwin==1) { -+ if(surfex.cygwin==1) { - p = r.exec(defaultBrowser + " http://www.surfex.algebraicsurface.net"); - } else { - // System.out.println("cb:"+util.getCodebase(this.getClass())); -@@ -404,7 +404,7 @@ class surfex extends JFrame implements A - public Project getCurrentProject() { - int pi = pane.getSelectedIndex(); - if(pi!=-1){ -- return ((Project) openProjects.get(pi)); -+ return openProjects.get(pi); - } - return null; - } -@@ -578,10 +578,10 @@ class surfex extends JFrame implements A - - public void closeProject(int ProjectNumber) { - if (openProjects.size() >= 2) { -- ListIterator li = openProjects.listIterator(); -+ ListIterator li = openProjects.listIterator(); - int i = 1; - while (li.hasNext()) { -- if (((Project) li.next()).ProjectNumber == ProjectNumber) { -+ if (li.next().ProjectNumber == ProjectNumber) { - openProjects.removeElementAt(i); - break; - } -@@ -595,10 +595,10 @@ class surfex extends JFrame implements A - - public void updateProjectPane() { - pane.removeAll(); -- ListIterator li = openProjects.listIterator(); -+ ListIterator li = openProjects.listIterator(); - Project pro; - while (li.hasNext()) { -- pro = (Project) li.next(); -+ pro = li.next(); - JScrollPane mainpane = new JScrollPane(pro); - pane.add(mainpane, pro.projectName); - } -@@ -612,7 +612,7 @@ class surfex extends JFrame implements A - if(inAnApplet) { - // stop the raytracer-frame, if it runs: - try { -- updateRayframeImmediatlyThread.stop(); -+ updateRayframeImmediatlyThread.stopThread(); - } catch (Exception ex) { - // System.out.println("stop thread:"+ex.toString()); - } -@@ -638,7 +638,7 @@ class surfex extends JFrame implements A - // System.out.println("remove tmpdir:"+surfex_.getCurrentProject().old_tmpsubdir); - out.print("tmpsubdir=" - + URLEncoder -- .encode(getCurrentProject().old_tmpsubdir) -+ .encode(getCurrentProject().old_tmpsubdir, "UTF-8") - + "&prg=rmtmp"); - out.close(); - -@@ -884,9 +884,9 @@ class surfex extends JFrame implements A - // if(!noWindow){ - // System.out.println("s3c "+jv4sx.getScale()); - updateRayframeImmediatlyThread = new UpdateRayframeImmediatlyThread( -- rayFrame, this, (Project) openProjects.lastElement(),jv4sx); -+ rayFrame, this, openProjects.lastElement(), jv4sx); - // System.out.println("s3d "+jv4sx.getScale()); -- lastProject = (Project) openProjects.lastElement(); -+ lastProject = openProjects.lastElement(); - progressFrame.refresh(1000, "started."); - - // progressFrame.refresh(900," - lamp Admin"); -@@ -956,7 +956,7 @@ class surfex extends JFrame implements A - System.out.println("tabChanged()"); - - surfex_.configFrame.last[4] = false; -- surfex_.updateRayframeImmediatlyThread.stop(); -+ surfex_.updateRayframeImmediatlyThread.stopThread(); - // surfex_.updateRayframeImmediatlyThread.t=t; - - lastProject.eqAdm.lastUpVector = PdVector.copyNew(jv4sx.disp -@@ -997,7 +997,7 @@ class surfex extends JFrame implements A - } - - public void newUpdateRayframeImmediatlyThread() { -- updateRayframeImmediatlyThread.stop(); -+ updateRayframeImmediatlyThread.stopThread(); - updateRayframeImmediatlyThread.t=new Thread(); - // System.out.println(updateRayframeImmediatlyThread.rand+":::::::::::::::::::::::::::::"); - updateRayframeImmediatlyThread = new UpdateRayframeImmediatlyThread( -@@ -1103,7 +1103,7 @@ class surfex extends JFrame implements A - String rootFinder = "bezier_all_roots"; - String epsilon = "0.00000000000001"; - -- Vector runningParameters=new Vector(); -+ Vector runningParameters=new Vector(); - - /////////////////////////////// - // create a new surfex object: -@@ -1158,17 +1158,17 @@ class surfex extends JFrame implements A - } else if ((args[i].equals("-t") || args[i].equals("--tempdir")) - && args.length >= i + 1) { - if(cygwin<=1) { -- t.tmpDir = args[i + 1]; -- if (!(t.tmpDir.endsWith("/"))) { -- t.tmpDir = t.tmpDir + "/"; -+ surfex.tmpDir = args[i + 1]; -+ if (!(surfex.tmpDir.endsWith("/"))) { -+ surfex.tmpDir = surfex.tmpDir + "/"; - } - } - i++; - } else if ((args[i].equals("-cyg") || args[i].equals("--cygdir")) - && args.length >= i + 1) { -- t.cygdrivedir = args[i + 1]; -- if (!(t.cygdrivedir.endsWith("/"))) { -- t.cygdrivedir = t.cygdrivedir + "/"; -+ surfex.cygdrivedir = args[i + 1]; -+ if (!(surfex.cygdrivedir.endsWith("/"))) { -+ surfex.cygdrivedir = surfex.cygdrivedir + "/"; - } - i++; - } else if ((args[i].equals("-i") || args[i].equals("--infile")) -@@ -1288,8 +1288,8 @@ class surfex extends JFrame implements A - done = true; - } else { - if (!startEqnString.equals("")) { -- ((Equation) ((t.getCurrentProject()).eqAdm.eqnList -- .lastElement())).text.setText(startEqnString); -+ t.getCurrentProject().eqAdm.eqnList -+ .lastElement().text.setText(startEqnString); - t.raytrace(); - done = true; - } -@@ -1400,15 +1400,9 @@ class surfex extends JFrame implements A - } - } - -- public static String[] paramsToString(Vector v){ -+ public static String[] paramsToString(Vector v){ - String[] s=new String[v.size()]; -- ListIterator li=v.listIterator(); -- int i=0; -- while(li.hasNext()){ -- s[i++]=(String)li.next(); -- } -- -- return s; -+ return v.toArray(s); - } - - ---- singular-4.1.1/Singular/LIB/surfex/UpdateRayframeImmediatlyThread.java.orig 2018-10-24 08:27:19.000000000 -0600 -+++ singular-4.1.1/Singular/LIB/surfex/UpdateRayframeImmediatlyThread.java 2020-07-22 21:32:45.248660715 -0600 -@@ -54,7 +54,7 @@ public class UpdateRayframeImmediatlyThr - - int rand; - -- Vector Lamps; -+ Vector Lamps; - - //boolean only - Lamp selectedLamp; -@@ -72,7 +72,7 @@ public class UpdateRayframeImmediatlyThr - } - - UpdateRayframeImmediatlyThread(RayFrame ray, surfex su, Project pro, -- jv4surfex jv4sx,jv4surfex jv4sx_project, Vector Lamps, boolean showOnlySelectedLamp, -+ jv4surfex jv4sx,jv4surfex jv4sx_project, Vector Lamps, boolean showOnlySelectedLamp, - Lamp selectedLamp) { - // System.out.println("pla2"); - rayFrame = ray; -@@ -99,6 +99,12 @@ public class UpdateRayframeImmediatlyThr - } - } - -+ public void stopThread() throws SecurityException { -+ Thread me = t; -+ t = null; -+ me.interrupt(); -+ } -+ - /* - * public void stop() { killMe = true; t = null; // - * System.out.println("comittsuicide" ); } -@@ -106,7 +112,7 @@ public class UpdateRayframeImmediatlyThr - - public void run() { - Thread me = Thread.currentThread(); -- String fn = surfex_.tmpDir + "uit" + rand + "test.png"; -+ String fn = surfex.tmpDir + "uit" + rand + "test.png"; - saveThread = new SavePic(fn, false, project.antialiasing.isSelected(), - rayFrame.panel.getSize().height - / project.getInterpolConst(), -@@ -117,10 +123,10 @@ public class UpdateRayframeImmediatlyThr - jv4sx, Lamps); - // falls nur eine Lampe angezeigt werden soll:; - if (surfex_.configFrame.surf.isSelected()) { -- fn = surfex_.tmpDir + project.tmp_surfex_file + "uit" -+ fn = surfex.tmpDir + project.tmp_surfex_file + "uit" - + rand + ".jpg"; - } else { -- fn = surfex_.tmpDir + "uit" + rand + "test.png"; -+ fn = surfex.tmpDir + "uit" + rand + "test.png"; - } - - -@@ -220,7 +226,7 @@ public class UpdateRayframeImmediatlyThr - } catch (Exception er) { - System.out.println(er); - } -- if(surfex_.cygwin==1) { -+ if(surfex.cygwin==1) { - rayFrame.changeBackground(surfex.toWindows(fn)); - } else { - rayFrame.changeBackground(fn); diff --git a/Singular-link.patch b/Singular-link.patch index 2b9e33f..ffd505f 100644 --- a/Singular-link.patch +++ b/Singular-link.patch @@ -1,6 +1,6 @@ ---- singular-4.2.0/configure.ac.orig 2021-04-14 06:26:53.000000000 -0600 -+++ singular-4.2.0/configure.ac 2021-05-25 19:48:16.657430623 -0600 -@@ -341,4 +341,10 @@ AC_ARG_ENABLE([doc-build], +--- singular-4.3.1/configure.ac.orig 2022-07-06 03:32:37.000000000 -0600 ++++ singular-4.3.1/configure.ac 2022-09-20 17:37:34.607028620 -0600 +@@ -346,4 +346,10 @@ AC_ARG_ENABLE([doc-build], ]) AM_CONDITIONAL([ENABLE_DOC_BUILD], [test "$enable_doc_build" = yes]) @@ -11,9 +11,9 @@ + -i libtool +]) AC_OUTPUT ---- singular-4.2.0/factory/configure.ac.orig 2021-04-14 09:52:55.000000000 -0600 -+++ singular-4.2.0/factory/configure.ac 2021-05-25 19:48:16.658430620 -0600 -@@ -412,5 +412,11 @@ AC_DEFINE_UNQUOTED([FACTORYCONFIGURATION +--- singular-4.3.1/factory/configure.ac.orig 2022-07-06 08:34:13.000000000 -0600 ++++ singular-4.3.1/factory/configure.ac 2022-09-20 17:37:34.607028620 -0600 +@@ -411,5 +411,11 @@ AC_DEFINE_UNQUOTED([FACTORYCONFIGURATION AC_CONFIG_FILES([Makefile include/factory/Makefile factory.pc]) # ftest/GNUmakefile @@ -25,8 +25,8 @@ +]) AC_OUTPUT ---- singular-4.2.0/gfanlib/configure.ac.orig 2021-04-14 09:52:55.000000000 -0600 -+++ singular-4.2.0/gfanlib/configure.ac 2021-05-25 19:48:16.659430617 -0600 +--- singular-4.3.1/gfanlib/configure.ac.orig 2022-07-06 08:34:13.000000000 -0600 ++++ singular-4.3.1/gfanlib/configure.ac 2022-09-20 17:37:34.607028620 -0600 @@ -48,4 +48,10 @@ AC_LANG_POP() AC_CONFIG_FILES([Makefile]) @@ -38,9 +38,9 @@ + -i libtool +]) AC_OUTPUT ---- singular-4.2.0/libpolys/configure.ac.orig 2021-05-25 19:48:16.660430614 -0600 -+++ singular-4.2.0/libpolys/configure.ac 2021-05-25 19:51:10.892924374 -0600 -@@ -162,4 +162,10 @@ AC_CONFIG_FILES([polys/Makefile]) +--- singular-4.3.1/libpolys/configure.ac.orig 2022-07-06 08:34:13.000000000 -0600 ++++ singular-4.3.1/libpolys/configure.ac 2022-09-20 17:37:34.607028620 -0600 +@@ -166,4 +166,10 @@ AC_CONFIG_FILES([polys/Makefile]) AC_CONFIG_FILES([tests/Makefile]) AC_CONFIG_FILES([libpolys-config], [chmod +x libpolys-config]) AC_CONFIG_FILES([libpolys.pc]) @@ -51,8 +51,8 @@ + -i libtool +]) AC_OUTPUT ---- singular-4.2.0/omalloc/configure.ac.orig 2021-04-14 09:52:55.000000000 -0600 -+++ singular-4.2.0/omalloc/configure.ac 2021-05-25 19:48:16.661430611 -0600 +--- singular-4.3.1/omalloc/configure.ac.orig 2022-07-06 08:34:13.000000000 -0600 ++++ singular-4.3.1/omalloc/configure.ac 2022-09-20 17:37:34.608028622 -0600 @@ -607,5 +607,11 @@ dnl llllllllllllllllllllllllllllllllllll dnl wrap it up dnl @@ -65,10 +65,10 @@ +]) AC_OUTPUT ---- singular-4.2.0/resources/configure.ac.orig 2021-04-14 09:52:55.000000000 -0600 -+++ singular-4.2.0/resources/configure.ac 2021-05-25 19:48:16.661430611 -0600 -@@ -73,4 +73,10 @@ AX_NORMALIZE_PATH([config_datadir],['/'] - AC_DEFINE_UNQUOTED([DATA_DIR],"$config_datadir",[datadir]) +--- singular-4.3.1/resources/configure.ac.orig 2022-07-06 08:34:13.000000000 -0600 ++++ singular-4.3.1/resources/configure.ac 2022-09-20 17:37:34.608028622 -0600 +@@ -78,4 +78,10 @@ AX_COMPUTE_RELATIVE_PATHS([config_datadi + AC_DEFINE_UNQUOTED([DATA_TO_HTML_DIR],"%D/$data_to_html",[htmldir]) AC_CONFIG_FILES([singular_resources.pc Makefile]) +AC_CONFIG_COMMANDS([norpath], [ diff --git a/Singular.spec b/Singular.spec index c9e882f..1de61da 100644 --- a/Singular.spec +++ b/Singular.spec @@ -1,7 +1,7 @@ %global singulardir %{_libdir}/Singular -%global upstreamver 4-2-1 +%global upstreamver 4-3-1 %global downstreamver %(tr - . <<< %{upstreamver}) -%global patchver p3 +%global patchver p1 # The ppc64le builds are no longer able to build the index without the OOM # killer killing kojid. @@ -24,20 +24,21 @@ Name: Singular Version: %{downstreamver}%{?patchver} -Release: 3%{?dist} +Release: 1%{?dist} Summary: Computer Algebra System for polynomial computations # License analysis: -# - factory/readcf.cc, Singular/grammar.cc, and Singular/grammar.h are -# nominally GPLv3+, but they are generated by bison, so the bison special -# exception applies -# - The following files are BSD, which is subsumed by both GPLv2 and GPLv3: -# o Singular/links/ndbm.cc -# o Singular/links/ndbm.h -# o Singular/svd/*.{c,h} -# - Everything else is marked either "GPLv2 or GPLv3" or "GPLv2 or later", with -# the former more strict than the latter -License: GPLv2 or GPLv3 -Source0: https://github.com/Singular/Singular/archive/Release-%{upstreamver}%{?patchver}.tar.gz +# - The project as a whole is GPL-2.0-only OR GPL-3.0-only +# - GPL-2.0-or-later: +# - factory/cfNTLzzpEXGCD.{cc,h} +# - GPL-3.0-or-later WITH Bison-exception-2.2: +# - Singular/grammar.{cc,h} +# - BSD-3-Clause: +# - Singular/links/ndbm.{cc,h} +# - Singular/svd +# - Not sure, but similar to HPND and NTP (TODO: check with Legal): +# - omalloc/omReturn.h +License: (GPL-2.0-only OR GPL-3.0-only) AND GPL-2.0-or-later AND GPL-3.0-or-later WITH Bison-exception-2.2 AND BSD-3-Clause AND HPND +Source0: https://www.singular.uni-kl.de/ftp/pub/Math/Singular/SOURCES/%{upstreamver}/singular-%{version}.tar.gz URL: https://www.singular.uni-kl.de/ BuildRequires: 4ti2 BuildRequires: bison @@ -96,7 +97,11 @@ Requires: TOPCOM%{_isa} Obsoletes: Singular-polymake < 4.2.0-1 Provides: Singular-polymake = %{version}-%{release} -# Support ARM and S390(x) architectures +# The surfex code is no longer distributed with Singular +# This can be removed when F41 reaches EOL +Obsoletes: Singular-surfex < 4.3.1-1 + +# Support S390(x) architectures Patch0: %{name}-arches.patch # Fix both underlinking and overlinking Patch1: %{name}-link.patch @@ -114,22 +119,18 @@ Patch6: %{name}-gfanlib.patch Patch7: %{name}-alias.patch # Let ESingular read a compressed singular.info file Patch8: %{name}-emacs.patch -# Adapt to Java 11 -Patch9: %{name}-javac.patch -# Adapt to GCC 12 -Patch10: %{name}-gcc12.patch # Fix a sequence point error -Patch11: %{name}-sequence-point.patch +Patch9: %{name}-sequence-point.patch # Avoid an unnecessary array comparison -Patch12: %{name}-array-compare.patch +Patch10: %{name}-array-compare.patch # Fix several "use after free" scenarios due to temporary objects -Patch13: %{name}-use-after-free.patch -# Fix some incorrect format specifiers -Patch14: %{name}-format-specifier.patch +Patch11: %{name}-use-after-free.patch # Fix mismatched type declarations -Patch15: %{name}-type-mismatch.patch +Patch12: %{name}-type-mismatch.patch # Change little-endian-specific code to endian-agnostic code -Patch16: %{name}-endian.patch +Patch13: %{name}-endian.patch +# Disable examples that use the network to avoid hangs on the koji builders +Patch14: %{name}-doc-hang.patch %description Singular is a computer algebra system for polynomial computations, with @@ -212,19 +213,9 @@ Requires: flint-devel%{?_isa} %description libpolys-devel Development files for libpolys. -%ifarch %{java_arches} -%package surfex -Summary: Singular java interface -Requires: java -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description surfex -This package contains the Singular java interface. -%endif - %prep -%autosetup -n Singular-Release-%{upstreamver}%{?patchver} -p1 +%autosetup -n singular-%{downstreamver} -p1 %if %{with python} # Fix the name of the boost_python library @@ -241,9 +232,6 @@ autoreconf -fi # The file countedref.cc needs to be built without strict aliasing sed -i '/countedref\.cc/s/\$(CXXFLAGS)/& -fno-strict-aliasing/g' Singular/Makefile.in -# Do not use the prebuilt surfex.jar -rm -f Singular/LIB/surfex/surfex.jar - %build export CPPFLAGS='-I%{_includedir}/flint -I%{_includedir}/gfanlib' @@ -298,11 +286,6 @@ module load lrcalc-%{_arch} make -C doc -j1 -f Makefile-docbuild singular.idx make -C doc -j1 all-local %endif -%ifarch %{java_arches} -pushd Singular/LIB/surfex -./make_surfex -popd -%endif %install @@ -312,12 +295,6 @@ popd rm -fr %{buildroot}%{_includedir}/gfanlib rm -f %{buildroot}%{_libdir}/libgfan* -%ifarch %{java_arches} -# Install surfex.jar -mkdir %{buildroot}%{_datadir}/singular/LIB/surfex -cp -p Singular/LIB/surfex/surfex.jar %{buildroot}%{_datadir}/singular/LIB/surfex -%endif - # Validate the desktop files desktop-file-validate %{buildroot}%{_datadir}/applications/Singular.desktop desktop-file-validate \ @@ -335,6 +312,7 @@ rm -f %{buildroot}%{_libexecdir}/singular/MOD/*.la # Remove files we don't want in the installed tree rm -f %{buildroot}%{_datadir}/singular/emacs/{ChangeLog,COPYING,NEWS} +rm -fr %{buildroot}%{_docdir}/singular # Move the config scripts mkdir -p %{buildroot}%{_bindir} @@ -375,18 +353,6 @@ exec %{singulardir}/TSingular --singular %{_bindir}/Singular "\$@" EOF chmod 0755 %{buildroot}%{_bindir}/TSingular -%ifarch %{java_arches} -# surfex -cat > %{buildroot}%{_bindir}/surfex << EOF -#!/bin/sh - -. /etc/profile.d/modules.sh -module load surf-geometry-%{_arch} -exec %{singulardir}/surfex %{singulardir}/LIB/surfex "\$@" -EOF -chmod 0755 %{buildroot}%{_bindir}/surfex -%endif - # ESingular cat > %{buildroot}%{_bindir}/ESingular << EOF #!/bin/sh @@ -441,8 +407,6 @@ make check %dir %{_datadir}/singular/ %{_datadir}/singular/LIB/ %ifarch %{java_arches} -%exclude %{_datadir}/singular/LIB/surfex.lib -%exclude %{_datadir}/singular/LIB/surfex %endif %files devel @@ -469,13 +433,6 @@ make check %{_datadir}/singular/emacs/ %{singulardir}/ESingular -%ifarch %{java_arches} -%files surfex -%{_bindir}/surfex -%{_datadir}/singular/LIB/surfex.lib -%{_datadir}/singular/LIB/surfex/ -%endif - %files -n factory %license factory/COPYING %doc factory/README @@ -516,6 +473,13 @@ make check %changelog +* Mon Jan 16 2023 Jerry James - 4.3.1p1-1 +- Version 4.3.1p1 +- Remove the surfex subpackage +- Drop upstreamed -format-specifier and -gcc12 patches +- Drop obsolete -javac patch +- Convert License tags to SPDX + * Mon Jul 25 2022 Jerry James - 4.2.1p3-3 - Do not build surfex for i686 (rhbz#2104103) - Add patches to fix code errors: -sequence-point, -array-compare, diff --git a/sources b/sources index 6156272..16b536e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Release-4-2-1p3.tar.gz) = 3fca71ead9d3fa190e69f17b342a3321039864b99edfe571d58f9568996c8a25eea2e3f324b78acc37eb14e393a32d856eaf98c366f73f78a586757a68a6be60 +SHA512 (singular-4.3.1p1.tar.gz) = d27d8e042ea085e49aed6a0697056c36e78e62ea0b9d17751cdf4c556cf4f6efce3b34b411c77aef97c6d90675bea11c97651eb7009634cb8a9b630ec820a06e