-
Notifications
You must be signed in to change notification settings - Fork 55
/
Copy pathChangeLog
7566 lines (5422 loc) · 302 KB
/
ChangeLog
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
2017-11-04
===============================================================================
If you are seeing this you must have obtained a snapshot of gnuplot development
from the development cvs repository on sourceforge.net. This is out of date!
As of December 2017 the development source has moved to using git rather than
cvs. For the forseeable future gnuplot release tarballs and other files will
continue to be distributed from
http://gnuplot.sourceforge.net
Please check there to obtain the current version or more information.
===============================================================================
2017-11-02 Ethan A Merritt <[email protected]>
* docs/gnuplot.doc src/gadgets.c: Remove obsolete comments and trivial
typos. Add documentation section for piped input data.
2017-11-01 Ethan A Merritt <[email protected]>
* src/plot2d.c (histogram_range_fiddling): For stacked histograms,
autoscaling did not distinguish between 'set xrange [*:*]' and
'set xrange [explicit_min:*]', always resetting min to -1.
Bugfix
2017-10-30 Ethan A Merritt <[email protected]>
* src/gadgets.c (draw_clip_arrow): Do not call term->arrow() if the
entire arrow is out of range.
* src/graphics.c (plot_vectors): The code for 2D "plot with vectors"
is redundant. Replace the core of it with a call to draw_clip_arrow().
* src/boundary.c (do_key_sample): Illustrate revision of a
draw_clip_arrow() call site to use (double) rather than (int)
parameters. The only reason for this is to allow draw_clip_arrow()
itself to switch to (double) parameters if we decide that is useful,
e.g. to handle arrows with length approaching zero.
2017-10-13 Petr Mikulik <[email protected]>
* src/pm3d.c (pm3d_draw_one pm3d_plot): Move call of term->layer() with
TERM_LAYER_BEGIN_PM3D_MAP and TERM_LAYER_END_PM3D_MAP from pm3d_draw_one
to pm3d_plot in order to avoid insertion of line commands between the
%pm3d_map_begin and pm3d surface commands in the postscript file
which broke the pm3dCompress.awk and pm3dConvertToImage.awk scripts.
2017-10-11 Ethan A Merritt <[email protected]>
* src/axis.c (gen_tics): The start point for log-scale tic placement
could not lie outside the axis range (e.g. start at 1 for axis range
[5:50]). Remove this restriction. Still not perfect backwards
compatibility with log-scale tic placement in earlier versions.
2017-10-09 Ethan A Merritt <[email protected]>
* src/datafile.c (df_generate_pseudodata): The sample-generation code
failed to distinguish between nonlinear x2 (primary axis hidden) and
"set link x2 via f(x) inv g(x)" (primary axis x1).
Bug #1973
* src/graphics.h src/unset.c: We have an enum AXIS_INDEX. Use it.
(mostly to aid debugging; shouldn't affect code generation).
2017-10-08 Ethan A Merritt <[email protected]>
* src/axis.c (reconcile_linked_axes) src/axis.h src/plot2d.c:
gnuplot version 5.0 always tracked the autoscale range on the primary
axis (x1 or y1) of a linked pair, even if the data was actually plotted
on x2 or y2. In verison 5.2 we track the data range on x1 x2 y1 y2
separately. This caused breakage wherever the program assumed the
autoscale range on x1 (or y1) was always current. Worse, it would
propagate that range onto the secondary axis, possibly overwriting the
correct range. Now we introduce a new routine reconcile_linked_axes()
that merges the min/max values from e.g. x1 and x2 so that the
autoscaled range covers input data plotted on either axis.
Bug #1973
* demo/linked_autoscale.dem: Exercise the new code (fails on previous
gnuplot versions).
2017-10-06 Hans-Bernhard Broeker <[email protected]>
* src/command.c: Move WEXITSTATUS fall-back definition away from here.
* src/syscfg.h: Include <sys/wait.h>, if it exists.
(WEXITSTATUS): Provide fall-back definition, if none in
<sys/wait.h>. Move MS Windows specific replacement from command.c
to here.
* configure.ac: Add call to AC_HEADER_SYS_WAIT
2017-10-06 Bastian Maerkisch <[email protected]>
* config/mingw/Makefile: Add helpfiles to "all" target, including
the japanese version. Remove helpfile from default target.
* config/mingw/Makefile: Default to Mingw-w64 and Direct2D v1.1.
Note that building using Mingw32 currently does not work anyway
due to missing headers libraries for newer Windows APIs.
* config/mingw/Makefile: Add a note that secure APIs are required
(pointed out by Allin Cottrell on the mailing list).
* config/msvc/Makefile: Build and install support files for the
lua/tikz terminal.
src/win/wgnuplot.mnu: Add menu items to edit gnuplot.ini and
wgnuplot.ini to 'Help' menu.
2017-10-05 Bastian Maerkisch <[email protected]>
* src/win/wd2d.cpp: Enable color font support. This enables colored
emojis, which can be used e.g. as point symbols. Due to the default
font-fallback to "Segoe UI Emoji", this might lead to unexpected
results if a plot relied on non-colored character fallbacks.
2017-10-03 Ethan A Merritt <[email protected]>
* term/gd.trm: Report number of frames in completed animation sequence.
2017-10-01 Bastian Maerkisch <[email protected]>
* src/win/winmain.c|h src/command.c: For wgnuplot, open or attach to a
console when executing system commands so we can its the output. That
in my option eliminates the last benefit of wgnuplot_pipes over
wgnuplot. Note that the process terminates if the new console is
closed, just as is the case with wgnuplot_pipes, but the console is
only opened when actually required.
2017-09-29 Ethan A Merritt <[email protected]>
* src/axis.h src/axis.c (axis_set_scale_and_range): Incorrect use
of unsigned parameters caused terminal scaling to fail if the axis
range was inverted. The error was introduced by converting from a
macro to a subroutine in the run-up to 5.2.
* src/gadgets.h src/graphics.c src/misc.c src/plot2d.c src/set.c
src/tables.h: Rework parsing and handling of filledcurve options.
* src/command.c (array_command): Allow size of an array to be
determined automatically from the number of initializers. E.g.
array A = ["a","b","c"]
2017-09-25 Ethan A Merritt <[email protected]>
* src/plot2d.c: smoothing options csplines|acsplines|bezier|sbezier
failed to recheck inrange/outrange after smoothing. Example failure:
plot [0:4][4:0] '+' using 1:1 smooth bezier w lines
Bugfix
2017-09-23 Ethan A Merritt <[email protected]>
* src/axis.c (gen_tics) docs/gnuplot.doc demo/nonlinear6.dem:
Revise documentation of "set xtics" to include examples and description
of logscale keyword. Restore pre-5.2 behaviour that for log-scaled axes
the increment in "set xtics {start,} incr {,end}" is interpreted as a
multiplicative factor rather than a constant interval. However this is
only true if the "logscale" attribute is set for axis tics.
New demo nonlinear6.dem exercises this feature and also shows the use of
"set tics rangelimit" with log-scaled axes.
Bug #1971
* src/interpol.c (mcs_interp): The previous implementation of monotonic
cubic splines did not guarantee that the original points were included
in the set of generated points used to draw the resulting curve. This
meant that the curve might not pass through all points. Now we merge
the original points with the set of evenly sampled points.
Thanks to K Antal for identifying and demonstrating the problem.
Patch/Bug #1972
2017-09-21 Ethan A Merritt <[email protected]>
* term/cairo.trm (cairotrm_reset): Still trying to get this right.
2017-09-20 Ethan A Merritt <[email protected]>
* term/cairo.trm (cairotrm_reset): Revert change.
2017-09-19 Ethan A Merritt <[email protected]>
* term/cairo.trm (cairotrm_init cairotrm_reset): Valgrind complained
that calling cairo_destroy(plot.cr) on exit triggered multiple reads
of previously-freed data. It seems preferable to not call it on exit.
It does make sense to call it if the terminal has been closed and then
reopened. So we fix the ordering of code in cairotrm_init that
frees the old plot.cr before reinitializing a new one.
REVERT: This change caused some cairo installations to close pdf output
file without proper termination of the contents.
* src/parse.c (parse_array_assignment): Memory leak.
* src/interpol.c: Dead code.
* src/Makefile.am: Fix recipe for building qt embed_example
2017-09-18 Ethan A Merritt <[email protected]>
* src/datafile.c (f_columnhead df_set_key_title) src/datafile.h
src/eval.h src/parse.c (create_call_columnhead) src/parse.h
src/plot2d.h src/plot2d.c (reevaluate_plot_title) src/plot3d.c:
Defer evaluation of "plot ... title <string-expression>" until after
data is read in. This is important mostly for the case where the plot
title contains text taken from a data column header. We can now drop
an imperfect workaround that initially stored the title as
@COLUMNHEADXXXX@ and then later replaced the placeholder text with
the real column header text.
Bug #1968
* demo/columnhead.dem demo/html/*: Add a demo for the new capability.
2017-09-17 Ethan A Merritt <[email protected]>
* src/set.c (parse_label_options): Memory leak.
* src/graph3d.c src/plot3d.c: Initialize to prevent compilere warnings.
2017-09-15 Ethan A Merritt <[email protected]>
* src/plot2d.c src/plot3d.c: Starting in version 5, NaN and UNDEFINED
input data points count toward the total number of points read. This
caused the test for "no points read" to not terminate iterations of the
form "for [i=min:*] ..." on the first missing file or invalid spec.
To prevent runaway iteration we now test for "no INRANGE points read in".
* src/datafile.c (f_columnhead): columnhead(N) invoked inside a using
specifier now returns the actual column header.
See Bug #1968
2017-09-13 Ethan A Merritt <[email protected]>
* src/graphics.c src/graph3d.c: The "title at {beg|end|<position>}"
options were originally intended as an alternative to the normal key,
so preservation of the key layout was not a concern. This patch allows
you to mix custom-placed titles with in-key titles in the same plot.
Bug #1967
2017-09-11 Ethan A Merritt <[email protected]>
* src/graphics.c src/graphics.h src/set.c src/tables.c src/tables.h
src/unset.c src/show.c src/save.c demo/image2.dem docs/gnuplot.doc:
The default interpretation of RGB color components on input is that
they are integer values in the range [0:255]. This matches the
content of PNG and JPEG files. Since the interpretation of RGB color
components has been decoupled from the palette range limits controlled
by "set cbrange", data using some other RGB convention must be
rescaled. This patch introduces a new command `set rgbmax`.
The primary use is so that data using the convention that color
components are floating point values in the range [0:1] can be
plotted using
set rgbmax 1.0; plot 'imagedata' with rgbimage
* src/graphics.c (map_position_double): It is pointless to test for
logscale in the "else" clause of an "if" statement that handles
nonlinear axes.
2017-09-10 Ethan A Merritt <[email protected]>
* src/axis.c( gen_tics ) src/axis.h( reorder_if_necessary ):
New macro to reorder the min/max of axis ranges (but could be used
elsewhere). If the mapping function of linked axes inverts the
axis direction, tics were not being generated because min > max.
E.g. set link x2 via 100-x inv 100-x; set x2tics; plot [50:40] x
* src/axis.c (parse_range): Refactor parse_range() to handle
in-line ranges for linked or nonlinear axes.
Bug #1964
* src/graphics.c (plot_border) src/boundary.c (boundary):
Range-limited axes were not accounting for nonlinear or linked axes.
Space reserved for long axis tic labels made the same mistake.
Bug #1965
2017-09-05 Ethan A Merritt <[email protected]>
* src/axis.c src/axis.h src/datafile.c src/gp_time.h src/gp_types.h
src/internal.c src/time.c demo/timedat.dem docs/gnuplot.doc:
Gnuplot already supports relative time format specifiers %tH %tM %tS
for output via strftime() and in the time format for axis tic labels.
Now we add the same format specifiers as an option for input via
strptime(). They can also be used to read data fields containing
degrees/minutes/seconds.
2017-09-04 Dima Kogan <[email protected]>
* src/axis.c (clone_linked_axes): When sanity checking the via/inverse
mapping functions for linked or nonlinear axes, adjust the allowable
difference by a scale factor related to the axis range.
* configure.ac: Add $LIBRARIES_FOR_X to WX_LIBS so that it pickes
up -lX11 as required by wxgtk3
2017-09-04 Ethan A Merritt <[email protected]>
* src/set.c src/tables.c src/tables.h src/unset.c src/util.c
src/util.h src/show.c: Developer-only command "set debug <val>"
intended to facilitate A/B testing of new code. Trial code can be
wrapped in a test such as
if (debug > 0) { execute trial code }
2017-09-03 Daniel J Sebald <[email protected]>
* configure.ac: Use AC_MSG_RESULT rather than AC_MSG_WARN to report
which Qt version will be used.
2017-09-03 Ethan A Merritt <[email protected]>
* src/time.c (xstrftime): The variant format specs for time
%tH %tM did not behave as documented in that hours wrapped at 24 and
minutes at 60 if the decimal precision modifier was missing.
2017-09-02 Ethan A Merritt <[email protected]>
* src/axis.c (parse_range eval_link_function) docs/gnuplot.doc:
Attempt to handle the case of linked axes (x+x2 or y+y2) and an in-line
range specifier in the plot statement. This fix only addresses simple
cases, such as
set link x2; plot [x=min:max] something-using-x2 axes x2y1
Recommend to use separate "set xrange ... set yrange ..." instead.
2017-09-01 Bastian Maerkisch <[email protected]>
* src/win/winmain.c (ConsoleHandler): Install the console handler
also for wgnuplot and wgnuplot_pipes. Avoids segfaults when closing
the wgnuplot_pipes console window or the caca terminal console window.
2017-08-31 Martin Saturka <[email protected]>
* src/mousecmn.h src/mouse.c: Bind the < and > keys to change the
current azimuth setting while mousing 3D plots.
(EAM) add an internal flag "Opt-" so that you can bind a hotkey for
which the Alt and Ctrl modifiers are optional rather than required.
2017-08-28 Bastian Maerkisch <[email protected]>
* config/mingw/Makefile: Fix target name of generated dependencies
for pipe and console targets.
2017-08-24 Ethan A Merritt <[email protected]>
* src/axis.c src/axis.h src/graphics.c src/interpol.c src/plot2d.c
src/plot3d.c: Revise macro name STORE_WITH_LOG_AND_UPDATE_RANGE to
STORE_AND_UPDATE_RANGE since we no longer handle log scaling at the
time data is stored. Take this opportunity to remove an unused
parameter (OUT_ACTION) from the macro. Go back to using the same
macro for the COLOR_AXIS that we use for all other axes.
This is intended solely to make the code easier to understand;
there is no change in the code actually executed.
2017-08-23 Ethan A Merritt <[email protected]>
* src/plot2d.c (parametric_fixup): Consolidate redundant code blocks
handling the polar/cartesian paths through parametric function handling.
* src/plot2d.c (store2d_point): Consolidate identical case statements
for BOXPLOT, BOXES.
2017-08-22 Ethan A Merritt <[email protected]>
* src/grahics.c src/graphics.h (rgbscale) demo/image.dem:
Since cbrange is now decoupled from rgbimage, the image and image2 demos
need to change accordingly. Add a placeholder macro rgbscale(colorval)
that for now only enforces that color components are in [0:255] but
can later be replaced with an actual scaling routine.
2017-08-18 Ethan A Merritt <[email protected]>
* src/graphics.c (process_image): Limit alpha channel range to [0:255]
in "with rgbalpha pixels".
* src/axis.c src/datafile.c src/plot2d.c src/plot3d.c src/graphics.c
demo/sampling.dem docs/gnuplot.doc:
Allow explicit sampling interval in the range statements associated with
pseudofile '++' in both 2D and 3D. Example:
plot sample range [u=0:127][v=0:127] '++' using 1:2:(F(u,v)) with image
* src/tabulate.c: Handle splot with rgbimage, rgbalpha
2017-08-17 Dima Kogan <[email protected]>
* src/plot2d.c src/plot3d.c src/graphics.c (process_image):
Do not apply cbrange to rgbimage data. Do not use rgbimage range to
autoscale cbrange. For now this means that rgbimage color components
must be in the range [0:255], as they are for png, jpeg, etc. Later
we may add an autoscaling option for user-supplied color values.
* term/x11.trm src/qtterminal/qt_term.cpp:
If the outboard driver cannot be started, point the user to
environmental variable GNUPLOT_DRIVER_DIR.
2017-08-16 Ethan A Merritt <[email protected]>
* src/datafile.c (df_open): Expand leading ~ in filename for binary data
files just as for text files.
* src/plot2d.c src/graph3d.c src/wxterminal/gp_cairo.c: Add harmless
initializations to silence compiler warnings.
2017-08-15 Bastian Maerkisch <[email protected]>
* src/msvc/Makefile: Eliminate the separate wrapper script for builds of
console mode gnuplot by passing the file appropriate extensions as
arguments to the script.
* src/win/wgraph.c src/win/wgdiplus.cpp: We intend to scale line widths
with resolution when printing, but we got that wrong due to confusion of
constants.
* src/win/wgraph.c (CopyPrint): Fix fallback from D2D to GDI+ for
printing.
2017-08-12 Bastian Maerkisch <[email protected]>
* config/mingw/Makefile: "Recursive make considered harmful". Up
until now we tried to reduce the number of rules by using recursive
make for the three different targets "windows", "pipes" and "console".
That broke parallel builds of the "all" target because of multiple
attempts to build the same file due to insufficient dependency rules.
Instead of fixing this, we now follow the same concept as the
MSVC and OpenWatcom Makefiles and implement three set of rules and
avoid recursive make altogether. This also allows us to implement
separate automatic dependency rules. gnuplot scripts are now always
executed using console mode gnuplot in order to see their output.
* config/config.oww: Update to version 5.3. In particular enable
boxed text and external functions and disable bitmap terminals by
default.
2017-08-11 Ethan A Merritt <[email protected]>
* src/parse.c (check_for_iteration): If some depth of a nested
iteration evaluates to an empty range, the evaluated limits of depths
below it are irrelevant and possibly invalid. Add a test to skip
evaluation at lower depthes in such a case.
Bug #1952
2017-08-10 Bastian Maerkisch <[email protected]>
* config/msvc/Makefile: Handle empty lines in cl wrapper script.
jom dislikes changing the directory in a rule twice, so spawn
a subshell when required. Automatically generate timestamp.h for
development builds.
2017-08-08 Ethan A Merritt <[email protected]>
* src/command.c src/parse.c src/plot2d.c demo/iterate.dem:
Revise recursive iteration algorithm to address problems with empty
ranges in a nested iteration. Add support for dynamic reevaluation of
the string in nested ranges using "for [s in <string-expression>]".
Bug #1952
2017-08-09 Bastian Maerkisch <[email protected]>
* config/msvc/Makefile: Automatically generate dependency rules.
Disabled by default since it slows down compilation. Enable with
DEPEND=1.
Patch #756
* config/msvc/Makefile: Improve compatibility with jom, the parallel
nmake like build utility, by adding a space after every backslash at
an end of line. Otherwise this would be treated as line continuation.
* config/msvc/Makefile (zip): Distinguish 32/64 bit builds.
2017-08-07 Ethan A Merritt <[email protected]>
* src/plot2d.c src/plot3d.c: Revert inadvertent change of 2017-03-31
that failed to call update_gpval_variables in "set table" mode.
Bug #1954
2017-08-07 Martin Beranek
* term/metapost.trm: Support for user-defined dashtypes.
2017-08-06 Bastian Maerkisch <[email protected]>
* src/stdfn.c|h src/win/wtext.c (ms_snprintf, ms_vsnprintf):
Starting with MSVC 2015 snprintf is finally C99 compliant.
2017-08-05 Ethan A Merritt <[email protected]>
* src/graph3d.c: "set key fixed" should be ignored in the case of
"set view map".
2017-08-05 Bastian Maerkisch <[email protected]>
* src/set.c (set_table): Implement "append" option for datablocks.
Bug #1951
* src/win/wd2d.cpp (d2dCreatePatternBrush): Scale pattern with
desktop DPI if not using a D2D 1.1 DeviceContext.
2017-08-04 Ethan A Merritt <[email protected]>
* src/plot3d.c: Update FIXMEs, comments, remove typos, add
initialization to avoid compiler warning (false positive).
2017-08-04 Hans-Bernhard Broeker <[email protected]>
* config/watcom/Makefile (WCFLAGS, WPPFLAGS): Drop -j option,
which turned plain char into signed. That makes no sense anymore,
now that we try to be 8-bit savvy.
2017-08-03 Ethan A Merritt <[email protected]>
* src/axis.h:
Simplify the logic of macro ACTUAL_STORE_WITH_LOG_AND_UPDATE_RANGE
2017-08-03 Bastian Maerkisch <[email protected]>
* config/watcom/Makefile: Avoid expanding macros when extending the
list of objects to build.
* config/mingw/Makefile: Strip decorations when creating a 32bit
library by using the -k option of dlltool. Revert the incorrect
redirection change made on 2017-07-27.
Bug #1942
2017-08-02 Ethan A Merritt <[email protected]>
* src/graphics.c: Separate code path for calculating image grid
coordinates for logscale axes is now redundant.
2017-07-31 Ethan A Merritt <[email protected]>
* configure.ac src/axis.c src/axis.h src/color.c src/command.c
src/mouse.c src/plot2d.c src/plot3d.c src/pm3d.c src/pm3d.h src/save.c
src/set.c src/stats.c src/tabulate.c src/unset.c src/util3d.c:
Version 5.2 introduced support for non-linear axes and used it to
reimplement logscale. The new implementation was enabled by default but
could be disabled by ./configure --without-nonlinear-axes
Now we remove the option to disable it and remove the original version
of macros AXIS_DO_LOG() etc belonging to the old implementation.
The macros remain as no-ops but will be removed in later patches.
* src/axis.c src/axis.h src/contour.c src/datafile.c src/eval.c
src/graph3d.c src/graphics.c src/interpol.c src/mouse.c src/plot2d.c
src/plot3d.c: Remove all instances of AXIS_LOG_VALUE AXIS_DELOG_VALUE
* src/axis.c src/axis.h src/interpol.c src/mouse.c src/set.c:
Remove all instances of AXIS_DO_LOG and AXIS_UNDO_LOG
* src/axis.c src/axis.h src/gadgets.c src/graphics.c src/interpol.c
src/plot2d.c: Remove all instances of axis_log_value axis_de_log_value
axis_do_log axis_undo_log
* src/axis.h: Always optimize evaluation of logscale coordinates
* src/axis.c: Remove code only used by old logscale implementation
* src/axis.c src/axis.h src/datafile.c src/plot2d.c:
Replace old routine axis_unlog_interval() with a simpler check
check_log_limits() to ensure min/max of a logscaled axis are positive
* src/axis.c src/axis.h src/plot2d.c src/plot3d.c: Replace
axis_revert_and_unlog_range() and axis_revert_range() with a single
routine axis_check_range(). This was the last of the *_unlog_* routines.
2017-07-31 Bastian Maerkisch <[email protected]>
* config/watcom/Makefile: Optionally build with GDI+ or Direct2D/
DirectWrite. These libs are available at
https://sourceforge.net/p/gnuplot/patches/746/
* src/win/wgraph.c: Wrap a few more GDI-only code sections with tests
for USE_WINGDI.
* src/win/wgnuplib.h (GW): Re-group fields. Separate GDI-only struct
members.
* src/win/wd2d.cpp: Enable compilation with OpenWatcom, which is
missing __uuidof().
* src/win/wgraph.c src/win/wgdiplus.cpp src/win/wd2d.cpp
(TEXTBOX_MARGINS): Adjust scaling of textbox margin to be more like
what the qt terminal does (ie. much smaller).
* src/win/wd2d.cpp: Missing WINAPI call type for print ticket API.
* src/win/wgraph.c (CopyPrint): Check return values of GDI print API
function calls.
2017-07-31 Ethan A Merritt <[email protected]>
* config/mingw/Makefile config/msvc/Makefile win/gnuplot.iss:
The pm3d and contrib subdirectories are no longer in the distribution
source, so they must not appear in the windows installer inventory.
* src/Makefile.am (src/template.h): Remove dead file template.h
2017-07-30 Ethan A Merritt <[email protected]>
* src/set.c (set_view): Switching from "setview equal xy[z]" to
"set view map" failed to clear the 3D aspect ratio flag, leading to
conflicting scale factors. Now we treat it as "set size ratio -1",
which is what the documentation says.
Bug #1948
2017-07-30 Bastian Maerkisch <[email protected]>
* src/term.c (test_term): Disable extra space around textbox for size
comparison.
2017-07-29 Bastian Maerkisch <[email protected]>
* config/mingw/Makefile config/msvc/Makefile: Mingw-w64 and MSVC have
working popen/pclose implementations for GUI applications. So we use
them instead of our own "fake" pipe emulation.
Bug #1950
* src/win/winmain.c src/syscfg.h config/config.nt config/config.oww:
Unicode support for popen.
* src/stdfn.c|h src/command.c src/win/wgdiplus.cpp src/win/wd2d.cpp
src/internal.c: Do not include windows.h in a header file and use the
WIN32_LEAN_AND_MEAN define to speed up compilation.
2017-07-29 Ethan A Merritt <[email protected]>
* src/set.c (set_range): Allow to set range properties without
changing the range min/max. E.g. "set xrange noextend".
* src/axis.h (autoscale_one_point) src/plot2d.c src/plot3d.c:
Refresh_bounds and refresh_3dbounds perform only a simplified version
of autoscaling. Consolidate this into a macro autoscale_one_point().
Extend the simplified autoscaling to include both ends of a VECTOR plot.
Other cases remain where the simplified autoscale is insufficient.
Bug #1947 #1709
2017-07-27 Ethan A Merritt <[email protected]>
* src/fit.c: Ignore non-numeric contents of potential dummy variables
x y t u v used during fit evaluation.
Bug #1949
2017-07-27 Bastian Maerkisch <[email protected]>
* src/win/wd2d.cpp: Resize the swap chain buffers instead of
recreating the swap chain when the window size changes.
* src/win/wgraph.c term/win.trm: Default to Direct2D backend.
2017-07-27 Tatsuro MATSUOKA <[email protected]>
* config/mingw/Makefile (prntvpt.def): Need to disable Win64 FS
redirection for 32bit builds.
Bug #1942
2017-07-24 Ethan A Merritt <[email protected]>
* src/datafile.c (df_open): Reject plot command if input and output
both use the same data block. Prevents memory corruption / segfault.
2017-07-24 Bastian Maerkisch <[email protected]>
* config/mingw/Makefile config/msvc/Makefile config/watcom/Makefile
config/config.mgw config/config.nt config/config.oww src/syscfg.h
src/command.c|h src/fit.c src/graph3d.c src/graphics.c src/mouse.c
src/plot.c src/plot2d.c src/plot3d.c src/show.c src/term.c|h
src/variable.c src/qtterminal/qt_term.cpp src/wxtterminal/gp_cairo.c
src/wxtterminal/wxt_gui.h term/caca.trm term/gd.trm term/wxt.trm
demo/gnuplot_plugin.h: Use only _WIN32 to test for Windows. This is
pre-defined by all supported compilers. Eliminate uses of WIN32 and
_Windows.
2017-07-23 Ethan A Merritt <[email protected]>
* src/fit.c src/command.c src/plot2d.c src/util.c src/term.c src/show.c
src/save.c src/axis.c:
Remove dead code, out-of-date FIXMEs, comments, etc.
2017-07-22 Ethan A Merritt <[email protected]>
* src/fit.c: The code saving the previous "fit" command incorrectly
assumed that "fit" must be the first thing on the input line. This
is clearly not true, particularly when the command is inside a {}
bracketed clause since the entire clause acts as one long input line.
Bug #1946
2017-07-20 Ethan A Merritt <[email protected]>
* src/datafile.c (df_open df_readascii expect_string) src/datafile.h
src/plot2d.c src/tabulate.c src/tabulate.h docs/gnuplot.doc:
Move code for "plot with table" into tabulate.c (tabulate_one_line).
Plot styles (e.g. "with labels") already call expect_string(column) to
signal that a particular input column is to be treated as a string.
Now we add special case so that "with table" can use expect_string(-1)
to signal that any column is treated as a string if its using specifier
evaluates to a string. This allows "plot ... with table" to create
tables containing strings and to use sprintf/gprintf to format
numerical output.
* src/set.c (set_separator) src/show.c (show_table): New command option
set table {separator {comma|tab|whitespace|"<char>"}}
allows "plot with table" to create csv files.
* src/plot2d.c src/tabulate.c src/tabulate.h: EXPERIMENTAL feature
(version in 5.3 is subject to change and may never appear in a released
version in this form).
plot ... with table if <expression>
where <expression> can access input data fields by column number, etc,
as if it were a using specification. Implemented only for "with table"
but the mechanism could just as easily work for other plot styles.
Example:
plot <file> using 1:2:($4+$5) with table if (strcol(3) eq "Red")
2017-07-18 Ethan A Merritt <[email protected]>
* src/plot2d.c src/plot3d.c: Fix inconsistent handling of
"plot ... with table". E.g. "set style data table; plot foo" tried to
both plot and tabulate. Warn that function plots are not handled.
2017-07-16 Ethan A Merritt <[email protected]>
* config/config.cyg config/config.mgw config/config.nt config/config.os2
config/config.oww configure.ac src/internal.c term/post.trm:
snprintf() is now required. Remove vestigial tests for HAVE_SNPRINTF.
2017-07-14 Ethan A Merritt <[email protected]>
* src/mouse.c term/canvas.trm term/emf.trm term/tkcanvas.trm
term/sixel.c src/time.c src/wxterminal/gp_cairo.c docs/doc2tex.c:
Do not use C++ style comments in C source files.
2017-07-11 Ethan A Merritt <[email protected]>
* src/eval.c (magnitude) src/standard.c(f_abs f_ceil f_floor):
src/internal.c (f_power): Use idiom fabs((double)i) rather than
(double)(abs(i)) so that i can be either a short or long integer.
Preparation for 64-bit int support.
2017-07-11 Bastian Maerkisch <[email protected]>
* src/win/wd2d.cpp: Create an IDXGISurface instead of IDXGISurface1.
Bug #1941
* src/mingw/Makefile (clean): Remove prntvpt.lib|def as the lib has
has to be recreated for 32/64 bit builds.
Bug #1942
2017-07-11 Akira Kakuto <[email protected]>
* src/win/wgraph.c (GraphGetBitmap): Correct mixed up order of
parameters for ReleaseDC().
2017-07-10 Bastian Maerkisch <[email protected]>
* src/win/wgdiplus.cpp (SaveAsBitmap): Make sure that GDI+ is
initialized. Bug fix.
* src/win/wgraph.c (TryCreateFont): Silence font substitution
warnings in GDI backend again. This is consistent with other backends
and less annoying.
* src/win/wgraph.c src/win/wcommon.h src/win/wgdiplus.cpp
(SaveAsBitmap): Get a bitmap copy of the screen output with the help
of a new routine GraphGetBitmap() extracted from CopyClip(). Fix
for the D2d 1.1 case.
2017-07-09 Bastian Maerkisch <[email protected]>
* src/win/wgraph.c: Fix a few more oversights concerning the
allocation of a separate subwindow for the graph (2017-06-24).
2017-07-08 Ethan A Merritt <[email protected]>
* src/term.c (test_term): Revise "test" command output.
- simplify rotated text and arrow section
- fix bug in "dumb" centering of polygon title
- compare true textbox area with generic estimated text dimensions.
2017-07-07 Bastian Maerkisch <[email protected]>
* src/win/wd2d.cpp|h src/win/wgnuplib.h src/win/wgraph.c
config/mingw/Makefile config/msvc/Makefile:
Direct2D printing support. Requires D2d 1.1 and hence Windows 7
with platform update. Mingw-w64 currently misses the required
prntvpt library and header, so we supply minimal definitions
taken from MSDN inline and create a library from the DLL.
* src/syscfg.h: Minimum required API version is Windows 7 by
default. Vista and XP are end-of-service.
2017-07-07 Ethan A Merritt <[email protected]>
* term/dumb.trm: Slightly nicer arrows.
2017-07-06 Ethan A Merritt <[email protected]>
* src/qtterminal/qt_term.cpp (qt_boxed_text): Increase the textbox
y margin slightly to allow more space for descenders.
* src/scanner.c (get_num): More robust parsing of really big integer
constants. E.g. "print 0x12345678901234567890"
Use strtod() rather than atof() so that the parser's position in the
input line is tracked. Also, do not assume that integers are
necessarily 32-bits.
* src/util.c (gprintf_value) src/util.h src/internal.c:
gprintf() only takes a (double) parameter. The limits what can be
provided to format strings or 64-bit integers. Provide a new
variant gprintf_value() that instead takes a parameter (struct value *).
2017-07-05 Daniel J Sebald <[email protected]>
* src/qtterminal/QtGnuplotScene.cpp: Qt::Align{Foo} are bit
definitions, not integers. Therefore tests should be of the form
(alignment & Qt::AlignRight) rather than (alignment == Qt::AlignRight).
2017-07-05 Ethan A Merritt <[email protected]>
* src/term.c (set_term init_terminal) src/unset.c (unset_terminal)
docs/gnuplot.doc:
On entry, copy environmental variable GNUTERM to internal variable
GNUTERM. Note that starting with version 5.2 this is a string that
may include terminal options in addition to the terminal name. E.g.
GNUTERM="post eps color size 5in,3in"
Modify "set term <string>" to look only at the first word of <string>.
Thus "set term GNUTERM" works as before. Note that "set term @GNUTERM"
expands and applies the full set of options.
Fix "unset term" to act equivalently to "set term GNUTERM" as
documented.
* src/eval.c (set_gpval_axis_sth_double): Remove unused parameter.
* configure.ac docs/Makefile.am term/caca.trm:
Add caca terminal documentation to the user manual. Fix segfault on
"set term caca driver raw".
2017-07-04 Bastian Maerkisch <[email protected]>
* src/win/wgnuplib.h src/win/wgraph.c src/win/wgdiplus.cpp
src/win/wd2d.cpp: Use a common definition of GWOPMAX and increase
to accommodate e.g. typical pm3d plots.
2017-07-03 Bastian Maerkisch <[email protected]>
* term/win.trm: Cannot use docked graph windows in persist mode as
the text window will not be shown.
* src/internal.c: Windows time() implementation with sub-second
resolution.
* src/win/wgdiplus.cpp: Switching the compositing mode to take the
gamma factor into account for filled polygons not only slows down
drawing considerably, but also produces output different from
other terminals or windows back-ends. So stop doing that. Also
scale the linewidth when drawing anti-aliased polygons. Bug fix.
2017-07-02 Ethan A Merritt <[email protected]>
* src/graphics.c (place_raxis): Raxis was being truncated to R=0.
I.e. set rrange [90:-30] lost the final quarter of the axis.
Bug #1370
2017-07-01 Shigeharu Takeno <[email protected]>
* docs/doc2texi.el: Support for bulleted lists.
* docs/term-ja.diff docs/gnuplot-ja.doc: Sync with gnuplot.doc 1.1092
* docs/gnuplot.doc: Typos in new Bessel function section.
2017-06-30 Bastian Maerkisch <[email protected]>
* src/win/wd2d.cpp: Fix center of rotation for enhanced text. Snap
textbox coordinates to full pixels for vertical or horizontal
orientation.
2017-06-29 Bastian Maerkisch <[email protected]>
* src/win/wgraph.c: Unbreak hypertext tooltips. Oversight in the
change on 2017-06-24.
2017-06-28 Ethan A Merritt <[email protected]>
* term/canvas.trm (CANVAS_mouse_param) term/svg.trm (svg_mouse_param):
Make these subroutines rather than macros. Eases abstraction to support
64-bit integer values.
2017-06-27 Bastian Maerkisch <[email protected]>
* src/win/wd2d.cpp: Respect the antialiasing setting. Always clear
the polygon render target to avoid "ghost" images and enforce its
size in pixels.
* src/win/wd2d.cpp: Direct2D implementation of pattern fill using a
bitmap brush. This eliminates the last GDI/GDI+ fallback, so we
no longer aim to be compatible.
* src/win/wd2d.cpp: Instead of converting between pixel units and
so-called device-independent-pixels (DIPs) all the time, we now force
the two units to be the same. For the DCRenderTarget this was always
the case, for the HwndRenderTarget this is done by forcing the
(internal) resolution to 96dpi, and the DeviceContext supports the
SetUnit() call. Partially reverts the changes made on 2017-06-18.
* config/mingw/Makefile config/msvc/Makefile src/win/wd2d.cpp|h:
Optionally use Direct2D 1.1 and a DeviceContext as RenderTarget,
which is available starting from Windows 7 with Platform Update and
requires to link to Direct3D 11.1. Otherwise default to using a
DCRenderTarget.
2017-06-26 Ethan A Merritt <[email protected]>
* term/dumb.trm: Core routine apply_lp_properties looks to see whether
the current terminal lacks color support by testing the equivalence
(term->set_color == null_set_color). Thus introduction of a non-NULL
dumb_set_color() routine to support color output had the side-effect of
losing the distinction between line types without color. Fix this by
only listing dumb_set_color() in TERM_TABLE when color mode is active.
Bug fix.
2017-06-24 Bastian Maerkisch <[email protected]>
* src/win/wgdiplus.cpp: We still need to indicate that text can be
rotated. Bug fix.
* src/win/wd2d.cpp: Do not abort drawing if an error is encountered.
Add a few more error checks.
* src/win/wd2d.cpp src/win/wgnuplib.h: Add code for using a
DeviceContext as RenderTarget. Requires Direct2D 1.1 which is
available starting from Windows 7 with Platform Update. Requires
to link to the Direct3D 11.1 library d3d11.lib. Not yet enabled
by default.
* src/win/wgraph.c src/win/wgnuplib.h src/win/wd2d.cpp|h wcommon.h:
src/win/wgnuplib.h: Allocate a separate subwindow for the graph
instead of handling the drawing within the parent window. This makes
the HwndRenderTarget (mostly) functional.
* src/win/wd2d.cpp: Change the type of some parameters from bool to
BOOL to avoid warnings.
2017-06-21 Bastian Maerkisch <[email protected]>
* src/win/wgnuplib.h: The dot needs not to be included in the number
of different point types for cycling through. Bug introduced on
2017-05-13.
2017-06-21 Ethan A Merritt <[email protected]>
* src/standard.h src/standard.c src/eval.c docs/gnuplot.doc:
Use Bessel functions j0, j1, jn, y0, y1, yn from libm if present.
These replace the hard-coded implementations besj0, besj1, besy0, besy1
in standard.c. The old versions are still present if needed.
Add wrappers besjn(i, X) besyn(i, X).
The hard-coded implementations claimed accuracy to 1.e-13.
The libm implementations claim accuracy to 2.e-16.
2017-06-20 Ethan A Merritt <[email protected]>
Bump version number of development branch to 5.3
2017-06-18 Ethan A Merritt <[email protected]>
* src/fit.c (save_fit) src/util.h src/util.c (num_to_str):
save_fit() is the only external caller of num_to_str().
Call value_to_str() instead and make num_to_str() local to util.c.
* src/internal.c (f_index): Repair memory leak when a datablock
is accessed as $DATABLOCK[index].
2017-06-18 Bastian Maerkisch <[email protected]>
Prepare use of HwndRenderTargets instead of a DCRenderTarget. This is a
first step to support printing etc. also with the new Direct2D backend.
* src/win/wd2d.cpp: Direct2D uses coordinates in "device-independent-
pixels" (DIPs). For a DCRenderTarget these are identical to pixels,
but for other rendering targets we need to take a conversion factor
into account. Fixes drawing with the HwndRenderTarget.
* src/win/wd2d.cpp|h (d2dInit) src/win/wgnuplib.h src/win/wgraph.c:
Create a new HwndRenderTarget for every graph window. The
DCRenderTarget can be shared.
2017-06-17 Bastian Maerkisch <[email protected]>
* src/win/wgraph.c src/win/wgnuplib.h: Remove the doublebuffer
setting. It is always enabled.
* src/win/wgraph.c src/win/wgdiplus.cpp src/win/wd2d.cpp
src/win/wgnuplib.h: Remove remnants of the old oversampling code.
2017-06-15 Ethan A Merritt <[email protected]>
More corner-case failures found by fuzzing the demo set.
* term/dumb.trm: terminal character grid y limit was not checked prior
to printing text with color+utf8 attributes.
* src/command.c (print_set_output): Fix failure to reset flag indicating
output to a datablock. E.g. "set print $T; set print '-'; show print"
* src/graphics.c: Sanity check for well-defined coordinates at the