Wrong binding order of supplied-p parameters in macro lambda lists
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
High
|
Unassigned |
Bug Description
compiling
(defmacro foo (&optional (bar nil bar-p))
(declare (ignorable bar bar-p)))
gives
; in: DEFMACRO FOO
; (IGNORABLE CL-JAGS::BAR CL-JAGS::BAR-P)
;
; caught STYLE-WARNING:
; declaring unknown variable BAR-P to be ignored
;
Information requested in the bug reporting guidelines:
$ sbcl --version
SBCL 1.0.45
$ uname -a
Linux daedalus 2.6.35-25-generic #44-Ubuntu SMP Fri Jan 21 17:40:44 UTC 2011 x86_64 GNU/Linux
CL-USER> *features*
(:SWANK :QUICKLISP :SB-BSD-
:SBCL :SB-DOC :SB-TEST :SB-LDB :SB-PACKAGE-LOCKS :SB-UNICODE :SB-EVAL
:SB-SOURCE-
:LARGEFILE :GENCGC :STACK-
:LINKAGE-TABLE :COMPARE-
:RAW-INSTANCE-
:STACK-
:CYCLE-COUNTER :COMPLEX-FLOAT-VOPS :FLOAT-EQL-VOPS :INLINE-CONSTANTS
:MEMORY-
:OS-PROVIDES-PUTWC :OS-PROVIDES-
:OS-PROVIDES-
Changed in sbcl: | |
importance: | Undecided → Low |
status: | New → Triaged |
tags: | added: ansi |
Changed in sbcl: | |
importance: | Low → High |
summary: |
- spurious style warning when ignoring supplied-p parameters in macros + Wrong binding order of supplied-p parameters in macro lambda lists |
Changed in sbcl: | |
status: | Fix Committed → Fix Released |
I'm in 1.0.49 and the message is slightly reworded:
CL-USER> (compile nil (lambda ()
(destructuri ng-bind (&optional (x nil xp)) '()
(declare (ignore x xp))
nil) ))
; in: COMPILE ()
; (IGNORE X XP)
;
; caught STYLE-WARNING:
; IGNORE declaration for an unknown variable: XP
;
; compilation unit finished
; caught 1 STYLE-WARNING condition