Custom Query (1030 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (892 - 894 of 1030)

Ticket Resolution Summary Owner Reporter
#1069 fixed SXHASH shouldn't collide on small fixnums Gary Byers Francois-Rene Rideau
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 gz Francois-Rene Rideau
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 Shannon Spires Shannon Spires
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 @@

(%path-str*= pstr pattern))

(defun %file*= (name-pat type-pat pstr)

+ (when (and (eq name-pat :wild) + (or (null type-pat) + (eq type-pat :unspecific))) + (setq type-pat :wild))

(if (eq name-pat :wild) (setq name-pat "*")) (if (eq type-pat :wild) (setq type-pat "*")) (when (and (null name-pat) (null type-pat))

Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.