Opened 8 years ago
Closed 7 years ago
#433 closed defect (fixed)
merge-pathnames blocks error signal?
Reported by: | aruttenberg | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 1.5.0 |
Component: | interpreter | Version: | 1.5.0-dev |
Keywords: | cl:pathname :unspecific | Cc: | |
Parent Tickets: |
Description
(make-pathname :directory '(:absolute ("a" "b")))
property signals an error Unsupported directory component (a b).
However the following
(merge-pathnames (make-pathname :directory '(:absolute ("a" "b"))) "")
Does not, instead spitting out a java stack trace
ABCL Debug.assertTrue() assertion failed!
java.lang.Error: ABCL Debug.assertTrue() assertion failed!
at org.armedbear.lisp.Debug.assertTrue(Debug.java:48)
at org.armedbear.lisp.Pathname.<init>(Pathname.java:154)
at org.armedbear.lisp.Pathname.mergePathnames(Pathname.java:1979)
at org.armedbear.lisp.Pathname$pf_merge_pathnames.execute(Pathname.java:1957)
at org.armedbear.lisp.LispThread?.execute(LispThread?.java:832)
at org.armedbear.lisp.Lisp.evalCall(Lisp.java:582)
at org.armedbear.lisp.Lisp.eval(Lisp.java:540)
at org.armedbear.lisp.Primitives$pfeval.execute(Primitives.java:345)
Change History (2)
comment:2 Changed 7 years ago by
Keywords: | cl:pathname :unspecific added |
---|---|
Milestone: | → 1.5.0 |
Resolution: | → fixed |
Status: | new → closed |
Version: | → 1.5.0-dev |
Fixed (untested) as http://abcl.org/trac/changeset/15032
As suggested in <irc:freenode:#abcl> by Ferada: the fix would be to replace the Debug.assertTrue() with code that throws a proper Lisp ERROR.
In general, the Debug.assertTrue() instances in the codebase should be audited, and replaced where possible.