Custom Query (1030 matches)
Results (892 - 894 of 1030)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #1069 | fixed | SXHASH shouldn't collide on small fixnums | ||
| Description |
Collisions on small consecutive numbers mean hash-tables will be slower than expected, and systematic such collisions probably count as a performance bug. (EQUAL (SXHASH 12) (SXHASH 13)) ;;=> T gz says it looks like 2n and 2n+1 can have same SXHASH, and gb points at CCL::STRIP-TAG-TO-FIXNUM. |
|||
| #1070 | fixed | PROBE-FILE looks like it's not using MERGE-PATHNAMES anymore | ||
| Description |
(setf (ccl:current-directory) #p"/tmp/") (let ((*default-pathname-defaults* #p"/")) (probe-file "/etc")) ;;==> #p"/etc/" ; on CCL 1.9 15581 ;;==> NIL ; on CCL 1.9 15773 Remarkably, the CLHS entry for PROBE-FILE doesn't seem to mention *DEFAULT-PATHNAME-DEFAULTS* or MERGE-PATHNAMES, unlike OPEN which at least mentions the latter and implies its use. So that makes PROBE-FILE also subtly different from OPEN (assuming OPEN is unaffected -- is it? I have tested). http://clhs.lisp.se/Body/f_probe_.htm In any case, this is probably a bug, and if not, a change that should be prominently documented. |
|||
| #1071 | fixed | #'Directory with no type returns results different from wild type | ||
| Description |
(directory #P"foo/*" :directories nil) [(directory #P"foo:*" :directories nil) in MCL] MCL: Returns all files under the foo directory, regardless of whether they have a type or not. CCL: Returns only files that have no type under foo directory. Test: (= (length (directory #P"ccl:*.*")) (length (directory #P"ccl:*"))) Should return T if this bug is fixed. Technically, this is probably not an ANSI compliance issue since ANSI is vague on what #'directory is supposed to do. But current behavior is different from MCL, which is presumably where many CCL users come from. It would be interesting to see what ACL does here. Fix is simple: --- pathnames.lisp (revision 15751) +++ pathnames.lisp (working copy) @@ -582,6 +582,10 @@
+ (when (and (eq name-pat :wild) + (or (null type-pat) + (eq type-pat :unspecific))) + (setq type-pat :wild))
|
|||
