walker lambda-list parsingnaïve

Bug #1370445 reported by Christophe Rhodes
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Confirmed
Low
Unassigned

Bug Description

 affects sbcl
 status confirmed
 importance low
 tag walker lambda
 done

The walker doesn't do any sequential processing of bindings (for
&optional, &key, &aux). In the test framework of walk.impure.lisp

  (with-output-to-string (*standard-output*)
    (take-it-out-for-a-test-walk
      (lambda (&aux (a 1) (b a)) (declare (special a)) b)))
  "Form: (LAMBDA (&AUX (A 1) (B A)) (DECLARE (SPECIAL A)) B) Context: EVAL
   Form: 1 Context: EVAL
   Form: A Context: EVAL
   Form: B Context: EVAL; lexically bound
   (LAMBDA (&AUX (A 1) (B A)) (DECLARE (SPECIAL A)) B)"

the A line should have both “lexically bound” and “declared special” by
it.

Fixing this would share code with the hairy-specials test case
which currently exists in the walker test suite.

Tags: walker lambda
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.