Subject: bug#45370: 27.1; Obselete gnuplot option in calc-graph.el

From: [email-masked]
Date: Tue, 22 Dec 2020 19:13:16 +0800

Try to plot function in calc-mode, found some obselete option in
calc-graph.el that gnuplot refuse to accept.

To reproduce, type in these key sequences(trying to plot sin(x) here):

---
M-x calc
d L
m r
[ P n ... P ]
' s i n ( x )
g f
---

In buffer *Gnuplot Trail*, it says:

---
Starting gnuplot...

gnuplot> set notime
               ^
         "c:/Users/USER/AppData/Local/Temp/calcAAGKxRw" line 23: Unrecognized option.  See 'help unset'.

---

In buffer *Gnuplot Temp* it shows:

---
# (Note: This is a temporary copy---do not edit!)
set noarrow
set nolabel
set autoscale xy
set nologscale xy
set xlabel
set ylabel
set title
set noclip points
set clip one
set clip two
set format "%g"
set tics
set xtics
set ytics
set style data linespoints
set nogrid
set nokey
set nopolar
set surface
set nocontour
set noparametric
set notime
set border
set ztics
set zeroaxis
set view 60,30,1,1
set offsets 0,0,0,0
set samples 200

# Commands for running gnuplot

plot "c:/Users/USER/AppData/Local/Temp/calc1ODUnKc" title "PlotData2" with lines
---

So emacs trying to pass the `set notime' option to gnuplot, which for
latest gnuplot is obselete.

I dig into the source code a little, in calc-graph.el, there is a
function calc-graph-plot contain this piece of code:

line:352
---
	     (insert "set surface\nset nocontour\n"
		     "set " (if calc-graph-is-splot "" "no") "parametric\n"
		     "set notime\nset border\nset ztics\nset zeroaxis\n"
		     "set view 60,30,1,1\nset offsets 0,0,0,0\n"))
---

So I delete the `set notime\n' part and restart emacs, and this time it
prodeuce a graph successfully.

Also, maybe the string that used by th insert funcion should be
customizable?

In GNU Emacs 27.1 (build 1, x86_64-w64-mingw32)
 of 2020-11-20 built on fv-az68-340
Repository revision: ec297125a76481c55390d0b329e541907879d6f3
Repository branch: master
Windowing system distributor 'Microsoft Corp.', version 10.0.19041
System Description: Microsoft Windows 10 Pro (v10.0.2004.19041.685)

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Quit
ESC <mouse-1> is undefined
ESC M-x is undefined
funcall-interactively: End of buffer

Configured using:
 'configure --prefix=/mingw64 --build=x86_64-w64-mingw32 --with-modules
 --without-dbus --without-compress-install 'CFLAGS=-march=x86-64
 -mtune=generic -O2 -pipe' CPPFLAGS=-D__USE_MINGW_ANSI_STDIO=1
 'LDFLAGS=-pipe
 -Wl,--dynamicbase,--high-entropy-va,--nxcompat,--default-image-base-high''

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY W32NOTIFY ACL GNUTLS LIBXML2
HARFBUZZ ZLIB TOOLKIT_SCROLL_BARS MODULES THREADS JSON PDUMPER GMP

Important settings:
  value of $LC_CTYPE: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: cp936

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg
epg-config gnus-util rmail rmail-loaddefs text-property-search time-date
subr-x seq byte-opt gv bytecomp byte-compile cconv mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs
cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel dos-w32 ls-lisp disp-table term/w32-win w32-win w32-vars
term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads w32notify w32 multi-tty make-network-process emacs)

Memory information:
((conses 16 46355 10034)
 (symbols 48 6075 1)
 (strings 32 16892 1739)
 (string-bytes 1 520832)
 (vectors 16 9258)
 (vector-slots 8 123368 12366)
 (floats 8 21 214)
 (intervals 56 219 0)
 (buffers 1000 11))