--- gnuplot-5.0.5/configure.in | 2 +- gnuplot-5.0.5/docs/Makefile.am | 12 ++++++++---- gnuplot-5.0.5/docs/gnuplot-fr.doc | 4 ++-- gnuplot-5.0.5/src/gadgets.h | 2 +- gnuplot-5.0.5/src/gplt_x11.c | 9 ++++++--- gnuplot-5.0.5/src/plot.c | 22 +++++++++++++++++++++- gnuplot-5.0.5/src/term.h | 6 +++--- gnuplot-5.0.5/term/linux.trm | 4 ++-- 8 files changed, 44 insertions(+), 17 deletions(-) --- gnuplot-5.0.5/configure.in +++ gnuplot-5.0.5/configure.in 2016-12-15 12:41:19.652693771 +0000 @@ -370,7 +370,7 @@ if test "$with_linux_vga" = yes; then [AC_DEFINE(LINUXVGA,1, [ Define if this is a Linux system with SuperVGA library. ]) LINUXSUID='chown root $(bindir)/gnuplot; chmod u+s $(bindir)/gnuplot' - TERMLIBS="-lvga $TERMLIBS"], + TERMLIBS="/usr/${ARCHLIB:=lib}/libvga.a $TERMLIBS"], with_linux_vga=no) fi --- gnuplot-5.0.5/docs/Makefile.am +++ gnuplot-5.0.5/docs/Makefile.am 2016-12-15 12:50:02.702188523 +0000 @@ -42,7 +42,7 @@ # # default is what is needed for interactive gnuplot -gih_DATA = gnuplot.gih +gih_DATA = gnuplot.gih gnuplot-fr.gih gihdir = @GIHDIR@ noinst_PROGRAMS = checkdoc doc2ipf doc2tex doc2gih doc2rnh doc2hlp \ @@ -96,7 +96,7 @@ gnuplot-groff.ps gnuplot.tmp VERSION gnu gnuplot.idv gnuplot.xref gnuplot.lg gnuplot.pdf wxhelp_figures \ wxhelp/*.html wxhelp/wgnuplot.hhc wxhelp/wgnuplot.hhk \ wxhelp/wgnuplot.htc wxhelp/doc2html$(EXEEXT) windows/wgnuplot.htk \ -windows/*.png gnuplot.htb gnuplot.texi gnuplot-eldoc.el $(ELCS) +windows/*.png gnuplot.htb gnuplot.texi gnuplot-eldoc.el $(ELCS) gnuplot-fr.gih DISTFILES = $(DIST_COMMON) $(SOURCES) $(DOCHEADERS) $(EXTRA_DIST) @@ -278,17 +278,21 @@ gnuplot.hlp: doc2hlp$(EXEEXT) $(srcdir)/ doc2hlp_SOURCES = doc2hlp.c termdoc.c ### gnuplot interactive help format -gih: gnuplot.gih +gih: gnuplot.gih gnuplot-fr.gih gnuplot.gih: doc2gih$(EXEEXT) $(srcdir)/gnuplot.doc $(AM_V_GEN)./doc2gih$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.gih +gnuplot-fr.gih: doc2gih$(EXEEXT) $(srcdir)/gnuplot-fr.doc + $(AM_V_GEN)./doc2gih$(EXEEXT) $(srcdir)/gnuplot-fr.doc gnuplot-fr.gih + doc2gih_SOURCES = doc2gih.c termdoc.c # To include all terminals in the .gih file -allgih: alldoc2gih$(EXEEXT) $(srcdir)/gnuplot.doc +allgih: alldoc2gih$(EXEEXT) $(srcdir)/gnuplot.doc $(srcdir)/gnuplot-fr.doc @echo "generate gnuplot.gih with all terminals" $(AM_V_at)./alldoc2gih$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.gih + $(AM_V_at)./alldoc2gih$(EXEEXT) $(srcdir)/gnuplot-fr.doc gnuplot-fr.gih alldoc2gih_SOURCES = doc2gih.c termdoc.c alldoc2gih_CPPFLAGS = -DALL_TERM_DOC $(AM_CPPFLAGS) --- gnuplot-5.0.5/docs/gnuplot-fr.doc +++ gnuplot-5.0.5/docs/gnuplot-fr.doc 2016-12-15 12:41:21.712652296 +0000 @@ -436,8 +436,8 @@ C #Home & same as \verb~^A~. \\ #Ctrl Home & same as \verb~^E~. \\ #Esc & same as \verb~^U~. \\ -#Help & `{\bf help}' plus Entrée. \\ -#Ctrl Help & `{\bf help }'. \\ +#Help & `{\bf help}` plus Entrée. \\ +#Ctrl Help & `{\bf help }`. \\ %c l . %Touche fléchée@Fonction %_ --- gnuplot-5.0.5/src/gadgets.h +++ gnuplot-5.0.5/src/gadgets.h 2016-12-15 12:41:21.712652296 +0000 @@ -482,7 +482,7 @@ extern TBOOLEAN clip_lines1; extern TBOOLEAN clip_lines2; extern TBOOLEAN clip_points; -#define SAMPLES 100 /* default number of samples for a plot */ +#define SAMPLES 500 /* default number of samples for a plot */ extern int samples_1; extern int samples_2; --- gnuplot-5.0.5/src/gplt_x11.c +++ gnuplot-5.0.5/src/gplt_x11.c 2016-12-15 12:41:21.716652216 +0000 @@ -2524,9 +2524,12 @@ exec_cmd(plot_struct *plot, char *comman } } /* X11_justify_text(mode) - set text justification mode */ - else if (*buffer == 'J') - sscanf(buffer, "J%d", (int *) &plot->jmode); - + else if (*buffer == 'J') { + int jmode; + sscanf(buffer, "J%d", &jmode); + plot->jmode = jmode; + } + else if (*buffer == 'A') sscanf(buffer + 1, "%lf", &plot->angle); --- gnuplot-5.0.5/src/plot.c +++ gnuplot-5.0.5/src/plot.c 2016-12-15 12:41:21.716652216 +0000 @@ -216,6 +216,7 @@ static int asked_privi = 0; void drop_privilege() { +#ifndef SVGA_IS_SECURE if (!asked_privi) { euid = geteuid(); egid = getegid(); @@ -229,11 +230,13 @@ drop_privilege() if (seteuid(ruid) == -1) (void) fprintf(stderr, "seteuid(%d): %s\n", (int) ruid, strerror(errno)); +#endif } void take_privilege() { +#ifndef SVGA_IS_SECURE if (!asked_privi) { euid = geteuid(); egid = getegid(); @@ -247,6 +250,7 @@ take_privilege() if (seteuid(euid) == -1) (void) fprintf(stderr, "seteuid(%d): %s\n", (int) euid, strerror(errno)); +#endif } #endif /* LINUXVGA */ @@ -273,8 +277,8 @@ main(int argc, char **argv) int i; #ifdef LINUXVGA - LINUX_setup(); /* setup VGA before dropping privilege DBT 4/5/99 */ drop_privilege(); + LINUX_setup(); #endif /* make sure that we really have revoked root access, this might happen if gnuplot is compiled without vga support but is installed suid by mistake */ @@ -329,6 +333,22 @@ main(int argc, char **argv) rl_getc_function = getc_wrapper; #endif +#ifdef __linux__ + if (!getenv("GNUHELP")) { + const char* msg = setlocale(LC_MESSAGES, NULL); + if (msg) { + char hfile[64]; + struct stat buf; + + sprintf(hfile, "/usr/share/gnuplot/%s/gnuplot-", gnuplot_version); + strncat(hfile, msg, 2); + strcat (hfile, ".gih"); + if (stat(hfile, &buf) == 0) + setenv("GNUHELP", strdup(hfile), 0); + } + } +#endif + #if defined(HAVE_LIBREADLINE) || defined(HAVE_LIBEDITLINE) /* T.Walter 1999-06-24: 'rl_readline_name' must be this fix name. * It is used to parse a 'gnuplot' specific section in '~/.inputrc' --- gnuplot-5.0.5/src/term.h +++ gnuplot-5.0.5/src/term.h 2016-12-15 12:41:21.716652216 +0000 @@ -265,9 +265,9 @@ #include "emf.trm" /* Roland DXY800A plotter */ -/* #include "dxy.trm" */ +#include "dxy.trm" /* QMS/EXCL laserprinter (Talaris 1590 and others) */ -/* #include "excl.trm" */ +#include "excl.trm" /* fig graphics */ #include "fig.trm" @@ -300,7 +300,7 @@ /* #include "imagen.trm" */ /* Kyocera Prescribe printer */ -/* #include "kyo.trm" */ +#include "kyo.trm" /* Frame Maker MIF 3.00 format driver */ #ifdef HAVE_MIF --- gnuplot-5.0.5/term/linux.trm +++ gnuplot-5.0.5/term/linux.trm 2016-12-15 12:41:21.716652216 +0000 @@ -195,7 +195,7 @@ TERM_PUBLIC void LINUX_linetype __PROTO( TERM_PUBLIC void LINUX_move __PROTO((unsigned int x, unsigned int y)); TERM_PUBLIC void LINUX_vector __PROTO((unsigned int x, unsigned int y)); TERM_PUBLIC int LINUX_text_angle __PROTO((int ang)); -TERM_PUBLIC void LINUX_put_text __PROTO((unsigned int x, unsigned int y, const char *str)); +TERM_PUBLIC void LINUX_put_text __PROTO((unsigned int x, unsigned int y, char *str)); TERM_PUBLIC void LINUX_suspend __PROTO((void)); TERM_PUBLIC void LINUX_resume __PROTO((void)); @@ -408,7 +408,7 @@ LINUX_putc( } TERM_PUBLIC void -LINUX_put_text(unsigned int x, unsigned int y, const char *str) +LINUX_put_text(unsigned int x, unsigned int y, char *str) { int i; switch (linux_angle) {