diff -ru ddd-3.3.12-orig/configure ddd-3.3.12/configure --- ddd-3.3.12-orig/configure 2009-02-11 11:25:52.000000000 -0600 +++ ddd-3.3.12/configure 2018-08-12 06:13:12.000000000 -0500 @@ -4275,7 +4275,7 @@ rm -f conftest$ac_cv_exeext { echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6; } - +ac_cv_exeext=".exe" rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT Only in ddd-3.3.12/ddd: .LabelH.C.un~ diff -ru ddd-3.3.12-orig/ddd/LabelH.C ddd-3.3.12/ddd/LabelH.C --- ddd-3.3.12-orig/ddd/LabelH.C 2009-02-11 11:25:07.000000000 -0600 +++ ddd-3.3.12/ddd/LabelH.C 2018-08-12 06:14:01.000000000 -0500 @@ -30,6 +30,8 @@ * cwikla@wolfram.com */ +#include + #define new a_new // Motif 1.1 wants this #define class a_class extern "C" { diff -ru ddd-3.3.12-orig/ddd/Makefile.in ddd-3.3.12/ddd/Makefile.in --- ddd-3.3.12-orig/ddd/Makefile.in 2009-02-11 11:25:55.000000000 -0600 +++ ddd-3.3.12/ddd/Makefile.in 2018-08-12 06:13:12.000000000 -0500 @@ -2693,7 +2693,7 @@ $(srcdir)/ddd.info.txt.gz.C: $(srcdir)/ddd.info.txt.gz $(MAKE) stringify$(EXEEXT) - -./stringify < $? > $@~ && $(MV) $@~ $@ + -./stringify$(EXEEXT) < $? > $@~ && $(MV) $@~ $@ # License. $(srcdir)/COPYING.gz: $(srcdir)/../COPYING @@ -2701,7 +2701,7 @@ $(srcdir)/COPYING.gz.C: $(srcdir)/COPYING.gz $(MAKE) stringify$(EXEEXT) - -./stringify < $? > $@~ && $(MV) $@~ $@ + -./stringify$(EXEEXT) < $? > $@~ && $(MV) $@~ $@ # News. $(srcdir)/NEWS.gz: $(srcdir)/../NEWS @@ -2709,7 +2709,7 @@ $(srcdir)/NEWS.gz.C: $(srcdir)/NEWS.gz $(MAKE) stringify$(EXEEXT) - -./stringify < $? > $@~ && $(MV) $@~ $@ + -./stringify$(EXEEXT) < $? > $@~ && $(MV) $@~ $@ show.$(OBJEXT): COPYING.gz.C NEWS.gz.C ddd.info.txt.gz.C diff -ru ddd-3.3.12-orig/ddd/VSLDefList.C ddd-3.3.12/ddd/VSLDefList.C --- ddd-3.3.12-orig/ddd/VSLDefList.C 2009-02-11 11:25:07.000000000 -0600 +++ ddd-3.3.12/ddd/VSLDefList.C 2018-08-12 06:13:12.000000000 -0500 @@ -60,7 +60,7 @@ { std::ostringstream s; s << *arg; - VSLLib::eval_error("no suiting definition for " + f_name() + s); + VSLLib::eval_error("no suiting definition for " + f_name() + s.str().c_str()); } return d ? d->eval(arg) : 0; diff -ru ddd-3.3.12-orig/ddd/strclass.h ddd-3.3.12/ddd/strclass.h --- ddd-3.3.12-orig/ddd/strclass.h 2009-02-11 11:25:06.000000000 -0600 +++ ddd-3.3.12/ddd/strclass.h 2018-08-12 06:13:12.000000000 -0500 @@ -543,6 +543,9 @@ bool OK() const; }; +int readline(std::istream& s, string& x, char terminator = '\n', int discard_terminator = 1); +string common_prefix(const string& x, const string& y, int startpos = 0); +string common_suffix(const string& x, const string& y, int startpos = -1); class string { @@ -811,9 +814,9 @@ const regex& sep); friend string common_prefix(const string& x, const string& y, - int startpos = 0); + int startpos); friend string common_suffix(const string& x, const string& y, - int startpos = -1); + int startpos); friend string replicate(char c, int n); friend string replicate(const string& y, int n); friend string join(const string *src, int n, const string& sep); @@ -864,8 +867,8 @@ friend std::istream& operator>>(std::istream& s, string& x); friend int readline(std::istream& s, string& x, - char terminator = '\n', - int discard_terminator = 1); + char terminator, + int discard_terminator); // Status unsigned int length() const;