|
From: Allin C. <cot...@wf...> - 2015-08-28 16:11:17
|
On Fri, 28 Aug 2015, sfeam wrote:
> On Friday, 28 August 2015 08:07:11 AM Allin Cottrell wrote:
>> On Fri, 28 Aug 2015, Tatsuro MATSUOKA wrote:
>>
>>>> Patch 2 prevents loss of a character from the input stream after
>>>> waiting for a mouse click.
>>>> I am not sure if this is needed or even safe on Windows.
>>>>
>>>> --- a/src/wxterminal/wxt_gui.cpp 2015-07-13 10:54:44.000000000 -0700
>>>> +++ b/src/wxterminal/wxt_gui.cpp 2015-08-27 12:26:12.000000000 -0700
>>>> @@ -3716,7 +3716,8 @@ bool wxt_exec_event(int type, int mx, in
>>>> event.winid = id;
>>>> #if defined(WXT_MONOTHREADED) || defined(_Windows)
>>>> - wxt_process_one_event(&event);
>>>> + if (wxt_process_one_event(&event))
>>>> + ungetc('\n',stdin); /* FIXME: OK on Windows? */
>>>> return true;
>>>> #else
>>>> if (!wxt_handling_persist)
>>>
>>> I have complied patch 2 attached wxt_gui.cpp.
>>> Compile itself have passed on gnuplot.exe and wgnuplot.exe.
>>>
>>> However
>>>
>>> ungetc('\n',stdin);
>>>
>>> perhaps only works on console mode (gnuplot.exe) (untested.)
>>>
>>> The function ungetc is not redefined in wtext.h.
>>
>> It's defined in stdio.h.
>
> Does the problem exist on Windows?
> Test case before patch:
>
> gnuplot> plot sin(x)
> gnuplot> pause mouse
> print "type this before interacting with the plot"
> <now click on the plot>
> gnuplot>rint "type this before interacting with the plot"
> ^
> invalid command
> gnuplot>
>
> On linux + single-thread option the 'p' of the "print"
> is lost. The patch fixes this. But is it lost on OSX
> and Windows also? If not, they do not need the patch.
I can't speak for Windows, but it is indeed lost on OS X so your patch
is required there.
Allin Cottrell
|