diff --strip-trailing-cr -pru pari-2.3.5-patched/README.os2 pari-2.3.5/README.os2 --- pari-2.3.5-patched/README.os2 2010-02-03 14:59:23.000000000 -0800 +++ pari-2.3.5/README.os2 2018-07-29 04:27:52.479983000 -0700 @@ -29,14 +29,13 @@ a convenience, but also statically linke sigh... To use the gnuplot-engine DLL gnpltdrw.DLL, one can give Configure the option ---graphic=gnuplot-dynamic,gnpltdrw (requires linking with -Zcrtdll for graphics -to work). Add -DOLD_SET_FEEDBACK_RECTANGLE gcc option if gnpltdrw.DLL supports +--graphic=gnuplot.dynamic,gnpltdrw (requires linking with -Zcrtdll for graphics +to work). Add -DUSE_SET_FEEDBACK_RECTANGLE gcc option if gnpltdrw.DLL supports mousing, but is an old build, so it won't report this capability. Thus the build process may look like this: - sh Configure --graphic=gnuplot-dynamic,gnpltdrw - make gp + sh Configure --graphic=gnuplot.dynamic,gnpltdrw cd Oos2-ix86 make _O=.obj _A=.lib CC_FLAVOR="-Zomf -Zcrtdll -Zstack 8192 -DUSE_SET_FEEDBACK_RECTANGLE" RLLIBS=-lreadline_import DLLD_IGNORE= AR=emxomfar bench cd .. diff --strip-trailing-cr -pru pari-2.3.5-patched/config/Makefile.SH pari-2.3.5/config/Makefile.SH --- pari-2.3.5-patched/config/Makefile.SH 2010-01-09 09:59:48.000000000 -0800 +++ pari-2.3.5/config/Makefile.SH 2018-07-29 04:27:52.511183000 -0700 @@ -63,12 +63,26 @@ fltk) PLOTLIBS="-L\$(FLTKDIR)/lib -lfltk $FLTK_LIBS" postconfig='-fltk-config --post ' graph=plotfltk;; +*gnuplot.dynamic*) + graphic_lib_dll=NULL + case "$which_graphic_lib" in + *,*) + graphic_lib_dll='\"'`echo "$which_graphic_lib" | sed -e 's/[-a-z.+]*,//'`'\"' + which_graphic_lib=`echo "$which_graphic_lib" | sed -e 's/,.*//'` ;; + esac + CFLAGS="$CFLAGS -DPLOT_IS_TUNABLE" # For plotport.c + PLOTCFLAGS="-DDYNAMIC_PLOTTING -DDYNAMIC_PLOTTING_RUNTIME_LINK=$graphic_lib_dll" + PLOTLIBS="-L\$(QTDIR)/lib $QTLIB" + graph=plotgnuplot;; esac graph="plotport $graph" plotrunpath= case "$which_graphic_lib" in *X11*) + case "$which_graphic_lib" in + *gnuplot*) PLOTCFLAGS="$PLOTCFLAGS -DBOTH_GNUPLOT_AND_X11" ;; + esac PLOTCFLAGS="$PLOTCFLAGS $X11_INC" PLOTLIBS="$PLOTLIBS $X11_LIBS" plotrunpath=$X11 diff --strip-trailing-cr -pru pari-2.3.5-patched/config/get_fltk pari-2.3.5/config/get_fltk --- pari-2.3.5-patched/config/get_fltk 2008-03-31 04:43:59.000000000 -0700 +++ pari-2.3.5/config/get_fltk 2018-07-29 04:27:52.495583000 -0700 @@ -2,7 +2,7 @@ if test -z "$with_fltk"; then case "$which_graphic_lib" in fltk) with_fltk=yes;; esac - if test -z "$X11"; then with_fltk=yes; fi + if test -z "$X11" -a "X$which_graphic_lib" = "Xnone"; then with_fltk=yes; fi fi if test -n "$with_fltk"; then which_graphic_lib=fltk diff --strip-trailing-cr -pru pari-2.3.5-patched/config/get_graphic_lib pari-2.3.5/config/get_graphic_lib --- pari-2.3.5-patched/config/get_graphic_lib 2008-03-31 04:43:59.000000000 -0700 +++ pari-2.3.5/config/get_graphic_lib 2018-07-29 04:27:52.495583000 -0700 @@ -2,13 +2,18 @@ case $which_graphic_lib in auto) which_graphic_lib=none;; esac if test "$fastread" != yes; then + case "X$X11" in + X) ;; + *) add_graph=" builtin.X11+gnuplot.dynamic" ;; + esac cat << EOT ========================================================================== GP contains high resolution plotting functions. Choose among - none X11 fltk Qt + none X11 fltk Qt gnuplot.dynamic$add_graph +The '*-dynamic' version may be trailed by ',dll_base_name'. EOT echo $n ..."Use which graphic library (\"none\" means no hi-res plot) ? $c" - rep="none X11 fltk Qt"; + rep="none X11 fltk Qt$add_graph gnuplot.dynamic"; dflt=$which_graphic_lib; . ./myread which_graphic_lib=$ans diff --strip-trailing-cr -pru pari-2.3.5-patched/src/graph/plotX.c pari-2.3.5/src/graph/plotX.c --- pari-2.3.5-patched/src/graph/plotX.c 2008-03-31 04:43:58.000000000 -0700 +++ pari-2.3.5/src/graph/plotX.c 2018-07-29 04:27:52.526783100 -0700 @@ -19,6 +19,11 @@ Foundation, Inc., 59 Temple Place - Suit /* */ /*******************************************************************/ +#ifdef BOTH_GNUPLOT_AND_X11 /* The switch support in plotgnuplot */ +# define rectdraw0 X11_rectdraw0 +# define PARI_get_plot X11_PARI_get_plot +#endif + #include "pari.h" #include "rect.h" #include "../language/anal.h" diff --strip-trailing-cr -pru pari-2.3.5-patched/src/graph/plotport.c pari-2.3.5/src/graph/plotport.c --- pari-2.3.5-patched/src/graph/plotport.c 2008-03-31 04:43:58.000000000 -0700 +++ pari-2.3.5/src/graph/plotport.c 2018-07-29 04:27:52.511183000 -0700 @@ -29,7 +29,7 @@ static void PARI_get_psplot(void); static long current_color[NUMRECT]; PariRect **rectgraph = NULL; -PARI_plot pari_plot, pari_psplot; +PARI_plot pari_plot, pari_psplot, X11_pari_plot; PARI_plot *pari_plot_engine = &pari_plot; long rectpoint_itype = 0; long rectline_itype = 0; @@ -769,7 +769,7 @@ void rectpointsize(long ne, GEN size) /* code = ROt_PTS */ { if (ne == -1) { - /*do nothing*/ + set_pointsize(gtodouble(size)); /* Immediate set */ } else { PariRect *e = check_rect_init(ne); RectObj *z = (RectObj*) gpmalloc(sizeof(RectObjPS)); @@ -2133,3 +2133,18 @@ gen_rectdraw0(struct plot_eng *eng, void } } } + +#ifndef PLOT_IS_TUNABLE +long +term_set(char *s) { + if (s && 0 == strcmp(s,"?")) + pariputs("plotterm(), plotfile(), or plotpointsize() unsupported by this driver.\n"); + return 1; +} + +long +plot_outfile_set(char *s) { (void)s; return 1; } + +void +set_pointsize(double d) { (void)d; } +#endif diff --strip-trailing-cr -pru pari-2.3.5-patched/src/graph/rect.h pari-2.3.5/src/graph/rect.h --- pari-2.3.5-patched/src/graph/rect.h 2008-03-31 04:43:58.000000000 -0700 +++ pari-2.3.5/src/graph/rect.h 2018-07-29 04:27:52.526783100 -0700 @@ -312,4 +312,8 @@ void gen_rectdraw0(struct plot_eng *eng, void PARI_get_plot(long fatal); void rectdraw0(long *w, long *x, long *y, long lw); +long plot_outfile_set(char *s); +void set_pointsize(double d); +long term_set(char *s); + ENDEXTERN