Hi Elias,

yes, sorry. Forgot to mention that the APL values used in the constructor of UCS_string must have rank ≤ 1 while do_CR() might produce matrices for some left arguments of ⎕CR.

/// Jürgen


On 05/22/2014 11:13 AM, Elias Mårtenson wrote:
I tried to do this, but I'm having the constructor for UCS_string crash on me when I try:

#0  0x00007f228d0cbd67 in raise () from /usr/lib/libc.so.6
#1  0x00007f228d0cd118 in abort () from /usr/lib/libc.so.6
#2  0x00007f228d9c0dc5 in __gnu_cxx::__verbose_terminate_handler() ()
   from /usr/lib/libstdc++.so.6
#3  0x00007f228d9bee46 in ?? () from /usr/lib/libstdc++.so.6
#4  0x00007f228d9bee91 in std::terminate() () from /usr/lib/libstdc++.so.6
#5  0x00007f228d9bf0a8 in __cxa_throw () from /usr/lib/libstdc++.so.6
*#6  0x00000000004b350c in throw_apl_error (code=E_RANK_ERROR, *
*    loc=0x595c13 "UCS_string.cc:388") at Error.cc:188*
#7 0x000000000054d31c in UCS_string::UCS_string (this=0x7f227fb3c880, value=...)
    at UCS_string.cc:388
#8 0x00007f228c0de92c in TraceData::display_value_for_trace (out=..., value=...,
    cr_level=8) at TraceData.cc:64
#9 0x00007f228c0db4ca in enable_trace (conn=..., symbol=0xa88c90, cr_level=8)
    at FollowCommand.cc:90
#10 0x00007f228c0db9e2 in FollowCommand::run_command (this=0x7f22780011f0, conn=..., args=std::vector of length 4, capacity 4 = {...}) at FollowCommand.cc:135 #11 0x00007f228c0d4eb6 in NetworkConnection::process_command (this=0x7f22780008c0,
command="trace:palle:on:8") at NetworkConnection.cc:209
#12 0x00007f228c0d500c in NetworkConnection::run (this=0x7f22780008c0)
    at NetworkConnection.cc:220
#13 0x00007f228c0cf542 in connection_loop (arg=0x7f22780008c0) at network.cc:36
#14 0x00007f228f120124 in start_thread () from /usr/lib/libpthread.so.0
#15 0x00007f228d1814bd in clone () from /usr/lib/libc.so.6

Do you have any idea?

Regards,
Elias


On 22 May 2014 00:21, Juergen Sauermann <juergen.sauerm...@t-online.de <mailto:juergen.sauerm...@t-online.de>> wrote:

    Hi Elias,

    the *operator<<(ostream & out, const Value & v)* calls
    *v.print(out)* which then
    does the line break at *⎕PW*. The cr_formatted below is probably
    OK but printing
    it introduces line wrapping. You could have used
    UCS_string(*cr_formatted) instead
    of *cr_formatted to avoid that.

    /// Jürgen



    On 05/21/2014 04:54 PM, Elias Mårtenson wrote:
    I tried to specify a different PW like the below, but the with is
    still limited to something close to 80:

    const PrintContext pctx( PST_NONE, Workspace::get_PP(), 1000 );
    Value_P cr_formatted = Quad_CR::do_CR( cr_level, *value, pctx );
    out << *cr_formatted;

    What did I do wrong?

    Regards,
    Elias




Reply via email to