Custom Query (1030 matches)
Results (811 - 813 of 1030)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #913 | fixed | &WHOLE broken in DEFINE-METHOD-COMBINATION | ||
| Description |
Using &WHOLE in the lambda list for the :ARGUMENTS section of the long form of DEFINE-METHOD-COMBINATION results in an UNBOUND-VARIABLE condition. Here's a simple test case: CL-USER> (define-method-combination test ()
((primary () :required t))
(:arguments &whole whole)
(format t "this is it: ~A" whole)
`(call-method ,(first primary) ,(rest primary)))
;Compiler warnings :
; In an anonymous lambda form: Undeclared free variable #:ARGS
TEST
CL-USER> (defgeneric foo (x)
(:method-combination test)
(:method (x) x))
#<STANDARD-GENERIC-FUNCTION FOO #x30200127BC6F>
CL-USER> (foo 3)
You can see the warning when the method combination is defined, then the call results in: Unbound variable: #:ARGS [Condition of type UNBOUND-VARIABLE] This is on CCL Version 1.8-dev-r15225M-trunk (DarwinX8664) |
|||
| #915 | fixed | bad printing of dotted pairs with *print-circle* = t | ||
| Description |
An extra "." can be printed when *print-circle* is t. A log is below. The version (15230) is the trunk as of two days ago. Not sure how to specify the "component" -- I'd guess it's a source code bug, but I don't know. Welcome to Clozure Common Lisp Version 1.8-dev-r15230M-trunk (LinuxX8664)!
? (let* ((*print-circle* t)
(atm "hi")
(alist `((3 . ,atm) (2 . ,atm))))
(print alist))
((3 . #1= . "hi") (2 . #1#))
((3 . "hi") (2 . "hi"))
? '((3 . #1= . "hi") (2 . #1#)) ; the extra dot ruins readability, of course:
> Error: Reader error on #<CCL::RECORDING-CHARACTER-INPUT-STREAM #x3020006EDE3D>, near position 13:
> Dot context error in ".".
> While executing: CCL::SIGNAL-READER-ERROR, in process listener(1).
> Type :POP to abort, :R for a list of available restarts.
> Type :? for other options.
1 > :q
? '((3 . #1="hi") (2 . #1#)) ; manual correction
((3 . "hi") (2 . "hi"))
?
|
|||
| #918 | fixed | Strange stack overflow in remove-if-not | ||
| Description |
I think this is a compiler bug. (defun test-func ()
;; (declare (optimize (speed 0) (safety 2))) ;-> success
(declare (optimize (speed 0) (safety 3))) ;-> error
(dotimes (i 10000)
(remove-if-not #'(lambda (e)
(eql i e))
'(a))))
(loop for i from 1 to 50000 do
(format t "i=~A~%" i)
(let ((t1 (ccl:process-run-function "t1" #'test-func))
(t2 (ccl:process-run-function "t2" #'test-func)))
(ccl:join-process t1)
(ccl:join-process t2)))
...
i=275
i=276
i=277
i=278
> > Error: Stack overflow on value stack.
> > While executing: CCL::LIST-DELETE-MODERATELY-COMPLEX, in process t2(557).
;;;
;;; #<PROCESS t2(557) [Active] #xC367F56> requires access to Shared
Terminal Input
;;; Type (:y 557) to yield control to this thread.
;;;
|
|||
Note:
See TracQuery
for help on using queries.
