nan has no decimal point
prevent buffer underrun
NaN has no decimal point
sixelgd: default to full terminal width , 3/4 height
Inconsistent handling of complex numbers with infinity components
See also https://sourceforge.net/p/gnuplot/bugs/2552/
draft c23 standard: ISO/IEC 9899:2024 (en) — N3220 working draft https://en.wikipedia.org/wiki/C23_(C_standard_revision) https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf Annex F and Annex G describe floating point behavior involving NaN, Inf, and complex numbers. However my trials with existing C compilers indicate that many bullet points in these sections are not followed in practice. For that matter it appears to me that some of the items are ambiguous when taken in combination. For example...
sixelgd: default to full terminal width , 3/4 height
docs: document use of viridis and magma named palette gradients
New pre-defined palette "set palette magma"
preload a named palette with the viridis colormap
Make pre-defined variables pi NaN I and Inf read-only
make del_udv_by_name() really delete the variable
Example in "Complex values" section doesn't work as presented in text
The example text in the manual is not intended to reproduce the full state of the program at the point the illustration was generated; the idea is usually to show the commands directly relevant to the point being made in the text it accompanies. But sure, for this one we can add two additional lines that reproduce the sampling and layout shown.
6.0.3 pressing q in plot window now also requires the enter key to be presses (ubuntu.24.04) 6.0 works correctly
gnuplut v6.0.3 for OS/2 doesn't support OS/2
japanese tooltip text is broken of wgnuplot
You are absolutely correct. In 2021, we changed the encoding of the .mnu files to UTF-8, see Bug [2395]. But I overlooked the case of mouse-over hints, as well as that of image file names. Fixed in master and branch-6-0-stable.
wgnuplot: interpret all text in .mnu files as utf-8
wgnuplot: remove some pre-Win95 code
wgnuplot: interpret all text in .mnu files as utf-8
wgnuplot: remove some pre-Win95 code
GPVAL_MACHINE set to arm64 for Windows on ARM
GPVAL_MACHINE set to arm64 for Windows on ARM
update INSTALL NEWS RELEASE_NOTES version.c
fix bug in calculation of a**b for integer a, integer b < 0
always flush hidden3d line cache if present
Allow "set link x2" or "set link y2" with logscale axes
consolidate initialization of axis link structure
docs: document formats %C and %Ci
unconditionally include <stdbool.h>
x11: rearrange include statements to make -std=c17 and -std=c23 happy
Merge /u/puq/gnuplot/ branch history-bug into master
correct istart in `write_history_list`
fixup for history/readline configuration changes
configure.ac: --without-readline now disables readline
make `show plot add2history` work if history file enabled
add line to history file if enabled
make history command work when history file is enabled but readline disabled
history: fix build with history file enabled and any readline disabled
history: remove unused functions
By the way, there are some HAVE_WINEDITLINE in the codebase, but it doesn't seem to be in any config files. Does gnuplot actually support it? There is an editline library implementation for Windows with that name. I don't know whether any of the gnuplot Windows builds use it, or used it in the past.
Thank you for the fix. By the way, there are some HAVE_WINEDITLINE in the codebase, but it doesn't seem to be in any config files. Does gnuplot actually support it? src/history.c 301:#if defined(READLINE) || defined(HAVE_WINEDITLINE) src/gp_hist.h 52:#elif defined(HAVE_LIBEDITLINE) || defined(HAVE_WINEDITLINE) 53-/* NetBSD editline / WinEditLine src/syscfg.h 373:#if defined(READLINE) || defined(HAVE_LIBREADLINE) || defined(HAVE_LIBEDITLINE) || defined(HAVE_WINEDITLINE)
With these commits in place, after "./configure --without-readline" the build fails with the following error sequence: term.c: In function ‘term_waitforinput’: term.c:1468:9: warning: implicit declaration of function ‘raw’ [-Wimplicit-function-declaration] 1468 | raw(); | ^~~ term.c:1469:20: error: called object ‘nextchar’ is not a function or function pointer 1469 | nextchar = nextchar(); | ^~~~~~~~ term.c:1461:9: note: declared here 1461 | int nextchar; | ^~~~~~~~ term.c:1476:13: warning: implicit...
improve `show plot` behavior when there is no previous plot
Gnuplot-6.0.3 breaks Maxima draw3d() function
Thank you for the reproducible example. Fixed now. For what it's worth, the issue was not with the set pm3d depthorder explicit command per se; the issue was the combination of pm3d depth ordering with set hidden3d. With rare exceptions, these two options are not generally useful in the same plot. You could equally well have recovered the correct plot by commenting out the set hidden3d line of the script. But yes, the combination should be handled correctly even if it is rare.
always flush hidden3d line cache if present
always flush hidden3d line cache if present
Gnuplot-6.0.3 breaks Maxima draw3d() function
FWIW, the windows terminal internally draws to a bitmap first, and only blits it to the screen once the plot is complete. This avoids the flicker and does not slow down operations since it is still accelerated by the GPU. Such a scheme should be possible to implement for qt and wxt, too.
Release Windows arm64 builds
Release Windows arm64 builds
Full support for WOA is now in the master and 6.0 branches. The binaries include (almost) full support for all options normally supported on Windows. This includes the installer. The only exceptions are the amos functions (openspecfun), as I yet have to figure out a way to compile those Fortran routine in a way compatible with clang. There are testing binaries in the files section, which only lack the (pdf) documentation and the licensing files.
Support for cross-compilation for Windows on ARM
mingw: use 7z instead of 7za
mingw: optional compilation with Qt6
qt: fix for Qt6 on Windows
wxt: compatibility with wxWidgets >3.1
mingw: alternative help compiler
mingw: optionally use the MSYS2/CLANG64 environment
Support for cross-compilation for Windows on ARM
wxt: compatibility with wxWidgets >3.1
mingw: Makefile improvements
In the meantime I can confirm that it actually works. Qualcomm kindly provided access to its device cloud.
correct istart in `write_history_list`
improve history file support
Thank you for the explanation. It gave me a good understanding of how gnuplot has struggled to handle complex numbers since before IEEE 754 became widespread. The issue with Inf and NaN in Complex that I reported was actually a behavior I discovered while testing the display of complex numbers with the print command, as I was concerned about "Minor issue 2" (which had already been fixed). Therefore, this is a long-standing behavior and may not require immediate correction. I hope an optimal solution...
I don't know anything about the windows terminal, but the other interactive terminals (x11 qt wxt) are not based on a bitmap representation that could be buffered. Gnuplot sends vector, area-fill, and text requests, essentially drawing brush strokes onto the current canvas. The graphics subsystems on the other end of those requests maintain a display list of those commands and re-executes them if needed. Of course the display manager (xwayland or plasma or gnome or whatever) may choose to buffer...
What is requested here is double buffering, which apparently already exists on the windows terminal (judging by https://sourceforge.net/p/gnuplot/patches/526/). In fact I tried it with that terminal, and there's no flickering observed. It could be it's just a faster terminal, I didn't look into the source. So, overall, I think what this is a specific request for one of the terminals (qt I guess?)
Minor issue 1 This comes down to what the "print" command should do. It could, for instance, use the new "%C" format for complex values. I do not have a strong opinion about whether this would be better gnuplot> b = NaN + 2*I gnuplot> print b NaN gnuplot> print gprintf("%C",b) {nan, 2} Minor issue 2 Fixed last month 6.1 commit bc7dbe89 "infinity has no decimal point" 6.0 commit 11dc6c24 "infinity has no decimal point" Where to go with Inf, NaN, and complex values As to the rest of it, thank you for...
Inconsistent handling of complex numbers with infinity components
Fair enough. As a new feature, I imagine it could be a useful to allow the whole frame to be buffered in an interactive terminal, to allow for plotting live data.
Multiplot flicker on redraw
Umm, yes? That's the way multiplot works. The component plots are drawn one by one. When you "replot", the sequence of commands that drew them one-by-one is replayed.
Multiplot flicker on redraw
Do not set `reset_since_last_plot` if `USE_MOUSE` is not defined
Do not set `reset_since_last_plot` if `USE_MOUSE` is not defined
More information please. Which gnuplot terminals? qt? wxt? x11? What window manager is in use? Gnome? Plasma? Xorg? XWayland? Something else? Are the gnuplot executables you are comparing from the same source? Can you provide the output from the command show version long for the executable that shows the bug and the one that doesn't?
6.0.3 pressing q in plot window now also requires the enter key to be presses (ubuntu.24.04) 6.0 works correctly
save axis mappings across a "reset" command
update docs for "set link"
Allow "set link x2" or "set link y2" with logscale axes
consolidate initialization of axis link structure
remove unused macros CONCAT CONCAT3
unconditionally include <stdbool.h>
Thanks for the clarification, Bastian. Great to hear the patch has been merged into master.
Add support for installing X64 gnuplot installer on Windows ARM64
Thanks for the patch. We still do ship a 32bit installer, though. That will arguably become less useful since Win 10 stopped 32bit support this month. But for the time being, we need the makefile to patch the iss file instead. In fact, that config/mingw/Makefile already contained the appropriate sed command but used the wrong constant. Modified patch is now in master and 6-0 stable branches.
Allow installation of 64bit version on Windows on ARM systems
build problems under Fedora 42
The command "set terminal qt size ..." changes the size of the plot window
I also suspect that it is a bug of Fedora. Please discard this report.
I cannot reproduce this. For me the "load" command resets the size and it stays that way unless explicitly changed by dragging a corner of the window. On the other hand, I'm not even sure what I expect would happen. Should the size given in a previously created file override the size that has been adjusted to the current user's preference? I can see an argument either way. I do think it's a bit odd that you and I see different behavior. Could that be due to the window manager? I'm using Qt/Plasma...
My original title might be misleading; a better one could be “Plot window size cannot be reset correctly ...” or something similar.