forked from gnuplot/gnuplot-old
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathChangeLog
More file actions
4063 lines (2865 loc) · 159 KB
/
ChangeLog
File metadata and controls
4063 lines (2865 loc) · 159 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2013-11-14 Ethan A Merritt <merritt@u.washington.edu>
* src/qtterminal/embed_example.h:
Support for building qt terminal with either Qt4 or Qt5
* src/plot2d.c src/plot3d.c:
Allowed enhanced/noenhanced key word after individual plot titles.
* src/eval.c src/parse.c docs/gnuplot.doc:
Restore backwards-compatibility by continuing to accept deprecated
function defined(FOO). Remove help entry so that the deprecation
is taken more seriously.
2013-11-09 Ethan A Merritt <merritt@u.washington.edu>
* src/qtterminal/qt_term.cpp (qt_set_color) term/gd.trm (PNG_set_color):
Do not change line type just because a color request specifies a
linetype color.
Bugfix.
* src/qtterminal/QtGnuplotScene.cpp (mouseReleaseEvent):
Revert mouse click timing change of 27-Oct-2013 but add a check for
valid timer status. This greatly reduces the number of spurious events
that are passed through to the main program.
Bug #1300
2013-11-06 Ethan A Merritt <merritt@u.washington.edu>
* src/axis.c src/axis.h src/eval.c src/save.c src/set.c src/show.c:
Replace axis_defaults[index].name with axis_name(index) everywhere.
Currently this is a macro that expands to the same thing, but now
it is ready to be replaced by something more complicated.
* src/unset.c (unset_tics): Change the flag for unset all to -1.
* src/set.c (set_range): We already accept "set xrange [*:*] noextend"
as a more intuitive alternative to "set auto xfix". Now we also accept
"set xrange [*:*] extend" to go back to the default behavior.
* src/save.c (save_range): Due to a typo, the fix/nofix extend/noextend
axis property was not written by the "save" command.
2013-10-29 Ethan A Merritt <merritt@u.washington.edu>
* src/plot3d.c (get_3ddata): Pass through Inf and NaN to image code when
the pixel value is presented in column 4. The column 3 (z) case was
already handled.
2013-10-27 Ethan A Merritt <merritt@u.washington.edu>
* src/misc.c(lp_parse): Fix bug involving color assignment to contours.
Unfortunately this negates a previous fix that allowed explicit surface
colors in a hidden3d plot to implicitly do "set hidden3d offset 0".
* src/qtterminal/QtGnuplotScene.cpp: gnuplot_qt can handle hotkey 'i'
in persist mode. Revise the timing code for responding to mouse button
press/release (needed for Qt5).
2013-10-26 Thomas Bleher <tbleher@gmx.de>
* src/qtterminal/qt_term.cpp: Change the Qt terminal to only create its
data when initialized (to avoid the Static Initialization Order Fiasco)
and to destroy its data in a gnuplot atexit handler.
2013-10-25 Ethan A Merritt <merritt@u.washington.edu>
* src/datafile.c (df_readascii df_readmatrix): If the first field of a
tab-separated csv file was empty, it would be incorrectly ignored when
processing that input line.
Bugfix.
* src/wxterminal/wxt_gui.cpp: Extend toggling active region in key box
to include enhanced text as well as non-enhanced text.
Bugfix.
2013-10-25 Thomas Bleher <tbleher@gmx.de>
* src/stdfn.c(gp_atexit gp_exit) src/stdfn.h src/command.c(exit_command)
src/plot.c(main) src/qtterminal/qt_term.cpp src/win/winmain.c
src/wxterminal/gp_cairo.c src/wxterminal/gp_cairo_helpers.c
src/wxterminal/wxt_gui.cpp term/be.trm term/x11.trm:
Create gnuplot atexit handlers that are called before exit(3)
Normal atexit-handlers are called in the reverse order of registration.
This causes problems when a library has its own global destructors which
do not handle the case that objects of the library may still be active
and destroyed in the atexit handler. This has been observed with Qt.
Introduce a new function gp_exit() which calls the gnuplot atexit handlers
and then calls exit(3). Also create gp_atexit() to register gnuplot exit
handlers.
* src/getcolor.c (quantize_gray): Windows compile error ("small" is not
accepted as a variable name).
* config/msvc/Makefile: DEBUG option when compiling with MSVC
2013-10-25 Ethan A Merritt <merritt@u.washington.edu>
* src/corgraph.asm src/hrcgraph.asm src/pcgraph.asm src/corplot.c:
Remove vestigial files from the era of 16-bit DOS.
* configure.in term/unixpc.trm src/term.c src/term.h src/syscfg.h
src/makefile.all src/makefile.awc config/makefile.* docs/doc2texi.el:
Remove vestigial driver and makefile entries for the AT&T 3b1 "unix pc".
Early M6800-based tiny (256Kb) machine.
2013-10-23 Ethan A Merritt <merritt@u.washington.edu>
* src/plot.c (main): If commands are being executed interactively
because the user said something like "gnuplot -", then execution should
continue after an error message just as in a normal interactive session.
Bug #1295
* src/mouse.c (event_reset) src/term.c (check_for_mouse_events):
Must not send commands to the terminal if it has not yet been
initialized.
* term/gd.trm src/wxterminal/gp_cairo.c:
Inboard terminal drivers should not write errors to stdout and normally
should not call exit() themselves.
2013-10-21 Ethan A Merritt <merritt@u.washington.edu>
* src/color.h src/set.c src/getcolor.c (quantize_gray):
Change the algorithm used to assign palette colors in the case
set palette defined (...) maxcolors N
where the gradient boundaries are unevenly spaced. Previous versions
of quantize_gray() have shown a variety of bad outcomes. This version
has fewer, less ugly, bad outcomes but it is still sensitive to the
choice of maxcolors. Try changing maxcolors by +/- one if the generated
palette is bad.
Bug #1140 and others
* src/command.c (test_palette_subcommand): The "test palette" command
does not need to zero the current input line, and hasn't needed to since
lf_push/lf_pop were introduced 5 years ago.
2013-10-18 Christoph Bersch <usenet@bersch.net>
* src/gadgets.h src/graphics.c src/graphics.h src/save.c src/set.c
demo/all.dem demo/clipobject.dem docs/gnuplot.doc:
New object attribute clip/noclip. "clip" retains the current default,
clip to plot boundary unless one or more vertices are given in screen
coordinates. "noclip" clips to the canvas.
2013-10-18 Shigeharu Takeno <shige@iee.niit.ac.jp>
* docs/gnuplot-ja.doc term-ja.diff: Sync translation to version 1.830
2013-10-17 Ethan A Merritt <merritt@u.washington.edu>
* src/graphics.c (place_objects): Make clipping of various objects
more consistent. Clip to graph unless the center or some vertex is
specified in screen coordinates.
* src/save.c (save_object): "show object N" was incorrectly printing
lines for other objects as well.
2013-10-13 Ethan A Merritt <merritt@u.washington.edu>
* src/axis.c: DEFAULT_GRID_LP
* src/plot2d.c: Issue warning if "smooth" option causes columns in the
using spec to be ignored.
* src/axis.c (gen_tics): Suppress log-scaled mtics and minor grid lines
that would lie on top of the major tic/grid.
Bug #1292
* src/pm3d.c: Allow "set pm3d top/bottom" and "set pm3d interpolate N,M"
to be active at the same time.
* src/unset.c (reset_key): Don't leak memory when resetting key title.
2013-10-11 Craig DeForest <deforest@boulder.swri.edu>
* src/wxterminal/wxt_gui.cpp (wxt_waitforinput):
Handle TERM_ONLY_CHECK_MOUSING in the single-threaded code path.
Bug #1293
2013-10-11 Ethan A Merritt <merritt@u.washington.edu>
* src/wxterminal/wxt_gui.cpp (wxt_waitforinput): One code path followed
in the case of piped input to a script with mousing enabled failed to
test for the new TERM_ONLY_CHECK_MOUSING flag.
Bug #1293
2013-10-09 Ethan A Merritt <merritt@u.washington.edu>
* src/util.c (gprintf) axis.h: (REVERTED)
2013-10-06 Ethan A Merritt <merritt@u.washington.edu>
* term/aquaterm.trm term/cairo.trm term/canvas.trm term/emf.trm
term/gd.trm term/pdf.trm term/post.trm term/svg.trm term/win.trm
term/wxt.trm term/x11.trm term/qt.trm src/qtterminal/qt_term.cpp:
Default to enhanced text mode in terminals that support it.
This mode can still be disabled by "set term FOO noenhenced" or
"set termoption noenhanced".
2013-10-06 Craig DeForest <deforest@boulder.swri.edu>
* src/axis.h src/util.c (gprintf) docs/gnuplot.doc:
New format specifier %h expands to the same as %g except that the
exponential term, if any, is written using enhanced text or LaTeX markup
to generate "x10^{foo}" rather than "E+foo". The default format for axis
tics is now "% h" ("$%h$" for LaTeX terminals).
2013-10-02 Ethan A Merritt <merritt@u.washington.edu>
* src/command.c (expand_1level_macros): Never try to expand an
undefined variable as a macro.
2013-10-02 Ethan A Merritt <merritt@u.washington.edu>
* src/graphics.c (plot_steps plot_fsteps plot_histeps):
Replace 350 lines of ad hoc clipping with calls to draw_clip_line.
* src/gadgets.c src/gadgets.h: There are no longer any external callers
of clip_line(), so make it local to gadgets.
2013-10-01 Christoph Bersch <usenet@bersch.net>
* src/plot2d.c (store_label): Plots with labels should accept variable
color both for the label text and for the associated point symbol.
Bug #1281
2013-09-30 Ethan A Merritt <merritt@u.washington.edu>
* src/graphics.c (plot_bars): Draw error bars using draw_clip_line
rather than performing ad hoc clipping on the spot.
Bug #1289
2013-09-26 Ethan A Merritt <merritt@u.washington.edu>
* src/axis.c src/axis.h src/save.c src/set.c src/stdfn.h src/unset.c:
Consolidate axis range flags from two fields into a single field.
* src/axis.c src/axis.h src/boundary.c src/gadgets.c src/gadgets.h
src/graph3d.c src/graphics.c src/hidden3d.c src/misc.c src/plot2d.c
src/plot3d.c src/pm3d.c src/save.c src/set.c src/show.c src/term_api.h
src/term.c src/util3d.c src/color.c:
Simplify the historical redundancy of color properties stored in struct
lp_style_type by removing the TBOOLEAN use_palette. FALSE meant generate
color from l_type; TRUE meant take color from t_colorspec pm3d_color.
Now we always use the t_colorspec. This means that l_type refers only
to the dot/dash pattern, not color, so it becomes easier to map it to a
user-visible property "dashtype" in the future. It also has the side
effect of creating a single decision point in apply_pm3dcolor() where
[almost] all color commands are filtered against the current terminal
setting monochrome/color. Before this, colors could slip erroneously
into a "monochrome" plot. Now we limit this to an explicit set of
conditions, currently plots with rgbimage, rgb variable, or certain
user-defined color palettes. That 3rd category is a bit loose and may
need to be more carefully defined.
* src/axis.c src/axis.h src/set.c src/unset.c:
Dynamically allocate axis->formatstring and axis->timefmt.
2013-09-25 Ethan A Merritt <merritt@u.washington.edu>
* src/axis.h src/plot3d.c: plot3d.c is the only user of NEED_PALETTE,
so move it there.
* src/color.c (set_rgbcolor_var set_rgbcolor_const) src/color.h
src/pm3d.c src/hidden3d.c src/graphics.c src/graph3d.c:
Provide two parallel routines for passing RGB color information to a
terminal. set_rgbcolor_const sets the color immediately.
set_rgbcolor_var flags that this came from a plot with "rgb variable"
and passes it to apply_pm3dcolor for possible additional filtering
(e.g. decide whether to pass it to a monochrome terminal or not).
2013-09-23 Ethan A Merritt <merritt@u.washington.edu>
* src/term.c (null_set_color) src/term_api.h (TERM_NULL_SET_COLOR)
src/boundary.c src/color.c src/gadgets.c src/graph3d.c src/graphics.c:
Provide a null_set_color() routine to cover all terminals that do not
provide their own term->set_color() routine. This removes the need to
check for term->set_color before trying to call it. It also makes the
behavior of non-RGB terminals more consistent, although still imperfect.
* src/graph3d.c src/boundary.c: Don't try to use opaque (background)
fill if the terminal does not support RGB colors.
* src/graph3d.c: Always color contour lines via set_color, even for
terminals that do not support RGB colors.
Bug #1284
* src/command.c src/graph3d.c: Set can_pm3d based on TERM_NULL_SET_COLOR
2013-09-20 Per Persson <persquare@users.sourceforge.net>
* configure.in m4/apple.m4 src/term.c src/term.h:
Modify configuration tests to look for aquaterm as a framework rather
than as a library.
2013-09-20 Ethan A Merritt <merritt@u.washington.edu>
* src/gadgets.h: Initialize histogram_opts to HT_CLUSTERED.
Bug #1285
* src/graphics.c (place_grid): Must initialize tic_direction when
drawing r-axis tics. Otherwise we get whatever the last set of
x or y tics used, or if they have not been used then nothing at all.
Bug #1286
* src/boundary.c (draw_key) src/graph3d.c (do_3dplot):
If the terminal doesn't support term->set_color() then we can't
background-fill an opaque key box.
2013-09-17 Ethan A Merritt <merritt@u.washington.edu>
* term/emf.trm (EMF_point): filled circles (pointtype 7) were
incorrectly being drawn with a black border.
* src/plot2d.c (polar_range_fiddling): In a polar mode plot, if x, y,
and r are all auto-scaled then prefer a symmetric plot centered at the
orgin with radius rmax over an asymmetric plot produced by treating the
data ranges on x and y independently.
* src/util.c (equals almost_equals): Additional sanity checking of
c_token on entry.
2013-09-14 Ethan A Merritt <merritt@u.washington.edu>
* src/internal.c (f_push) src/parse.c src/parse.h src/command.c:
The routine try_to_get_string() was intended to safely return FALSE if
the current syntax cannot be evaluated as a string. But f_push()
triggered a fatal error if an unrecognized token was encountered during
evaluation. Now it quietly returns NaN and try_to_get_string() returns
FALSE.
* src/misc.c (prepare_call): When parsing arguments to "call", treat
the next bit of the input line as a string if at all possible. This
includes taking the contents of a string variable or evaluating the
result of a string expression. Only fall back to wrapping each token
in quotes if this fails. This is a CHANGE made in preparation for a
re-implementation of the `call` command argument passing mechanism.
2013-09-12 Ethan A Merritt <merritt@u.washington.edu>
* src/eval.c (clear_udf_list) src/eval.h src/unset.c: Provide a routine
that deletes all currently defined user functions. This is invoked as
part of "reset session".
* src/plot.c (init_constants) src/plot.h src/unset.c: "reset session"
reinitializes variables NaN and pi since bad user code can clobber them.
2013-09-11 Christoph Bersch <usenet@bersch.net>
* src/set.c src/unset.c: Sanity check "set style increment foo" command,
reset to default on "reset" command.
Bug #1282
2013-09-09 Ethan A Merritt <merritt@u.washington.edu>
* term/cairo.trm (cairopng_write_cropped_image): Must free cropped image
and the structure that holds it, otherwise there is a memory leak.
Bug #1278
* axis.h (TIC_SCALE): tics generated from data (e.g. xticlabels(COL))
get same size tic marks as major tics.
Bug #1280
* pm3d.c (set_plot_with_palette): "tc variable" was incorrectly causing
the color bar to be drawn by default.
* graphics.c (check_for_variable_color): "lc variable" should index the
line _type_ (not _style_) colors unless "set style increment user".
Bug #1281
* plot2d.c (store_label): Same fix for "with labels tc variable".
Bug #1281
2013-09-08 Ethan A Merritt <merritt@u.washington.edu>
* src/command.c src/misc.c src/misc.h src/plot.c: Clean up code,
remove unused variables, add comments, new parameter to load_file(),
all in preparation for a revision to the "call" mechanism.
* src/scanner.c (scanner): The syntactic entity $# (number of arguments
in a call statment) has been mishandled as introducing a comment since
sometime in version 4.5. Trap it as a special case in the scanner.
* src/misc.c src/plot.c: New command line option
"gnuplot -c scriptfile ARG1 ARG2 ... " executes scriptfile using
"call" rather "load" and passes arguments ARG1 ARG2 etc.
This patch leaves the old call argument convention in place
$0 = ARG1, $1 = ARG2, etc, $# = number of arguments
but a future patch series will introduce a more C-like convention
for the arguments. Modified from an original patch by Shige Takeno.
2013-09-07 Ethan A Merritt <merritt@u.washington.edu>
* src/color.c src/color.h src/eval.c src/eval.h src/plot.c src/plot.h
src/set.c src/show.c src/unset.c docs/gnuplot.doc:
- Consolidate code called on program entry and during "reset".
- Group program-defined variables (pi, NaN, GNUTERM) at the start of the
udv list and protect them from deletion.
- New command "reset session" does a reset followed by loading gnuplotrc
and ~/.gnuplot. It also deletes (actually undefines) all user-defined
variables. This puts the program in approximately the same state as it
was on first entry.
- Fixes memory leak; palette functions were reset without being freed.
2013-09-01 Peter Juhasz <juhaszp@users.sourceforge.net>
* src/mouse.h src/mouse.c src/unset.c (reset_command):
'reset' command restores default mouse settings, warns on bogus
options, no longer accepts 'x' or similar axis options
2013-08-28 Christoph Bersch <usenet@bersch.net>
* src/save.c (save_set_all): Emit a "unset object" command before
saving objects. Bug #1251
2013-08-28 Ethan A Merritt <merritt@u.washington.edu>
* src/graphics.c src/graphics.h src/plot2d.c src/save.c src/save.h
src/set.c src/show.c src/unset.c docs/gnuplot.doc demo/histograms2.dem:
Accept an explicit title font and text color in "set style histogram"
and "newhistogram" commands.
2013-08-26 Ethan A Merritt <merritt@u.washington.edu>
* src/command.c src/term_api.h term/x11.trm
src/qtterminal//qt_term.cpp src/wxterminal//wxt_gui.cpp:
Peter Juhasz's game demos show that the 1 msec timeout in
term->waitforinput(TERM_ONLY_CHECK_MOUSING) may be a mistake.
This patch #defines it as TERM_EVENT_POLL_TIMEOUT in term_api.h
and sets it to 0 by default.
2013-08-25 Ethan A Merritt <merritt@u.washington.edu>
* term/x11.trm (x11_waitforinput) term/xlib.trm: Handle the case of
input from a file, output to x11, and TERM_ONLY_CHECK_MOUSING.
xlib output should never expect mouse events.
2013-08-24 Ethan A Merritt <merritt@u.washington.edu>
* src/gplt_x11.c term/x11.trm: Use more precision when writing out
the axis dimensions and scale at the end of a plot. This prevents
rounding errors in the mouse coordinates reported in -persist mode.
Bug #1276
2013-08-23 Ethan A Merritt <merritt@u.washington.edu>
* src/command.c src/qtterminal/qt_term.cpp src/qtterminal/qt_term.h
src/readline.c src/term_api.h src/term.c src/wxterminal/wxt_gui.cpp
src/wxterminal/wxt_term.h term/ggi.trm term/win.trm term/x11.trm
term/README:
Gnuplot handles mouse events and hotkeys by multiplexing them with
terminal input via the interface term->waitforinput(). That means no
events are handled if the program is not waiting for terminal input,
as in "load", "pause <time>", "eval" or other such commands.
Now we add an option term->waitforinput(TERM_ONLY_CHECK_MOUSING)
that handles mouse events but does not block waiting for terminal
input, and a wrapper routine check_for_mouse_events() that can be
called during "load", "pause", etc. However this patch does not yet
add such calls, so there should not yet be any change in behavior.
* src/command.c (do_line timed_pause):
This patch adds a call to check_for_mouse_events() in two places.
The call in do_line() is invoked once for each line processed by
load/eval/while and other commands. The timed_pause() routine polls
for events 20 times per second while counting down the time given in a
"pause <time>" command.
* term/vgagl.trm term/ggi.trm
src/mouse.c (UpdateStatuslineWithMouseSetting):
The ^C interrupt handling code sets term_initialised to FALSE.
The mousing update code was interpreting this as meaning that no mouse
updates were possible. This patch adds internal checks to the only two
drivers that might have a problem and removes the global suppression of
mouse coordinate updates after an interrupt.
2013-08-23 Petr Mikulik <mikulik@physics.muni.cz>
* src/term.c (test_term): "test" was not respecting "set origin".
2013-08-20 Kyle <elconquistador@users.sourceforge.net>
* src/fit.c (regress): The value of chisq was corrupted in the process
of scaling the parameter errors. This isn't a problem by itself, but a
patch applied in April 2013 introduced a call to show_results() that
passed in the corrupted value.
Bug #1275
2013-08-20 Ethan A Merritt <merritt@u.washington.edu>
* src/set.c src/tables.c src/tables.h src/unset.c src/axis.c src/show.c
src/save.c docs/gnuplot.doc: Support minor tics on polar axis.
2013-08-20 Jon Gjengset <jon@thesquareplanet.com>
* src/term_api.h src/gplt_x11.c src/mouse.c term/x11.trm term/qt.trm
term/wxt.trm term/README src/wxterminal/wxt_gui.cpp
src/wxterminal/wxt_term.h src/qtterminal/QtGnuplotEvent.h
src/qtterminal/QtGnuplotScene.cpp src/qtterminal/qt_term.cpp
src/qtterminal/qt_term.h:
Add term->modify_plots() interface (and implementations for wxt, qt and
x11) for applying operations to every plot in a graph. Current use cases
include hiding and showing all plots and inverting plot visibility.
Useful in situations where many sets of data are plotted initially, but
the user only wishes to focus on a few.
2013-08-19 Ethan A Merritt <merritt@u.washington.edu>
* src/win/wgraph.c: Must honor TERM_LAYER_RESET.
* term/x11.trm (X11_layer): ignore TERM_LAYER_RESET in multiplot.
* src/term.c (term_start_multiplot): Several terminals (qt, wxt, x11)
ignore TERM_LAYER_RESET during multiplot. Thus in order to correctly
initialize the plot structures, the reset must happen before the
multiplot flag is set. Without this change, mouse toggle of
multiplots can trigger an access violation. Bug fix.
2013-08-16 Allin Cottrell <cottrell@wfu.edu>
* src/internal.c (GP_MATHERR): 1st part of win64 compatibility patch.
The matherr() mechanism is not used by win64. It's also not used by
current linux but it doesn't hurt to leave it in place for now.
* src/win/wprinter.c src/win/winmain.c src/win/wtext.c src/win/wmenu.c
src/win/wpause.c src/win/wgraph.c:
2nd part of win64 compatability patch. All changes are #ifdef _WIN64.
src/win/wgnuplot.rc src/win/wgnuplot.exe.manifest64:
The file win/wgnuplot.exe.manifest specifies the processorArchitecture
as "X86". For an x86_64 build this must be changed to "amd64"
(or wgnuplot.exe won't start). The manifest file is included by
win/wgnuplot.rc. The modified wgnuplot.rc includes an alternative file
wgnuplot.exe.manifest64 if the symbol _WIN64 is defined. This file
simply substitutes "amd64" for "X86" in two places.
2013-08-13 Ethan A Merritt <merritt@u.washington.edu>
* src/eval.c (update_gpval_variables): Missing GPVAL_* entry
for R_AXIS.max.
2013-08-12 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de>
* src/Makefile.maint (version, patchlevel, last_change)
(makefile.all, version.c): Prepare for possible use out-of-tree.
* src/Makefile.am (timestamp.h): New rule for timestamp.h that
cooperates with automake that should work for non-GNU make and
out-of-tree builds.
(BUILT_SOURCES): Add timestamp.h to be built before anything else.
* src/Makefile.maint: timestamp.h rule removed again.
* src/.cvsignore: Ignore timestamp.h and *.o files.
* src/version.c [DEVELOPMENT_VERSION]: Include new timestamp.h
instead of using fixed time stamp.
* src/Makefile.maint (version.c): Remove timestamp update
mechanism.
(timestamp.h): Create new, separate header file that only holds
the current timestamp.
2013-08-09 Mojca Miklavec <mojca.miklavec.lists@gmail.com>
* configure.in: Change configuration option from --with-wx-config=PATH
to --with-wx=DIR. The is more consistent both with other gnuplot
configuration options and with the upstream documentation for wx.
2013-08-09 Ethan A Merritt <merritt@u.washington.edu>
* configure.in src/command.c src/command.h src/save.c src/set.c
src/show.c src/tables.c src/unset.c demo/macros.dem:
Remove configuration option for command line macros.
It's cheap. People use it. It doesn't conflict with anything else.
There seems little reason to carry along extra code to disable it.
2013-08-09 Christoph Bersch <usenet@bersch.net>
* src/gadgets.c src/misc.c src/save.c src/term_api.h src/term.c:
New arrow style option "fixed" disables the re-sizing of arrow heads
for short arrows.
2013-08-08 Christoph Bersch <usenet@bersch.net>
* src/gadgets.c (draw_clip_polygon): Sometimes the clipping status of
the current point and the line segment it is supposedly the end of do
not match. This probably indicates a bug somewhere else, but in any
case we need to adjust the clipping to match the line segment.
Bug #1268
* src/gadgets.c src/misc.c src/save.c src/set.c src/show.c src/term.c
src/term_api.h: New arrow style option "noborder" requests a filled
arrowhead with no line drawn around the outside. This has the effect
of guaranteeing that the tip of the arrow head is exactly on the
coordinate of the end of the vector; otherwise the linewidth of the
border causes the tip to extend beyond this coordinate.
Bug #1109
* demo/arrowstyle.dem docs/gnuplot.doc: Document and illustrate.
2013-08-08 Ethan A Merritt <merritt@u.washington.edu>
* src/axis.c: Add comment noting that axis_position_zeroaxis() must
be called for each axis before plotting in order to set axis->term_zero.
* src/graphics.c: It is incorrect to skip the initial calls to
axis_draw_2d_zeroaxis even if we know the zero axes will be drawn
again later (e.g. grid is off or front).
Bug #1267
* src/datafile.c: Fix segfault if we try to store strlen of a NULL
column header string.
2013-08-06 Ethan A Merritt <merritt@u.washington.edu>
* src/eval.c (pop_or_convert_from_string): Context-dependent
conversion of a string containing a number to an actual number is
documented as evaluating to either an integer or a complex variable as
appropriate. However up to now it has always produced a complex in
practice. Now we really do evaluate to an integer if the string
contains only digits and whitespace.
Bug #1269
* src/datafile.c: Generalize the substitution of columnheaders into
a string during evaluation of 'using' or 'title' in a plot command.
This allows inclusion of more than one columnheader into a single
resulting string.
Bug #1271
* src/gadgets.c: The annoying crypto-definition of RCSid() at the
top of the file has been wrong since 2000!?
2013-07-25 Ethan A Merritt <merritt@u.washington.edu>
* term/pslatex.trm: Make the definition of \gptboxtext and friends
conditional on their not being defined already. This prevents latex
from complaining if multiple gnuplot graphs are included in the same
*.tex document. Another possibility would be to move the definition
into gnuplot.cfg.
Bug #1266
2013-07-22 Ethan A Merritt <merritt@u.washington.edu>
* src/command.h src/command.c (string_expand_macros do_line)
src/misc.c (load_file): Under some conditions, e.g. inside a multi-line
clause in curly brackets, the input command line can be extended after
it has already been checked for the presence of macros. This caused any
macros in the new part of the input line to be unrecognized.
Now we recheck for macros whenever the input line is extended.
Bug #1264
2013-07-18 Ethan A Merritt <merritt@u.washington.edu>
* configure.in: Allow for the case that pkg-config is needed in order
to find libcerf (which Mojca Miklavec reports is the case on OSX).
* term/svg.trm: The svg terminal should not rely on 'set fontpath',
which was written and documented to apply only to the postscript
terminal.
2013-07-15 Bastian Maerkisch <bmaerkisch@web.de>
* src/makefile.all src/makefile.awc: Recreate to include libcerf.
* demo/cerf.dem: UTF8 encoding
* docs/gnuplot.doc: HTML table for libcerf functions.
* config/mingw/Makefile: Build option to use libcerf.
2013-07-14 Ethan A Merritt <merritt@u.washington.edu>
* src/show.c (show_version): Report +LIBCERF in 'show version long'.
* demo/cerf.dem: Exercise functions imported from libcerf, if present.
2013-07-12 Ethan A Merritt <merritt@u.washington.edu>
* src/specfun.c (f_airy): The implementation of the Airy function
used in 4.6 has poor precision (up to 2% relative error). Replace it
with code from the Cephes library, the source of other routines
already in specfun.c.
* configure.in docs/gnuplot.doc src/Makefile.am src/eval.c
src/libcerf.c src/libcerf.h src/specfun.c src/specfun.h:
The MIT-licensed libcerf library provides a set of special functions
related to the complex error function cerf(z). If it is found during
./configure, we compile user-callable wrappers for the routines
Complex error function
cerf(z) = 2/sqrt(pi) * int[0,z] exp(-t^2) dt
Complex Dawson's Integral
cdawson(z) = exp(-z^2) int[0,z] exp(t^2) dt
= sqrt(pi)/2 * exp(-z^2) * erfi(z)
Imaginary error function (real valued)
erfi(x) = -i * erf(i * x)
Faddeeva rescaled complex error function (Abramowitz & Stegun 7.1.3)
faddeeva(z) = w(z) = exp(-z^2) * erfc(-i*z)
Voigt Profile
VP(x, sigma, gamma) = integral G(t;sigma) L(x-t;gamma) dt
corresponding to convolution of
Gaussian
G(x;sigma) = 1/sqrt(2*pi)/|sigma| * exp(-x^2/2/sigma^2)
with Lorentzian
L(x;gamma) = |gamma| / pi / ( x^2 + gamma^2 )
The libcerf routine re_w_of_z(x,y) is used to provide a higher accuracy
version of voigt(x,y).
2013-07-06 Bastian Maerkisch <bmaerkisch@web.de>
* src/win/wgraph.c (luma_from_color): New function.
* src/win/wgraph.c: Avoid unnecessary tracking of text size for
non-boxed text.
* src/win/wtext.c: Accept Ctrl-C to copy to clipboard. Fix index out
of range error if text selection extends beyond the end of line.
* config/cygwin/Makefile config/msvc/Makefile config/mingw/Makefile
config/watcom/Makefile win/gnuplot.iss: All Windows binaries now
support some sort of pipes. Consequently remove pgnuplot from
default build and installation.
2013-07-05 Shigeharu Takeno <shige@iee.niit.ac.jp>
* term/tgif.trm: Reduce the point size by 50% to match other terminals.
Use the generic do_arrow() routine.
2013-07-05 Dima Kogan <dima@secretsauce.net>
* configure.in: Test for incomplete installation of wxWidgets
development environment.
2013-07-05 Ethan A Merritt <merritt@u.washington.edu>
* src/gadgets.c src/term_api.h term/cairo.trm term/pslatex.trm:
Boxed text support for epslatex and cairolatex terminals.
* docs/Makefile.am: --without-lisp-files should also control whether
or not gnuplot-eldoc.el and gnuplot-eldoc.elc are installed.
2013-07-04 Shigeharu Takeno <shige@iee.niit.ac.jp>
* docs/README.ja docs/term-ja.diff: Update Japanese help texts.
2013-07-03 Ethan A Merritt <merritt@u.washington.edu>
* src/time.c (gstrptime): Beware of time in seconds specified as an
exponential; e.g. 123.456e7 seconds does not end in 456 usec.
* src/graph3d.c: Better fix for Bug #1252, inverted parallel axis labels
2013-07-02 Mojca Miklavec <mojca.miklavec.lists@gmail.com>
* src/command.c src/plot.c src/plot.h src/variable.c:
Remove obsolete instances of #ifdef (_Macintosh)
2013-07-02 Ulrich Müller <ulimueller@users.sf.net>
* docs/doc2texi.el: Provide a substitute for the lisp routine
replace-regexp-in-string, which is missing in xemacs prior to version
25.1.something.
* docs/Makefile.am: Modify build commands for gnuplot.texi so that
xemacs and newer emacs (25.1) are happy.
* docs/doc2texi.el: Map terminal HELP sections to level 3 (subsection)
and level 4 (subsubsection) rather than levels 4 and 5.
Bug #1226
2013-07-02 Shigeharu Takeno <shige@iee.niit.ac.jp>
* docs/gnuplot-ja.doc: Sync translation to version 1.810
* docs/gnuplot.doc: Fix typos.
Correct the documentation for the order of elements in a binary matrix
or ascii nonuniform matrix.
Bug #1248
2013-07-01 Ethan A Merritt <merritt@u.washington.edu>
* src/Makefile.am: Drop original PC assembly files from the source
tarball (corgraph.asm header.mac hrcgraph.asm pcgraph.asm lineproc.mac)
* src/hidden3d.c src/contour.c src/gplt_x11.c src/qtterminal/qt_term.cpp
term/cairo.trm: Reduce the number of annoying compiler warnings.
* src/datafile.c (plot_ticlabel_using): Explicit error message if
required parentheses are missing from using spec.
Bug #1256
* src/command.c (print_command): Print \n after each line of a datablock
* src/time.c (gstrptime): Pass through fractional seconds read with
time format "%s".
2013-06-30 Ethan A Merritt <merritt@u.washington.edu>
* src/axis.c src/axis.h src/set.c src/unset.c src/show.c src/save.c
docs/gnuplot.doc: Extend "set tics scale" to control the size of tics
at levels 2 and above.
2013-06-29 Ethan A Merritt <merritt@u.washington.edu>
* src/graph3d.c (draw3d_graphbox): "set [xy]label rotate parallel"
is affected by the direction of the complementary axis.
Bug #1252
2013-06-29 Peter Juhasz <juhaszp@users.sourceforge.net>
* src/axis.h src/axis.c src/graphics.c src/graph3d.c src/color.c
doc/gnuplot.doc:
Allow minor tic levels 2 or higher to have labels.
2013-06-28 Ethan A Merritt <merritt@u.washington.edu>
* src/misc.c (load_file): Expand macros up to 3 levels deep when
stepping through a "load" operation. This matches the depth allowed
for use at the top level command line.
Bug #1246
2013-06-28 Christoph Bersch <usenet@bersch.net>
* src/gadgets.c(clip_polygon): Use a temporary copy of the input
vertices rather than overwriting them during clipping.
Bug #1255
2013-06-28 Jérôme Lodewyck <lodewyck@users.sourceforge.net>
* src/qtterminal/QtGnuplotScene.cpp: Fixed the text transformation
origin.
2013-06-27 Ethan A Merritt <merritt@u.washington.edu>
* src/graph3d.c src/hidden3d.c src/hidden3d.h demo/contours.dem:
Apply hidden3d processing to contour labels.
* src/datafile.h src/fit.c src/show.c demo/fitmulti.dem
docs/gnuplot.doc: Increase the number of independent parameters
(dimensions) handled by "fit" from 5 to MAX_NUM_VAR, which is currently
12. MAXDATACOLS is correspondingly increased to MAX_NUM_VAR+2 = 14.
NB: Only the first 2 dimensions, "x" and "y" by default, use the axis
structures. So calling 'set xrange' or 'set yrange' can affect the
fit by limiting the range of coordinates that are accepted, just as
with previous versions. However, there is no connection between
independent parameters 3, 4, ... and any axis ranges or structures.
Therefore time data can be given for the first and second dimensions
but not for any additional dimensions.
2013-06-24 Ethan A Merritt <merritt@u.washington.edu>
* src/graph3d.c: Bug fix for contour line colors. If the base linetypes
have no color assigned (i.e. "set linetype" has never been done), then
we must explicitly set use_palette in order to generate color from the
line type. Since the hidden3d code currently uses the linetype itself
rather than the value in TC_LT, we set a new linetype also
(bug fix from Don Tabor).
2013-06-24 Bastian Maerkisch <bmaerkisch@web.de>
* config/makefile.cyg config/cygwin/Makefile config/mingw/Makefile
config/msvc/Makefile config/watcom/Makefile: Define WINDOWS_NO_GUI
when building text mode tools instead of undefining _Windows.
2013-06-23 Bastian Maerkisch <bmaerkisch@web.de>
* src/syscfg.h src/win/wgraph.c src/win/winmain.c src/win/wmenu.c
src/win/wtext.c: Move definition of flags for windows.h. Minimal
required platform is still Windows XP.
* src/fit.c (is_empty, get_next_word): Accept '\r' as end-of-line
character of parameter files. Necessary since files are now always
opened in binary mode on Windows, see change on 2013-06-02.
2013-06-22 Mojca Miklavec <mojca.miklavec.lists@gmail.com>
* term/context.trm: Explicitly disable color in standalone ConTeXt
documents when monochrome option is chosen.
2013-06-19 Ethan A Merritt <merritt@u.washington.edu>
* src/boundary.c src/gadgets.h src/graph3d.c src/set.c src/show.c
src/unset.c src/tables.c src/tables.h: Dynamic allocation of key title.
Deprecate undocumented commands "set|show|unset keytitle".
Redirect "set keytitle foo" to "set key title foo".
2013-06-18 Shigeharu Takeno <shige@iee.niit.ac.jp>
* src/datafile.c (plot_option_every): Treat negative numbers as
indicating "default value".
2013-06-16 Ethan A Merritt <merritt@u.washington.edu>
* src/gplt_x11.c: Replace call to deprecated XKeycodeToKeysym with a
call to XkbKeycodeToKeysym. This introduces a dependence on the XKB
extension but it's not clear there is any alternative.
2013-06-14 Ethan A Merritt <merritt@u.washington.edu>
* src/fit.c: Use dummy variable names from `set dummy` in preference
to the default sequence x y t u v z.
Do not ask df_readline() to process more columns than necessary.
* src/datafile.c: Replace an assertion (MAXDATACOLS == 7) with the
specifically relevant test (<number of requested format terms> <= 7).
I.e. the limit is due to applying a fixed format statement to the
current request for data, not from a cap on the number of columns
that might hypothetically be requested. Similarly replace assertion
(max_using <= MAXDATACOLS) with a check for whether the limit is
actually exceeded by the current using spec.
* demo/fitmulti.dem: Include a test script written by Hanno Hoffstadt
that exercises multidimensional fitting. The fit routine currently
handles up to 5 independent dimensions, but the script tries up to six.
It incidentally exercises the `set dummy` command and `while {...}`.
* src/show.c (show_fit): Report previous 'fit' command.
* src/datafile.c (df_tokenise): Get rid of erroneous test against
axis_array[foo].timefmt (always evaluates as TRUE).
2013-06-12 Ethan A Merritt <merritt@u.washington.edu>
* configure.in: More complete autoconfigure tests for qt5.
* src/save.c (save_dummy) src/set.c (set_dummy) src/show.c
src/unset.c (unset_dumm) docs/gnuplot.doc demo/fit.dem:
"fit" can use more dummy variable names than plot or splot, but these
were not being shown/reset/saved. Document "unset dummy".
Now we handle the full set of possible dummy variables (MAX_NUM_VAR).
2013-06-11 Bastian Maerkisch <bmaerkisch@web.de>
* src/win/wgnuplib.h src/win/wgraph.c term/win.trm: Support boxed
labels. Includes support for rotated text.
* src/win/wgdiplus.cpp (gdiplusPolylineEx): Properly close polygons
by using DrawPolygon if the first and last point of the polyline are
equal.
* src/win/wgraph.c: Tweak layer support.
2013-06-10 Shigeharu Takeno <shige@iee.niit.ac.jp>
* src/show.c src/unset.c: show/unset individual datafile options.
* docs/gnuplot.doc src/specfun.c: Documentation shows incorrect sign
in the exponent of the Voigt function.
* docs/gnuplot.doc: typos
2013-06-06 Bastian Maerkisch <bmaerkisch@web.de>
* src/fit.c (fit_command): Log file contained the wrong variable name
for axis restrictions. Reported by Victor Slabinski on gnuplot-bugs.
* src/fit.c: Make Ctrl-C interrupt fits in Windows console mode gnuplot
again.
2013-06-05 Ethan A Merritt <merritt@u.washington.edu>
* configure.in: Allow building against either Qt4 or Qt5.
./configure --with-qt # Try Qt5 first, fall back to Qt4
./configure --with-qt=qt4 # Prefer Qt4 to Qt5 even if present
Note: On my machine use of Qt5 also requires compiler option -fPIC, but
I have not added this to configure.in.
* src/qtterminal/{qt_term.cpp QtGnuplotWindow.h QtGnuplotWidget.cpp
QtGnuplotWidget.h}: Trivial changes to #include statements required by
Qt4->Qt5 module organization.
QString::toAscii is deprecated. Use toUtf8 or toLatin1 as appropriate.
* src/qtterminal/QtGnuplotScene.cpp (processEvent positionText):
Older APIs for transformations (rotate/translate/scale) have been removed
in Qt5. The new ones seem to work OK in 4.6 also, so I have replaced the
old ones unconditionally. If this causes problems we could choose old or
new based on QT_VERSION.
* src/scanner.c src/util.c src/util.h: Allow UTF8 identifiers.
* src/internal.c (f_range): Allow "string"[x:x] where x is real rather
than int. This makes it more convenient to use column data as an index.
2013-06-02 Bastian Maerkisch <bmaerkisch@web.de>
* src/win/wprinter.c (PrintDlgProc): Safeguard against unavailable
printer info.
Bug 1152.
* src/win/wprinter.c (DumpPrinter): Make this similar to the code in
CopyPrint (wgraph.c) which is supposed to work more reliably.
* src/win/wgraph.c (SaveAsEMF, CopyClip): Turn off antialiasing during
export to EMF or clipboard in order not to mix GDI and GDI+ calls. See