Opened 6 years ago

Closed 5 years ago

#462 closed defect (fixed)

(subseq "" 1) throws a java exception

Reported by: aruttenberg Owned by:
Priority: major Milestone: 1.6.1
Component: interpreter Version:
Keywords: Cc:
Parent Tickets:

Description

In the example below a restart is offered but in other contexts I just get
`CL-USER> (subseq "" 1)
; Evaluation aborted on NIL.`

`CL-USER(1): (subseq "" 1)
java.lang.NegativeArraySizeException?

at org.armedbear.lisp.SimpleString?.<init>(SimpleString?.java:60)
at org.armedbear.lisp.SimpleString?.substring(SimpleString?.java:230)
at org.armedbear.lisp.SimpleString?.subseq(SimpleString?.java:247)
at org.armedbear.lisp.Primitives$pf_subseq.execute(Primitives.java:4341)
at org.armedbear.lisp.LispThread?.execute(LispThread?.java:854)
at org.armedbear.lisp.Lisp.evalCall(Lisp.java:591)
at org.armedbear.lisp.Lisp.eval(Lisp.java:542)
at org.armedbear.lisp.Lisp.progn(Lisp.java:711)
at org.armedbear.lisp.Primitives$sf_block.execute(Primitives.java:3743)
at org.armedbear.lisp.Lisp.eval(Lisp.java:532)
at org.armedbear.lisp.Lisp.progn(Lisp.java:711)
at org.armedbear.lisp.Closure.execute(Closure.java:220)
at org.armedbear.lisp.Closure.execute(Closure.java:154)
at org.armedbear.lisp.LispThread?.execute(LispThread?.java:835)
at org.armedbear.lisp.Lisp.evalCall(Lisp.java:584)
at org.armedbear.lisp.Lisp.eval(Lisp.java:542)
at org.armedbear.lisp.Primitives$pfeval.execute(Primitives.java:345)
at org.armedbear.lisp.LispThread?.execute(LispThread?.java:817)
at org.armedbear.lisp.Lisp.evalCall(Lisp.java:577)
at org.armedbear.lisp.Lisp.eval(Lisp.java:542)
at org.armedbear.lisp.Lisp.progn(Lisp.java:711)
at org.armedbear.lisp.Primitives$sf_block.execute(Primitives.java:3743)
at org.armedbear.lisp.Lisp.eval(Lisp.java:532)
at org.armedbear.lisp.Lisp.progn(Lisp.java:711)
at org.armedbear.lisp.Closure.execute(Closure.java:220)
at org.armedbear.lisp.Closure.execute(Closure.java:148)
at org.armedbear.lisp.LispThread?.execute(LispThread?.java:817)
at org.armedbear.lisp.Lisp$1.execute(Lisp.java:285)
at org.armedbear.lisp.Symbol.execute(Symbol.java:803)
at org.armedbear.lisp.LispThread?.execute(LispThread?.java:817)
at org.armedbear.lisp.top_level_47.execute(top-level.lisp:407)
at org.armedbear.lisp.CompiledClosure?.execute(CompiledClosure?.java:89)
at org.armedbear.lisp.Symbol.execute(Symbol.java:793)
at org.armedbear.lisp.LispThread?.execute(LispThread?.java:801)
at org.armedbear.lisp.top_level_48.execute(top-level.lisp:415)
at org.armedbear.lisp.LispThread?.execute(LispThread?.java:801)
at org.armedbear.lisp.Interpreter.run(Interpreter.java:361)
at org.armedbear.lisp.Main$1.run(Main.java:48)
at java.lang.Thread.run(Thread.java:748)

#<THREAD "interpreter" {106F006E}>: Debugger invoked on condition of type ERROR

Caught java.lang.NegativeArraySizeException?.

Restarts:

0: TOP-LEVEL Return to top level.

[1] CL-USER(2): `

Change History (2)

comment:1 Changed 5 years ago by Mark Evenson

Component: compilerinterpreter
Milestone: 1.6.1

comment:2 Changed 5 years ago by Mark Evenson

Resolution: fixed
Status: newclosed

(subseq "" 1)

now throws a correct looking TYPE-ERROR

Start index (1) is greater than length of vector (0) for SUBSEQ.

Note: See TracTickets for help on using tickets.