error from `(,.(list 1 2 3) 4)

Bug #1354623 reported by 3b on 2014-08-09
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Undecided
Unassigned

Bug Description

in sbcl "1.2.2.52-325c142" x86-64

`(,.(list 1 2 3)) => (1 2 3) ;; correct
`(0 ,.(list 1 2 3)) => (0 1 2 3) ;; correct

while

`(,.(list 1 2 3) 4) => error:

NCONC fell through ECASE expression.
Wanted one of (SB-IMPL::|Append| SB-IMPL::|List|
                                 SB-IMPL::|List*|
                                 SB-IMPL::|Vector|).
   [Condition of type SB-KERNEL:CASE-FAILURE]

Backtrace:
  0: (SB-KERNEL:CASE-FAILURE ECASE NCONC (SB-IMPL::|Append| SB-IMPL::|List| SB-IMPL::|List*| SB-IMPL::|Vector|))
      Locals:
        SB-DEBUG::ARG-0 = ECASE
        SB-DEBUG::ARG-1 = NCONC
        SB-DEBUG::ARG-2 = (SB-IMPL::|Append| SB-IMPL::|List| SB-IMPL::|List*| SB-IMPL::|Vector|)
  1: ((LABELS SB-IMPL::NORMALIZE-FN :IN SB-IMPL::QQ-TEMPLATE-1) NCONC)
      Locals:
        SB-DEBUG::ARG-0 = NCONC
  2: ((LABELS SB-IMPL::RECURSE :IN SB-IMPL::QQ-TEMPLATE-1) ((#1=(LIST 1 2 3) . NCONC) (#S(SB-IMPL::COMMA :EXPR #1# :KIND 1) . EVAL)))
      Locals:
        SB-DEBUG::ARG-0 = (((LIST 1 2 3) . NCONC) (,.(LIST 1 2 3) . EVAL))
  3: (SB-IMPL::QQ-TEMPLATE-1 (#1=#S(SB-IMPL::COMMA :EXPR (LIST 1 2 3) :KIND 1) #S(SB-IMPL::COMMA :EXPR #1# :KIND 0)) 0 NIL)
      Locals:
        SB-DEBUG::ARG-0 = (,.(LIST 1 2 3) ,,.(LIST 1 2 3))
        SB-DEBUG::ARG-1 = 0
        SB-DEBUG::ARG-2 = NIL
  4: (SB-IMPL::EXPAND-QUASIQUOTE (#1=#S(SB-IMPL::COMMA :EXPR (LIST 1 2 3) :KIND 1) #S(SB-IMPL::COMMA :EXPR #1# :KIND 0)) NIL)
  5: ((FLET SB-IMPL::PERFORM-EXPANSION :IN MACROEXPAND-1) #<FUNCTION (MACRO-FUNCTION SB-INT:QUASIQUOTE) {10004D75BB}>)
      Locals:
        SB-DEBUG::ARG-0 = #<FUNCTION (MACRO-FUNCTION SB-INT:QUASIQUOTE) {10004D75BB}>
  6: (MACROEXPAND (SB-INT:QUASIQUOTE (#1=#S(SB-IMPL::COMMA :EXPR # :KIND 1) #S(SB-IMPL::COMMA :EXPR #1# :KIND 0))) #<NULL-LEXENV>)
      Locals:
        SB-IMPL::ENV = #<NULL-LEXENV>
        SB-KERNEL:FORM = `(,.(LIST 1 2 3) ,,.(LIST 1 2 3))
  7: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SB-INT:QUASIQUOTE (#1=#S(SB-IMPL::COMMA :EXPR # :KIND 1) #S(SB-IMPL::COMMA :EXPR #1# :KIND 0))) #<NULL-LEXENV>)
      Locals:
        SB-DEBUG::ARG-0 = `(,.(LIST 1 2 3) ,,.(LIST 1 2 3))
        SB-DEBUG::ARG-1 = #<NULL-LEXENV>
  8: (EVAL (SB-INT:QUASIQUOTE (#1=#S(SB-IMPL::COMMA :EXPR # :KIND 1) #S(SB-IMPL::COMMA :EXPR #1# :KIND 0))))
      Locals:
        SB-DEBUG::ARG-0 = `(,.(LIST 1 2 3) ,,.(LIST 1 2 3))
  9: (SWANK::%EVAL-REGION "`(#1=,.(list 1 2 3) ,#1#) ..)
      Locals:
        SB-DEBUG::ARG-0 = "`(#1=,.(list 1 2 3) ,#1#)\n"

Douglas Katzman (dougk) on 2014-08-09
Changed in sbcl:
status: New → Fix Committed
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers