diff --git a/src/lsp/setf.lsp b/src/lsp/setf.lsp index b7b892e6aad4f7ac4aa4d970f934bfce3be052b3..fa912752eb53ed4d4405dc178041c46adbe3b8fa 100644 --- a/src/lsp/setf.lsp +++ b/src/lsp/setf.lsp @@ -560,10 +560,7 @@ retrieved by (DOCUMENTATION 'SYMBOL 'FUNCTION)." (LIST* (LIST (CAR STORES) - (IF (AND (LISTP %REFERENCE) (EQ (CAR %REFERENCE) 'THE)) - (LIST 'THE (CADR %REFERENCE) - (LIST* (QUOTE ,function) GETTER ,@varlist ,restvar)) - (LIST* (QUOTE ,function) GETTER (MAPCAR #'CAR ALL-VARS)))) + (LIST* (QUOTE ,function) GETTER (MAPCAR #'CAR ALL-VARS))) (APPEND ALL-VARS LET-LIST))) `(LET* ,(NREVERSE LET-LIST) (DECLARE (:READ-ONLY ,@(mapcar #'first all-vars) diff --git a/src/tests/normal-tests/ansi.lsp b/src/tests/normal-tests/ansi.lsp index 662d0da33c359690ddd24a8378f7776aadbd4d2d..5c442fe3502e8630d3cac2bc49a2b6c8c979c0a7 100644 --- a/src/tests/normal-tests/ansi.lsp +++ b/src/tests/normal-tests/ansi.lsp @@ -47,6 +47,16 @@ +;;;;;;;;;;;;;;;;;;;;;;;;;; +;; 12.2.* Numbers tests ;; +;;;;;;;;;;;;;;;;;;;;;;;;;; +(test ansi.12.2.incf + (let ((foo 0) + (bar 0)) + (flet ((inc () (incf foo))) + (incf (the fixnum bar) (inc))) + (is (= foo 1)))) + ;;;;;;;;;;;;;;;;;;;;;;;;; ;; 19.* Pathname tests ;; ;;;;;;;;;;;;;;;;;;;;;;;;;