[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Octave-3.3.55 and Octave-3.3.90 on OSX
From: |
Richard Campbell |
Subject: |
Re: Octave-3.3.55 and Octave-3.3.90 on OSX |
Date: |
Sun, 30 Jan 2011 15:14:41 -0500 |
On Jan 30, 2011, at 3:11 PM, Ben Abbott wrote:
> On Jan 30, 2011, at 3:01 PM, Richard Campbell wrote:
>
>> On Jan 30, 2011, at 2:48 PM, Ben Abbott wrote:
>>
>>> On Jan 30, 2011, at 1:10 PM, Richard Campbell wrote:
>>>
>>>> On Jan 30, 2011, at 1:04 PM, John W. Eaton wrote:
>>>>
>>>>> On 30-Jan-2011, Richard Campbell wrote:
>>>>>
>>>>> | It's just a line plot. I pasted it in an earlier message in this
>>>>> thread. I get
>>>>> | the same error when trying to print if I had typed surf(peaks) as well.
>>>>> It
>>>>> | plots fine on the screen, I just can't print it to a file.
>>>>> |
>>>>> | octave:1> plot(randn(10,1))
>>>>> | octave:2> print('-dpng','test.png')
>>>>> | warning: print.m: fig2dev binary is not available
>>>>> | error: invalid assignment to cs-list outside multiple assignment
>>>>> | error: matrix cannot be indexed with {
>>>>> | error: evaluating argument list element number 3
>>>>> | error: called from:
>>>>> | error: /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m
>>>>> at line
>>>>> | 390, column 11
>>>>> | octave:2> print('-depsc','test.eps')
>>>>> | error: invalid assignment to cs-list outside multiple assignment
>>>>> | error: matrix cannot be indexed with {
>>>>> | error: evaluating argument list element number 3
>>>>> | error: called from:
>>>>> | error: /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m
>>>>> at line
>>>>> | 390, column 11
>>>>> | octave:2> print('-dtiff','test.tiff')
>>>>> | error: invalid assignment to cs-list outside multiple assignment
>>>>> | error: matrix cannot be indexed with {
>>>>> | error: evaluating argument list element number 3
>>>>> | error: called from:
>>>>> | error: /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m
>>>>> at line
>>>>> | 390, column 11
>>>>> |
>>>>>
>>>>> In 3.3.90, line 390 of print.m is
>>>>>
>>>>> ## restore modified properties
>>>>> if (isstruct (props))
>>>>> for n = 1:numel(props)
>>>>> if (ishandle (props(n).h))
>>>>> set (props(n).h, props(n).name, props(n).value{1}); <<< line 390
>>>>> endif
>>>>> endfor
>>>>> endif
>>>>>
>>>>> Try this in Octave:
>>>>>
>>>>> dbstop print 390
>>>>> peaks
>>>>> print ('-depsc', 'test.eps')
>>>>>
>>>>> then when you get the "debug>" prompt, try looking at the following
>>>>> items:
>>>>>
>>>>> numel (props)
>>>>> props
>>>>> props(1)
>>>>> props(2)
>>>>>
>>>>> Here is what I see:
>>>>>
>>>>> debug> numel (props)
>>>>> ans = 2
>>>>> debug> props
>>>>> props =
>>>>>
>>>>> 1x2 struct array containing the fields:
>>>>>
>>>>> h
>>>>> name
>>>>> value
>>>>>
>>>>> debug> props(1)
>>>>> ans =
>>>>>
>>>>> scalar structure containing the fields:
>>>>>
>>>>> h = 1
>>>>> name = position
>>>>> value =
>>>>> {
>>>>> [1,1] =
>>>>>
>>>>> 300 200 560 420
>>>>>
>>>>> }
>>>>>
>>>>> debug> props(2)
>>>>> ans =
>>>>>
>>>>> scalar structure containing the fields:
>>>>>
>>>>> h = 1
>>>>> name = color
>>>>> value =
>>>>> {
>>>>> [1,1] =
>>>>>
>>>>> 1 1 1
>>>>>
>>>>> }
>>>>>
>>>>> I guess you don't have the same props(?).value. If not, then why is
>>>>> it not set correctly? You can do
>>>>>
>>>>> dbstop print
>>>>> peaks
>>>>> print ('-depsc', 'test.eps')
>>>>>
>>>>> and then step through print.m with dbstep to see where props(?).value
>>>>> is set. Note that after you type a command at the debug prompt,
>>>>> pressing the Enter by itself will repeat the previous command, so
>>>>> stepping is easy.
>>>>>
>>>>> jwe
>>>>
>>>>
>>>> octave:1> dbstop print 390
>>>> ans = 390
>>>> octave:2> peaks
>>>> octave:3> print('-depsc', 'test.eps');
>>>> warning: print.m: fig2dev binary is not available
>>>> error: invalid assignment to cs-list outside multiple assignment
>>>> stopped in /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m at
>>>> line 390
>>>> 390: set (props(n).h, props(n).name, props(n).value{1});
>>>> debug> numel(props)
>>>> ans = 2
>>>> debug> props
>>>> props =
>>>>
>>>> 1x2 struct array containing the fields:
>>>>
>>>> h
>>>> name
>>>> value
>>>>
>>>> debug> props(1)
>>>> ans =
>>>>
>>>> scalar structure containing the fields:
>>>>
>>>> h = 1
>>>> name = position
>>>> value =
>>>> {
>>>> [1,1] =
>>>>
>>>> 300 200 560 420
>>>>
>>>> }
>>>>
>>>> debug> props(2)
>>>> ans =
>>>>
>>>> scalar structure containing the fields:
>>>>
>>>> h = 1
>>>> name = [](0x0)
>>>> value = [](0x0)
>>>>
>>>>
>>>> and then while dbstepping through print.m:
>>>>
>>>> debug> dbstep
>>>> stopped in /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m at
>>>> line 297
>>>> 297: props(2).h = opts.figure;
>>>> debug> dbstep
>>>> stopped in /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m at
>>>> line 298
>>>> 298: props(2).name = "color";
>>>> debug> dbstep
>>>> error: invalid assignment to cs-list outside multiple assignment
>>>> stopped in /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m at
>>>> line 387
>>>> 387: if (isstruct (props))
>>>
>>> props(2) is the problem. Lines 297-300 set the name and value.
>>>
>>> 297 props(2).h = opts.figure;
>>> 298 props(2).name = "color";
>>> 299 props(2).value{1} = get (props(2).h, props(2).name);
>>> 300 set (props(2).h, props(2).name, "none");
>>>
>>> I don't see how these fields end up empty.
>>>
>>> Please add another breakpoint at line 300, and check that the fields of
>>> props(2). Also check the fields of "opt". You can see the result I get
>>> below.
>>>
>>> dbstop print 300
>>> ans = 300
>>> peaks
>>> print ('-depsc', 'test.eps');
>>> stopped in /Users/bpabbott/Development/Octave_Toolbox/print/print.m at line
>>> 300
>>> 300: set (props(2).h, props(2).name, "none");
>>> debug> props(2)
>>> ans =
>>>
>>> scalar structure containing the fields:
>>>
>>> h = 1
>>> name = color
>>> value =
>>> {
>>> [1,1] =
>>>
>>> 1 1 1
>>>
>>> }
>>>
>>> debug> opts
>>> opts =
>>>
>>> scalar structure containing the fields:
>>>
>>> append_to_file = 0
>>> canvas_size =
>>>
>>> 576 432
>>>
>>> debug = 0
>>> debug_file = octave-print-commands.log
>>> devopt = epsc
>>> epstool_binary = /sw/bin/epstool
>>> figure = 1
>>> fig2dev_binary = /sw/bin/fig2dev
>>> fontsize =
>>> font =
>>> force_solid = 0
>>> formatted_for_printing = 0
>>> ghostscript =
>>>
>>> scalar structure containing the fields:
>>>
>>> binary = /sw/bin/gs
>>> debug = 0
>>> device =
>>> epscrop = 1
>>> level = [](0x0)
>>> output =
>>> papersize =
>>> pageoffset =
>>>
>>> 0 0
>>>
>>> resolution = 150
>>> antialiasing = 0
>>>
>>> loose = 0
>>> lpr_binary = /usr/bin/lpr
>>> name = test.eps
>>> orientation = portrait
>>> pstoedit_binary = /sw/bin/pstoedit
>>> preview =
>>> printer =
>>> send_to_printer = 0
>>> special_flag = textnormal
>>> tight_flag = 0
>>> use_color = 1
>>> lpr_options = -l
>>> unlink = {}(0x0)
>>> pstoedit_cmd = @pstoedit
>>> fig2dev_cmd = @fig2dev
>>> latex_standalone = @latex_standalone
>>> lpr_cmd = @lpr
>>> epstool_cmd = @epstool
>>>
>>> Ben
>>
>> dbstop print 300 has no effect, which tells me that the line is never being
>> executed.
>>
>> dbstop print 297 stops as expected, though. If I step forward from there:
>>
>> octave:1> peaks
>> octave:2> dbstop print 297
>> ans = 297
>> octave:3> print('-depsc','test.eps')
>> warning: print.m: fig2dev binary is not available
>> stopped in /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m at
>> line 297
>> 297: props(2).h = opts.figure;
>> debug> dbstep
>> stopped in /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m at
>> line 298
>> 298: props(2).name = "color";
>> debug> dbstep
>> error: invalid assignment to cs-list outside multiple assignment
>> stopped in /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m at
>> line 387
>> 387: if (isstruct (props))
>
>
> Hopefully, John has some insight here (I don't). It looks to me like lines
> 298-377 never run, or the debugger is lost.
>
> Can you confirm that test.eps wasn't created?
>
> Ben
>
>
>
Correct, it was not created.
Campbell
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, (continued)
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Ben Abbott, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Ben Abbott, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, John W. Eaton, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Ben Abbott, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Ben Abbott, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX,
Richard Campbell <=
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/31
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Ben Abbott, 2011/01/31
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/31
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, bpabbott, 2011/01/31
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/31
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, bpabbott, 2011/01/31
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/31
- Message not available
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/31
Re: Octave-3.3.55 and Octave-3.3.90 on OSX, bpabbott, 2011/01/31