|
From: Petr M. <mi...@ph...> - 2008-11-11 11:13:04
|
Hi all, we should solve an issue with naming Windows gnuplot binaries after the recent addition of the console-capable target. Current situation: - wgnuplot.exe: binary with a GUI for text input; piping into it does not work; piping "inside" (e.g. "plot '<preprocess data.dat'") does not work - wgnuplot_pipes.exe: as above, piping "inside" works (drawback: executable is tighed to a a console window) - pgnuplot.exe: helper program used for piping commands into wgnuplot.exe, i.e. redirect standard input - gnuplot.exe: console mode binary compiled by Cygwin with X11 terminal (requires running X-server - works OK with eXceed, cygwin's X11, etc.) Recently, Michael Goffioul provided a patch to gnuplot sources what enables to compile Windows gnuplot binary with console text input and Windows terminal, see [ 1627936 ] Gnuplot Win32 in console mode http://sourceforge.net/tracker/?func=detail&atid=302055&aid=1627936&group_id=2055 The primary intention was to achieve better functionality of programs piping commands to gnuplot, like Octave, i.e. an efficient pgnuplot.exe replacement. Thus, what should be the name of this executable? Choice 1. The executable will be called pgnuplot.exe -- it will replace the current pgnuplot.exe. No change is required for programs using gnuplot as a plotting engine. Choice 2. The executable is called gnuplot.exe. Then, every platform will have an executable called gnuplot. However -- this will happen somewhen in future (when gnuplot 4.4 is released). Drawbacks: 1. the name clashes with the name of the x11-capable executable (user/program cannot determine which one gets called) 2. no piping program is set-up to use gnuplot.exe under Windows, and in future there will be ambiguity whether to call pgnuplot.exe or gnuplot.exe. Thus, it would at least require to reimplement pgnuplot.c so that it redirects all characters from stdin into gnuplot.exe instead of WinMessages into wgnuplot.exe. Therefore, in my option, the best way to ensure compatibility is to call the console-capable executable pgnuplot.exe. There will be no change needed for other programs using gnuplot, power users could use pgnuplot.exe for console mode with Windows terminal and others will not be confused. I have proposed to rename the current binary of pgnuplot.c to pgnuplot_small.exe if somebody still needs to use it. Opinions - votes? --- Petr Mikulik |
|
From: Ethan A M. <merritt@u.washington.edu> - 2008-11-11 17:53:19
|
On Tuesday 11 November 2008, Petr Mikulik wrote: > Hi all, > > we should solve an issue with naming Windows gnuplot binaries after the > recent addition of the console-capable target. I have no opinion. I leave it to those of you who are using Windows. Ethan > Current situation: > - wgnuplot.exe: > binary with a GUI for text input; piping into it does not work; piping > "inside" (e.g. "plot '<preprocess data.dat'") does not work > - wgnuplot_pipes.exe: > as above, piping "inside" works (drawback: executable is tighed to a > a console window) > - pgnuplot.exe: helper program used for piping commands into wgnuplot.exe, > i.e. redirect standard input > - gnuplot.exe: console mode binary compiled by Cygwin with X11 terminal > (requires running X-server - works OK with eXceed, cygwin's X11, etc.) > > Recently, Michael Goffioul provided a patch to gnuplot sources what enables > to compile Windows gnuplot binary with console text input and Windows > terminal, see [ 1627936 ] Gnuplot Win32 in console mode > http://sourceforge.net/tracker/?func=detail&atid=302055&aid=1627936&group_id=2055 > > The primary intention was to achieve better functionality of programs piping > commands to gnuplot, like Octave, i.e. an efficient pgnuplot.exe > replacement. > > Thus, what should be the name of this executable? > > Choice 1. > The executable will be called pgnuplot.exe -- it will replace the current > pgnuplot.exe. No change is required for programs using gnuplot as a plotting > engine. > > Choice 2. > The executable is called gnuplot.exe. Then, every platform will have an > executable called gnuplot. However -- this will happen somewhen in future > (when gnuplot 4.4 is released). > Drawbacks: > 1. the name clashes with the name of the x11-capable executable > (user/program cannot determine which one gets called) > 2. no piping program is set-up to use gnuplot.exe under Windows, and in > future there will be ambiguity whether to call pgnuplot.exe or > gnuplot.exe. > Thus, it would at least require to reimplement pgnuplot.c so that it > redirects all characters from stdin into gnuplot.exe instead of WinMessages > into wgnuplot.exe. > > > Therefore, in my option, the best way to ensure compatibility is to call > the console-capable executable pgnuplot.exe. There will be no change needed > for other programs using gnuplot, power users could use pgnuplot.exe for > console mode with Windows terminal and others will not be confused. > > I have proposed to rename the current binary of pgnuplot.c to > pgnuplot_small.exe if somebody still needs to use it. > > > Opinions - votes? -- Ethan A Merritt |
|
From: Tatsuro M. <tma...@ya...> - 2008-11-11 23:22:00
|
Hello Petr Thank you for your mail for the purposes of resolving the issue of names of gnuplot Win32 binaries. Previously I had the same opinion with Hans-Bernhard Broeker. But I have compromize with Petr's opininon on the point of backward compatiblity. However if Hans does not agree with the name, I think that it is impossible to use the name 'pgnuplot.exe' because it is originally written by Hans and nobody has right to name a console mode gnuplot Win32 binary to be called as pgnuplot. Regards Tatsuro --- Petr Mikulik <mi...@ph...> wrote: > Thus, what should be the name of this executable? > > Choice 1. > The executable will be called pgnuplot.exe -- it will replace the current > pgnuplot.exe. No change is required for programs using gnuplot as a plotting > engine. > > Choice 2. > The executable is called gnuplot.exe. Then, every platform will have an > executable called gnuplot. However -- this will happen somewhen in future > (when gnuplot 4.4 is released). > Drawbacks: > 1. the name clashes with the name of the x11-capable executable > (user/program cannot determine which one gets called) > 2. no piping program is set-up to use gnuplot.exe under Windows, and in > future there will be ambiguity whether to call pgnuplot.exe or > gnuplot.exe. > Thus, it would at least require to reimplement pgnuplot.c so that it > redirects all characters from stdin into gnuplot.exe instead of WinMessages > into wgnuplot.exe. > > > Therefore, in my option, the best way to ensure compatibility is to call > the console-capable executable pgnuplot.exe. There will be no change needed > for other programs using gnuplot, power users could use pgnuplot.exe for > console mode with Windows terminal and others will not be confused. > > I have proposed to rename the current binary of pgnuplot.c to > pgnuplot_small.exe if somebody still needs to use it. > > > Opinions - votes? > > --- > Petr Mikulik > -------------------------------------- Power up the Internet with Yahoo! Toolbar. http://pr.mail.yahoo.co.jp/toolbar/ |
|
From: Hans-Bernhard B. <HBB...@t-...> - 2008-11-11 23:41:45
|
Petr Mikulik wrote: > The primary intention was to achieve better functionality of programs piping > commands to gnuplot, like Octave, i.e. an efficient pgnuplot.exe > replacement. Not quite. Given that pgnuplot itself was always meant as a replacement for the missing console, pipe-capable implementation of gnuplot for MS Windows. We're effectively talking about the replacement of a replacement here. > Thus, what should be the name of this executable? gnuplot.exe > Choice 1. > The executable will be called pgnuplot.exe -- it will replace the current > pgnuplot.exe. No change is required for programs using gnuplot as a plotting > engine. There already *is* a change in octave and similar programs right now --- the change that if they're running on Windows, they call "pgnuplot" instead of "gnuplot". So we're not really talking about a new change, but rather the removal of a previous change. > Choice 2. > The executable is called gnuplot.exe. Then, every platform will have an > executable called gnuplot. However -- this will happen somewhen in future > (when gnuplot 4.4 is released). Why the delay? > Drawbacks: > 1. the name clashes with the name of the x11-capable executable > (user/program cannot determine which one gets called) Which is exactly as it should be. gnuplot on Linux is called the same regardless of whether it's built with wxt or X11 as the default terminal. gnuplot on Windows should be called gnuplot regardless if the primary terminal is Windows or X11. > 2. no piping program is set-up to use gnuplot.exe under Windows, So you know for sure that _no_ piping program on Windows expects to find the cygwin+X11 (or even a non-GUI) gnuplot.exe? > Thus, it would at least require to reimplement pgnuplot.c so that it > redirects all characters from stdin into gnuplot.exe instead of WinMessages > into wgnuplot.exe. No. pgnuplot should stay exactly as it is (bugfixes set aside), and continue to provide the same service it always did, for programs expecting exactly that behaviour. |
|
From: Petr M. <mi...@ph...> - 2008-11-16 20:34:34
|
\> > The primary intention was to achieve better functionality of programs piping
> > commands to gnuplot, like Octave, i.e. an efficient pgnuplot.exe
> > replacement.
>
> Not quite. Given that pgnuplot itself was always meant as a replacement for
> the missing console, pipe-capable implementation of gnuplot for MS Windows.
>
> We're effectively talking about the replacement of a replacement here.
>
> > Thus, what should be the name of this executable?
>
> gnuplot.exe
Well, then the console mode version of gnuplot will be called gnuplot.exe.
The pgnuplot program serves to capture the standard input and pass it to
gnuplot for drawing. As it is more efficient to pass data to gnuplot.exe
instead of wgnuplot.exe (it was the aim of the console mode gnuplot), then
pgnuplot.c could use this code:
{
FILE *gp;
gp = popen("gnuplot.exe", "wb");
if (!gp) {
printf("Cannot run gnuplot.exe!\n");
return 1;
}
while (fgets(psBuffer, BUFFER_SIZE, stdin) != NULL) {
fprintf(gp, psBuffer);
}
fclose(gp);
return 0;
}
Then Windows programs can use the traditional method of piping to
pgnuplot.exe on Windows but with improved efficiency. The tradition
(backwards compatibility) is important as the other programs don't have to
take care which version of gnuplot is installed -- and drawing will work
regardless the executable the pgnuplot is piping data to.
Hans-Bernhard, is this approach OK for you?
---
PM
|
|
From: Hans-Bernhard B. <HBB...@t-...> - 2008-11-16 21:26:28
|
Petr Mikulik wrote: > The pgnuplot program serves to capture the standard input and pass it to > gnuplot for drawing. As it is more efficient to pass data to gnuplot.exe > instead of wgnuplot.exe (it was the aim of the console mode gnuplot), then > pgnuplot.c could use this code: No. pgnuplot can stay as it is. Real console gnuplot does more than pgnuplot can, and does it better. So programs using pgnuplot now will want to switch to the new gnuplot.exe anyway. Yes, programs using pgnuplot now will have to be modified. But for most of them that modification will just be a simplification --- they don't need to special-case Windows any more. > Then Windows programs can use the traditional method of piping to > pgnuplot.exe on Windows but with improved efficiency. Or they can just call gnuplot.exe directly, which is better in every conceivable way. |
|
From: Tatsuro M. <tma...@ya...> - 2008-11-17 00:46:34
|
Hello Petr Mikulik's opinion is based on keeping backward compatibility while Hans-Bernhard Br将モker's one is based on the consistency in all platforms. For me, both opinions are reasonable. I cannot judge which is better. However, the original pgnuplot is written by Hans so that the name of console mode of gnuplot on win32 cannot be called as 'pgnuplot.exe' as long as Hans does not agree with Petr's opinion. The most important thing is the console mode of gnuplot to be public to windows users. I think that it is better to find the compromising point that console mode of gnuplot is to be called 'gnuplot.exe' rather than to continue to discuss on this matter. Any comments? Regards Tatsuro --- Hans-Bernhard Br将モker <HBB...@t-...> wrote: > Petr Mikulik wrote: > > > The pgnuplot program serves to capture the standard input and pass it to > > gnuplot for drawing. As it is more efficient to pass data to gnuplot.exe > > instead of wgnuplot.exe (it was the aim of the console mode gnuplot), then > > pgnuplot.c could use this code: > > No. pgnuplot can stay as it is. Real console gnuplot does more than > pgnuplot can, and does it better. So programs using pgnuplot now will > want to switch to the new gnuplot.exe anyway. > > Yes, programs using pgnuplot now will have to be modified. But for most > of them that modification will just be a simplification --- they don't > need to special-case Windows any more. > > > Then Windows programs can use the traditional method of piping to > > pgnuplot.exe on Windows but with improved efficiency. > > Or they can just call gnuplot.exe directly, which is better in every > conceivable way. > -------------------------------------- Power up the Internet with Yahoo! Toolbar. http://pr.mail.yahoo.co.jp/toolbar/ |
|
From: Tatsuro M. <tma...@ya...> - 2008-11-17 10:24:11
|
Hello --- Michael Goffioul <mic...@gm...> wrote: > AFAIK, pgnuplot.exe and gnuplot.exe would achieve the same goal. > So why not simply "cp gnuplot.exe pgnuplot.exe" [1] at installation > time, and rename the old pgnuplot into something else? Then > advertise that pgnuplot is deprecated for a given transition period. > > Michael. > > [1] don't think symlink would be good in that context Thank you for Michaek for your reply. Mmmm. It sounds nice proposal to me. >>Hans-Bernhard What do you think about Michael's proprosal? Rerards -------------------------------------- Power up the Internet with Yahoo! Toolbar. http://pr.mail.yahoo.co.jp/toolbar/ |
|
From: Petr M. <mi...@ph...> - 2008-11-17 12:08:51
|
> However, the original pgnuplot is written by Hans so that the name of
> console mode of gnuplot on win32 cannot be called as 'pgnuplot.exe'
> as long as Hans does not agree with Petr's opinion.
We agree that the console mode will be called gnuplot.exe.
We all agree gnuplot.exe outperforms current pgnuplot.exe -> wgnuplot.exe.
Now the question is whether pgnuplot.exe will use gnuplot.exe instead of
the current use of wgnuplot.exe and how to achieve this.
> No. pgnuplot can stay as it is. Real console gnuplot does more than
> pgnuplot can, and does it better. So programs using pgnuplot now will
> want to switch to the new gnuplot.exe anyway.
A windows Program cannot switch easily:
(a) it will take till next year when gnuplot 4.4 gets released;
(b) it may take some months/years till users upgrade gnuplot;
(c) all this is beyond control of gnuplot developers and of the Program
developer.
Therefore:
1. all current Program call pgnuplot.exe.
2. nobody knows whether gnuplot.exe is available for Program;
We have to cope with this and provide a reliable service for gnuplot and
Program's users and Program distributors/authors.
Possible solutions for the Program's code:
A. Program's author tries to autoconfigure on runtime by
popen("gnuplot.exe --version")
If it can read something, then use "gnuplot.exe", otherwise use
"pgnuplot.exe". This need a change to source code of Program.
B. Program does not care about gnuplot version, call always "pgnuplot.exe"
-- then let pgnuplot.exe to choose what it will do.
Therefore there are the following solutions for what the gnuplot
distribution for win32 can contain:
1. There are 4 full-featured executables:
wgnuplot.exe ... as nowadays
wgnuplot_pipes.exe ... as nowadays
pgnuplot_small.exe ... renamed current pgnuplot.exe
gnuplot.exe ... console mode gnuplot
pgnuplot.exe ... copy of gnuplot.exe
2. There are 3 full-featured executables:
wgnuplot.exe ... as nowadays
wgnuplot_pipes.exe ... as nowadays
pgnuplot_small.exe ... renamed current pgnuplot.exe
gnuplot.exe ... console mode gnuplot
pgnuplot.exe ... small executable piping stdin to gnuplot.exe
instead of wgnuplot.exe (I've send the code
yesterday)
3. There are 3 full-featured executables:
wgnuplot.exe ... as nowadays
wgnuplot_pipes.exe ... as nowadays
pgnuplot.exe ... the current version piping to wgnuplot
gnuplot.exe ... console mode gnuplot
Choice 3 is to be rejected as no Program profits from the console mode
improvements.
Using 2. will save cca 2 MB of disk space with respect to choice 1.
So - shell the distribution contain 1 or 2?
---
PM
|
|
From: Tatsuro M. <tma...@ya...> - 2008-11-17 23:34:22
|
Hello --- Petr Mikulik <mi...@ph...> wrote: > Therefore there are the following solutions for what the gnuplot > distribution for win32 can contain: > 1. There are 4 full-featured executables: > wgnuplot.exe ... as nowadays > wgnuplot_pipes.exe ... as nowadays > pgnuplot_small.exe ... renamed current pgnuplot.exe > gnuplot.exe ... console mode gnuplot > pgnuplot.exe ... copy of gnuplot.exe > 2. There are 3 full-featured executables: > wgnuplot.exe ... as nowadays > wgnuplot_pipes.exe ... as nowadays > pgnuplot_small.exe ... renamed current pgnuplot.exe > gnuplot.exe ... console mode gnuplot > pgnuplot.exe ... small executable piping stdin to gnuplot.exe > instead of wgnuplot.exe (I've send the code > yesterday) > 3. There are 3 full-featured executables: > wgnuplot.exe ... as nowadays > wgnuplot_pipes.exe ... as nowadays > pgnuplot.exe ... the current version piping to wgnuplot > gnuplot.exe ... console mode gnuplot > > Choice 3 is to be rejected as no Program profits from the console mode > improvements. > > Using 2. will save cca 2 MB of disk space with respect to choice 1. > > So - shell the distribution contain 1 or 2? I prefer case 1 because the case 2 causes additional overhead. Increase of 2MB disk space is not a serious problem in current computer environments. Perhaps case 1 is the almopst same as that Michael's proporsal. However my mind does not always mean to reject the case 2. Regards Tatsuro -------------------------------------- Power up the Internet with Yahoo! Toolbar. http://pr.mail.yahoo.co.jp/toolbar/ |
|
From: Petr M. <mi...@ph...> - 2008-11-22 10:30:39
|
Final decision for naming gnuplot Win32 executables for gnuplot binary
releases (for the current development version 4.3):
1. Names and functionality of wgnuplot.exe and wgnuplot_pipes.exe (GUI
command line mode) and pgnuplot.exe (piper to wgnuplot.exe) stay intact.
2. Console-mode executable gnuplot.exe was added to the package. This is
now the recommended binary to be used under Windows -- the same name
as on all other platforms. The programs (like Octave) which want to use
it can bundle/use the gnuplot binary distribution (see below) and replace
the current call to "pgnuplot" by "gnuplot". (It is a development version
of gnuplot but it works very well.)
Updated package gp43-Nov21_2008-winbin.zip is available at
http://gnuplot.sourceforge.net/development/binaries/
For Octave: please remove the Octave-forge patches for gnuplot sources as
they are no more necessary. Use the gnuplot sourceforge site to contribute
new patches.
---
PM
|
|
From: Tatsuro M. <tma...@ya...> - 2008-11-23 05:57:57
|
Hello Petr Mikulik
Thank you for all efforts to the gnuplot Win32 binaries.
I have checked your binary packages. I found that a trivial mistake in gp43-Nov21_2008-winbin.zip and
also found a it in gp43-Nov21_2008-winbinX11.zip
In gp-Nov21_2008-winbin.zip
C:\Program Files\gp43-Nov21_2008-winbin\gnuplot\binaries>dir wgnuplot?pipes.exe
Volume in drive C has no label.
Volume Serial Number is 28D6-BD9D
Directory of C:\Program Files\gp43-Nov21_2008-winbin\gnuplot\binaries
2008/06/03 22:36 1,961,472 wgnuplot-pipes.exe
2008/11/21 21:00 1,980,416 wgnuplot_pipes.exe
2 File(s) 3,941,888 bytes
0 Dir(s) 26,288,074,752 bytes free
The file
2008/06/03 22:36 1,961,472 wgnuplot-pipes.exe
seem to be a gabage.
In gp-Nov21_2008-winbinx11.zip
In usr/local/libexec/gnuplot and usr/local/share/gnuplot
4.2 and 4.3 folder co-exist.
Perhaps 4.2 folders are gabgages.
These are not serious problem for execution but waste of the disk space.
I think that it is OK that they will be removed at the next release.
Regards
Tatsuro
--- Petr Mikulik <mi...@ph...> wrote:
> Final decision for naming gnuplot Win32 executables for gnuplot binary
> releases (for the current development version 4.3):
>
> 1. Names and functionality of wgnuplot.exe and wgnuplot_pipes.exe (GUI
> command line mode) and pgnuplot.exe (piper to wgnuplot.exe) stay intact.
>
> 2. Console-mode executable gnuplot.exe was added to the package. This is
> now the recommended binary to be used under Windows -- the same name
> as on all other platforms. The programs (like Octave) which want to use
> it can bundle/use the gnuplot binary distribution (see below) and replace
> the current call to "pgnuplot" by "gnuplot". (It is a development version
> of gnuplot but it works very well.)
>
> Updated package is available at
> http://gnuplot.sourceforge.net/development/binaries/
>
> For Octave: please remove the Octave-forge patches for gnuplot sources as
> they are no more necessary. Use the gnuplot sourceforge site to contribute
> new patches.
>
> ---
> PM
>
--------------------------------------
Power up the Internet with Yahoo! Toolbar.
http://pr.mail.yahoo.co.jp/toolbar/
|
|
From: Petr M. <mi...@ph...> - 2008-11-23 07:00:35
|
> I have checked your binary packages. > 2008/06/03 22:36 1,961,472 wgnuplot-pipes.exe > 2008/11/21 21:00 1,980,416 wgnuplot_pipes.exe > 4.2 and 4.3 folder co-exist. That was a mistake in packaging. I've removed these unnecessary extra files and refreshed both packages. Thanks for spotting this. --- PM |