Menu

#737 Macro Lambda-Lists Don't Permit early &environment Parameter

closed-invalid
None
5
2018-05-22
2018-05-22
No

This is in violation to 3.4.7 which specifically allows the &environment parameter in defsetf lambda-lists.

Test case:

(defsetf foo (&environment env place) (value))
;; => DEFSETF FOO: invalid DEFSETF lambda-list: Lambda list element PLACE is superfluous. Only one variable is allowed after &ENVIRONMENT.

Discussion

  • Sam Steingold

    Sam Steingold - 2018-05-22
    • summary: Defsetf Lambda-Lists Don't Permit the &environment Parameter --> Macro Lambda-Lists Don't Permit early &environment Parameter
     
  • Sam Steingold

    Sam Steingold - 2018-05-22

    (defsetf foo (place &environment env) (value)) works just fine.
    The problem is that CLISP does not allow &environment before reqvars.

     
  • Nicolas Hafner

    Nicolas Hafner - 2018-05-22

    Ah, I see. I prematurely assumed that &environment had to come first like in other lambda-lists. Looking at 3.4.7 again now I'm not sure if &environment coming first is even allowed.

     
  • Bruno Haible

    Bruno Haible - 2018-05-22
    • status: open --> closed-invalid
    • assigned_to: Sam Steingold
     

Log in to post a comment.