#242: Unused &key warnings in defmethod forms should not cause style-warnings
-----------------------+----------------------------------------------------
Reporter: rschlatte | Owner: ehuelsmann
Type: defect | Status: new
Priority: minor | Milestone:
Component: compiler | Version:
Keywords: |
-----------------------+----------------------------------------------------
CLHS 7.6.5 says: "The lambda list congruence rules require that each
method accept all of the keyword arguments mentioned after &key in the
generic function definition, by accepting them explicitly, by specifying
&allow-other-keys, or by specifying &rest but not &key."
Currently, when compiling a file containing the form
{{{(defmethod foo ((x fixnum) &key y z) x)}}}
we get style warnings about unused variables y and z. I think that these
style warnings can be safely elided, since a typo in the arglist will lead
to another style warning "Undefined variable A assumed special".
--
Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/242>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
#231: DEFSTRUCT accessor functions overwrite accessors in :INCLUDEd structs
------------------------+---------------------------------------------------
Reporter: ehuelsmann | Owner: mevenson
Type: defect | Status: new
Priority: major | Milestone: 1.1.0
Component: libraries | Version:
Keywords: |
------------------------+---------------------------------------------------
Ralf Moeller reports:
The following file causes a problem in ABCL (1.1.0-dev-svn-14041) when
compiled (!) and loaded.
(in-package cl-user)
(defstruct a (s1 nil))
(defstruct (b (:include a) (:conc-name foo-)) (s2 nil))
(defstruct (c (:include a) (:conc-name foo-)) (s3 nil))
(defun test ()
(let ((x (make-b :s1 1 :s2 2)))
(foo-s1 x)))
CL-USER(4): (test)
#<THREAD "interpreter" {2EF7D41F}>: Debugger invoked on condition of type
SIMPLE-TYPE-ERROR
The value #<B {564434F7}> is not of type C.
Restarts:
0: TOP-LEVEL Return to top level.
[1] CL-USER(6): (lisp-implementation-version)
"1.1.0-dev-svn-14041"
[1] CL-USER(7):
The problem is that the defstruct declaration for c "overwrites" the
accessor foo-s1 generated by defstruct b.
If foo-s1 is called for a b instance, the type assertions introduced by
define-reader (and define-writer, see the
ABCL implementation for defstruct) cause the error described above.
--
Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/231>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
#165: pprint-logical-block fails for format with list directive
----------------------------+-----------------------------------------------
Reporter: mevenson | Owner: somebody
Type: defect | Status: new
Priority: major | Milestone: 0.27
Component: other | Version: 0.27
Keywords: sbcl-buildhost |
----------------------------+-----------------------------------------------
Derived from the problems getting SBCL to compile, the following test
fails with complaints in the XP package:
{{{
(defparameter *stream* *error-output*)
(defun pprint-test ()
(pprint-logical-block (*stream* nil :prefix "---")
(format *stream* "~(~A~)" '(1 2 3 4))))
}}}
with this error
{{{
The value #S(XP::XP-STRUCTURE :BASE-STREAM #S(SLIME-OUTPUT-STREAM) :LINE-
LENGTH 70 :LINE-LIMIT NIL :LINE-NO 1 :DEPTH-IN-BLOCKS 2 :BLOCK-STACK #(0 0
3 NIL NIL NIL NIL NIL NIL NIL ...) :BLOCK-STACK-PTR 2 :BUFFER … is not of
type STREAM.
[Condition of type TYPE-ERROR]
--
Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/165>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
#118: Lisp.getUpgradedElementType returns more types than supported by
'make_array.java'
------------------------+---------------------------------------------------
Reporter: ehuelsmann | Owner: nobody
Type: defect | Status: new
Priority: major | Milestone:
Component: libraries | Version:
Keywords: |
------------------------+---------------------------------------------------
The above leads to possible failure: each upgraded element type has its
own associated defaultInitialValue. If the code does not specify the right
initial value, NIL is taken, which probably is not a good fit.
--
Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/118>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
#232: Allow wrapper script to reference install directory instead of build
directory
-------------------------+--------------------------------------------------
Reporter: ehuelsmann | Owner: mevenson
Type: enhancement | Status: new
Priority: major | Milestone:
Component: build | Version:
Keywords: patch |
-------------------------+--------------------------------------------------
PSau on #abcl submitted this patch which is used for building ABCL on
NetBSD. I think generalization and including is appropriate.
--
Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/232>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
#229: JSS method resolution failure
------------------------------------------------+---------------------------
Reporter: mevenson | Owner: nobody
Type: defect | Status: new
Priority: critical | Milestone: 1.1.0
Component: java | Version:
Keywords: jss method-resolution abcl-contrib |
------------------------------------------------+---------------------------
[http://article.gmane.org/gmane.lisp.armedbear.devel/2402 Jonathan Bona
reports]:
{{{
#|
We found this issue while working with LSW. It seems to be a bug in
how public methods are found for inner classes. The last line of code
below results in an exception rather than finding and running the
size() method:
|#
(require :abcl-contrib)
(require :jss)
(jss::ensure-compatibility)
(setq headers
(#"getHeaderFields"
(#"openConnection"
(jss::new 'java.net.url "http://google.com"))))
; a java.util.Collections$UnmodifiableRandomAccessList
(setq ural
(#"get" headers
(second (jss::set-to-list (#"keySet" headers)))))
;finds: #<method public int
java.util.Collections$UnmodifiableCollection.size()>
(find "size"
(#"getMethods" (#"getClass" ural) )
:test 'string-equal :key #"getName")
; Java exception 'java.lang.NoSuchMethodException: No applicable
; method named size found in java.lang.Object or
; java.util.Collections$UnmodifiableRandomAccessList'.
(#"size" ural)
#|
I chased this into org.armedbear.lisp.Java, where findMethod is
returning null.
|#
}}}
--
Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/229>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
#243: ClassCastException in MAKE-PATHNAME
------------------------+---------------------------------------------------
Reporter: ehuelsmann | Owner: nobody
Type: defect | Status: new
Priority: major | Milestone: 1.1.0
Component: java | Version:
Keywords: |
------------------------+---------------------------------------------------
,----
| Armed Bear Common Lisp 1.1.0-dev-svn-14131M
| Java 1.7.0_03 Oracle Corporation
| OpenJDK 64-Bit Server VM
| Low-level initialization completed in 0.3 seconds.
| Startup completed in 1.456 seconds.
| Loading /home/emarsden/.abclrc completed in 0.66 seconds.
| Type ":help" for a list of available commands.
| CL-USER(1): (make-pathname :device (list "foo"))
| java.lang.ClassCastException: org.armedbear.lisp.SimpleString cannot be
cast to org.armedbear.lisp.Pathname
| at org.armedbear.lisp.Pathname.getNamestring(Pathname.java:657)
| at org.armedbear.lisp.Pathname.printObject(Pathname.java:909)
| at
org.armedbear.lisp.Primitives$pf__output_object.execute(Primitives.java:907)
| at org.armedbear.lisp.Symbol.execute(Symbol.java:813)
| at org.armedbear.lisp.LispThread.execute(LispThread.java:653)
| at org.armedbear.lisp.print_8.execute(print.lisp:127)
| at org.armedbear.lisp.Symbol.execute(Symbol.java:813)
| at org.armedbear.lisp.LispThread.execute(LispThread.java:653)
| at org.armedbear.lisp.print_14.execute(print.lisp:281)
| at org.armedbear.lisp.Symbol.execute(Symbol.java:813)
| at org.armedbear.lisp.LispThread.execute(LispThread.java:653)
`----
--
Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/243>
armedbear <http://common-lisp.net/project/armedbear>
armedbear