Custom Query (1030 matches)
Results (160 - 162 of 1030)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #255 | fixed | CCL does not do sufficient compile time argument list checking | ||
| Description |
With normal compilation setting, CCL does not detect that the argument list supplied when invoking a function is invalid. Under certain circumstances that I have not yet isolated, CCL creates the error message "Function call arguments don't match current definition of <function>" when it finds invalid arguments. This is better, but still very unspecific, and makes locating errors harder than one would wish for. As in: foo.lisp: (defun foo (&key a) (declare (ignore a))) (defun bar () (foo :b 2)) Compiled with CCL: paracetamol 25_> ccl -n -e '(compile-file "/tmp/foo.lisp")' -e '(quit)' paracetamol 26_> SBCL generates useful output: paracetamol 26_> sbcl --no-userinit --eval '(compile-file "/tmp/foo.lisp")' --e val '(quit)' This is SBCL 1.0.11, an implementation of ANSI Common Lisp. More information about SBCL is available at <http://www.sbcl.org/>. SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information. ; compiling file "/tmp/foo.lisp" (written 12 MAR 2008 11:50:55 AM): ; compiling (DEFUN FOO ...) ; compiling (DEFUN BAR ...) ; file: /tmp/foo.lisp ; in: DEFUN BAR ; (FOO :B 2) ; ; caught STYLE-WARNING: ; :B is not a known argument keyword. ; ; compilation unit finished ; caught 1 STYLE-WARNING condition ; /tmp/foo.fasl written ; compilation finished in 0:00:00 as does cmucl (no suprise, but still) netzhansa 5_> lisp -eval '(compile-file "/tmp/foo.lisp")' -eval '(quit)' ; Python version 1.1, VM version Intel x86 on 12 MAR 08 01:01:34 pm. ; Compiling: /tmp/foo.lisp 12 MAR 08 01:01:00 pm ; Converted FOO. ; Compiling DEFUN FOO: ; ; ; File: /tmp/foo.lisp ; In: DEFUN BAR ; (FOO :B 2) ; Warning: :B is not a known argument keyword. ; ; Converted BAR. ; Compiling DEFUN BAR: ; Byte Compiling Top-Level Form: ; Compilation unit finished. ; 1 warning ; /tmp/foo.x86f written. ; Compilation finished in 0:00:01. netzhansa 6_> As does CLISP: paracetamol 29_> clisp -x '(compile-file "/tmp/foo.lisp")'
i i i i i i i ooooo o ooooooo ooooo ooooo
I I I I I I I 8 8 8 8 8 o 8 8
I \ `+' / I 8 8 8 8 8 8
\ `-+-' / 8 8 8 ooooo 8oooo
`-__|__-' 8 8 8 8 8
| 8 o 8 8 o 8 8
------+------ ooooo 8oooooo ooo8ooo ooooo 8
Welcome to GNU CLISP 2.44 (2008-02-02) <http://clisp.cons.org/>
Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2008
Type :h and hit Enter for context help.
;; Compiling file /tmp/foo.lisp ...
WARNING in BAR in line 2 :
keyword :B is not allowed for function FOO.
The only allowed keyword is :A.
[FOO was defined in line 1]
;; Wrote file /tmp/foo.fas
0 errors, 1 warning
#P"/tmp/foo.fas" ;
1 ;
1
Bye.
paracetamol 30_>
|
|||
| #257 | fixed | division of bignum by zero not noticed | ||
| Description |
(/ (1+ most-positive-fixnum) 0) => 1/0 This should signal a DIVISION-BY-ZERO condition. |
|||
| #258 | fixed | Pasting into mini-buffer doesn't work | ||
| Description |
This is easily reproducible. In any editor or listener, do a m-x grep, which asks for a pattern in the mini-buffer. Now do a command-v to paste, and it crashes into the kernel debugger. |
|||
