#96: incorrect macroexpansion environment for defconstant
--------------------+-------------------------------------------------------
Reporter: heller | Owner: somebody
Type: defect | Status: new
Priority: major | Milestone:
Component: Core | Version: 2014-03
Keywords: |
--------------------+-------------------------------------------------------
This example can't be compiled:
{{{
(macrolet ((foo (x) x))
(defconstant +foo+ (foo 123)))
}}}
it produces this error:
{{{
Error in KERNEL:%COERCE-TO-FUNCTION: the function FOO is undefined.
[Condition of type UNDEFINED-FUNCTION]
}}}
This might be related to ticket #40.
--
Ticket URL: <http://trac.common-lisp.net/cmucl/ticket/96>
cmucl <http://common-lisp.net/project/cmucl>
Cmucl is a high-performance, free Common Lisp implementation.
#95: Test failures from PCL tests
--------------------+-------------------------------------------------------
Reporter: rtoy | Owner: rtoy
Type: defect | Status: new
Priority: major | Milestone:
Component: PCL | Version: 2014-03
Keywords: |
--------------------+-------------------------------------------------------
When running the PCL test suite, there are several failures:
{{{
Failed tests: (PCL-TESTS::DEFCLASS.0)
| Failed Form: '(T)
| Expected (NIL) but saw (T)
|
DEFCLASS.0: 0 assertions passed, 1 failed.
Execute failures: (PCL-TESTS::DEFGENERIC-LAMBDA-LIST.2
PCL-TESTS::DEFGENERIC-LAMBDA-LIST.1
PCL-TESTS::DEFGENERIC-LAMBDA-LIST.0)
| Execution error:
| (during macroexpansion)
Invalid lambda variable: (PCL-TESTS::A PCL-TESTS::GF-CLASS)
|
DEFGENERIC-LAMBDA-LIST.2: 0 assertions passed, 0 failed, and an execution
error.
| Execution error:
| (during macroexpansion)
Generic function G: Optional and key parameters of generic functions may
not
have default values or supplied-p parameters: (PCL-TESTS::B 1).
|
DEFGENERIC-LAMBDA-LIST.1: 0 assertions passed, 0 failed, and an execution
error.
| Execution error:
| (during macroexpansion)
Generic function G: Optional and key parameters of generic functions may
not
have default values or supplied-p parameters: (PCL-TESTS::B 1).
|
DEFGENERIC-LAMBDA-LIST.0: 0 assertions passed, 0 failed, and an execution
error.
}}}
These need to be examined and fixed.
--
Ticket URL: <http://trac.common-lisp.net/cmucl/ticket/95>
cmucl <http://common-lisp.net/project/cmucl>
Cmucl is a high-performance, free Common Lisp implementation.
#92: Type-derivation for log is inconsistent
--------------------+-------------------------------------------------------
Reporter: rtoy | Owner: somebody
Type: defect | Status: new
Priority: major | Milestone:
Component: Core | Version: 2014-02
Keywords: |
--------------------+-------------------------------------------------------
Consider
{{{
(defun foo (x)
(declare (type (double-float 0d0) x))
(log x))
}}}
When compiled, the compiler says the return type for {{{foo}}} is
{{{(OR DOUBLE-FLOAT (COMPLEX DOUBLE-FLOAT))}}}. This is inconsistent with
the return value of {{{(log 0d0)}}} and {{{(log -0d0)}}} which is {{{EXT
:DOUBLE-FLOAT-NEGATIVE-INFINITY}}} (when the {{{:DIVIDE-BY-ZERO}}} trap is
disabled).
The correct derived type should be just {{{DOUBLE-FLOAT}}}.
--
Ticket URL: <http://trac.common-lisp.net/cmucl/ticket/92>
cmucl <http://common-lisp.net/project/cmucl>
Cmucl is a high-performance, free Common Lisp implementation.
#93: 4d-324 signals a reader error but shouldn't?
--------------------+-------------------------------------------------------
Reporter: rtoy | Owner: somebody
Type: defect | Status: new
Priority: major | Milestone:
Component: Core | Version: 2014-02
Keywords: |
--------------------+-------------------------------------------------------
At the repl, 4d-324 throws a reader error. But the nearest float to
4d-324 is {{{least-positive-double-float}}} so we should probably return
that instead of throwing an error.
But values less than {{{0.5 * least-positive-double-float}}} could be
rounded to 0, but I think the reader error is still appropriate. CLHS
2.3.1.1 says exponents that are out of range should signal a reader error.
--
Ticket URL: <http://trac.common-lisp.net/cmucl/ticket/93>
cmucl <http://common-lisp.net/project/cmucl>
Cmucl is a high-performance, free Common Lisp implementation.
#94: double-double-float limits missing
--------------------+-------------------------------------------------------
Reporter: rtoy | Owner: somebody
Type: defect | Status: new
Priority: minor | Milestone:
Component: Core | Version: 2014-02
Keywords: |
--------------------+-------------------------------------------------------
The double-double float limits like {{{least-positive-double-double-
float}}} and friends are missing. They should be added.
It's not clear, though, what values to use for largest values or the
normalized values.
--
Ticket URL: <http://trac.common-lisp.net/cmucl/ticket/94>
cmucl <http://common-lisp.net/project/cmucl>
Cmucl is a high-performance, free Common Lisp implementation.
#91: ppc fails tan.exceptions test
--------------------+-------------------------------------------------------
Reporter: rtoy | Owner: somebody
Type: defect | Status: new
Priority: major | Milestone:
Component: Core | Version: 2014-01
Keywords: |
--------------------+-------------------------------------------------------
The test {{{(tan ext:double-float-positive-infinity)}}} correctly
generates an invalid operation, but the test code doesn't catch it for
some reason.
--
Ticket URL: <http://trac.common-lisp.net/cmucl/ticket/91>
cmucl <http://common-lisp.net/project/cmucl>
Cmucl is a high-performance, free Common Lisp implementation.
#90: (atanh -2)?
--------------------+-------------------------------------------------------
Reporter: rtoy | Owner: somebody
Type: defect | Status: new
Priority: major | Milestone:
Component: Core | Version: 2013-12
Keywords: |
--------------------+-------------------------------------------------------
CMUCL 20e says {{{(atanh -2)}}} is {{{#C(-0.54930615 -1.5707964)}}}. This
is consistent with what the CLHS says about {{{atanh}}} for {{{x < -1}}}
being continuous with Quadrant III because {{{(atanh #c(-2.0 -0.0))}}} is
the same.
However, from the definition
{{{
atanh(z) = 1/2*(log(1+z) - log(1-z))
}}}
we have
{{{
atanh(-2) = 1/2*(log(-1) - log(3))
= 1/2*(i*pi - log(3))
= -log(3)/2 + i*pi/2
}}}
That is, the imaginary part should be positive. This would be consistent
with the rule that atanh is continuous with Quadrant II.
--
Ticket URL: <http://trac.common-lisp.net/cmucl/ticket/90>
cmucl <http://common-lisp.net/project/cmucl>
Cmucl is a high-performance, free Common Lisp implementation.
#88: enough-namestring
--------------------+-------------------------------------------------------
Reporter: heller | Owner: somebody
Type: defect | Status: new
Priority: major | Milestone:
Component: Core | Version: 20e
Keywords: |
--------------------+-------------------------------------------------------
Comment(by rtoy):
This is my expectation too, but comments in the code for unparse-unix-
enough says that you can't represent a relative directory relative to an
absolute directory, which is what we have here. The comment doesn't
explain why, so it must have been obvious at that time.
More thinking required.
--
Ticket URL: <http://trac.common-lisp.net/cmucl/ticket/88#comment:1>
cmucl <http://common-lisp.net/project/cmucl>
Cmucl is a high-performance, free Common Lisp implementation.
#89: Follow C99 for the value of the special functions at exception arguments
--------------------+-------------------------------------------------------
Reporter: rtoy | Owner: somebody
Type: defect | Status: new
Priority: minor | Milestone:
Component: Core | Version: 20e
Keywords: |
--------------------+-------------------------------------------------------
The CLHS doesn't say anything for value of the special functions for
exceptional arguments like infinity (signed) or NaN. Since CMUCL supports
IEEE-754, we should follow the C99 specification when it does not conflict
with the CLHS.
--
Ticket URL: <http://trac.common-lisp.net/cmucl/ticket/89>
cmucl <http://common-lisp.net/project/cmucl>
Cmucl is a high-performance, free Common Lisp implementation.