Hi Kacper, thanks, fixed in SVN 277.
I also fixed the bug in Assert() and made ⎕ES 0 2561 simulate Assert(). /// Jürgen On 05/19/2014 08:52 PM, Kacper Gutowski wrote:
Another one. Reduction of an empty array along the last non-singleton AND non-zero axis produces a weird value which crashes GNU APL when copied (e.g. when assigned to variable; nothing happens when it's simply printed or directly examined with rank/depth/whatever): X ← +/[3] 0 0 2 0⍴ 0 ============================================================================== Assertion failed: 0 in Function: init in file: Cell.cc:48 Call stack: ---------------------------------------- -- Stack trace at Cell.cc:48 ---------------------------------------- 0x7f06b6b2db45 __libc_start_main 0x435995 main 0x529e3d Workspace::immediate_execution(bool) 0x4651cd Command::process_line() 0x463f99 Command::process_line(UCS_string&) 0x46e678 Executable::execute_body() const 0x4e4360 StateIndicator::run() 0x49133a Prefix::reduce_statements() 0x48d46e Prefix::reduce_V_ASS_B_() 0x4f4a16 Symbol::assign(Value_P, char const*) 0x52652b Value::clone(char const*) const 0x45b7c1 Cell::init(Cell const&) 0x443abf do_Assert(char const*, char const*, char const*, int) ======================================== SI stack: Depth: 0 Exec: 0x2105be0 Safe ex: no Pmode: ◊ X ← +/[3] 0 0 2 0⍴ 0 PC: 10 ENDL Stat: X ← +/[3] 0 0 2 0⍴ 0 err_code: 0x0 thrown: at StateIndicator.cc:41 e_msg_1: 'No Error' e_msg_2: '' e_msg_3: '' ============================================================================== ==================================================== SEGMENTATION FAULT ---------------------------------------- -- Stack trace at main.cc:122 ---------------------------------------- 0x7f06b6b2db45 __libc_start_main 0x435995 main 0x529e3d Workspace::immediate_execution(bool) 0x4651cd Command::process_line() 0x463f99 Command::process_line(UCS_string&) 0x46e678 Executable::execute_body() const 0x4e4360 StateIndicator::run() 0x49133a Prefix::reduce_statements() 0x48d46e Prefix::reduce_V_ASS_B_() 0x4f4a16 Symbol::assign(Value_P, char const*) 0x52652b Value::clone(char const*) const 0x45b7c1 Cell::init(Cell const&) 0x443a67 do_Assert(char const*, char const*, char const*, int) 0x501a9c TestFiles::assert_error() 0x7f06b8a84890 0x47e22a ======================================== ==================================================== -k